Last file for 9.1.
authorGuillaume Lelarge <guillaume@lelarge.info>
Wed, 22 Jun 2011 20:56:47 +0000 (20:56 +0000)
committerGuillaume Lelarge <guillaume@lelarge.info>
Wed, 22 Jun 2011 20:56:47 +0000 (20:56 +0000)
fr/postgres.po

index 9b9c06b25c38c6d78cec473fcaf8f025c921d28c..931268fc9c3c5f9f349d091f11e9c977e3dd9235 100644 (file)
@@ -10,8 +10,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 8.4\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2011-04-11 21:00+0000\n"
-"PO-Revision-Date: 2011-04-12 08:57+0100\n"
+"POT-Creation-Date: 2011-06-15 10:44+0000\n"
+"PO-Revision-Date: 2011-06-21 21:44+0100\n"
 "Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
 "Language-Team: French <guillaume@lelarge.info>\n"
 "Language: fr\n"
@@ -20,17 +20,17 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: main/main.c:230
+#: main/main.c:237
 #, c-format
 msgid "%s: setsysinfo failed: %s\n"
 msgstr "%s : setsysinfo a échoué : %s\n"
 
-#: main/main.c:249
+#: main/main.c:259
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s : WSAStartup a échoué : %d\n"
 
-#: main/main.c:268
+#: main/main.c:278
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -39,7 +39,7 @@ msgstr ""
 "%s est le serveur PostgreSQL.\n"
 "\n"
 
-#: main/main.c:269
+#: main/main.c:279
 #, c-format
 msgid ""
 "Usage:\n"
@@ -50,114 +50,114 @@ msgstr ""
 "  %s [OPTION]...\n"
 "\n"
 
-#: main/main.c:270
+#: main/main.c:280
 #, c-format
 msgid "Options:\n"
 msgstr "Options :\n"
 
-#: main/main.c:272
+#: main/main.c:282
 #, c-format
 msgid "  -A 1|0          enable/disable run-time assert checking\n"
 msgstr ""
 "  -A 1|0             active/désactive la vérification des limites (assert) à\n"
 "                     l'exécution\n"
 
-#: main/main.c:274
+#: main/main.c:284
 #, c-format
 msgid "  -B NBUFFERS     number of shared buffers\n"
 msgstr "  -B NBUFFERS        nombre de tampons partagés\n"
 
-#: main/main.c:275
+#: main/main.c:285
 #, c-format
 msgid "  -c NAME=VALUE   set run-time parameter\n"
 msgstr "  -c NOM=VALEUR      configure un paramètre d'exécution\n"
 
-#: main/main.c:276
+#: main/main.c:286
 #, c-format
 msgid "  -d 1-5          debugging level\n"
 msgstr "  -d 1-5             niveau de débogage\n"
 
-#: main/main.c:277
+#: main/main.c:287
 #, c-format
 msgid "  -D DATADIR      database directory\n"
 msgstr "  -D REPDONNEES      répertoire de la base de données\n"
 
-#: main/main.c:278
+#: main/main.c:288
 #, c-format
 msgid "  -e              use European date input format (DMY)\n"
 msgstr "  -e                 utilise le format de saisie européen des dates (DMY)\n"
 
-#: main/main.c:279
+#: main/main.c:289
 #, c-format
 msgid "  -F              turn fsync off\n"
 msgstr "  -F                 désactive fsync\n"
 
-#: main/main.c:280
+#: main/main.c:290
 #, c-format
 msgid "  -h HOSTNAME     host name or IP address to listen on\n"
 msgstr "  -h NOMHOTE         nom d'hôte ou adresse IP à écouter\n"
 
-#: main/main.c:281
+#: main/main.c:291
 #, c-format
 msgid "  -i              enable TCP/IP connections\n"
 msgstr "  -i                 active les connexions TCP/IP\n"
 
-#: main/main.c:282
+#: main/main.c:292
 #, c-format
 msgid "  -k DIRECTORY    Unix-domain socket location\n"
 msgstr "  -k REPERTOIRE      emplacement des sockets de domaine Unix\n"
 
-#: main/main.c:284
+#: main/main.c:294
 #, c-format
 msgid "  -l              enable SSL connections\n"
 msgstr "  -l                 active les connexions SSL\n"
 
-#: main/main.c:286
+#: main/main.c:296
 #, c-format
 msgid "  -N MAX-CONNECT  maximum number of allowed connections\n"
 msgstr "  -N MAX-CONNECT     nombre maximum de connexions simultanées\n"
 
-#: main/main.c:287
+#: main/main.c:297
 #, c-format
 msgid "  -o OPTIONS      pass \"OPTIONS\" to each server process (obsolete)\n"
 msgstr "  -o OPTIONS         passe « OPTIONS » à chaque processus serveur (obsolète)\n"
 
-#: main/main.c:288
+#: main/main.c:298
 #, c-format
 msgid "  -p PORT         port number to listen on\n"
 msgstr "  -p PORT            numéro du port à écouter\n"
 
-#: main/main.c:289
+#: main/main.c:299
 #, c-format
 msgid "  -s              show statistics after each query\n"
 msgstr "  -s                 affiche les statistiques après chaque requête\n"
 
-#: main/main.c:290
+#: main/main.c:300
 #, c-format
 msgid "  -S WORK-MEM     set amount of memory for sorts (in kB)\n"
 msgstr "  -S WORK-MEM        configure la mémoire pour les tris (en Ko)\n"
 
-#: main/main.c:291
+#: main/main.c:301
 #, c-format
 msgid "  --NAME=VALUE    set run-time parameter\n"
 msgstr "  -c NOM=VALEUR      configure un paramètre d'exécution\n"
 
-#: main/main.c:292
+#: main/main.c:302
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr "  --describe-config  décrit les paramètres de configuration, puis quitte\n"
 
-#: main/main.c:293
+#: main/main.c:303
 #, c-format
 msgid "  --help          show this help, then exit\n"
 msgstr "  --help             affiche cette aide, puis quitte\n"
 
-#: main/main.c:294
+#: main/main.c:304
 #, c-format
 msgid "  --version       output version information, then exit\n"
 msgstr "  --version          affiche la version, puis quitte\n"
 
-#: main/main.c:296
+#: main/main.c:306
 #, c-format
 msgid ""
 "\n"
@@ -166,50 +166,50 @@ msgstr ""
 "\n"
 "Options pour le développeur :\n"
 
-#: main/main.c:297
+#: main/main.c:307
 #, c-format
 msgid "  -f s|i|n|m|h    forbid use of some plan types\n"
 msgstr "  -f s|i|n|m|h       interdit l'utilisation de certains types de plan\n"
 
-#: main/main.c:298
+#: main/main.c:308
 #, c-format
 msgid "  -n              do not reinitialize shared memory after abnormal exit\n"
 msgstr ""
 "  -n                 ne réinitialise pas la mémoire partagée après un arrêt\n"
 "                     brutal\n"
 
-#: main/main.c:299
+#: main/main.c:309
 #, c-format
 msgid "  -O              allow system table structure changes\n"
 msgstr ""
 "  -O                 autorise les modifications de structure des tables\n"
 "                     système\n"
 
-#: main/main.c:300
+#: main/main.c:310
 #, c-format
 msgid "  -P              disable system indexes\n"
 msgstr "  -P                 désactive les index système\n"
 
-#: main/main.c:301
+#: main/main.c:311
 #, c-format
 msgid "  -t pa|pl|ex     show timings after each query\n"
 msgstr "  -t pa|pl|ex     affiche les temps pour chaque requête\n"
 
-#: main/main.c:302
+#: main/main.c:312
 #, c-format
-msgid "  -T              send SIGSTOP to all backend servers if one dies\n"
+msgid "  -T              send SIGSTOP to all backend processes if one dies\n"
 msgstr ""
 "  -T                 envoie SIGSTOP à tous les processus serveur si l'un\n"
 "                     d'entre eux meurt\n"
 
-#: main/main.c:303
+#: main/main.c:313
 #, c-format
 msgid "  -W NUM          wait NUM seconds to allow attach from a debugger\n"
 msgstr ""
 "  -W NUM             attends NUM secondes pour permettre l'attache d'un\n"
 "                     débogueur\n"
 
-#: main/main.c:305
+#: main/main.c:315
 #, c-format
 msgid ""
 "\n"
@@ -218,42 +218,42 @@ msgstr ""
 "\n"
 "Options pour le mode mono-utilisateur :\n"
 
-#: main/main.c:306
+#: main/main.c:316
 #, c-format
 msgid "  --single        selects single-user mode (must be first argument)\n"
 msgstr ""
 "  --single           sélectionne le mode mono-utilisateur (doit être le\n"
 "                     premier argument)\n"
 
-#: main/main.c:307
+#: main/main.c:317
 #, c-format
 msgid "  DBNAME          database name (defaults to user name)\n"
 msgstr "  NOMBASE            nom de la base (par défaut, celui de l'utilisateur)\n"
 
-#: main/main.c:308
+#: main/main.c:318
 #, c-format
 msgid "  -d 0-5          override debugging level\n"
 msgstr "  -d 0-5             surcharge le niveau de débogage\n"
 
-#: main/main.c:309
+#: main/main.c:319
 #, c-format
 msgid "  -E              echo statement before execution\n"
 msgstr "  -E                 affiche la requête avant de l'exécuter\n"
 
-#: main/main.c:310
+#: main/main.c:320
 #, c-format
 msgid "  -j              do not use newline as interactive query delimiter\n"
 msgstr ""
 "  -N                 n'utilise pas le retour à la ligne comme délimiteur de\n"
 "                     requête\n"
 
-#: main/main.c:311
-#: main/main.c:316
+#: main/main.c:321
+#: main/main.c:326
 #, c-format
 msgid "  -r FILENAME     send stdout and stderr to given file\n"
 msgstr "  -r FICHIER         envoie stdout et stderr dans le fichier indiqué\n"
 
-#: main/main.c:313
+#: main/main.c:323
 #, c-format
 msgid ""
 "\n"
@@ -262,24 +262,24 @@ msgstr ""
 "\n"
 "Options pour le mode « bootstrapping » :\n"
 
-#: main/main.c:314
+#: main/main.c:324
 #, c-format
 msgid "  --boot          selects bootstrapping mode (must be first argument)\n"
 msgstr ""
 "  --boot             sélectionne le mode « bootstrapping » (doit être le\n"
 "                     premier argument)\n"
 
-#: main/main.c:315
+#: main/main.c:325
 #, c-format
 msgid "  DBNAME          database name (mandatory argument in bootstrapping mode)\n"
 msgstr "  NOMBASE            nom de la base (argument obligatoire dans ce mode)\n"
 
-#: main/main.c:317
+#: main/main.c:327
 #, c-format
 msgid "  -x NUM          internal use\n"
 msgstr "  -x NUM             utilisation interne\n"
 
-#: main/main.c:319
+#: main/main.c:329
 #, c-format
 msgid ""
 "\n"
@@ -296,7 +296,7 @@ msgstr ""
 "\n"
 "Rapportez les bogues à <pgsql-bugs@postgresql.org>.\n"
 
-#: main/main.c:333
+#: main/main.c:343
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
 "The server must be started under an unprivileged user ID to prevent\n"
@@ -309,12 +309,12 @@ msgstr ""
 "tout problème possible de sécurité sur le serveur. Voir la documentation pour\n"
 "plus d'informations sur le lancement propre du serveur.\n"
 
-#: main/main.c:350
+#: main/main.c:360
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s : les identifiants réel et effectif de l'utilisateur doivent correspondre\n"
 
-#: main/main.c:357
+#: main/main.c:367
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
 "permitted.\n"
@@ -327,62 +327,62 @@ msgstr ""
 "tout problème de sécurité sur le serveur. Voir la documentation pour\n"
 "plus d'informations sur le lancement propre du serveur.\n"
 
-#: main/main.c:378
+#: main/main.c:388
 #, c-format
 msgid "%s: invalid effective UID: %d\n"
 msgstr "%s : UID effectif invalide : %d\n"
 
-#: main/main.c:391
+#: main/main.c:401
 #, c-format
 msgid "%s: could not determine user name (GetUserName failed)\n"
 msgstr "%s : n'a pas pu déterminer le nom de l'utilisateur (GetUserName a échoué)\n"
 
-#: tsearch/wparser_def.c:2533
+#: tsearch/wparser_def.c:2551
 #, c-format
 msgid "unrecognized headline parameter: \"%s\""
 msgstr "paramètre headline « %s » non reconnu"
 
-#: tsearch/wparser_def.c:2542
+#: tsearch/wparser_def.c:2560
 msgid "MinWords should be less than MaxWords"
 msgstr "MinWords doit avoir une valeur plus petite que celle de MaxWords"
 
-#: tsearch/wparser_def.c:2546
+#: tsearch/wparser_def.c:2564
 msgid "MinWords should be positive"
 msgstr "MinWords doit être positif"
 
-#: tsearch/wparser_def.c:2550
+#: tsearch/wparser_def.c:2568
 msgid "ShortWord should be >= 0"
 msgstr "ShortWord devrait être positif ou nul"
 
-#: tsearch/wparser_def.c:2554
+#: tsearch/wparser_def.c:2572
 msgid "MaxFragments should be >= 0"
 msgstr "MaxFragments devrait être positif ou nul"
 
-#: tsearch/dict_ispell.c:52
+#: tsearch/dict_ispell.c:53
 #: tsearch/dict_thesaurus.c:615
 msgid "multiple DictFile parameters"
 msgstr "multiples paramètres DictFile"
 
-#: tsearch/dict_ispell.c:63
+#: tsearch/dict_ispell.c:64
 msgid "multiple AffFile parameters"
 msgstr "multiples paramètres AffFile"
 
-#: tsearch/dict_ispell.c:74
+#: tsearch/dict_ispell.c:75
 #: tsearch/dict_simple.c:50
 #: snowball/dict_snowball.c:206
 msgid "multiple StopWords parameters"
 msgstr "plusieurs paramètres StopWords"
 
-#: tsearch/dict_ispell.c:82
+#: tsearch/dict_ispell.c:83
 #, c-format
 msgid "unrecognized Ispell parameter: \"%s\""
 msgstr "paramètre Ispell non reconnu : « %s »"
 
-#: tsearch/dict_ispell.c:96
+#: tsearch/dict_ispell.c:97
 msgid "missing AffFile parameter"
 msgstr "paramètre AffFile manquant"
 
-#: tsearch/dict_ispell.c:102
+#: tsearch/dict_ispell.c:103
 #: tsearch/dict_thesaurus.c:639
 msgid "missing DictFile parameter"
 msgstr "paramètre DictFile manquant"
@@ -474,45 +474,45 @@ msgstr "param
 msgid "missing Dictionary parameter"
 msgstr "paramètre Dictionary manquant"
 
-#: tsearch/spell.c:204
+#: tsearch/spell.c:276
 #, c-format
 msgid "could not open dictionary file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier dictionnaire « %s » : %m"
 
-#: tsearch/spell.c:365
-#: utils/adt/regexp.c:190
+#: tsearch/spell.c:439
+#: utils/adt/regexp.c:195
 #, c-format
 msgid "invalid regular expression: %s"
 msgstr "expression rationnelle invalide : %s"
 
-#: tsearch/spell.c:444
-#: tsearch/spell.c:461
-#: tsearch/spell.c:478
-#: tsearch/spell.c:495
-#: tsearch/spell.c:517
-#: gram.y:11474
-#: gram.y:11491
+#: tsearch/spell.c:518
+#: tsearch/spell.c:535
+#: tsearch/spell.c:552
+#: tsearch/spell.c:569
+#: tsearch/spell.c:591
+#: gram.y:12481
+#: gram.y:12498
 msgid "syntax error"
 msgstr "erreur de syntaxe"
 
-#: tsearch/spell.c:522
-#: tsearch/spell.c:772
-#: tsearch/spell.c:792
+#: tsearch/spell.c:596
+#: tsearch/spell.c:842
+#: tsearch/spell.c:862
 msgid "multibyte flag character is not allowed"
 msgstr "un caractère drapeau multi-octet n'est pas autorisé"
 
-#: tsearch/spell.c:557
-#: tsearch/spell.c:615
-#: tsearch/spell.c:710
+#: tsearch/spell.c:629
+#: tsearch/spell.c:687
+#: tsearch/spell.c:780
 #, c-format
 msgid "could not open affix file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier affixe « %s » : %m"
 
-#: tsearch/spell.c:603
+#: tsearch/spell.c:675
 msgid "Ispell dictionary supports only default flag value"
 msgstr "le dictionnaire Ispell supporte seulement la valeur par défaut du drapeau"
 
-#: tsearch/spell.c:803
+#: tsearch/spell.c:873
 msgid "wrong affix file format for flag"
 msgstr "mauvais format de fichier affixe pour le drapeau"
 
@@ -523,46 +523,50 @@ msgstr "mauvais format de fichier affixe pour le drapeau"
 msgid "string is too long for tsvector (%d bytes, max %d bytes)"
 msgstr "la chaîne est trop longue (%d octets, max %d octets)"
 
-#: tsearch/ts_locale.c:168
+#: tsearch/ts_locale.c:177
 #, c-format
 msgid "line %d of configuration file \"%s\": \"%s\""
 msgstr "ligne %d du fichier de configuration « %s » : « %s »"
 
-#: tsearch/ts_locale.c:173
-#: libpq/hba.c:653
-#: libpq/hba.c:669
-#: libpq/hba.c:715
-#: libpq/hba.c:738
-#: libpq/hba.c:750
-#: libpq/hba.c:763
-#: libpq/hba.c:778
-#: libpq/hba.c:825
-#: libpq/hba.c:848
-#: libpq/hba.c:865
-#: libpq/hba.c:878
-#: libpq/hba.c:894
-#: libpq/hba.c:909
-#: libpq/hba.c:949
-#: libpq/hba.c:981
-#: libpq/hba.c:992
-#: libpq/hba.c:1004
-#: libpq/hba.c:1015
-#: libpq/hba.c:1032
-#: libpq/hba.c:1053
-#: libpq/hba.c:1082
-#: libpq/hba.c:1094
-#: libpq/hba.c:1107
-#: libpq/hba.c:1141
-#: libpq/hba.c:1215
-#: libpq/hba.c:1233
-#: libpq/hba.c:1254
-#: libpq/hba.c:1285
-#: libpq/hba.c:1295
+#: tsearch/ts_locale.c:182
+#: libpq/hba.c:781
+#: libpq/hba.c:797
+#: libpq/hba.c:833
+#: libpq/hba.c:855
+#: libpq/hba.c:864
+#: libpq/hba.c:887
+#: libpq/hba.c:899
+#: libpq/hba.c:912
+#: libpq/hba.c:927
+#: libpq/hba.c:982
+#: libpq/hba.c:1002
+#: libpq/hba.c:1016
+#: libpq/hba.c:1033
+#: libpq/hba.c:1046
+#: libpq/hba.c:1062
+#: libpq/hba.c:1077
+#: libpq/hba.c:1119
+#: libpq/hba.c:1151
+#: libpq/hba.c:1162
+#: libpq/hba.c:1182
+#: libpq/hba.c:1193
+#: libpq/hba.c:1204
+#: libpq/hba.c:1221
+#: libpq/hba.c:1242
+#: libpq/hba.c:1272
+#: libpq/hba.c:1284
+#: libpq/hba.c:1297
+#: libpq/hba.c:1331
+#: libpq/hba.c:1405
+#: libpq/hba.c:1423
+#: libpq/hba.c:1444
+#: libpq/hba.c:1475
+#: libpq/hba.c:1485
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "ligne %d du fichier de configuration « %s »"
 
-#: tsearch/ts_locale.c:288
+#: tsearch/ts_locale.c:302
 #, c-format
 msgid "conversion from wchar_t to server encoding failed: %m"
 msgstr "échec de l'encodage de wchar_t vers l'encodage du serveur : %m"
@@ -596,238 +600,238 @@ msgstr "n'a pas pu ouvrir le fichier des termes courants 
 msgid "text search parser does not support headline creation"
 msgstr "l'analyseur de recherche plein texte ne supporte pas headline"
 
-#: access/transam/slru.c:595
+#: access/transam/slru.c:609
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "le fichier « %s » n'existe pas, contenu lu comme des zéros"
 
-#: access/transam/slru.c:825
-#: access/transam/slru.c:831
-#: access/transam/slru.c:838
+#: access/transam/slru.c:839
 #: access/transam/slru.c:845
 #: access/transam/slru.c:852
 #: access/transam/slru.c:859
+#: access/transam/slru.c:866
+#: access/transam/slru.c:873
 #, 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:826
+#: access/transam/slru.c:840
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "N'a pas pu ouvrir le fichier « %s » : %m"
 
-#: access/transam/slru.c:832
+#: access/transam/slru.c:846
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %u: %m."
 msgstr "N'a pas pu se déplacer dans le fichier « %s » au décalage %u : %m"
 
-#: access/transam/slru.c:839
+#: access/transam/slru.c:853
 #, 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:846
+#: access/transam/slru.c:860
 #, c-format
 msgid "Could not write to file \"%s\" at offset %u: %m."
 msgstr "N'a pas pu écrire le fichier « %s » au décalage %u : %m"
 
-#: access/transam/slru.c:853
+#: access/transam/slru.c:867
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "N'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m"
 
-#: access/transam/slru.c:860
+#: access/transam/slru.c:874
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "N'a pas pu fermer le fichier « %s » : %m"
 
-#: access/transam/slru.c:1087
+#: access/transam/slru.c:1101
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "n'a pas pu tronquer le répertoire « %s » : contournement apparent"
 
-#: access/transam/slru.c:1168
+#: access/transam/slru.c:1182
 #, c-format
 msgid "removing file \"%s\""
 msgstr "suppression du fichier « %s »"
 
-#: access/transam/twophase.c:247
+#: access/transam/twophase.c:250
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "l'identifiant de la transaction « %s » est trop long"
 
-#: access/transam/twophase.c:254
+#: access/transam/twophase.c:257
 msgid "prepared transactions are disabled"
 msgstr "les transactions préparées sont désactivées"
 
-#: access/transam/twophase.c:255
+#: access/transam/twophase.c:258
 msgid "Set max_prepared_transactions to a nonzero value."
 msgstr "Configure max_prepared_transactions à une valeur différente de zéro."
 
-#: access/transam/twophase.c:288
+#: access/transam/twophase.c:291
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "l'identifiant de la transaction « %s » est déjà utilisé"
 
-#: access/transam/twophase.c:297
+#: access/transam/twophase.c:300
 msgid "maximum number of prepared transactions reached"
 msgstr "nombre maximum de transactions préparées obtenu"
 
-#: access/transam/twophase.c:298
+#: access/transam/twophase.c:301
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Augmentez max_prepared_transactions (actuellement %d)."
 
-#: access/transam/twophase.c:418
+#: access/transam/twophase.c:421
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "la transaction préparée d'identifiant « %s » est occupée"
 
-#: access/transam/twophase.c:426
+#: access/transam/twophase.c:429
 msgid "permission denied to finish prepared transaction"
 msgstr "droit refusé pour terminer la transaction préparée"
 
-#: access/transam/twophase.c:427
+#: access/transam/twophase.c:430
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr "Doit être super-utilisateur ou l'utilisateur qui a préparé la transaction."
 
-#: access/transam/twophase.c:438
+#: access/transam/twophase.c:441
 msgid "prepared transaction belongs to another database"
 msgstr "la transaction préparée appartient à une autre base de données"
 
-#: access/transam/twophase.c:439
+#: access/transam/twophase.c:442
 msgid "Connect to the database where the transaction was prepared to finish it."
 msgstr ""
 "Connectez-vous à la base de données où la transaction a été préparée pour\n"
 "la terminer."
 
-#: access/transam/twophase.c:453
+#: access/transam/twophase.c:456
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "la transaction préparée d'identifiant « %s » n'existe pas"
 
-#: access/transam/twophase.c:936
+#: access/transam/twophase.c:939
 msgid "two-phase state file maximum length exceeded"
 msgstr ""
 "longueur maximale dépassée pour le fichier de statut de la validation en\n"
 "deux phase"
 
-#: access/transam/twophase.c:954
+#: access/transam/twophase.c:957
 #, c-format
 msgid "could not create two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu créer le fichier de statut de la validation en deux phases nommé\n"
 "« %s » : %m"
 
-#: access/transam/twophase.c:968
-#: access/transam/twophase.c:985
-#: access/transam/twophase.c:1034
-#: access/transam/twophase.c:1445
-#: access/transam/twophase.c:1452
+#: access/transam/twophase.c:971
+#: access/transam/twophase.c:988
+#: access/transam/twophase.c:1044
+#: access/transam/twophase.c:1465
+#: access/transam/twophase.c:1472
 #, c-format
 msgid "could not write two-phase state file: %m"
 msgstr "n'a pas pu écrire dans le fichier d'état de la validation en deux phases : %m"
 
-#: access/transam/twophase.c:994
+#: access/transam/twophase.c:997
 #, c-format
 msgid "could not seek in two-phase state file: %m"
 msgstr ""
 "n'a pas pu se déplacer dans le fichier de statut de la validation en deux\n"
 "phases : %m"
 
-#: access/transam/twophase.c:1040
-#: access/transam/twophase.c:1470
+#: access/transam/twophase.c:1050
+#: access/transam/twophase.c:1490
 #, c-format
 msgid "could not close two-phase state file: %m"
 msgstr "n'a pas pu fermer le fichier d'état de la validation en deux phases : %m"
 
-#: access/transam/twophase.c:1112
-#: access/transam/twophase.c:1550
+#: access/transam/twophase.c:1130
+#: access/transam/twophase.c:1570
 #, c-format
 msgid "could not open two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu ouvrir le fichier d'état de la validation en deux phases nommé\n"
 "« %s » : %m"
 
-#: access/transam/twophase.c:1129
+#: access/transam/twophase.c:1147
 #, c-format
 msgid "could not stat two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu récupérer des informations sur le fichier d'état de la validation\n"
 "en deux phases nommé « %s » : %m"
 
-#: access/transam/twophase.c:1161
+#: access/transam/twophase.c:1179
 #, c-format
 msgid "could not read two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu lire le fichier d'état de la validation en deux phases nommé\n"
 "« %s » : %m"
 
-#: access/transam/twophase.c:1253
+#: access/transam/twophase.c:1271
 #, c-format
 msgid "two-phase state file for transaction %u is corrupt"
 msgstr ""
 "le fichier d'état de la validation en deux phases est corrompu pour la\n"
 "transaction %u"
 
-#: access/transam/twophase.c:1407
+#: access/transam/twophase.c:1427
 #, c-format
 msgid "could not remove two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu supprimer le fichier d'état de la validation en deux phases\n"
 "« %s » : %m"
 
-#: access/transam/twophase.c:1436
+#: access/transam/twophase.c:1456
 #, c-format
 msgid "could not recreate two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu re-créer le fichier d'état de la validation en deux phases nommé\n"
 "« %s » : %m"
 
-#: access/transam/twophase.c:1464
+#: access/transam/twophase.c:1484
 #, c-format
 msgid "could not fsync two-phase state file: %m"
 msgstr ""
 "n'a pas pu synchroniser sur disque (fsync) le fichier d'état de la\n"
 "validation en deux phases : %m"
 
-#: access/transam/twophase.c:1559
+#: access/transam/twophase.c:1579
 #, c-format
 msgid "could not fsync two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu synchroniser sur disque (fsync) le fichier d'état de la\n"
 "validation en deux phases nommé « %s » : %m"
 
-#: access/transam/twophase.c:1566
+#: access/transam/twophase.c:1586
 #, c-format
 msgid "could not close two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu fermer le fichier d'état de la validation en deux phases nommé\n"
 "« %s » : %m"
 
-#: access/transam/twophase.c:1631
+#: access/transam/twophase.c:1651
 #, c-format
 msgid "removing future two-phase state file \"%s\""
 msgstr "suppression du futur fichier d'état de la validation en deux phases nommé « %s »"
 
-#: access/transam/twophase.c:1647
-#: access/transam/twophase.c:1658
-#: access/transam/twophase.c:1771
-#: access/transam/twophase.c:1782
-#: access/transam/twophase.c:1855
+#: access/transam/twophase.c:1667
+#: access/transam/twophase.c:1678
+#: access/transam/twophase.c:1791
+#: access/transam/twophase.c:1802
+#: access/transam/twophase.c:1875
 #, c-format
 msgid "removing corrupt two-phase state file \"%s\""
 msgstr ""
 "suppression du fichier d'état corrompu de la validation en deux phases nommé\n"
 "« %s »"
 
-#: access/transam/twophase.c:1760
-#: access/transam/twophase.c:1844
+#: access/transam/twophase.c:1780
+#: access/transam/twophase.c:1864
 #, c-format
 msgid "removing stale two-phase state file \"%s\""
 msgstr "suppression du vieux fichier d'état de la validation en deux phases nommé « %s »"
 
-#: access/transam/twophase.c:1862
+#: access/transam/twophase.c:1882
 #, c-format
 msgid "recovering prepared transaction %u"
 msgstr "récupération de la transaction préparée %u"
@@ -893,35 +897,35 @@ msgstr ""
 "la limite de réinitialisation de l'identifiant de transaction est %u,\n"
 "limité par la base de données d'OID %u"
 
-#: access/transam/xact.c:716
+#: access/transam/xact.c:729
 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"
 
-#: access/transam/xact.c:1236
+#: access/transam/xact.c:1268
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "nombre maximum de sous-transactions validées (%d) dépassé"
 
-#: access/transam/xact.c:1993
+#: access/transam/xact.c:2044
 msgid "cannot PREPARE a transaction that has operated on temporary tables"
 msgstr ""
 "ne peut pas préparer (PREPARE) une transaction qui a travaillé sur des\n"
 "tables temporaires"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2782
+#: access/transam/xact.c:2835
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s ne peut pas être exécuté dans un bloc de transaction"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2792
+#: access/transam/xact.c:2845
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s ne peut pas être exécuté dans un sous-bloc de transaction"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2802
+#: access/transam/xact.c:2855
 #, c-format
 msgid "%s cannot be executed from a function or multi-command string"
 msgstr ""
@@ -929,495 +933,510 @@ msgstr ""
 "contenant plusieurs commandes"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2853
+#: access/transam/xact.c:2906
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "%s peut seulement être utilisé dans des blocs de transaction"
 
-#: access/transam/xact.c:3035
+#: access/transam/xact.c:3088
 msgid "there is already a transaction in progress"
 msgstr "une transaction est déjà en cours"
 
-#: access/transam/xact.c:3202
-#: access/transam/xact.c:3294
+#: access/transam/xact.c:3255
+#: access/transam/xact.c:3347
 msgid "there is no transaction in progress"
 msgstr "aucune transaction en cours"
 
-#: access/transam/xact.c:3388
-#: access/transam/xact.c:3438
-#: access/transam/xact.c:3444
-#: access/transam/xact.c:3488
-#: access/transam/xact.c:3536
-#: access/transam/xact.c:3542
+#: access/transam/xact.c:3441
+#: access/transam/xact.c:3491
+#: access/transam/xact.c:3497
+#: access/transam/xact.c:3541
+#: access/transam/xact.c:3589
+#: access/transam/xact.c:3595
 msgid "no such savepoint"
 msgstr "aucun point de sauvegarde"
 
-#: access/transam/xact.c:4172
+#: access/transam/xact.c:4225
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "ne peut pas avoir plus de 2^32-1 sous-transactions dans une transaction"
 
-#: access/transam/xlog.c:1276
+#: access/transam/xlog.c:1328
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier de statut d'archivage « %s » : %m"
 
-#: access/transam/xlog.c:1284
+#: access/transam/xlog.c:1336
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "n'a pas pu écrire le fichier de statut d'archivage « %s » : %m"
 
-#: access/transam/xlog.c:1739
-#: access/transam/xlog.c:9602
-#: replication/walreceiver.c:482
-#: replication/walsender.c:596
+#: access/transam/xlog.c:1791
+#: access/transam/xlog.c:10348
+#: replication/walreceiver.c:506
+#: replication/walsender.c:1003
 #, c-format
 msgid "could not seek in log file %u, segment %u to offset %u: %m"
 msgstr ""
 "n'a pas pu se déplacer dans le journal de transactions %u, du segment %u au\n"
 "segment %u : %m"
 
-#: access/transam/xlog.c:1756
-#: replication/walreceiver.c:499
+#: access/transam/xlog.c:1808
+#: replication/walreceiver.c:523
 #, c-format
 msgid "could not write to log file %u, segment %u at offset %u, length %lu: %m"
 msgstr ""
 "n'a pas pu écrire le journal de transactions %u, segment %u au décalage %u,\n"
 "longueur %lu : %m"
 
-#: access/transam/xlog.c:1958
+#: access/transam/xlog.c:2010
 #, c-format
 msgid "updated min recovery point to %X/%X"
 msgstr "mise à jour du point minimum de restauration sur %X/%X"
 
-#: access/transam/xlog.c:2299
-#: access/transam/xlog.c:2403
-#: access/transam/xlog.c:2632
-#: access/transam/xlog.c:2703
-#: access/transam/xlog.c:2760
-#: replication/walsender.c:584
+#: access/transam/xlog.c:2351
+#: access/transam/xlog.c:2455
+#: access/transam/xlog.c:2684
+#: access/transam/xlog.c:2755
+#: access/transam/xlog.c:2812
+#: replication/walsender.c:991
 #, 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 transactions %u, segment %u) : %m"
 
-#: access/transam/xlog.c:2324
-#: access/transam/xlog.c:2457
-#: access/transam/xlog.c:4287
-#: access/transam/xlog.c:8464
-#: access/transam/xlog.c:8619
-#: storage/smgr/md.c:278
+#: access/transam/xlog.c:2376
+#: access/transam/xlog.c:2509
+#: access/transam/xlog.c:4408
+#: access/transam/xlog.c:9026
+#: access/transam/xlog.c:9266
+#: storage/smgr/md.c:285
 #: storage/file/copydir.c:172
-#: postmaster/postmaster.c:3645
+#: postmaster/postmaster.c:3690
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier « %s » : %m"
 
-#: access/transam/xlog.c:2356
-#: access/transam/xlog.c:2489
-#: access/transam/xlog.c:4339
-#: access/transam/xlog.c:4395
-#: commands/copy.c:1316
+#: access/transam/xlog.c:2408
+#: access/transam/xlog.c:2541
+#: access/transam/xlog.c:4460
+#: access/transam/xlog.c:4523
 #: storage/file/copydir.c:197
-#: postmaster/postmaster.c:3655
-#: postmaster/postmaster.c:3665
-#: utils/misc/guc.c:7008
-#: utils/misc/guc.c:7033
-#: utils/init/miscinit.c:1054
-#: utils/init/miscinit.c:1063
-#: utils/init/miscinit.c:1070
+#: postmaster/postmaster.c:3700
+#: postmaster/postmaster.c:3710
+#: utils/init/miscinit.c:1089
+#: utils/init/miscinit.c:1098
+#: utils/init/miscinit.c:1105
+#: utils/misc/guc.c:7414
+#: utils/misc/guc.c:7439
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "n'a pas pu écrire dans le fichier « %s » : %m"
 
-#: access/transam/xlog.c:2364
-#: access/transam/xlog.c:2496
-#: access/transam/xlog.c:4401
-#: storage/smgr/md.c:909
-#: storage/smgr/md.c:1083
-#: storage/smgr/md.c:1226
+#: access/transam/xlog.c:2416
+#: access/transam/xlog.c:2548
+#: access/transam/xlog.c:4529
+#: storage/smgr/md.c:924
+#: storage/smgr/md.c:1130
+#: storage/smgr/md.c:1281
 #: storage/file/copydir.c:269
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m"
 
-#: access/transam/xlog.c:2369
-#: access/transam/xlog.c:2501
-#: access/transam/xlog.c:4406
+#: access/transam/xlog.c:2421
+#: access/transam/xlog.c:2553
+#: access/transam/xlog.c:4534
+#: commands/copy.c:1329
 #: storage/file/copydir.c:211
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "n'a pas pu fermer le fichier « %s » : %m"
 
-#: access/transam/xlog.c:2442
-#: access/transam/xlog.c:4114
-#: access/transam/xlog.c:4208
-#: access/transam/xlog.c:4306
-#: storage/smgr/md.c:532
-#: storage/smgr/md.c:785
+#: access/transam/xlog.c:2494
+#: access/transam/xlog.c:4177
+#: access/transam/xlog.c:4271
+#: access/transam/xlog.c:4427
+#: storage/smgr/md.c:542
+#: storage/smgr/md.c:802
 #: storage/file/copydir.c:165
 #: storage/file/copydir.c:255
-#: utils/error/elog.c:1403
-#: utils/init/miscinit.c:1005
-#: utils/init/miscinit.c:1118
+#: replication/basebackup.c:725
+#: utils/error/elog.c:1469
+#: utils/init/miscinit.c:1039
+#: utils/init/miscinit.c:1153
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
 
-#: access/transam/xlog.c:2470
-#: access/transam/xlog.c:4318
-#: access/transam/xlog.c:8567
-#: access/transam/xlog.c:8641
-#: access/transam/xlog.c:9024
-#: access/transam/xlog.c:9049
+#: access/transam/xlog.c:2522
+#: access/transam/xlog.c:4439
+#: access/transam/xlog.c:9198
+#: access/transam/xlog.c:9211
+#: access/transam/xlog.c:9741
+#: access/transam/xlog.c:9766
 #: storage/file/copydir.c:186
-#: utils/adt/genfile.c:133
+#: utils/adt/genfile.c:138
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "n'a pas pu lire le fichier « %s » : %m"
 
-#: access/transam/xlog.c:2473
+#: access/transam/xlog.c:2525
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "données insuffisantes dans le fichier « %s »"
 
-#: access/transam/xlog.c:2592
+#: access/transam/xlog.c:2644
 #, 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\n"
 "transactions %u, segment %u) : %m"
 
-#: access/transam/xlog.c:2604
+#: access/transam/xlog.c:2656
 #, 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\n"
 "de transactions %u, segment %u) : %m"
 
-#: access/transam/xlog.c:2787
-#: replication/walreceiver.c:456
+#: access/transam/xlog.c:2839
+#: replication/walreceiver.c:480
 #, c-format
 msgid "could not close log file %u, segment %u: %m"
 msgstr "n'a pas pu fermer le journal de transactions %u, segment %u : %m"
 
-#: access/transam/xlog.c:2859
-#: access/transam/xlog.c:3024
-#: access/transam/xlog.c:8447
+#: access/transam/xlog.c:2911
+#: access/transam/xlog.c:3076
+#: access/transam/xlog.c:9011
+#: access/transam/xlog.c:9186
 #: storage/file/copydir.c:86
 #: storage/file/copydir.c:125
 #: utils/adt/dbsize.c:65
-#: utils/adt/dbsize.c:217
-#: utils/adt/dbsize.c:288
-#: utils/adt/genfile.c:170
+#: utils/adt/dbsize.c:211
+#: utils/adt/dbsize.c:276
+#: utils/adt/genfile.c:107
+#: utils/adt/genfile.c:279
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "n'a pas pu tester le fichier « %s » : %m"
 
-#: access/transam/xlog.c:2867
-#: access/transam/xlog.c:8646
-#: storage/smgr/md.c:348
-#: storage/smgr/md.c:395
-#: storage/smgr/md.c:1192
+#: access/transam/xlog.c:2919
+#: access/transam/xlog.c:9216
+#: storage/smgr/md.c:358
+#: storage/smgr/md.c:405
+#: storage/smgr/md.c:1244
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "n'a pas pu supprimer le fichier « %s » : %m"
 
-#: access/transam/xlog.c:3003
+#: access/transam/xlog.c:3055
 #, 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:3012
+#: access/transam/xlog.c:3064
 #, c-format
 msgid "restored log file \"%s\" from archive"
 msgstr "restauration du journal de transactions « %s » à partir de l'archive"
 
-#: access/transam/xlog.c:3062
+#: access/transam/xlog.c:3114
 #, 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:3177
+#: access/transam/xlog.c:3229
 #, c-format
 msgid "%s \"%s\": return code %d"
 msgstr "%s « %s » : code de retour %d"
 
-#: access/transam/xlog.c:3287
-#: access/transam/xlog.c:3470
+#: access/transam/xlog.c:3339
+#: access/transam/xlog.c:3522
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire des journaux de transactions « %s » : %m"
 
-#: access/transam/xlog.c:3341
+#: access/transam/xlog.c:3393
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "recyclage du journal de transactions « %s »"
 
-#: access/transam/xlog.c:3357
+#: access/transam/xlog.c:3409
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "suppression du journal de transactions « %s »"
 
-#: access/transam/xlog.c:3380
+#: access/transam/xlog.c:3432
 #, c-format
 msgid "could not rename old transaction log file \"%s\": %m"
 msgstr "n'a pas pu renommer l'ancien journal de transactions « %s » : %m"
 
-#: access/transam/xlog.c:3392
+#: access/transam/xlog.c:3444
 #, c-format
 msgid "could not remove old transaction log file \"%s\": %m"
 msgstr "n'a pas pu supprimer l'ancien journal de transaction « %s » : %m"
 
-#: access/transam/xlog.c:3430
-#: access/transam/xlog.c:3440
+#: access/transam/xlog.c:3482
+#: access/transam/xlog.c:3492
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "le répertoire « %s » requis pour les journaux de transactions n'existe pas"
 
-#: access/transam/xlog.c:3446
+#: access/transam/xlog.c:3498
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "création du répertoire manquant « %s » pour les journaux de transactions"
 
-#: access/transam/xlog.c:3449
+#: access/transam/xlog.c:3501
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "n'a pas pu créer le répertoire « %s » manquant : %m"
 
-#: access/transam/xlog.c:3483
+#: access/transam/xlog.c:3535
 #, c-format
 msgid "removing transaction log backup history file \"%s\""
 msgstr "suppression du fichier historique des journaux de transaction « %s »"
 
-#: access/transam/xlog.c:3603
+#: access/transam/xlog.c:3655
 #, c-format
 msgid "incorrect hole size in record at %X/%X"
 msgstr "taille du trou incorrect à l'enregistrement %X/%X"
 
-#: access/transam/xlog.c:3616
+#: access/transam/xlog.c:3668
 #, c-format
 msgid "incorrect total length in record at %X/%X"
 msgstr "longueur totale incorrecte à l'enregistrement %X/%X"
 
-#: access/transam/xlog.c:3629
+#: access/transam/xlog.c:3681
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr ""
 "somme de contrôle des données du gestionnaire de ressources incorrecte à\n"
 "l'enregistrement %X/%X"
 
-#: access/transam/xlog.c:3698
-#: access/transam/xlog.c:3734
+#: access/transam/xlog.c:3759
+#: access/transam/xlog.c:3797
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "décalage invalide de l'enregistrement %X/%X"
 
-#: access/transam/xlog.c:3742
+#: access/transam/xlog.c:3805
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "« contrecord » est requis par %X/%X"
 
-#: access/transam/xlog.c:3757
+#: access/transam/xlog.c:3820
 #, c-format
 msgid "invalid xlog switch record at %X/%X"
 msgstr "enregistrement de basculement du journal de transaction invalide à %X/%X"
 
-#: access/transam/xlog.c:3765
+#: access/transam/xlog.c:3828
 #, c-format
 msgid "record with zero length at %X/%X"
 msgstr "enregistrement de longueur nulle à %X/%X"
 
-#: access/transam/xlog.c:3774
+#: access/transam/xlog.c:3837
 #, c-format
 msgid "invalid record length at %X/%X"
 msgstr "longueur invalide de l'enregistrement à %X/%X"
 
-#: access/transam/xlog.c:3781
+#: access/transam/xlog.c:3844
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X"
 
-#: access/transam/xlog.c:3794
-#: access/transam/xlog.c:3810
+#: access/transam/xlog.c:3857
+#: access/transam/xlog.c:3873
 #, 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:3839
+#: access/transam/xlog.c:3902
 #, c-format
 msgid "record length %u at %X/%X too long"
 msgstr "longueur trop importante de l'enregistrement %u à %X/%X"
 
-#: access/transam/xlog.c:3879
+#: access/transam/xlog.c:3942
 #, 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 transactions %u,\n"
 "segment %u, décalage %u"
 
-#: access/transam/xlog.c:3889
+#: access/transam/xlog.c:3952
 #, c-format
 msgid "invalid contrecord length %u in log file %u, segment %u, offset %u"
 msgstr ""
 "longueur invalide du « contrecord » %u dans le journal de tranasctions %u,\n"
 "segment %u, décalage %u"
 
-#: access/transam/xlog.c:3979
+#: access/transam/xlog.c:4042
 #, 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 transactions %u, segment %u,\n"
 "décalage %u"
 
-#: access/transam/xlog.c:3986
-#: access/transam/xlog.c:4032
+#: access/transam/xlog.c:4049
+#: access/transam/xlog.c:4095
 #, c-format
 msgid "invalid info bits %04X in log file %u, segment %u, offset %u"
 msgstr ""
 "bits info %04X invalides dans le journal de transactions %u, segment %u,\n"
 "décalage %u"
 
-#: access/transam/xlog.c:4008
-#: access/transam/xlog.c:4016
-#: access/transam/xlog.c:4023
+#: access/transam/xlog.c:4071
+#: access/transam/xlog.c:4079
+#: access/transam/xlog.c:4086
 msgid "WAL file is from different database system"
 msgstr "le journal de transactions provient d'un système de bases de données différent"
 
-#: access/transam/xlog.c:4009
+#: access/transam/xlog.c:4072
 #, c-format
 msgid "WAL file database system identifier is %s, pg_control database system identifier is %s."
 msgstr ""
 "L'identifiant du journal de transactions du système de base de données est %s,\n"
 "l'identifiant de pg_control du système de base de données est %s."
 
-#: access/transam/xlog.c:4017
+#: access/transam/xlog.c:4080
 msgid "Incorrect XLOG_SEG_SIZE in page header."
 msgstr "XLOG_SEG_SIZE incorrecte dans l'en-tête de page."
 
-#: access/transam/xlog.c:4024
+#: access/transam/xlog.c:4087
 msgid "Incorrect XLOG_BLCKSZ in page header."
 msgstr "XLOG_BLCKSZ incorrect dans l'en-tête de page."
 
-#: access/transam/xlog.c:4040
+#: access/transam/xlog.c:4103
 #, c-format
 msgid "unexpected pageaddr %X/%X in log file %u, segment %u, offset %u"
 msgstr ""
 "pageaddr %X/%X inattendue dans le journal de transactions %u, segment %u,\n"
 "décalage %u"
 
-#: access/transam/xlog.c:4052
+#: access/transam/xlog.c:4115
 #, c-format
 msgid "unexpected timeline ID %u in log file %u, segment %u, offset %u"
 msgstr ""
 "identifiant timeline %u inattendu dans le journal de transactions %u,\n"
 "segment %u, décalage %u"
 
-#: access/transam/xlog.c:4070
+#: access/transam/xlog.c:4133
 #, 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\n"
 "transactions %u, segment %u, décalage %u"
 
-#: access/transam/xlog.c:4143
+#: access/transam/xlog.c:4206
 #, c-format
 msgid "syntax error in history file: %s"
 msgstr "erreur de syntaxe dans le fichier historique : %s"
 
-#: access/transam/xlog.c:4144
+#: access/transam/xlog.c:4207
 msgid "Expected a numeric timeline ID."
 msgstr "Identifiant timeline numérique attendue"
 
-#: access/transam/xlog.c:4149
+#: access/transam/xlog.c:4212
 #, c-format
 msgid "invalid data in history file: %s"
 msgstr "données invalides dans le fichier historique : « %s »"
 
-#: access/transam/xlog.c:4150
+#: access/transam/xlog.c:4213
 msgid "Timeline IDs must be in increasing sequence."
 msgstr "Les identifiants timeline doivent être en ordre croissant."
 
-#: access/transam/xlog.c:4163
+#: access/transam/xlog.c:4226
 #, c-format
 msgid "invalid data in history file \"%s\""
 msgstr "données invalides dans le fichier historique « %s »"
 
-#: access/transam/xlog.c:4164
+#: access/transam/xlog.c:4227
 msgid "Timeline IDs must be less than child timeline's ID."
 msgstr ""
 "Les identifiants timeline doivent être plus petits que les enfants des\n"
 "identifiants timeline."
 
-#: access/transam/xlog.c:4423
+#: access/transam/xlog.c:4313
+#, c-format
+msgid "new timeline %u is not a child of database system timeline %u"
+msgstr ""
+"le nouveau timeline %u n'est pas un fils du timeline %u du système de bases\n"
+"de données"
+
+#: access/transam/xlog.c:4326
+#, c-format
+msgid "new target timeline is %u"
+msgstr "la nouvelle timeline cible est %u"
+
+#: access/transam/xlog.c:4551
 #, c-format
 msgid "could not link file \"%s\" to \"%s\": %m"
 msgstr "n'a pas pu lier le fichier « %s » à « %s » : %m"
 
-#: access/transam/xlog.c:4430
-#: access/transam/xlog.c:5385
-#: access/transam/xlog.c:5438
-#: access/transam/xlog.c:6030
+#: access/transam/xlog.c:4558
+#: access/transam/xlog.c:5513
+#: access/transam/xlog.c:5566
+#: access/transam/xlog.c:6337
 #: postmaster/pgarch.c:715
 #, 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:4512
+#: access/transam/xlog.c:4640
 #, 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:4523
-#: access/transam/xlog.c:4748
+#: access/transam/xlog.c:4651
+#: access/transam/xlog.c:4876
 #, 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:4529
-#: access/transam/xlog.c:4754
+#: access/transam/xlog.c:4657
+#: access/transam/xlog.c:4882
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier de contrôle : %m"
 
-#: access/transam/xlog.c:4534
-#: access/transam/xlog.c:4759
+#: access/transam/xlog.c:4662
+#: access/transam/xlog.c:4887
 #, 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:4552
-#: access/transam/xlog.c:4737
+#: access/transam/xlog.c:4680
+#: access/transam/xlog.c:4865
 #, 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:4558
+#: access/transam/xlog.c:4686
 #, 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:4571
-#: access/transam/xlog.c:4580
-#: access/transam/xlog.c:4604
-#: access/transam/xlog.c:4611
-#: access/transam/xlog.c:4618
-#: access/transam/xlog.c:4623
-#: access/transam/xlog.c:4630
-#: access/transam/xlog.c:4637
-#: access/transam/xlog.c:4644
-#: access/transam/xlog.c:4651
-#: access/transam/xlog.c:4658
-#: access/transam/xlog.c:4665
-#: access/transam/xlog.c:4674
-#: access/transam/xlog.c:4681
-#: access/transam/xlog.c:4690
-#: access/transam/xlog.c:4697
-#: access/transam/xlog.c:4706
-#: access/transam/xlog.c:4713
-#: utils/init/miscinit.c:1136
+#: access/transam/xlog.c:4699
+#: access/transam/xlog.c:4708
+#: access/transam/xlog.c:4732
+#: access/transam/xlog.c:4739
+#: access/transam/xlog.c:4746
+#: access/transam/xlog.c:4751
+#: access/transam/xlog.c:4758
+#: access/transam/xlog.c:4765
+#: access/transam/xlog.c:4772
+#: access/transam/xlog.c:4779
+#: access/transam/xlog.c:4786
+#: access/transam/xlog.c:4793
+#: access/transam/xlog.c:4802
+#: access/transam/xlog.c:4809
+#: access/transam/xlog.c:4818
+#: access/transam/xlog.c:4825
+#: access/transam/xlog.c:4834
+#: access/transam/xlog.c:4841
+#: utils/init/miscinit.c:1171
 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:4572
+#: access/transam/xlog.c:4700
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), but the server was compiled with PG_CONTROL_VERSION %d (0x%08x)."
 msgstr ""
@@ -1425,304 +1444,346 @@ msgstr ""
 "%d (0x%08x) alors que le serveur a été compilé avec un PG_CONTROL_VERSION à\n"
 "%d (0x%08x)."
 
-#: access/transam/xlog.c:4576
+#: access/transam/xlog.c:4704
 msgid "This could be a problem of mismatched byte ordering.  It looks like you need to initdb."
 msgstr ""
 "Ceci peut être un problème d'incohérence dans l'ordre des octets.\n"
 "Il se peut que vous ayez besoin d'initdb."
 
-#: access/transam/xlog.c:4581
+#: access/transam/xlog.c:4709
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d."
 msgstr ""
 "Le cluster de base de données a été initialisé avec un PG_CONTROL_VERSION à\n"
 "%d alors que le serveur a été compilé avec un PG_CONTROL_VERSION à %d."
 
-#: access/transam/xlog.c:4584
-#: access/transam/xlog.c:4608
-#: access/transam/xlog.c:4615
-#: access/transam/xlog.c:4620
+#: access/transam/xlog.c:4712
+#: access/transam/xlog.c:4736
+#: access/transam/xlog.c:4743
+#: access/transam/xlog.c:4748
 msgid "It looks like you need to initdb."
 msgstr "Il semble que vous avez besoin d'initdb."
 
-#: access/transam/xlog.c:4595
+#: access/transam/xlog.c:4723
 msgid "incorrect checksum in control file"
 msgstr "somme de contrôle incorrecte dans le fichier de contrôle"
 
-#: access/transam/xlog.c:4605
+#: access/transam/xlog.c:4733
 #, c-format
 msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d."
 msgstr ""
 "Le cluster de base de données a été initialisé avec un CATALOG_VERSION_NO à\n"
 "%d alors que le serveur a été compilé avec un CATALOG_VERSION_NO à %d."
 
-#: access/transam/xlog.c:4612
+#: access/transam/xlog.c:4740
 #, c-format
 msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec un MAXALIGN à %d alors\n"
 "que le serveur a été compilé avec un MAXALIGN à %d."
 
-#: access/transam/xlog.c:4619
+#: access/transam/xlog.c:4747
 msgid "The database cluster appears to use a different floating-point number format than the server executable."
 msgstr ""
 "Le cluster de bases de données semble utiliser un format différent pour les\n"
 "nombres à virgule flottante de celui de l'exécutable serveur."
 
-#: access/transam/xlog.c:4624
+#: access/transam/xlog.c:4752
 #, c-format
 msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d."
 msgstr ""
 "Le cluster de base de données a été initialisé avec un BLCKSZ à %d alors que\n"
 "le serveur a été compilé avec un BLCKSZ à %d."
 
-#: access/transam/xlog.c:4627
-#: access/transam/xlog.c:4634
-#: access/transam/xlog.c:4641
-#: access/transam/xlog.c:4648
-#: access/transam/xlog.c:4655
-#: access/transam/xlog.c:4662
-#: access/transam/xlog.c:4669
-#: access/transam/xlog.c:4677
-#: access/transam/xlog.c:4684
-#: access/transam/xlog.c:4693
-#: access/transam/xlog.c:4700
-#: access/transam/xlog.c:4709
-#: access/transam/xlog.c:4716
+#: access/transam/xlog.c:4755
+#: access/transam/xlog.c:4762
+#: access/transam/xlog.c:4769
+#: access/transam/xlog.c:4776
+#: access/transam/xlog.c:4783
+#: access/transam/xlog.c:4790
+#: access/transam/xlog.c:4797
+#: access/transam/xlog.c:4805
+#: access/transam/xlog.c:4812
+#: access/transam/xlog.c:4821
+#: access/transam/xlog.c:4828
+#: access/transam/xlog.c:4837
+#: access/transam/xlog.c:4844
 msgid "It looks like you need to recompile or initdb."
 msgstr "Il semble que vous avez besoin de recompiler ou de relancer initdb."
 
-#: access/transam/xlog.c:4631
+#: access/transam/xlog.c:4759
 #, c-format
 msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec un RELSEG_SIZE à %d\n"
 "alors que le serveur a été compilé avec un RELSEG_SIZE à %d."
 
-#: access/transam/xlog.c:4638
+#: access/transam/xlog.c:4766
 #, c-format
 msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d."
 msgstr ""
 "Le cluster de base de données a été initialisé avec un XLOG_BLCKSZ à %d\n"
 "alors que le serveur a été compilé avec un XLOG_BLCKSZ à %d."
 
-#: access/transam/xlog.c:4645
+#: access/transam/xlog.c:4773
 #, c-format
 msgid "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server was compiled with XLOG_SEG_SIZE %d."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec un XLOG_SEG_SIZE à %d\n"
 "alors que le serveur a été compilé avec un XLOG_SEG_SIZE à %d."
 
-#: access/transam/xlog.c:4652
+#: access/transam/xlog.c:4780
 #, c-format
 msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec un NAMEDATALEN à %d\n"
 "alors que le serveur a été compilé avec un NAMEDATALEN à %d."
 
-#: access/transam/xlog.c:4659
+#: access/transam/xlog.c:4787
 #, c-format
 msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d."
 msgstr ""
 "Le groupe de bases de données a été initialisé avec un INDEX_MAX_KEYS à %d\n"
 "alors que le serveur a été compilé avec un INDEX_MAX_KEYS à %d."
 
-#: access/transam/xlog.c:4666
+#: access/transam/xlog.c:4794
 #, c-format
 msgid "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the server was compiled with TOAST_MAX_CHUNK_SIZE %d."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec un TOAST_MAX_CHUNK_SIZE\n"
 "à %d alors que le serveur a été compilé avec un TOAST_MAX_CHUNK_SIZE à %d."
 
-#: access/transam/xlog.c:4675
+#: access/transam/xlog.c:4803
 msgid "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the server was compiled with HAVE_INT64_TIMESTAMP."
 msgstr "Le cluster de bases de données a été initialisé sans HAVE_INT64_TIMESTAMPalors que le serveur a été compilé avec."
 
-#: access/transam/xlog.c:4682
+#: access/transam/xlog.c:4810
 msgid "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the server was compiled without HAVE_INT64_TIMESTAMP."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec HAVE_INT64_TIMESTAMP\n"
 "alors que le serveur a été compilé sans."
 
-#: access/transam/xlog.c:4691
+#: access/transam/xlog.c:4819
 msgid "The database cluster was initialized without USE_FLOAT4_BYVAL but the server was compiled with USE_FLOAT4_BYVAL."
 msgstr ""
 "Le cluster de base de données a été initialisé sans USE_FLOAT4_BYVAL\n"
 "alors que le serveur a été compilé avec USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4698
+#: access/transam/xlog.c:4826
 msgid "The database cluster was initialized with USE_FLOAT4_BYVAL but the server was compiled without USE_FLOAT4_BYVAL."
 msgstr ""
 "Le cluster de base de données a été initialisé avec USE_FLOAT4_BYVAL\n"
 "alors que le serveur a été compilé sans USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4707
+#: access/transam/xlog.c:4835
 msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL."
 msgstr ""
 "Le cluster de base de données a été initialisé sans USE_FLOAT8_BYVAL\n"
 "alors que le serveur a été compilé avec USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4714
+#: access/transam/xlog.c:4842
 msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL."
 msgstr ""
 "Le cluster de base de données a été initialisé avec USE_FLOAT8_BYVAL\n"
 "alors que le serveur a été compilé sans USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4963
+#: access/transam/xlog.c:5167
 #, c-format
 msgid "could not write bootstrap transaction log file: %m"
 msgstr "n'a pas pu écrire le « bootstrap » du journal des transactions : %m"
 
-#: access/transam/xlog.c:4969
+#: access/transam/xlog.c:5173
 #, c-format
 msgid "could not fsync bootstrap transaction log file: %m"
 msgstr ""
 "n'a pas pu synchroniser sur disque (fsync) le « bootstrap » du journal des\n"
 "transactions : %m"
 
-#: access/transam/xlog.c:4974
+#: access/transam/xlog.c:5178
 #, c-format
 msgid "could not close bootstrap transaction log file: %m"
 msgstr "n'a pas pu fermer le « bootstrap » du journal des transactions : %m"
 
-#: access/transam/xlog.c:5136
+#: access/transam/xlog.c:5245
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier de restauration « %s » : %m"
 
-#: access/transam/xlog.c:5160
+#: access/transam/xlog.c:5261
 #, c-format
 msgid "restore_command = '%s'"
 msgstr "restore_command = '%s'"
 
-#: access/transam/xlog.c:5167
+#: access/transam/xlog.c:5268
 #, c-format
 msgid "recovery_end_command = '%s'"
 msgstr "recovery_end_command = '%s'"
 
-#: access/transam/xlog.c:5174
+#: access/transam/xlog.c:5275
 #, c-format
 msgid "archive_cleanup_command = '%s'"
 msgstr "archive_cleanup_command = '%s'"
 
-#: access/transam/xlog.c:5188
+#: access/transam/xlog.c:5283
+#: access/transam/xlog.c:5372
+#: access/transam/xlog.c:5381
+#: commands/extension.c:525
+#: commands/extension.c:533
+#: utils/misc/guc.c:5305
+#, c-format
+msgid "parameter \"%s\" requires a Boolean value"
+msgstr "le paramètre « %s » requiert une valeur booléenne"
+
+#: access/transam/xlog.c:5285
+#, c-format
+msgid "pause_at_recovery_target = '%s'"
+msgstr "pause_at_recovery_target = '%s'"
+
+#: access/transam/xlog.c:5298
 #, 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:5193
+#: access/transam/xlog.c:5303
 #, c-format
 msgid "recovery_target_timeline = %u"
 msgstr "recovery_target_timeline = %u"
 
-#: access/transam/xlog.c:5196
+#: access/transam/xlog.c:5306
 msgid "recovery_target_timeline = latest"
 msgstr "recovery_target_timeline = latest"
 
-#: access/transam/xlog.c:5204
+#: access/transam/xlog.c:5314
 #, 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:5207
+#: access/transam/xlog.c:5317
 #, c-format
 msgid "recovery_target_xid = %u"
 msgstr "recovery_target_xid = %u"
 
-#: access/transam/xlog.c:5230
+#: access/transam/xlog.c:5341
 #, c-format
 msgid "recovery_target_time = '%s'"
 msgstr "recovery_target_time = '%s'"
 
-#: access/transam/xlog.c:5241
-#: access/transam/xlog.c:5250
-#: utils/misc/guc.c:4895
+#: access/transam/xlog.c:5358
 #, c-format
-msgid "parameter \"%s\" requires a Boolean value"
-msgstr "le paramètre « %s » requiert une valeur booléenne"
+msgid "recovery_target_name is too long (maximum %d characters)"
+msgstr "recovery_target_name est trop long (%d caractères maximum)"
 
-#: access/transam/xlog.c:5243
+#: access/transam/xlog.c:5361
+#, c-format
+msgid "recovery_target_name = '%s'"
+msgstr "recovery_target_name = '%s'"
+
+#: access/transam/xlog.c:5374
 #, c-format
 msgid "recovery_target_inclusive = %s"
 msgstr "recovery_target_inclusive = %s"
 
-#: access/transam/xlog.c:5252
+#: access/transam/xlog.c:5383
 #, c-format
 msgid "standby_mode = '%s'"
 msgstr "standby_mode = '%s'"
 
-#: access/transam/xlog.c:5258
+#: access/transam/xlog.c:5389
 #, c-format
 msgid "primary_conninfo = '%s'"
 msgstr "primary_conninfo = '%s'"
 
-#: access/transam/xlog.c:5265
+#: access/transam/xlog.c:5396
 #, c-format
 msgid "trigger_file = '%s'"
 msgstr "trigger_file = '%s'"
 
-#: access/transam/xlog.c:5270
+#: access/transam/xlog.c:5401
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "paramètre de restauration « %s » non reconnu"
 
-#: access/transam/xlog.c:5278
-#, c-format
-msgid "syntax error in recovery command file: %s"
-msgstr "erreur de syntaxe dans le fichier de restauration : %s"
-
-#: access/transam/xlog.c:5280
-msgid "Lines should have the format parameter = 'value'."
-msgstr "Les lignes devraient avoir le format paramètre = 'valeur'"
-
-#: access/transam/xlog.c:5289
+#: access/transam/xlog.c:5412
 #, c-format
 msgid "recovery command file \"%s\" specified neither primary_conninfo nor restore_command"
 msgstr "le fichier de restauration « %s » n'a spécifié ni primary_conninfo ni restore_command"
 
-#: access/transam/xlog.c:5291
+#: access/transam/xlog.c:5414
 msgid "The database server will regularly poll the pg_xlog subdirectory to check for files placed there."
 msgstr ""
 "Le serveur de la base de données va régulièrement interroger le sous-répertoire\n"
 "pg_xlog pour vérifier les fichiers placés ici."
 
-#: access/transam/xlog.c:5297
+#: access/transam/xlog.c:5420
 #, c-format
 msgid "recovery command file \"%s\" must specify restore_command when standby mode is not enabled"
 msgstr ""
 "le fichier de restauration « %s » doit spécifier restore_command quand le mode\n"
 "de restauration n'est pas activé"
 
-#: access/transam/xlog.c:5317
+#: access/transam/xlog.c:5440
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "le timeline cible, %u, de la restauration n'existe pas"
 
-#: access/transam/xlog.c:5442
+#: access/transam/xlog.c:5570
 msgid "archive recovery complete"
 msgstr "restauration terminée de l'archive"
 
-#: access/transam/xlog.c:5532
+#: access/transam/xlog.c:5688
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "arrêt de la restauration après validation de la transaction %u, %s"
 
-#: access/transam/xlog.c:5537
+#: access/transam/xlog.c:5693
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "arrêt de la restauration avant validation de la transaction %u, %s"
 
-#: access/transam/xlog.c:5545
+#: access/transam/xlog.c:5701
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "arrêt de la restauration après annulation de la transaction %u, %s"
 
-#: access/transam/xlog.c:5550
+#: access/transam/xlog.c:5706
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "arrêt de la restauration avant annulation de la transaction %u, %s"
 
-#: access/transam/xlog.c:5633
+#: access/transam/xlog.c:5715
+#, c-format
+msgid "recovery stopping at restore point \"%s\", time %s"
+msgstr "restauration en arrêt au point de restauration « %s », heure %s"
+
+#: access/transam/xlog.c:5743
+msgid "recovery has paused"
+msgstr "restauration en pause"
+
+#: access/transam/xlog.c:5744
+msgid "Execute pg_xlog_replay_resume() to continue."
+msgstr "Exécuter pg_xlog_replay_resume() pour continuer."
+
+#: access/transam/xlog.c:5787
+#: access/transam/xlog.c:5809
+#: access/transam/xlog.c:5831
+msgid "must be superuser to control recovery"
+msgstr "doit être super-utilisateur pour contrôler la restauration"
+
+#: access/transam/xlog.c:5792
+#: access/transam/xlog.c:5814
+#: access/transam/xlog.c:5836
+msgid "recovery is not in progress"
+msgstr "la restauration n'est pas en cours"
+
+#: access/transam/xlog.c:5793
+#: access/transam/xlog.c:5815
+#: access/transam/xlog.c:5837
+msgid "Recovery control functions can only be executed during recovery."
+msgstr ""
+"Les fonctions de contrôle de la restauration peuvent seulement être exécutées\n"
+"lors de la restauration."
+
+#: access/transam/xlog.c:5929
 #, c-format
 msgid "hot standby is not possible because %s = %d is a lower setting than on the master server (its value was %d)"
 msgstr ""
@@ -1730,504 +1791,552 @@ msgstr ""
 "paramètrage plus bas que celui du serveur maître des journaux de transactions\n"
 "(la valeur était %d)"
 
-#: access/transam/xlog.c:5655
+#: access/transam/xlog.c:5951
 msgid "WAL was generated with wal_level=minimal, data may be missing"
 msgstr ""
 "le journal de transactions a été généré avec le paramètre wal_level configuré\n"
 "à « minimal », des données pourraient manquer"
 
-#: access/transam/xlog.c:5656
+#: access/transam/xlog.c:5952
 msgid "This happens if you temporarily set wal_level=minimal without taking a new base backup."
 msgstr ""
 "Ceci peut arriver si vous configurez temporairement wal_level à minimal sans avoir\n"
 "pris une nouvelle sauvegarde de base."
 
-#: access/transam/xlog.c:5667
+#: access/transam/xlog.c:5963
 msgid "hot standby is not possible because wal_level was not set to \"hot_standby\" on the master server"
 msgstr ""
 "les connexions en restauration ne sont pas possibles parce que le paramètre\n"
 "wal_level n'a pas été configuré à « hot_standby » sur le serveur maître"
 
-#: access/transam/xlog.c:5668
+#: access/transam/xlog.c:5964
 msgid "Either set wal_level to \"hot_standby\" on the master, or turn off hot_standby here."
 msgstr ""
 "Soit vous initialisez wal_level à « hot_standby » sur le maître, soit vous\n"
 "désactivez hot_standby ici."
 
-#: access/transam/xlog.c:5715
+#: access/transam/xlog.c:6011
 msgid "control file contains invalid data"
 msgstr "le fichier de contrôle contient des données invalides"
 
-#: access/transam/xlog.c:5719
+#: access/transam/xlog.c:6015
 #, 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:5723
+#: access/transam/xlog.c:6019
 #, c-format
 msgid "database system was shut down in recovery at %s"
 msgstr "le système de bases de données a été arrêté pendant la restauration à %s"
 
-#: access/transam/xlog.c:5727
+#: access/transam/xlog.c:6023
 #, c-format
 msgid "database system shutdown was interrupted; last known up at %s"
 msgstr "le système de bases de données a été interrompu ; dernier lancement connu à %s"
 
-#: access/transam/xlog.c:5731
+#: access/transam/xlog.c:6027
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "le système de bases de données a été interrompu lors d'une restauration à %s"
 
-#: access/transam/xlog.c:5733
+#: access/transam/xlog.c:6029
 msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery."
 msgstr ""
 "Ceci signifie probablement que des données ont été corrompues et que vous\n"
 "devrez utiliser la dernière sauvegarde pour la restauration."
 
-#: access/transam/xlog.c:5737
+#: access/transam/xlog.c:6033
 #, c-format
 msgid "database system was interrupted while in recovery at log time %s"
 msgstr ""
 "le système de bases de données a été interrompu lors d'une récupération à %s\n"
 "(moment de la journalisation)"
 
-#: access/transam/xlog.c:5739
+#: access/transam/xlog.c:6035
 msgid "If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target."
 msgstr ""
 "Si c'est arrivé plus d'une fois, des données ont pu être corrompues et vous\n"
 "pourriez avoir besoin de choisir une cible de récupération antérieure."
 
-#: access/transam/xlog.c:5743
+#: access/transam/xlog.c:6039
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "le système de bases de données a été interrompu ; dernier lancement connu à %s"
 
-#: access/transam/xlog.c:5792
+#: access/transam/xlog.c:6088
 #, 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 du timeline %u du système de bases\n"
 "de données"
 
-#: access/transam/xlog.c:5810
+#: access/transam/xlog.c:6106
 msgid "entering standby mode"
 msgstr "entre en mode standby"
 
-#: access/transam/xlog.c:5813
+#: access/transam/xlog.c:6109
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "début de la restauration de l'archive au XID %u"
 
-#: access/transam/xlog.c:5817
+#: access/transam/xlog.c:6113
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "début de la restauration de l'archive à %s"
 
-#: access/transam/xlog.c:5821
+#: access/transam/xlog.c:6117
+#, c-format
+msgid "starting point-in-time recovery to \"%s\""
+msgstr "début de la restauration PITR à « %s »"
+
+#: access/transam/xlog.c:6121
 msgid "starting archive recovery"
 msgstr "début de la restauration de l'archive"
 
-#: access/transam/xlog.c:5836
-#: access/transam/xlog.c:5876
+#: access/transam/xlog.c:6143
+#: access/transam/xlog.c:6183
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "l'enregistrement du point de vérification est à %X/%X"
 
-#: access/transam/xlog.c:5850
+#: access/transam/xlog.c:6157
 msgid "could not find redo location referenced by checkpoint record"
 msgstr "n'a pas pu localiser l'enregistrement redo référencé par le point de vérification"
 
-#: access/transam/xlog.c:5851
-#: access/transam/xlog.c:5858
+#: access/transam/xlog.c:6158
+#: access/transam/xlog.c:6165
 #, c-format
 msgid "If you are not restoring from a backup, try removing the file \"%s/backup_label\"."
 msgstr ""
 "Si vous n'avez pas pu restaurer une sauvegarde, essayez de supprimer le\n"
 "fichier « %s/backup_label »."
 
-#: access/transam/xlog.c:5857
+#: access/transam/xlog.c:6164
 msgid "could not locate required checkpoint record"
 msgstr "n'a pas pu localiser l'enregistrement d'un point de vérification requis"
 
-#: access/transam/xlog.c:5886
-#: access/transam/xlog.c:5901
+#: access/transam/xlog.c:6193
+#: access/transam/xlog.c:6208
 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:5895
+#: access/transam/xlog.c:6202
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr "utilisation du précédent enregistrement d'un point de vérification à %X/%X"
 
-#: access/transam/xlog.c:5910
+#: access/transam/xlog.c:6217
 #, c-format
 msgid "redo record is at %X/%X; shutdown %s"
 msgstr "l'enregistrement à ré-exécuter se trouve à %X/%X ; arrêt %s"
 
-#: access/transam/xlog.c:5914
+#: access/transam/xlog.c:6221
 #, c-format
 msgid "next transaction ID: %u/%u; next OID: %u"
 msgstr "prochain identifiant de transaction : %u/%u ; prochain OID : %u"
 
-#: access/transam/xlog.c:5918
+#: access/transam/xlog.c:6225
 #, c-format
 msgid "next MultiXactId: %u; next MultiXactOffset: %u"
 msgstr "prochain MultiXactId : %u ; prochain MultiXactOffset : %u"
 
-#: access/transam/xlog.c:5921
+#: access/transam/xlog.c:6228
 #, c-format
 msgid "oldest unfrozen transaction ID: %u, in database %u"
 msgstr ""
 "identifiant de transaction non gelé le plus ancien : %u, dans la base de\n"
 "données %u"
 
-#: access/transam/xlog.c:5925
+#: access/transam/xlog.c:6232
 msgid "invalid next transaction ID"
 msgstr "prochain ID de transaction invalide"
 
-#: access/transam/xlog.c:5944
+#: access/transam/xlog.c:6251
 msgid "invalid redo in checkpoint record"
 msgstr "ré-exécution invalide dans l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:5955
+#: access/transam/xlog.c:6262
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "enregistrement de ré-exécution invalide dans le point de vérification d'arrêt"
 
-#: access/transam/xlog.c:5985
+#: access/transam/xlog.c:6292
 msgid "database system was not properly shut down; automatic recovery in progress"
 msgstr ""
 "le système de bases de données n'a pas été arrêté proprement ; restauration\n"
 "automatique en cours"
 
-#: access/transam/xlog.c:6049
+#: access/transam/xlog.c:6364
 msgid "initializing for hot standby"
 msgstr "initialisation pour « Hot Standby »"
 
-#: access/transam/xlog.c:6175
+#: access/transam/xlog.c:6492
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "la ré-exécution commence à %X/%X"
 
-#: access/transam/xlog.c:6274
+#: access/transam/xlog.c:6607
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "ré-exécution faite à %X/%X"
 
-#: access/transam/xlog.c:6279
-#: access/transam/xlog.c:7748
+#: access/transam/xlog.c:6612
+#: access/transam/xlog.c:8189
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "la dernière transaction a eu lieu à %s (moment de la journalisation)"
 
-#: access/transam/xlog.c:6287
+#: access/transam/xlog.c:6620
 msgid "redo is not required"
 msgstr "la ré-exécution n'est pas nécessaire"
 
-#: access/transam/xlog.c:6327
+#: access/transam/xlog.c:6668
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr ""
 "le point d'arrêt de la restauration demandée se trouve avant le point\n"
 "cohérent de restauration"
 
-#: access/transam/xlog.c:6330
+#: access/transam/xlog.c:6684
+msgid "WAL ends before end of online backup"
+msgstr "le journal de transactions se termine avant la fin de la sauvegarde de base"
+
+#: access/transam/xlog.c:6685
+msgid "Online backup started with pg_start_backup() must be ended with pg_stop_backup(), and all WAL up to that point must be available at recovery."
+msgstr ""
+"Une sauvegarde en ligne commencée avec pg_start_backup() doit se terminer avec\n"
+"pg_stop_backup() et tous les journaux de transactions générés entre les deux\n"
+"doivent être disponibles pour la restauration."
+
+#: access/transam/xlog.c:6688
 msgid "WAL ends before consistent recovery point"
 msgstr "Le journal de transaction se termine avant un point de restauration cohérent"
 
-#: access/transam/xlog.c:6351
+#: access/transam/xlog.c:6710
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "identifiant d'un timeline nouvellement sélectionné : %u"
 
-#: access/transam/xlog.c:6587
+#: access/transam/xlog.c:6952
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "état de restauration cohérent atteint à %X/%X"
 
-#: access/transam/xlog.c:6713
+#: access/transam/xlog.c:7118
 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:6717
+#: access/transam/xlog.c:7122
 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:6721
+#: access/transam/xlog.c:7126
 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:6735
+#: access/transam/xlog.c:7140
 msgid "invalid primary checkpoint record"
 msgstr "enregistrement du point de vérification primaire invalide"
 
-#: access/transam/xlog.c:6739
+#: access/transam/xlog.c:7144
 msgid "invalid secondary checkpoint record"
 msgstr "enregistrement du point de vérification secondaire invalide"
 
-#: access/transam/xlog.c:6743
+#: access/transam/xlog.c:7148
 msgid "invalid checkpoint record"
 msgstr "enregistrement du point de vérification invalide"
 
-#: access/transam/xlog.c:6754
+#: access/transam/xlog.c:7159
 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:6758
+#: access/transam/xlog.c:7163
 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:6762
+#: access/transam/xlog.c:7167
 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:6774
+#: access/transam/xlog.c:7179
 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:6778
+#: access/transam/xlog.c:7183
 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:6782
+#: access/transam/xlog.c:7187
 msgid "invalid xl_info in checkpoint record"
 msgstr "xl_info invalide dans l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:6794
+#: access/transam/xlog.c:7199
 msgid "invalid length of primary checkpoint record"
 msgstr "longueur invalide de l'enregistrement primaire du point de vérification"
 
-#: access/transam/xlog.c:6798
+#: access/transam/xlog.c:7203
 msgid "invalid length of secondary checkpoint record"
 msgstr "longueur invalide de l'enregistrement secondaire du point de vérification"
 
-#: access/transam/xlog.c:6802
+#: access/transam/xlog.c:7207
 msgid "invalid length of checkpoint record"
 msgstr "longueur invalide de l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:6964
+#: access/transam/xlog.c:7369
 msgid "shutting down"
 msgstr "arrêt en cours"
 
-#: access/transam/xlog.c:6986
+#: access/transam/xlog.c:7391
 msgid "database system is shut down"
 msgstr "le système de base de données est arrêté"
 
-#: access/transam/xlog.c:7379
+#: access/transam/xlog.c:7817
 msgid "concurrent transaction log activity while database system is shutting down"
 msgstr ""
 "activité en cours du journal de transactions alors que le système de bases\n"
 "de données est en cours d'arrêt"
 
-#: access/transam/xlog.c:7611
+#: access/transam/xlog.c:8050
 msgid "skipping restartpoint, recovery has already ended"
 msgstr "restartpoint ignoré, la récupération est déjà terminée"
 
-#: access/transam/xlog.c:7636
+#: access/transam/xlog.c:8075
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr "ignore le point de redémarrage, déjà réalisé à %X/%X"
 
-#: access/transam/xlog.c:7746
+#: access/transam/xlog.c:8187
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "la ré-exécution en restauration commence à %X/%X"
 
-#: access/transam/xlog.c:7915
+#: access/transam/xlog.c:8287
+#, c-format
+msgid "restore point \"%s\" created at %X/%X"
+msgstr "point de restauration « %s » créé à %X/%X"
+
+#: access/transam/xlog.c:8384
 msgid "online backup was cancelled, recovery cannot continue"
 msgstr "le mode de sauvegarde en ligne a été annulé, la restauration ne peut pas continuer"
 
-#: access/transam/xlog.c:7967
+#: access/transam/xlog.c:8436
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr ""
 "identifiant timeline %u inattendu (après %u) dans l'enregistrement du point\n"
 "de vérification"
 
-#: access/transam/xlog.c:8003
+#: access/transam/xlog.c:8472
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr ""
 "identifiant timeline %u inattendu (devrait être %u) dans l'enregistrement du\n"
 "point de vérification"
 
-#: access/transam/xlog.c:8259
-#: access/transam/xlog.c:8285
+#: access/transam/xlog.c:8736
+#: access/transam/xlog.c:8760
 #, c-format
 msgid "could not fsync log file %u, segment %u: %m"
 msgstr ""
 "n'a pas pu synchroniser sur disque (fsync) le journal des transactions %u,\n"
 "segment %u : %m"
 
-#: access/transam/xlog.c:8293
+#: access/transam/xlog.c:8768
 #, c-format
 msgid "could not fsync write-through log file %u, segment %u: %m"
 msgstr ""
 "n'a pas pu synchroniser sur disque (fsync) le journal des transactions %u,\n"
 "segment %u : %m"
 
-#: access/transam/xlog.c:8302
+#: access/transam/xlog.c:8777
 #, c-format
 msgid "could not fdatasync log file %u, segment %u: %m"
 msgstr ""
 "n'a pas pu synchroniser sur disque (fdatasync) le journal de transactions\n"
 "%u, segment %u : %m"
 
-#: access/transam/xlog.c:8345
-#: access/transam/xlog.c:8537
-msgid "must be superuser to run a backup"
-msgstr "doit être super-utilisateur pour exécuter une sauvegarde"
-
-#: access/transam/xlog.c:8350
-#: access/transam/xlog.c:8542
-#: access/transam/xlog.c:8745
-#: access/transam/xlog.c:8773
-#: access/transam/xlog.c:8806
-#: access/transam/xlog.c:8898
-#: access/transam/xlog.c:8973
+#: access/transam/xlog.c:8858
+#: access/transam/xlog.c:9134
+msgid "must be superuser or replication role to run a backup"
+msgstr "doit être super-utilisateur ou avoir l'attribut de réplication pour exécuter une sauvegarde"
+
+#: access/transam/xlog.c:8863
+#: access/transam/xlog.c:9139
+#: access/transam/xlog.c:9402
+#: access/transam/xlog.c:9434
+#: access/transam/xlog.c:9475
+#: access/transam/xlog.c:9508
+#: access/transam/xlog.c:9615
+#: access/transam/xlog.c:9690
 msgid "recovery is in progress"
 msgstr "restauration en cours"
 
-#: access/transam/xlog.c:8351
-#: access/transam/xlog.c:8543
-#: access/transam/xlog.c:8746
-#: access/transam/xlog.c:8774
-#: access/transam/xlog.c:8807
+#: access/transam/xlog.c:8864
+#: access/transam/xlog.c:9140
+#: access/transam/xlog.c:9403
+#: access/transam/xlog.c:9435
+#: access/transam/xlog.c:9476
+#: access/transam/xlog.c:9509
 msgid "WAL control functions cannot be executed during recovery."
 msgstr ""
 "les fonctions de contrôle des journaux de transactions ne peuvent pas\n"
 "être exécutées lors de la restauration."
 
-#: access/transam/xlog.c:8356
-#: access/transam/xlog.c:8548
+#: access/transam/xlog.c:8869
+#: access/transam/xlog.c:9145
 msgid "WAL level not sufficient for making an online backup"
 msgstr ""
 "Le niveau de journalisation (configuré par wal_level) n'est pas suffisant pour\n"
 "faire une sauvegarde en ligne."
 
-#: access/transam/xlog.c:8357
-#: access/transam/xlog.c:8549
+#: access/transam/xlog.c:8870
+#: access/transam/xlog.c:9146
+#: access/transam/xlog.c:9441
 msgid "wal_level must be set to \"archive\" or \"hot_standby\" at server start."
 msgstr ""
 "wal_level doit être configuré à « archive » ou « hot_standby » au démarrage\n"
 "du serveur."
 
-#: access/transam/xlog.c:8384
-#: access/transam/xlog.c:8453
+#: access/transam/xlog.c:8875
+#, c-format
+msgid "backup label too long (max %d bytes)"
+msgstr "label de sauvegarde trop long (%d octets maximum)"
+
+#: access/transam/xlog.c:8916
+#: access/transam/xlog.c:9017
 msgid "a backup is already in progress"
 msgstr "une sauvegarde est déjà en cours"
 
-#: access/transam/xlog.c:8385
+#: access/transam/xlog.c:8917
 msgid "Run pg_stop_backup() and try again."
 msgstr "Exécutez pg_stop_backup() et tentez de nouveau."
 
-#: access/transam/xlog.c:8454
+#: access/transam/xlog.c:9018
 #, c-format
 msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again."
 msgstr ""
 "Si vous êtes certain qu'aucune sauvegarde n'est en cours, supprimez le\n"
 "fichier « %s » et recommencez de nouveau."
 
-#: access/transam/xlog.c:8475
-#: access/transam/xlog.c:8632
+#: access/transam/xlog.c:9032
+#: access/transam/xlog.c:9278
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "impossible d'écrire le fichier « %s » : %m"
 
-#: access/transam/xlog.c:8571
+#: access/transam/xlog.c:9190
 msgid "a backup is not in progress"
 msgstr "une sauvegarde n'est pas en cours"
 
-#: access/transam/xlog.c:8583
-#: access/transam/xlog.c:9039
-#: access/transam/xlog.c:9045
+#: access/transam/xlog.c:9229
+#: access/transam/xlog.c:9756
+#: access/transam/xlog.c:9762
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "données invalides dans le fichier « %s »"
 
-#: access/transam/xlog.c:8695
+#: access/transam/xlog.c:9327
 msgid "pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
 msgstr "nettoyage de pg_stop_backup terminé, en attente des journaux de transactions requis à archiver"
 
-#: access/transam/xlog.c:8705
+#: access/transam/xlog.c:9337
 #, c-format
 msgid "pg_stop_backup still waiting for all required WAL segments to be archived (%d seconds elapsed)"
 msgstr ""
 "pg_stop_backup toujours en attente de la fin de l'archivage des segments de\n"
 "journaux de transactions requis (%d secondes passées)"
 
-#: access/transam/xlog.c:8707
+#: access/transam/xlog.c:9339
 msgid "Check that your archive_command is executing properly.  pg_stop_backup can be cancelled safely, but the database backup will not be usable without all the WAL segments."
 msgstr ""
 "Vérifiez que votre archive_command s'exécute correctement. pg_stop_backup\n"
 "peut être annulé avec sûreté mais la sauvegarde de la base ne sera pas\n"
 "utilisable sans tous les segments WAL."
 
-#: access/transam/xlog.c:8714
+#: access/transam/xlog.c:9346
 msgid "pg_stop_backup complete, all required WAL segments have been archived"
 msgstr "pg_stop_backup terminé, tous les journaux de transactions requis ont été archivés"
 
-#: access/transam/xlog.c:8718
+#: access/transam/xlog.c:9350
 msgid "WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup"
 msgstr ""
 "L'archivage des journaux de transactions n'est pas activé ;\n"
 "vous devez vous assurer que tous les fichiers requis des journaux de\n"
 "transactions sont copiés par d'autre moyens pour terminer la sauvegarde."
 
-#: access/transam/xlog.c:8740
+#: access/transam/xlog.c:9397
 msgid "must be superuser to switch transaction log files"
 msgstr "doit être super-utilisateur pour changer de journal de transactions"
 
-#: access/transam/xlog.c:8899
+#: access/transam/xlog.c:9429
+msgid "must be superuser to create a restore point"
+msgstr "doit être super-utilisateur pour créer un point de restauration"
+
+#: access/transam/xlog.c:9440
+msgid "WAL level not sufficient for creating a restore point"
+msgstr ""
+"le niveau de journalisation (configuré par wal_level) n'est pas suffisant pour\n"
+"créer un point de restauration"
+
+#: access/transam/xlog.c:9448
+#, c-format
+msgid "value too long for restore point (maximum %d characters)"
+msgstr "valeur trop longue pour le point de restauration (%d caractères maximum)"
+
+#: access/transam/xlog.c:9616
 msgid "pg_xlogfile_name_offset() cannot be executed during recovery."
 msgstr "pg_xlogfile_name_offset() ne peut pas être exécuté lors de la restauration."
 
-#: access/transam/xlog.c:8909
-#: access/transam/xlog.c:8981
+#: access/transam/xlog.c:9626
+#: access/transam/xlog.c:9698
 #, c-format
 msgid "could not parse transaction log location \"%s\""
 msgstr ""
 "n'a pas pu analyser l'emplacement du journal des transactions nommé « %s » :\n"
 "%m"
 
-#: access/transam/xlog.c:8974
+#: access/transam/xlog.c:9691
 msgid "pg_xlogfile_name() cannot be executed during recovery."
 msgstr "pg_xlogfile_name() ne peut pas être exécuté lors de la restauration."
 
-#: access/transam/xlog.c:9071
+#: access/transam/xlog.c:9788
 #, c-format
 msgid "xlog redo %s"
 msgstr "xlog redo %s"
 
-#: access/transam/xlog.c:9111
+#: access/transam/xlog.c:9828
 msgid "online backup mode cancelled"
 msgstr "mode de sauvegarde en ligne annulé"
 
-#: access/transam/xlog.c:9112
+#: access/transam/xlog.c:9829
 #, c-format
 msgid "\"%s\" was renamed to \"%s\"."
 msgstr "« %s » a été renommé en « %s »."
 
-#: access/transam/xlog.c:9119
+#: access/transam/xlog.c:9836
 msgid "online backup mode was not cancelled"
 msgstr "le mode de sauvegarde en ligne n'a pas été annulé"
 
-#: access/transam/xlog.c:9120
+#: access/transam/xlog.c:9837
 #, c-format
 msgid "Could not rename \"%s\" to \"%s\": %m."
 msgstr "N'a pas pu renommer « %s » en « %s » : %m"
 
-#: access/transam/xlog.c:9588
-#: access/transam/xlog.c:9610
+#: access/transam/xlog.c:10334
+#: access/transam/xlog.c:10356
 #, c-format
 msgid "could not read from log file %u, segment %u, offset %u: %m"
 msgstr "n'a pas pu lire le journal de transactions %u, segment %u, décalage %u : %m"
 
-#: access/transam/xlog.c:9698
+#: access/transam/xlog.c:10445
+msgid "received promote request"
+msgstr "a reçu une demande de promotion"
+
+#: access/transam/xlog.c:10458
 #, c-format
 msgid "trigger file found: %s"
 msgstr "fichier trigger trouvé : %s"
 
-#: access/common/tupdesc.c:545
-#: parser/parse_relation.c:1165
+#: access/common/tupdesc.c:575
+#: parser/parse_relation.c:1169
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "la colonne « %s » ne peut pas être déclarée SETOF"
@@ -2249,9 +2358,9 @@ msgid "index row requires %lu bytes, maximum size is %lu"
 msgstr "la ligne index requiert %lu octets, la taille maximum est %lu"
 
 #: access/common/printtup.c:278
-#: tcop/fastpath.c:181
-#: tcop/fastpath.c:561
-#: tcop/postgres.c:1704
+#: tcop/fastpath.c:180
+#: tcop/fastpath.c:554
+#: tcop/postgres.c:1664
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "code de format non supporté : %d"
@@ -2269,43 +2378,43 @@ msgstr "RESET ne doit pas inclure de valeurs pour les param
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "espace de nom du paramètre « %s » non reconnu"
 
-#: access/common/reloptions.c:895
+#: access/common/reloptions.c:898
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "paramètre « %s » non reconnu"
 
-#: access/common/reloptions.c:920
+#: access/common/reloptions.c:923
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "le paramètre « %s » est spécifié plus d'une fois"
 
-#: access/common/reloptions.c:935
+#: access/common/reloptions.c:938
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "valeur invalide pour l'option booléenne « %s » : %s"
 
-#: access/common/reloptions.c:946
+#: access/common/reloptions.c:949
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "valeur invalide pour l'option de type integer « %s » : %s"
 
-#: access/common/reloptions.c:951
-#: access/common/reloptions.c:969
+#: access/common/reloptions.c:954
+#: access/common/reloptions.c:972
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "valeur %s en dehors des limites pour l'option « %s »"
 
-#: access/common/reloptions.c:953
+#: access/common/reloptions.c:956
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Les valeurs valides sont entre « %d » et « %d »."
 
-#: access/common/reloptions.c:964
+#: access/common/reloptions.c:967
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "valeur invalide pour l'option de type float « %s » : %s"
 
-#: access/common/reloptions.c:971
+#: access/common/reloptions.c:974
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Les valeurs valides sont entre « %f » et « %f »."
@@ -2332,94 +2441,87 @@ msgstr "L'attribut 
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "L'attribut « %s » du type %s n'existe pas dans le type %s."
 
-#: access/gin/ginarrayproc.c:30
-msgid "array must not contain null values"
-msgstr "le tableau ne doit pas contenir de valeurs NULL"
-
-#: access/gin/ginentrypage.c:83
-#: access/gin/ginentrypage.c:118
-#: access/nbtree/nbtinsert.c:522
+#: access/gin/ginentrypage.c:101
+#: access/nbtree/nbtinsert.c:531
 #: access/nbtree/nbtsort.c:483
 #, c-format
 msgid "index row size %lu exceeds maximum %lu for index \"%s\""
 msgstr "la taille de la ligne index, %lu, dépasse le maximum, %lu, pour l'index « %s »"
 
-#: access/gin/ginscan.c:168
-#: access/gin/ginscan.c:231
-msgid "GIN indexes do not support whole-index scans"
-msgstr "les index GIN ne supportent pas les parcours complets d'index"
+#: access/gin/ginscan.c:401
+msgid "old GIN indexes do not support whole-index scans nor searches for nulls"
+msgstr ""
+"les anciens index GIN ne supportent pas les parcours complets d'index et les\n"
+"recherches de valeurs NULL"
 
-#: access/gist/gistxlog.c:803
+#: access/gin/ginscan.c:402
 #, c-format
-msgid "index %u/%u/%u needs VACUUM FULL or REINDEX to finish crash recovery"
-msgstr ""
-"l'index  %u/%u/%u a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la\n"
-"récupération suite à un arrêt brutal"
+msgid "To fix this, do REINDEX INDEX \"%s\"."
+msgstr "Pour corriger ceci, faites un REINDEX INDEX « %s »."
 
-#: access/gist/gistxlog.c:805
-msgid "Incomplete insertion detected during crash replay."
+#: access/gist/gist.c:230
+msgid "unlogged GiST indexes are not supported"
+msgstr "les index GiST non tracés ne sont pas supportés"
+
+#: access/gist/gist.c:715
+#: access/gist/gistvacuum.c:271
+#, c-format
+msgid "index \"%s\" contains an inner tuple marked as invalid"
+msgstr "l'index « %s » contient une ligne interne marquée comme invalide"
+
+#: access/gist/gist.c:717
+#: access/gist/gistvacuum.c:273
+msgid "This is caused by an incomplete page split at crash recovery before upgrading to 9.1."
 msgstr ""
-"Insertion incomplète détectée lors de la ré-exécution des requêtes suite à\n"
-"l'arrêt brutal."
+"Ceci est dû à la division d'une page incomplète à la restauration suite à un\n"
+"crash avant la mise à jour en 9.1."
+
+#: access/gist/gist.c:718
+#: access/gist/gistutil.c:592
+#: access/gist/gistutil.c:603
+#: access/gist/gistvacuum.c:274
+#: access/hash/hashutil.c:173
+#: access/hash/hashutil.c:184
+#: access/hash/hashutil.c:196
+#: access/hash/hashutil.c:217
+#: access/nbtree/nbtpage.c:436
+#: access/nbtree/nbtpage.c:447
+msgid "Please REINDEX it."
+msgstr "Merci d'exécuter REINDEX sur cet objet."
 
-#: access/gist/gistsplit.c:372
+#: access/gist/gistsplit.c:375
 #, c-format
 msgid "picksplit method for column %d of index \"%s\" failed"
 msgstr "échec de la méthode picksplit pour la colonne %d de l'index « %s »"
 
-#: access/gist/gistsplit.c:374
+#: access/gist/gistsplit.c:377
 msgid "The index is not optimal. To optimize it, contact a developer, or try to use the column as the second one in the CREATE INDEX command."
 msgstr ""
 "L'index n'est pas optimal. Pour l'optimiser, contactez un développeur\n"
 "ou essayez d'utiliser la colonne comme second dans la commande\n"
 "CREATE INDEX."
 
-#: access/gist/gistutil.c:407
-#, 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\n"
-"récupération suite à un arrêt brutal"
-
-#: access/gist/gistutil.c:588
-#: access/hash/hashutil.c:165
-#: access/nbtree/nbtpage.c:432
+#: access/gist/gistutil.c:589
+#: access/hash/hashutil.c:170
+#: access/nbtree/nbtpage.c:433
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "l'index « %s » contient une page zéro inattendue au bloc %u"
 
-#: access/gist/gistutil.c:591
-#: access/gist/gistutil.c:602
-#: access/hash/hashutil.c:168
-#: access/hash/hashutil.c:179
-#: access/hash/hashutil.c:191
-#: access/hash/hashutil.c:212
-#: access/nbtree/nbtpage.c:435
-#: access/nbtree/nbtpage.c:446
-msgid "Please REINDEX it."
-msgstr "Merci d'exécuter REINDEX sur cet objet."
-
-#: access/gist/gistutil.c:599
-#: access/hash/hashutil.c:176
-#: access/hash/hashutil.c:188
-#: access/nbtree/nbtpage.c:443
+#: access/gist/gistutil.c:600
+#: access/hash/hashutil.c:181
+#: access/hash/hashutil.c:193
+#: access/nbtree/nbtpage.c:444
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "l'index « %s » contient une page corrompue au bloc %u"
 
-#: access/gist/gistvacuum.c:72
-#, 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\n"
-"récupération suite à un arrêt brutal"
-
-#: access/hash/hashutil.c:204
+#: access/hash/hashutil.c:209
 #, c-format
 msgid "index \"%s\" is not a hash index"
 msgstr "l'index « %s » n'est pas un index haché"
 
-#: access/hash/hashutil.c:210
+#: access/hash/hashutil.c:215
 #, c-format
 msgid "index \"%s\" has wrong hash version"
 msgstr "l'index « %s » a la mauvaise version de hachage"
@@ -2433,7 +2535,7 @@ msgstr "la taille de la ligne index, %lu, d
 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/hashovfl.c:546
+#: access/hash/hashovfl.c:547
 #, c-format
 msgid "out of overflow pages in hash index \"%s\""
 msgstr "en dehors des pages surchargées dans l'index haché « %s »"
@@ -2442,69 +2544,67 @@ msgstr "en dehors des pages surcharg
 msgid "hash indexes do not support whole-index scans"
 msgstr "les index hâchés ne supportent pas les parcours complets d'index"
 
-#: access/heap/heapam.c:1076
-#: access/heap/heapam.c:1104
-#: access/heap/heapam.c:1134
-#: catalog/aclchk.c:1720
+#: access/heap/heapam.c:1088
+#: access/heap/heapam.c:1116
+#: access/heap/heapam.c:1146
+#: catalog/aclchk.c:1678
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "« %s » est un index"
 
-#: access/heap/heapam.c:1081
-#: access/heap/heapam.c:1109
-#: access/heap/heapam.c:1139
-#: catalog/aclchk.c:1727
-#: commands/tablecmds.c:2162
-#: commands/tablecmds.c:6550
-#: commands/tablecmds.c:7856
+#: access/heap/heapam.c:1093
+#: access/heap/heapam.c:1121
+#: access/heap/heapam.c:1151
+#: catalog/aclchk.c:1685
+#: commands/tablecmds.c:2268
+#: commands/tablecmds.c:7400
+#: commands/tablecmds.c:8982
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "« %s » est un type composite"
 
-#: access/heap/heapam.c:3149
-#: access/heap/heapam.c:3180
-#: access/heap/heapam.c:3215
+#: access/heap/heapam.c:3204
+#: access/heap/heapam.c:3235
+#: access/heap/heapam.c:3270
 #, 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:175
-#: access/heap/rewriteheap.c:592
+#: access/heap/rewriteheap.c:597
 #, c-format
 msgid "row is too big: size %lu, maximum size %lu"
 msgstr "la ligne est trop grande : taille %lu, taille maximale %lu"
 
-#: access/index/indexam.c:149
-#: commands/comment.c:559
-#: commands/indexcmds.c:1595
-#: commands/tablecmds.c:212
-#: commands/tablecmds.c:2357
+#: access/index/indexam.c:161
+#: catalog/objectaddress.c:391
+#: commands/indexcmds.c:1542
+#: commands/tablecmds.c:220
+#: commands/tablecmds.c:2485
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "« %s » n'est pas un index"
 
-#: access/nbtree/nbtinsert.c:384
+#: access/nbtree/nbtinsert.c:393
 #, c-format
 msgid "duplicate key value violates unique constraint \"%s\""
 msgstr "la valeur d'une clé dupliquée rompt la contrainte unique « %s »"
 
-#: access/nbtree/nbtinsert.c:386
+#: access/nbtree/nbtinsert.c:395
 #, c-format
 msgid "Key %s already exists."
 msgstr "La clé « %s » existe déjà."
 
-#: access/nbtree/nbtinsert.c:448
-#: executor/execUtils.c:1319
+#: access/nbtree/nbtinsert.c:457
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "échec pour retrouver la ligne dans l'index « %s »"
 
-#: access/nbtree/nbtinsert.c:450
-#: executor/execUtils.c:1321
+#: access/nbtree/nbtinsert.c:459
 msgid "This may be because of a non-immutable index expression."
 msgstr "Ceci peut être dû à une expression d'index immutable."
 
-#: access/nbtree/nbtinsert.c:526
+#: access/nbtree/nbtinsert.c:535
 #: access/nbtree/nbtsort.c:487
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -2515,253 +2615,179 @@ msgstr ""
 "Utilisez un index sur le hachage MD5 de la valeur ou passez à l'indexation\n"
 "de la recherche plein texte."
 
-#: access/nbtree/nbtpage.c:160
-#: access/nbtree/nbtpage.c:364
+#: access/nbtree/nbtpage.c:161
+#: access/nbtree/nbtpage.c:365
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "l'index « %s » n'est pas un btree"
 
-#: access/nbtree/nbtpage.c:166
-#: access/nbtree/nbtpage.c:370
+#: access/nbtree/nbtpage.c:167
+#: access/nbtree/nbtpage.c:371
 #, 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"
 
-#: bootstrap/bootstrap.c:272
-#: tcop/postgres.c:3393
-#: postmaster/postmaster.c:675
+#: bootstrap/bootstrap.c:277
+#: tcop/postgres.c:3386
+#: postmaster/postmaster.c:681
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s requiert une valeur"
 
-#: bootstrap/bootstrap.c:277
-#: tcop/postgres.c:3398
-#: postmaster/postmaster.c:680
+#: bootstrap/bootstrap.c:282
+#: tcop/postgres.c:3391
+#: postmaster/postmaster.c:686
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s requiert une valeur"
 
-#: bootstrap/bootstrap.c:288
-#: postmaster/postmaster.c:692
-#: postmaster/postmaster.c:705
+#: bootstrap/bootstrap.c:293
+#: postmaster/postmaster.c:698
+#: postmaster/postmaster.c:711
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Essayez « %s --help » pour plus d'informations.\n"
 
-#: bootstrap/bootstrap.c:297
+#: bootstrap/bootstrap.c:302
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s : arguments invalides en ligne de commande\n"
 
-#: catalog/toasting.c:91
-#: commands/comment.c:573
-#: commands/indexcmds.c:187
-#: commands/indexcmds.c:1627
-#: commands/lockcmds.c:149
-#: commands/tablecmds.c:194
-#: commands/tablecmds.c:1096
-#: commands/tablecmds.c:3355
-#: commands/trigger.c:149
-#: commands/trigger.c:1063
+#: catalog/pg_collation.c:75
 #, c-format
-msgid "\"%s\" is not a table"
-msgstr "« %s » n'est pas une table"
+msgid "collation \"%s\" for encoding \"%s\" already exists"
+msgstr "le collationnement « %s » pour l'encodage « %s » existe déjà"
 
-#: catalog/toasting.c:141
-msgid "shared tables cannot be toasted after initdb"
-msgstr ""
-"les tables partagées ne peuvent pas avoir une table TOAST après la commande\n"
-"initdb"
+#: catalog/pg_collation.c:89
+#, c-format
+msgid "collation \"%s\" already exists"
+msgstr "le collationnement « %s » existe déjà"
 
-#: catalog/aclchk.c:196
+#: catalog/aclchk.c:200
 msgid "grant options can only be granted to roles"
 msgstr "les options grant peuvent seulement être données aux rôles"
 
-#: catalog/aclchk.c:312
+#: catalog/aclchk.c:316
 #, c-format
 msgid "no privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "aucun droit n'a pu être accordé pour la colonne « %s » de la relation « %s »"
 
-#: catalog/aclchk.c:317
+#: catalog/aclchk.c:321
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "aucun droit n'a été accordé pour « %s »"
 
-#: catalog/aclchk.c:325
+#: catalog/aclchk.c:329
 #, c-format
 msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "certains droits n'ont pu être accordé pour la colonne « %s » de la relation « %s »"
 
-#: catalog/aclchk.c:330
+#: catalog/aclchk.c:334
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "tous les droits n'ont pas été accordés pour « %s »"
 
-#: catalog/aclchk.c:341
+#: catalog/aclchk.c:345
 #, c-format
 msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "aucun droit n'a pu être révoqué pour la colonne « %s » de la relation « %s »"
 
-#: catalog/aclchk.c:346
+#: catalog/aclchk.c:350
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "aucun droit n'a pu être révoqué pour « %s »"
 
-#: catalog/aclchk.c:354
+#: catalog/aclchk.c:358
 #, c-format
 msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "certains droits n'ont pu être révoqué pour la colonne « %s » de la relation « %s »"
 
-#: catalog/aclchk.c:359
+#: catalog/aclchk.c:363
 #, c-format
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "certains droits n'ont pu être révoqué pour « %s »"
 
-#: catalog/aclchk.c:438
-#: catalog/aclchk.c:927
+#: catalog/aclchk.c:442
+#: catalog/aclchk.c:891
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "droit %s invalide pour la relation"
 
-#: catalog/aclchk.c:442
-#: catalog/aclchk.c:931
+#: catalog/aclchk.c:446
+#: catalog/aclchk.c:895
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "droit %s invalide pour la séquence"
 
-#: catalog/aclchk.c:446
+#: catalog/aclchk.c:450
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "droit %s invalide pour la base de données"
 
-#: catalog/aclchk.c:450
-#: catalog/aclchk.c:935
+#: catalog/aclchk.c:454
+#: catalog/aclchk.c:899
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "droit %s invalide pour la fonction"
 
-#: catalog/aclchk.c:454
+#: catalog/aclchk.c:458
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "droit %s invalide pour le langage"
 
-#: catalog/aclchk.c:458
+#: catalog/aclchk.c:462
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "type de droit invalide, %s, pour le Large Object"
 
-#: catalog/aclchk.c:462
+#: catalog/aclchk.c:466
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "droit %s invalide pour le schéma"
 
-#: catalog/aclchk.c:466
+#: catalog/aclchk.c:470
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "droit %s invalide pour le tablespace"
 
-#: catalog/aclchk.c:470
+#: catalog/aclchk.c:474
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "type de droit %s invalide pour le wrapper de données distantes"
 
-#: catalog/aclchk.c:474
+#: catalog/aclchk.c:478
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "type de droit %s invalide pour le serveur distant"
 
-#: catalog/aclchk.c:513
+#: catalog/aclchk.c:517
 msgid "column privileges are only valid for relations"
 msgstr "les droits sur la colonne sont seulement valides pour les relations"
 
-#: catalog/aclchk.c:614
-#: commands/comment.c:698
-#: commands/dbcommands.c:760
-#: commands/dbcommands.c:905
-#: commands/dbcommands.c:1004
-#: commands/dbcommands.c:1181
-#: commands/dbcommands.c:1366
-#: commands/dbcommands.c:1410
-#: commands/dbcommands.c:1456
-#: utils/adt/acl.c:2975
-#: utils/adt/dbsize.c:149
-#: utils/init/postinit.c:708
-#: utils/init/postinit.c:776
-#: utils/init/postinit.c:793
-#, c-format
-msgid "database \"%s\" does not exist"
-msgstr "la base de données « %s » n'existe pas"
-
-#: catalog/aclchk.c:640
-#: commands/comment.c:1220
-#: commands/functioncmds.c:836
-#: commands/functioncmds.c:1990
-#: commands/proclang.c:531
-#: commands/proclang.c:600
-#: commands/proclang.c:640
-#: utils/adt/acl.c:3562
-#, c-format
-msgid "language \"%s\" does not exist"
-msgstr "le langage « %s » n'existe pas"
-
-#: catalog/aclchk.c:656
-#: catalog/aclchk.c:3690
-#: catalog/aclchk.c:4381
+#: catalog/aclchk.c:647
+#: catalog/aclchk.c:3677
+#: catalog/aclchk.c:4368
+#: catalog/objectaddress.c:199
 #: catalog/pg_largeobject.c:116
 #: catalog/pg_largeobject.c:176
-#: commands/comment.c:1415
-#: storage/large_object/inv_api.c:272
+#: storage/large_object/inv_api.c:277
 #, c-format
 msgid "large object %u does not exist"
 msgstr "le « Large Object » %u n'existe pas"
 
-#: catalog/aclchk.c:673
-#: catalog/aclchk.c:1051
-#: catalog/namespace.c:340
-#: catalog/namespace.c:2307
-#: catalog/namespace.c:2346
-#: catalog/namespace.c:2393
-#: catalog/namespace.c:3320
-#: commands/comment.c:806
-#: commands/schemacmds.c:190
-#: commands/schemacmds.c:264
-#: commands/schemacmds.c:335
-#: utils/adt/acl.c:3760
-#, c-format
-msgid "schema \"%s\" does not exist"
-msgstr "le schéma « %s » n'existe pas"
-
-#: catalog/aclchk.c:702
-#: commands/comment.c:737
-#: commands/dbcommands.c:436
-#: commands/dbcommands.c:1037
-#: commands/indexcmds.c:225
-#: commands/tablecmds.c:430
-#: commands/tablecmds.c:6809
-#: commands/tablespace.c:410
-#: commands/tablespace.c:808
-#: commands/tablespace.c:875
-#: commands/tablespace.c:980
-#: commands/tablespace.c:1036
-#: commands/tablespace.c:1160
-#: executor/execMain.c:2189
-#: utils/adt/acl.c:4134
-#: utils/adt/dbsize.c:248
-#, c-format
-msgid "tablespace \"%s\" does not exist"
-msgstr "le tablespace « %s » n'existe pas"
-
-#: catalog/aclchk.c:869
-#: catalog/aclchk.c:877
-#: commands/copy.c:751
-#: commands/copy.c:769
-#: commands/copy.c:777
-#: commands/copy.c:785
-#: commands/copy.c:793
-#: commands/copy.c:801
-#: commands/copy.c:809
-#: commands/copy.c:817
-#: commands/copy.c:833
+#: catalog/aclchk.c:833
+#: catalog/aclchk.c:841
+#: commands/collationcmds.c:93
+#: commands/copy.c:863
+#: commands/copy.c:881
+#: commands/copy.c:889
+#: commands/copy.c:897
+#: commands/copy.c:905
+#: commands/copy.c:913
+#: commands/copy.c:921
+#: commands/copy.c:929
+#: commands/copy.c:945
+#: commands/copy.c:959
 #: commands/dbcommands.c:146
 #: commands/dbcommands.c:154
 #: commands/dbcommands.c:162
@@ -2771,449 +2797,489 @@ msgstr "le tablespace 
 #: commands/dbcommands.c:194
 #: commands/dbcommands.c:1315
 #: commands/dbcommands.c:1323
-#: commands/functioncmds.c:485
-#: commands/functioncmds.c:575
-#: commands/functioncmds.c:583
-#: commands/functioncmds.c:591
-#: commands/functioncmds.c:1953
-#: commands/functioncmds.c:1961
-#: commands/sequence.c:1025
-#: commands/sequence.c:1033
-#: commands/sequence.c:1041
-#: commands/sequence.c:1049
-#: commands/sequence.c:1057
-#: commands/sequence.c:1065
-#: commands/sequence.c:1073
-#: commands/sequence.c:1081
-#: commands/typecmds.c:274
-#: commands/user.c:140
-#: commands/user.c:157
-#: commands/user.c:165
-#: commands/user.c:173
-#: commands/user.c:181
-#: commands/user.c:189
-#: commands/user.c:197
-#: commands/user.c:205
-#: commands/user.c:213
-#: commands/user.c:221
-#: commands/user.c:229
-#: commands/user.c:467
-#: commands/user.c:479
-#: commands/user.c:487
-#: commands/user.c:495
-#: commands/user.c:503
-#: commands/user.c:511
-#: commands/user.c:519
-#: commands/user.c:528
-#: commands/user.c:536
+#: commands/foreigncmds.c:386
+#: commands/foreigncmds.c:395
+#: commands/functioncmds.c:488
+#: commands/functioncmds.c:578
+#: commands/functioncmds.c:586
+#: commands/functioncmds.c:594
+#: commands/functioncmds.c:1982
+#: commands/functioncmds.c:1990
+#: commands/user.c:133
+#: commands/user.c:150
+#: commands/user.c:158
+#: commands/user.c:166
+#: commands/user.c:174
+#: commands/user.c:182
+#: commands/user.c:190
+#: commands/user.c:198
+#: commands/user.c:206
+#: commands/user.c:214
+#: commands/user.c:222
+#: commands/user.c:230
+#: commands/user.c:501
+#: commands/user.c:513
+#: commands/user.c:521
+#: commands/user.c:529
+#: commands/user.c:537
+#: commands/user.c:545
+#: commands/user.c:553
+#: commands/user.c:561
+#: commands/user.c:570
+#: commands/user.c:578
+#: commands/sequence.c:1135
+#: commands/sequence.c:1143
+#: commands/sequence.c:1151
+#: commands/sequence.c:1159
+#: commands/sequence.c:1167
+#: commands/sequence.c:1175
+#: commands/sequence.c:1183
+#: commands/sequence.c:1191
+#: commands/typecmds.c:282
+#: commands/extension.c:1248
+#: commands/extension.c:1256
+#: commands/extension.c:1264
+#: commands/extension.c:2473
 msgid "conflicting or redundant options"
 msgstr "options en conflit ou redondantes"
 
-#: catalog/aclchk.c:968
+#: catalog/aclchk.c:932
 msgid "default privileges cannot be set for columns"
 msgstr "les droits par défaut ne peuvent pas être configurés pour les colonnes"
 
-#: catalog/aclchk.c:1470
-#: commands/analyze.c:341
-#: commands/comment.c:651
-#: commands/copy.c:3441
-#: commands/sequence.c:1309
-#: commands/tablecmds.c:3952
-#: commands/tablecmds.c:4042
-#: commands/tablecmds.c:4089
-#: commands/tablecmds.c:4185
-#: commands/tablecmds.c:4229
-#: commands/tablecmds.c:4308
-#: commands/tablecmds.c:4389
-#: commands/tablecmds.c:5840
-#: commands/tablecmds.c:5980
-#: commands/trigger.c:527
-#: parser/analyze.c:1823
-#: parser/parse_relation.c:1996
-#: parser/parse_relation.c:2051
-#: parser/parse_target.c:808
+#: catalog/aclchk.c:1428
+#: catalog/objectaddress.c:536
+#: commands/analyze.c:344
+#: commands/copy.c:3774
+#: commands/sequence.c:1419
+#: commands/tablecmds.c:4564
+#: commands/tablecmds.c:4654
+#: commands/tablecmds.c:4701
+#: commands/tablecmds.c:4797
+#: commands/tablecmds.c:4841
+#: commands/tablecmds.c:4920
+#: commands/tablecmds.c:5004
+#: commands/tablecmds.c:6612
+#: commands/tablecmds.c:6820
+#: commands/trigger.c:590
+#: parser/analyze.c:2039
+#: parser/parse_relation.c:2043
+#: parser/parse_relation.c:2100
+#: parser/parse_target.c:895
 #: parser/parse_type.c:117
-#: utils/adt/acl.c:2770
-#: utils/adt/ruleutils.c:1524
+#: utils/adt/acl.c:2772
+#: utils/adt/ruleutils.c:1581
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "la colonne « %s » de la relation « %s » n'existe pas"
 
-#: catalog/aclchk.c:1735
-#: commands/comment.c:566
-#: commands/sequence.c:953
-#: commands/tablecmds.c:200
-#: commands/tablecmds.c:2146
-#: commands/tablecmds.c:2365
-#: commands/tablecmds.c:7815
-#: utils/adt/acl.c:2006
-#: utils/adt/acl.c:2036
-#: utils/adt/acl.c:2068
-#: utils/adt/acl.c:2100
-#: utils/adt/acl.c:2128
-#: utils/adt/acl.c:2158
+#: catalog/aclchk.c:1693
+#: catalog/objectaddress.c:398
+#: commands/sequence.c:1035
+#: commands/tablecmds.c:208
+#: commands/tablecmds.c:2246
+#: commands/tablecmds.c:2493
+#: commands/tablecmds.c:8932
+#: utils/adt/acl.c:2008
+#: utils/adt/acl.c:2038
+#: utils/adt/acl.c:2070
+#: utils/adt/acl.c:2102
+#: utils/adt/acl.c:2130
+#: utils/adt/acl.c:2160
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "« %s » n'est pas une séquence"
 
-#: catalog/aclchk.c:1773
+#: catalog/aclchk.c:1731
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr "la séquence « %s » accepte seulement les droits USAGE, SELECT et UPDATE"
 
-#: catalog/aclchk.c:1790
+#: catalog/aclchk.c:1748
 msgid "invalid privilege type USAGE for table"
 msgstr "droit USAGE invalide pour la table"
 
-#: catalog/aclchk.c:1940
+#: catalog/aclchk.c:1913
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "type de droit %s invalide pour la colonne"
 
-#: catalog/aclchk.c:1953
+#: catalog/aclchk.c:1926
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "la séquence « %s » accepte seulement le droit SELECT pour les colonnes"
 
-#: catalog/aclchk.c:2537
+#: catalog/aclchk.c:2510
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "le langage « %s » n'est pas de confiance"
 
-#: catalog/aclchk.c:2539
+#: catalog/aclchk.c:2512
 msgid "Only superusers can use untrusted languages."
 msgstr ""
 "Seuls les super-utilisateurs peuvent utiliser des langages qui ne sont pas\n"
 "de confiance."
 
-#: catalog/aclchk.c:3046
+#: catalog/aclchk.c:3019
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "droit « %s » non reconnu"
 
-#: catalog/aclchk.c:3095
+#: catalog/aclchk.c:3068
 #, c-format
 msgid "permission denied for column %s"
 msgstr "droit refusé pour la colonne %s"
 
-#: catalog/aclchk.c:3097
+#: catalog/aclchk.c:3070
 #, c-format
 msgid "permission denied for relation %s"
 msgstr "droit refusé pour la relation %s"
 
-#: catalog/aclchk.c:3099
-#: commands/sequence.c:469
-#: commands/sequence.c:668
-#: commands/sequence.c:710
-#: commands/sequence.c:746
+#: catalog/aclchk.c:3072
+#: commands/sequence.c:550
+#: commands/sequence.c:749
+#: commands/sequence.c:791
+#: commands/sequence.c:827
+#: commands/sequence.c:1470
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "droit refusé pour la séquence %s"
 
-#: catalog/aclchk.c:3101
+#: catalog/aclchk.c:3074
 #, c-format
 msgid "permission denied for database %s"
 msgstr "droit refusé pour la base de données %s"
 
-#: catalog/aclchk.c:3103
+#: catalog/aclchk.c:3076
 #, c-format
 msgid "permission denied for function %s"
 msgstr "droit refusé pour la fonction %s"
 
-#: catalog/aclchk.c:3105
+#: catalog/aclchk.c:3078
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "droit refusé pour l'opérateur %s"
 
-#: catalog/aclchk.c:3107
+#: catalog/aclchk.c:3080
 #, c-format
 msgid "permission denied for type %s"
 msgstr "droit refusé pour le type %s"
 
-#: catalog/aclchk.c:3109
+#: catalog/aclchk.c:3082
 #, c-format
 msgid "permission denied for language %s"
 msgstr "droit refusé pour le langage %s"
 
-#: catalog/aclchk.c:3111
+#: catalog/aclchk.c:3084
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "droit refusé pour le Large Object %s"
 
-#: catalog/aclchk.c:3113
+#: catalog/aclchk.c:3086
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "droit refusé pour le schéma %s"
 
-#: catalog/aclchk.c:3115
+#: catalog/aclchk.c:3088
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "droit refusé pour la classe d'opérateur %s"
 
-#: catalog/aclchk.c:3117
+#: catalog/aclchk.c:3090
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "droit refusé pour la famille d'opérateur %s"
 
-#: catalog/aclchk.c:3119
+#: catalog/aclchk.c:3092
+#, c-format
+msgid "permission denied for collation %s"
+msgstr "droit refusé pour le collationnement %s"
+
+#: catalog/aclchk.c:3094
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "droit refusé pour la conversion %s"
 
-#: catalog/aclchk.c:3121
+#: catalog/aclchk.c:3096
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "droit refusé pour le tablespace %s"
 
-#: catalog/aclchk.c:3123
+#: catalog/aclchk.c:3098
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "droit refusé pour le dictionnaire de recherche plein texte %s"
 
-#: catalog/aclchk.c:3125
+#: catalog/aclchk.c:3100
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "droit refusé pour la configuration de recherche plein texte %s"
 
-#: catalog/aclchk.c:3127
+#: catalog/aclchk.c:3102
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "droit refusé pour le wrapper de données distantes %s"
 
-#: catalog/aclchk.c:3129
+#: catalog/aclchk.c:3104
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "droit refusé pour le serveur distant %s"
 
-#: catalog/aclchk.c:3135
-#: catalog/aclchk.c:3137
+#: catalog/aclchk.c:3106
+#, c-format
+msgid "permission denied for extension %s"
+msgstr "droit refusé pour l'extension %s"
+
+#: catalog/aclchk.c:3112
+#: catalog/aclchk.c:3114
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "doit être le propriétaire de la relation %s"
 
-#: catalog/aclchk.c:3139
+#: catalog/aclchk.c:3116
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "doit être le propriétaire de la séquence %s"
 
-#: catalog/aclchk.c:3141
+#: catalog/aclchk.c:3118
 #, 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:3143
+#: catalog/aclchk.c:3120
 #, c-format
 msgid "must be owner of function %s"
 msgstr "doit être le propriétaire de la fonction %s"
 
-#: catalog/aclchk.c:3145
+#: catalog/aclchk.c:3122
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "doit être le prorpriétaire de l'opérateur %s"
 
-#: catalog/aclchk.c:3147
+#: catalog/aclchk.c:3124
 #, c-format
 msgid "must be owner of type %s"
 msgstr "doit être le propriétaire du type %s"
 
-#: catalog/aclchk.c:3149
+#: catalog/aclchk.c:3126
 #, c-format
 msgid "must be owner of language %s"
 msgstr "doit être le propriétaire du langage %s"
 
-#: catalog/aclchk.c:3151
+#: catalog/aclchk.c:3128
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "doit être le propriétaire du Large Object %s"
 
-#: catalog/aclchk.c:3153
+#: catalog/aclchk.c:3130
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "doit être le propriétaire du schéma %s"
 
-#: catalog/aclchk.c:3155
+#: catalog/aclchk.c:3132
 #, 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:3157
+#: catalog/aclchk.c:3134
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "doit être le prorpriétaire de la famille d'opérateur %s"
 
-#: catalog/aclchk.c:3159
+#: catalog/aclchk.c:3136
+#, c-format
+msgid "must be owner of collation %s"
+msgstr "doit être le propriétaire du collationnement %s"
+
+#: catalog/aclchk.c:3138
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "doit être le propriétaire de la conversion %s"
 
-#: catalog/aclchk.c:3161
+#: catalog/aclchk.c:3140
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "doit être le propriétaire du tablespace %s"
 
-#: catalog/aclchk.c:3163
+#: catalog/aclchk.c:3142
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "doit être le propriétaire du dictionnaire de recherche plein texte %s"
 
-#: catalog/aclchk.c:3165
+#: catalog/aclchk.c:3144
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "doit être le propriétaire de la configuration de recherche plein texte %s"
 
-#: catalog/aclchk.c:3167
+#: catalog/aclchk.c:3146
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "doit être le propriétaire du wrapper de données distantes %s"
 
-#: catalog/aclchk.c:3169
+#: catalog/aclchk.c:3148
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "doit être le propriétaire de serveur distant %s"
 
-#: catalog/aclchk.c:3211
+#: catalog/aclchk.c:3150
+#, c-format
+msgid "must be owner of extension %s"
+msgstr "doit être le propriétaire de l'extension %s"
+
+#: catalog/aclchk.c:3192
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "droit refusé pour la colonne « %s » de la relation « %s »"
 
-#: catalog/aclchk.c:3238
+#: catalog/aclchk.c:3219
 #, c-format
 msgid "role with OID %u does not exist"
 msgstr "le rôle d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3331
-#: catalog/aclchk.c:3339
+#: catalog/aclchk.c:3312
+#: catalog/aclchk.c:3320
 #, c-format
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "l'attribut %d de la relation d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3412
-#: catalog/aclchk.c:4232
+#: catalog/aclchk.c:3393
+#: catalog/aclchk.c:4219
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "la relation d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3506
-#: catalog/aclchk.c:4596
+#: catalog/aclchk.c:3493
+#: catalog/aclchk.c:4610
 #: utils/adt/dbsize.c:127
 #, 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:3560
-#: catalog/aclchk.c:4310
-#: tcop/fastpath.c:222
+#: catalog/aclchk.c:3547
+#: catalog/aclchk.c:4297
+#: tcop/fastpath.c:221
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "la fonction d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3614
-#: catalog/aclchk.c:4336
+#: catalog/aclchk.c:3601
+#: catalog/aclchk.c:4323
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "le langage d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3775
-#: catalog/aclchk.c:4408
+#: catalog/aclchk.c:3762
+#: catalog/aclchk.c:4395
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "le schéma d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3829
-#: catalog/aclchk.c:4435
+#: catalog/aclchk.c:3816
+#: catalog/aclchk.c:4422
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "le tablespace d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3887
+#: catalog/aclchk.c:3874
+#: catalog/aclchk.c:4556
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "le wrapper de données distantes d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3948
-#: catalog/aclchk.c:4569
+#: catalog/aclchk.c:3935
+#: catalog/aclchk.c:4583
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "le serveur distant d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4258
+#: catalog/aclchk.c:4245
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "le type d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4284
+#: catalog/aclchk.c:4271
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "l'opérateur d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4461
+#: catalog/aclchk.c:4448
 #, 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:4488
+#: catalog/aclchk.c:4475
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "la famille d'opérateur d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4515
+#: catalog/aclchk.c:4502
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "le dictionnaire de recherche plein texte d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4542
+#: catalog/aclchk.c:4529
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "la configuration de recherche plein texte d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4622
+#: catalog/aclchk.c:4636
+#, c-format
+msgid "collation with OID %u does not exist"
+msgstr "le collationnement d'OID %u n'existe pas"
+
+#: catalog/aclchk.c:4662
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "la conversion d'OID %u n'existe pas"
 
-#: catalog/catalog.c:75
+#: catalog/aclchk.c:4703
+#, c-format
+msgid "extension with OID %u does not exist"
+msgstr "l'extension d'OID %u n'existe pas"
+
+#: catalog/catalog.c:76
 msgid "invalid fork name"
 msgstr "nom du fork invalide"
 
-#: catalog/catalog.c:76
+#: catalog/catalog.c:77
 msgid "Valid fork names are \"main\", \"fsm\", and \"vm\"."
 msgstr "Les noms de fork valides sont « main », « fsm » et « vm »."
 
-#: catalog/dependency.c:578
+#: catalog/dependency.c:589
 #, 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:581
+#: catalog/dependency.c:592
 #, c-format
 msgid "You can drop %s instead."
 msgstr "Vous pouvez supprimer %s à la place."
 
-#: catalog/dependency.c:734
-#: catalog/pg_shdepend.c:560
+#: catalog/dependency.c:748
+#: catalog/pg_shdepend.c:562
 #, 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:848
+#: catalog/dependency.c:864
 #, c-format
 msgid "drop auto-cascades to %s"
 msgstr "DROP cascade automatiquement sur %s"
 
-#: catalog/dependency.c:860
-#: catalog/dependency.c:869
+#: catalog/dependency.c:876
+#: catalog/dependency.c:885
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s dépend de %s"
 
-#: catalog/dependency.c:881
-#: catalog/dependency.c:890
+#: catalog/dependency.c:897
+#: catalog/dependency.c:906
 #, c-format
 msgid "drop cascades to %s"
 msgstr "DROP cascade sur %s"
 
-#: catalog/dependency.c:898
-#: catalog/pg_shdepend.c:671
+#: catalog/dependency.c:914
+#: catalog/pg_shdepend.c:673
 #, c-format
 msgid ""
 "\n"
@@ -3228,466 +3294,537 @@ msgstr[1] ""
 "\n"
 "et %d autres objets (voir le journal applicatif du serveur pour une liste)"
 
-#: catalog/dependency.c:910
+#: catalog/dependency.c:926
 #, 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:912
-#: catalog/dependency.c:913
-#: catalog/dependency.c:919
-#: catalog/dependency.c:920
-#: catalog/dependency.c:931
-#: catalog/dependency.c:932
-#: commands/tablecmds.c:658
-#: commands/trigger.c:832
-#: commands/trigger.c:848
-#: commands/trigger.c:860
-#: commands/user.c:902
-#: commands/user.c:903
-#: tcop/postgres.c:4300
+#: catalog/dependency.c:928
+#: catalog/dependency.c:929
+#: catalog/dependency.c:935
+#: catalog/dependency.c:936
+#: catalog/dependency.c:947
+#: catalog/dependency.c:948
+#: catalog/objectaddress.c:315
+#: commands/user.c:956
+#: commands/user.c:957
+#: commands/tablecmds.c:688
+#: commands/trigger.c:899
+#: commands/trigger.c:915
+#: commands/trigger.c:927
+#: tcop/postgres.c:4297
 #: storage/lmgr/deadlock.c:942
 #: storage/lmgr/deadlock.c:943
 #: nodes/print.c:85
-#: utils/adt/xml.c:1363
-#: utils/adt/xml.c:1364
-#: utils/adt/xml.c:1370
-#: utils/adt/xml.c:1441
-#: utils/misc/guc.c:4963
-#: utils/misc/guc.c:5231
+#: port/win32/security.c:51
+#: utils/adt/xml.c:1366
+#: utils/adt/xml.c:1367
+#: utils/adt/xml.c:1373
+#: utils/adt/xml.c:1444
 #: utils/fmgr/dfmgr.c:381
+#: utils/misc/guc.c:5395
+#: utils/misc/guc.c:5709
+#: utils/misc/guc.c:7978
+#: utils/misc/guc.c:7982
+#: utils/misc/guc.c:7984
+#: utils/misc/guc.c:8012
+#: utils/misc/guc.c:8016
+#: utils/misc/guc.c:8018
+#: utils/misc/guc.c:8046
+#: utils/misc/guc.c:8050
+#: utils/misc/guc.c:8052
+#: utils/misc/guc.c:8080
+#: utils/misc/guc.c:8084
+#: utils/misc/guc.c:8086
+#: utils/misc/guc.c:8114
+#: utils/misc/guc.c:8119
+#: utils/misc/guc.c:8121
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: catalog/dependency.c:914
-#: catalog/dependency.c:921
+#: catalog/dependency.c:930
+#: catalog/dependency.c:937
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "Utilisez DROP ... CASCADE pour supprimer aussi les objets dépendants."
 
-#: catalog/dependency.c:918
+#: catalog/dependency.c:934
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr "ne peut pas supprimer les objets désirés car d'autres objets en dépendent"
 
 #. translator: %d always has a value larger than 1
-#: catalog/dependency.c:927
+#: catalog/dependency.c:943
 #, c-format
 msgid "drop cascades to %d other object"
 msgid_plural "drop cascades to %d other objects"
 msgstr[0] "DROP cascade sur %d autre objet"
 msgstr[1] "DROP cascade sur %d autres objets"
 
-#: catalog/dependency.c:2110
+#: catalog/dependency.c:2177
 #, c-format
 msgid " column %s"
 msgstr " colonne %s"
 
-#: catalog/dependency.c:2116
+#: catalog/dependency.c:2183
 #, c-format
 msgid "function %s"
 msgstr "fonction %s"
 
-#: catalog/dependency.c:2121
+#: catalog/dependency.c:2188
 #, c-format
 msgid "type %s"
 msgstr "type %s"
 
-#: catalog/dependency.c:2151
+#: catalog/dependency.c:2218
 #, c-format
 msgid "cast from %s to %s"
 msgstr "conversion de %s en %s"
 
-#: catalog/dependency.c:2178
+#: catalog/dependency.c:2238
+#, c-format
+msgid "collation %s"
+msgstr "collationnement %s"
+
+#: catalog/dependency.c:2262
 #, c-format
 msgid "constraint %s on %s"
 msgstr "contrainte %s sur %s"
 
-#: catalog/dependency.c:2184
+#: catalog/dependency.c:2268
 #, c-format
 msgid "constraint %s"
 msgstr "contrainte %s"
 
-#: catalog/dependency.c:2201
+#: catalog/dependency.c:2285
 #, c-format
 msgid "conversion %s"
 msgstr "conversion %s"
 
-#: catalog/dependency.c:2238
+#: catalog/dependency.c:2322
 #, c-format
 msgid "default for %s"
 msgstr "valeur par défaut pour %s"
 
-#: catalog/dependency.c:2255
+#: catalog/dependency.c:2339
 #, c-format
 msgid "language %s"
 msgstr "langage %s"
 
-#: catalog/dependency.c:2261
+#: catalog/dependency.c:2345
 #, c-format
 msgid "large object %u"
 msgstr "« Large Object » %u"
 
-#: catalog/dependency.c:2266
+#: catalog/dependency.c:2350
 #, c-format
 msgid "operator %s"
 msgstr "opérateur %s"
 
-#: catalog/dependency.c:2298
+#: catalog/dependency.c:2382
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "classe d'opérateur %s pour la méthode d'accès %s"
 
-#: catalog/dependency.c:2348
+#: catalog/dependency.c:2433
 #, c-format
-msgid "operator %d %s of %s"
-msgstr "opérateur %d %s de %s"
+msgid "operator %d (%s, %s) of %s: %s"
+msgstr "opérateur %d (%s, %s) de %s : %s"
 
-#: catalog/dependency.c:2395
+#: catalog/dependency.c:2484
 #, c-format
-msgid "function %d %s of %s"
-msgstr "fonction %d %s de %s"
+msgid "function %d (%s, %s) of %s: %s"
+msgstr "fonction %d (%s, %s) de %s : %s"
 
-#: catalog/dependency.c:2432
+#: catalog/dependency.c:2524
 #, c-format
 msgid "rule %s on "
 msgstr "règle %s active"
 
-#: catalog/dependency.c:2467
+#: catalog/dependency.c:2559
 #, c-format
 msgid "trigger %s on "
 msgstr "trigger %s actif "
 
-#: catalog/dependency.c:2484
+#: catalog/dependency.c:2576
 #, c-format
 msgid "schema %s"
 msgstr "schéma %s"
 
-#: catalog/dependency.c:2497
+#: catalog/dependency.c:2589
 #, c-format
 msgid "text search parser %s"
 msgstr "analyseur %s de la recherche plein texte"
 
-#: catalog/dependency.c:2512
+#: catalog/dependency.c:2604
 #, c-format
 msgid "text search dictionary %s"
 msgstr "dictionnaire %s de la recherche plein texte"
 
-#: catalog/dependency.c:2527
+#: catalog/dependency.c:2619
 #, c-format
 msgid "text search template %s"
 msgstr "modèle %s de la recherche plein texte"
 
-#: catalog/dependency.c:2542
+#: catalog/dependency.c:2634
 #, c-format
 msgid "text search configuration %s"
 msgstr "configuration %s de recherche plein texte"
 
-#: catalog/dependency.c:2550
+#: catalog/dependency.c:2642
 #, c-format
 msgid "role %s"
 msgstr "rôle %s"
 
-#: catalog/dependency.c:2563
+#: catalog/dependency.c:2655
 #, c-format
 msgid "database %s"
 msgstr "base de données %s"
 
-#: catalog/dependency.c:2575
+#: catalog/dependency.c:2667
 #, c-format
 msgid "tablespace %s"
 msgstr "tablespace %s"
 
-#: catalog/dependency.c:2584
+#: catalog/dependency.c:2676
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "wrapper de données distantes %s"
 
-#: catalog/dependency.c:2593
+#: catalog/dependency.c:2685
 #, c-format
 msgid "server %s"
 msgstr "serveur %s"
 
-#: catalog/dependency.c:2618
+#: catalog/dependency.c:2710
 #, c-format
 msgid "user mapping for %s"
 msgstr "correspondance utilisateur pour %s"
 
-#: catalog/dependency.c:2652
+#: catalog/dependency.c:2744
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "droits par défaut pour les nouvelles relations appartenant au rôle %s"
 
-#: catalog/dependency.c:2657
+#: catalog/dependency.c:2749
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr "droits par défaut pour les nouvelles séquences appartenant au rôle %s"
 
-#: catalog/dependency.c:2662
+#: catalog/dependency.c:2754
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "droits par défaut pour les nouvelles fonctions appartenant au rôle %s"
 
-#: catalog/dependency.c:2668
+#: catalog/dependency.c:2760
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "droits par défaut appartenant au rôle %s"
 
-#: catalog/dependency.c:2676
+#: catalog/dependency.c:2768
 #, c-format
 msgid " in schema %s"
 msgstr " dans le schéma %s"
 
-#: catalog/dependency.c:2724
+#: catalog/dependency.c:2785
+#, c-format
+msgid "extension %s"
+msgstr "extension %s"
+
+#: catalog/dependency.c:2843
 #, c-format
 msgid "table %s"
 msgstr "table %s"
 
-#: catalog/dependency.c:2728
+#: catalog/dependency.c:2847
 #, c-format
 msgid "index %s"
 msgstr "index %s"
 
-#: catalog/dependency.c:2732
+#: catalog/dependency.c:2851
 #, c-format
 msgid "sequence %s"
 msgstr "séquence %s"
 
-#: catalog/dependency.c:2736
+#: catalog/dependency.c:2855
 #, c-format
 msgid "uncataloged table %s"
 msgstr "table %s sans catalogue"
 
-#: catalog/dependency.c:2740
+#: catalog/dependency.c:2859
 #, c-format
 msgid "toast table %s"
 msgstr "table TOAST %s"
 
-#: catalog/dependency.c:2744
+#: catalog/dependency.c:2863
 #, c-format
 msgid "view %s"
 msgstr "vue %s"
 
-#: catalog/dependency.c:2748
+#: catalog/dependency.c:2867
 #, c-format
 msgid "composite type %s"
 msgstr "type composite %s"
 
-#: catalog/dependency.c:2753
+#: catalog/dependency.c:2871
+#, c-format
+msgid "foreign table %s"
+msgstr "table distante %s"
+
+#: catalog/dependency.c:2876
 #, c-format
 msgid "relation %s"
 msgstr "relation %s"
 
-#: catalog/dependency.c:2790
+#: catalog/dependency.c:2913
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "famille d'opérateur %s pour la méthode d'accès %s"
 
-#: catalog/heap.c:257
+#: catalog/heap.c:264
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "droit refusé pour créer « %s.%s »"
 
-#: catalog/heap.c:259
+#: catalog/heap.c:266
 msgid "System catalog modifications are currently disallowed."
 msgstr "Les modifications du catalogue système sont actuellement interdites."
 
-#: catalog/heap.c:380
-#: commands/tablecmds.c:1235
-#: commands/tablecmds.c:1619
-#: commands/tablecmds.c:3723
+#: catalog/heap.c:389
+#: commands/tablecmds.c:1267
+#: commands/tablecmds.c:1684
+#: commands/tablecmds.c:4249
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "les tables peuvent avoir au plus %d colonnes"
 
-#: catalog/heap.c:397
+#: catalog/heap.c:406
 #, 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:413
+#: catalog/heap.c:422
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "colonne « %s » spécifiée plus d'une fois"
 
-#: catalog/heap.c:461
+#: catalog/heap.c:472
 #, c-format
 msgid "column \"%s\" has type \"unknown\""
 msgstr "la colonne « %s » est de type « unknown »"
 
-#: catalog/heap.c:462
+#: catalog/heap.c:473
 msgid "Proceeding with relation creation anyway."
 msgstr "Poursuit malgré tout la création de la relation."
 
-#: catalog/heap.c:475
+#: catalog/heap.c:486
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "la colonne « %s » a le pseudo type %s"
 
-#: catalog/heap.c:498
+#: catalog/heap.c:516
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "le type composite %s ne peut pas être membre de lui-même"
 
-#: catalog/heap.c:963
-#: catalog/index.c:621
-#: commands/tablecmds.c:2211
+#: catalog/heap.c:558
+#, c-format
+msgid "no collation was derived for column \"%s\" with collatable type %s"
+msgstr "aucun collationnement n'a été dérivé pour la colonne « %s » de type collationnable %s"
+
+#: catalog/heap.c:560
+#: commands/indexcmds.c:931
+#: commands/view.c:145
+#: regex/regc_pg_locale.c:259
+#: utils/adt/formatting.c:1520
+#: utils/adt/formatting.c:1570
+#: utils/adt/formatting.c:1641
+#: utils/adt/formatting.c:1691
+#: utils/adt/formatting.c:1774
+#: utils/adt/formatting.c:1836
+#: utils/adt/like.c:212
+#: utils/adt/selfuncs.c:4853
+#: utils/adt/selfuncs.c:4970
+#: utils/adt/varlena.c:1315
+msgid "Use the COLLATE clause to set the collation explicitly."
+msgstr "Utilisez la clause COLLARE pour configurer explicitement le collationnement."
+
+#: catalog/heap.c:1011
+#: catalog/index.c:769
+#: commands/tablecmds.c:2317
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relation « %s » existe déjà"
 
-#: catalog/heap.c:979
-#: catalog/pg_type.c:385
-#: catalog/pg_type.c:665
-#: commands/typecmds.c:218
-#: commands/typecmds.c:795
-#: commands/typecmds.c:1120
-#: commands/typecmds.c:1543
+#: catalog/heap.c:1027
+#: catalog/pg_type.c:396
+#: catalog/pg_type.c:696
+#: commands/typecmds.c:224
+#: commands/typecmds.c:806
+#: commands/typecmds.c:1145
+#: commands/typecmds.c:1621
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "le type « %s » existe déjà"
 
-#: catalog/heap.c:980
+#: catalog/heap.c:1028
 msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type."
 msgstr ""
 "Une relation a un type associé du même nom, donc vous devez utiliser un nom\n"
 "qui n'entre pas en conflit avec un type existant."
 
-#: catalog/heap.c:2023
+#: catalog/heap.c:2138
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "la contrainte de vérification « %s » existe déjà"
 
-#: catalog/heap.c:2167
-#: catalog/pg_constraint.c:639
-#: commands/tablecmds.c:4636
+#: catalog/heap.c:2282
+#: catalog/pg_constraint.c:645
+#: commands/tablecmds.c:5323
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "la contrainte « %s » de la relation « %s » existe déjà"
 
-#: catalog/heap.c:2171
+#: catalog/heap.c:2286
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "assemblage de la contrainte « %s » avec une définition héritée"
 
-#: catalog/heap.c:2269
+#: catalog/heap.c:2384
 msgid "cannot use column references in default expression"
 msgstr "ne peut pas utiliser les références de colonnes dans l'expression par défaut"
 
-#: catalog/heap.c:2277
+#: catalog/heap.c:2392
 msgid "default expression must not return a set"
 msgstr "l'expression par défaut ne doit pas renvoyer un ensemble"
 
-#: catalog/heap.c:2285
+#: catalog/heap.c:2400
 msgid "cannot use subquery in default expression"
 msgstr "ne peut pas utiliser une sous-requête dans l'expression par défaut"
 
-#: catalog/heap.c:2289
+#: catalog/heap.c:2404
 msgid "cannot use aggregate function in default expression"
 msgstr "ne peut pas utiliser une fonction d'agrégat dans une expression par défaut"
 
-#: catalog/heap.c:2293
+#: catalog/heap.c:2408
 msgid "cannot use window function in default expression"
 msgstr "ne peut pas utiliser une fonction window dans une expression par défaut"
 
-#: catalog/heap.c:2312
-#: rewrite/rewriteHandler.c:952
+#: catalog/heap.c:2427
+#: rewrite/rewriteHandler.c:1030
 #, 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:2317
-#: commands/prepare.c:369
-#: parser/parse_node.c:370
-#: parser/parse_target.c:475
-#: parser/parse_target.c:734
-#: parser/parse_target.c:744
-#: rewrite/rewriteHandler.c:957
+#: catalog/heap.c:2432
+#: commands/prepare.c:370
+#: parser/parse_node.c:397
+#: parser/parse_target.c:489
+#: parser/parse_target.c:735
+#: parser/parse_target.c:745
+#: rewrite/rewriteHandler.c:1035
 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:2353
+#: catalog/heap.c:2478
 #, 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:2362
-#: commands/typecmds.c:2298
+#: catalog/heap.c:2487
+#: commands/typecmds.c:2385
 msgid "cannot use subquery in check constraint"
 msgstr "ne peut pas utiliser une sous-requête dans la contrainte de vérification"
 
-#: catalog/heap.c:2366
-#: commands/typecmds.c:2302
+#: catalog/heap.c:2491
+#: commands/typecmds.c:2389
 msgid "cannot use aggregate function in check constraint"
 msgstr "ne peut pas utiliser une fonction d'aggrégat dans une contrainte de vérification"
 
-#: catalog/heap.c:2370
-#: commands/typecmds.c:2306
+#: catalog/heap.c:2495
+#: commands/typecmds.c:2393
 msgid "cannot use window function in check constraint"
 msgstr "ne peut pas utiliser une fonction window dans une contrainte de vérification"
 
-#: catalog/heap.c:2609
+#: catalog/heap.c:2734
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "combinaison ON COMMIT et clé étrangère non supportée"
 
-#: catalog/heap.c:2610
+#: catalog/heap.c:2735
 #, c-format
 msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting."
 msgstr ""
 "La table « %s » référence « %s » mais elles n'ont pas la même valeur pour le\n"
 "paramètre ON COMMIT."
 
-#: catalog/heap.c:2615
+#: catalog/heap.c:2740
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "ne peut pas tronquer une table référencée dans une contrainte de clé étrangère"
 
-#: catalog/heap.c:2616
+#: catalog/heap.c:2741
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La table « %s » référence « %s »."
 
-#: catalog/heap.c:2618
+#: catalog/heap.c:2743
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr "Tronquez la table « %s » en même temps, ou utilisez TRUNCATE ... CASCADE."
 
-#: catalog/index.c:582
+#: catalog/index.c:202
+#: parser/parse_utilcmd.c:1292
+#: parser/parse_utilcmd.c:1378
+#, c-format
+msgid "multiple primary keys for table \"%s\" are not allowed"
+msgstr "les clés primaires multiples ne sont pas autorisées pour la table « %s »"
+
+#: catalog/index.c:220
+msgid "primary keys cannot be expressions"
+msgstr "les clés primaires ne peuvent pas être des expressions"
+
+#: catalog/index.c:730
+#: catalog/index.c:1124
 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:592
+#: catalog/index.c:740
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr ""
 "la création en parallèle d'un index sur les tables du catalogue système\n"
 "n'est pas supportée"
 
-#: catalog/index.c:610
+#: catalog/index.c:758
 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:2432
+#: catalog/index.c:1727
+#, c-format
+msgid "building index \"%s\" on table \"%s\""
+msgstr "construction de l'index « %s » sur la table « %s »"
+
+#: catalog/index.c:2800
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "ne peut pas ré-indexer les tables temporaires des autres sessions"
 
-#: catalog/namespace.c:232
-#: catalog/namespace.c:306
-#: commands/trigger.c:3961
+#: catalog/namespace.c:235
+#: catalog/namespace.c:309
+#: commands/trigger.c:4153
 #, 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:250
-#: catalog/namespace.c:317
+#: catalog/namespace.c:253
+#: catalog/namespace.c:320
 msgid "temporary tables cannot specify a schema name"
 msgstr "les tables temporaires ne peuvent pas spécifier un nom de schéma"
 
-#: catalog/namespace.c:273
+#: catalog/namespace.c:276
 #: commands/lockcmds.c:122
 #: parser/parse_relation.c:835
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "la relation « %s.%s » n'existe pas"
 
-#: catalog/namespace.c:278
+#: catalog/namespace.c:281
 #: commands/lockcmds.c:127
 #: parser/parse_relation.c:848
 #: parser/parse_relation.c:856
@@ -3696,66 +3833,198 @@ msgstr "la relation 
 msgid "relation \"%s\" does not exist"
 msgstr "la relation « %s » n'existe pas"
 
-#: catalog/namespace.c:358
-#: catalog/namespace.c:2410
+#: catalog/namespace.c:355
+#: catalog/namespace.c:2548
 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:1748
-#: commands/tsearchcmds.c:306
+#: catalog/namespace.c:1865
+#: commands/tsearchcmds.c:320
 #, c-format
 msgid "text search parser \"%s\" does not exist"
 msgstr "l'analyseur de recherche plein texte « %s » n'existe pas"
 
-#: catalog/namespace.c:1871
-#: commands/tsearchcmds.c:654
+#: catalog/namespace.c:1988
+#: commands/tsearchcmds.c:769
 #, c-format
 msgid "text search dictionary \"%s\" does not exist"
 msgstr "le dictionnaire de recherche plein texte « %s » n'existe pas"
 
-#: catalog/namespace.c:1995
-#: commands/tsearchcmds.c:1137
+#: catalog/namespace.c:2112
+#: commands/tsearchcmds.c:1304
 #, c-format
 msgid "text search template \"%s\" does not exist"
 msgstr "le modèle de recherche plein texte « %s » n'existe pas"
 
-#: catalog/namespace.c:2118
-#: commands/tsearchcmds.c:1532
-#: commands/tsearchcmds.c:1688
+#: catalog/namespace.c:2235
+#: commands/tsearchcmds.c:1754
+#: commands/tsearchcmds.c:1910
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "la configuration de recherche plein texte « %s » n'existe pas"
 
-#: catalog/namespace.c:2231
-#: parser/parse_expr.c:769
-#: parser/parse_target.c:998
+#: catalog/namespace.c:2348
+#: parser/parse_expr.c:775
+#: parser/parse_target.c:1085
 #, 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:2237
-#: parser/parse_expr.c:776
-#: parser/parse_target.c:1005
-#: gram.y:3673
-#: gram.y:10605
+#: catalog/namespace.c:2354
+#: parser/parse_expr.c:782
+#: parser/parse_target.c:1092
+#: gram.y:11615
+#: gram.y:12814
 #, 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:2442
+#: catalog/namespace.c:2482
+#, c-format
+msgid "%s is already in schema \"%s\""
+msgstr "%s existe déjà dans le schéma « %s »"
+
+#: catalog/namespace.c:2490
+msgid "cannot move objects into or out of temporary schemas"
+msgstr "ne peut pas déplacer les objets dans ou à partir des schémas temporaires"
+
+#: catalog/namespace.c:2496
+msgid "cannot move objects into or out of TOAST schema"
+msgstr "ne peut pas déplacer les objets dans ou à partir des schémas TOAST"
+
+#: catalog/namespace.c:2569
+#: catalog/namespace.c:3554
+#: catalog/namespace.c:3557
+#: commands/schemacmds.c:253
+#: commands/schemacmds.c:322
+#, c-format
+msgid "schema \"%s\" does not exist"
+msgstr "le schéma « %s » n'existe pas"
+
+#: catalog/namespace.c:2600
 #, 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:3024
+#: catalog/namespace.c:2999
+#, c-format
+msgid "collation \"%s\" for encoding \"%s\" does not exist"
+msgstr "le collationnement « %s » pour l'encodage « %s » n'existe pas"
+
+#: catalog/namespace.c:3051
+#, c-format
+msgid "conversion \"%s\" does not exist"
+msgstr "la conversion « %s » n'existe pas"
+
+#: catalog/namespace.c:3256
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "droit refusé pour la création de tables temporaires dans la base de données « %s »"
 
-#: catalog/namespace.c:3040
+#: catalog/namespace.c:3272
 msgid "cannot create temporary tables during recovery"
 msgstr "ne peut pas créer des tables temporaires lors de la restauration"
 
+#: catalog/namespace.c:3516
+#: commands/tablespace.c:1121
+#: commands/variable.c:59
+#: replication/syncrep.c:657
+#: utils/misc/guc.c:8151
+msgid "List syntax is invalid."
+msgstr "La syntaxe de la liste est invalide."
+
+#: catalog/objectaddress.c:286
+msgid "database name cannot be qualified"
+msgstr "le nom de la base de donnée ne peut être qualifié"
+
+#: catalog/objectaddress.c:289
+#: commands/extension.c:1585
+#: commands/extension.c:2245
+msgid "extension name cannot be qualified"
+msgstr "le nom de l'extension ne peut pas être qualifié"
+
+#: catalog/objectaddress.c:292
+msgid "tablespace name cannot be qualified"
+msgstr "le nom du tablespace ne peut pas être qualifié"
+
+#: catalog/objectaddress.c:295
+msgid "role name cannot be qualified"
+msgstr "le nom du rôle ne peut pas être qualifié"
+
+#: catalog/objectaddress.c:298
+#: commands/schemacmds.c:178
+msgid "schema name cannot be qualified"
+msgstr "le nom du schéma ne peut pas être qualifié"
+
+#: catalog/objectaddress.c:301
+msgid "language name cannot be qualified"
+msgstr "le nom du langage ne peut pas être qualifié"
+
+#: catalog/objectaddress.c:304
+msgid "foreign-data wrapper name cannot be qualified"
+msgstr "le nom du wrapper de données distantes ne peut pas être qualifié"
+
+#: catalog/objectaddress.c:307
+msgid "server name cannot be qualified"
+msgstr "le nom du serveur ne peut pas être qualifié"
+
+#: catalog/objectaddress.c:405
+#: catalog/toasting.c:91
+#: commands/indexcmds.c:200
+#: commands/indexcmds.c:1574
+#: commands/lockcmds.c:149
+#: commands/tablecmds.c:202
+#: commands/tablecmds.c:1128
+#: commands/tablecmds.c:2477
+#: commands/tablecmds.c:3798
+#, c-format
+msgid "\"%s\" is not a table"
+msgstr "« %s » n'est pas une table"
+
+#: catalog/objectaddress.c:412
+#: commands/tablecmds.c:214
+#: commands/tablecmds.c:2252
+#: commands/tablecmds.c:2509
+#: commands/tablecmds.c:3813
+#: commands/tablecmds.c:8940
+#: commands/view.c:182
+#, c-format
+msgid "\"%s\" is not a view"
+msgstr "« %s » n'est pas une vue"
+
+#: catalog/objectaddress.c:419
+#: commands/tablecmds.c:232
+#: commands/tablecmds.c:2258
+#: commands/tablecmds.c:2517
+#: commands/tablecmds.c:3816
+#: commands/tablecmds.c:8948
+#, c-format
+msgid "\"%s\" is not a foreign table"
+msgstr "« %s » n'est pas une table distante"
+
+#: catalog/objectaddress.c:819
+#: catalog/pg_largeobject.c:200
+#: libpq/be-fsstubs.c:287
+#, c-format
+msgid "must be owner of large object %u"
+msgstr "doit être le propriétaire du Large Object %u"
+
+#: catalog/objectaddress.c:834
+#: commands/functioncmds.c:1525
+#: commands/functioncmds.c:1814
+#, c-format
+msgid "must be owner of type %s or type %s"
+msgstr "doit être le propriétaire du type %s ou du type %s"
+
+#: catalog/objectaddress.c:865
+#: catalog/objectaddress.c:881
+msgid "must be superuser"
+msgstr "doit être super-utilisateur"
+
+#: catalog/objectaddress.c:872
+msgid "must have CREATEROLE privilege"
+msgstr "doit avoir l'attribut CREATEROLE"
+
 #: catalog/pg_aggregate.c:100
 msgid "cannot determine transition data type"
 msgstr "n'a pas pu déterminer le type de données de transition"
@@ -3779,7 +4048,7 @@ msgstr ""
 "entrée"
 
 #: catalog/pg_aggregate.c:175
-#: catalog/pg_proc.c:204
+#: catalog/pg_proc.c:205
 msgid "cannot determine result data type"
 msgstr "n'a pas pu déterminer le type de données en résultat"
 
@@ -3790,12 +4059,12 @@ msgstr ""
 "de type polymorphique."
 
 #: catalog/pg_aggregate.c:188
-#: catalog/pg_proc.c:210
+#: catalog/pg_proc.c:211
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "utilisation non sûre des pseudo-types « INTERNAL »"
 
 #: catalog/pg_aggregate.c:189
-#: catalog/pg_proc.c:211
+#: catalog/pg_proc.c:212
 msgid "A function returning \"internal\" must have at least one \"internal\" argument."
 msgstr ""
 "Une fonction renvoyant « internal » doit avoir au moins un argument du type\n"
@@ -3806,16 +4075,16 @@ msgid "sort operator can only be specified for single-argument aggregates"
 msgstr "l'opérateur de tri peut seulement être indiqué pour des agrégats à un seul argument"
 
 #: catalog/pg_aggregate.c:331
-#: commands/typecmds.c:1269
-#: commands/typecmds.c:1320
-#: commands/typecmds.c:1351
-#: commands/typecmds.c:1374
-#: commands/typecmds.c:1395
-#: commands/typecmds.c:1422
-#: commands/typecmds.c:1449
-#: parser/parse_func.c:294
-#: parser/parse_func.c:305
-#: parser/parse_func.c:1464
+#: commands/typecmds.c:1350
+#: commands/typecmds.c:1401
+#: commands/typecmds.c:1432
+#: commands/typecmds.c:1455
+#: commands/typecmds.c:1476
+#: commands/typecmds.c:1503
+#: commands/typecmds.c:1530
+#: parser/parse_func.c:288
+#: parser/parse_func.c:299
+#: parser/parse_func.c:1481
 #, c-format
 msgid "function %s does not exist"
 msgstr "la fonction %s n'existe pas"
@@ -3830,216 +4099,216 @@ msgstr "la fonction %s renvoie un ensemble"
 msgid "function %s requires run-time type coercion"
 msgstr "la fonction %s requiert une coercion sur le type à l'exécution"
 
-#: catalog/pg_constraint.c:648
-#: commands/typecmds.c:2239
+#: catalog/pg_constraint.c:654
+#: commands/typecmds.c:2320
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "la contrainte « %s » du domaine « %s » existe déjà"
 
-#: catalog/pg_constraint.c:767
+#: catalog/pg_constraint.c:773
 #, c-format
 msgid "table \"%s\" has multiple constraints named \"%s\""
 msgstr "la table « %s » a de nombreuses contraintes nommées « %s »"
 
-#: catalog/pg_constraint.c:779
+#: catalog/pg_constraint.c:785
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "la contrainte « %s » de la table « %s » n'existe pas"
 
-#: catalog/pg_conversion.c:66
+#: catalog/pg_conversion.c:67
 #, c-format
 msgid "conversion \"%s\" already exists"
 msgstr "la conversion « %s » existe déjà"
 
-#: catalog/pg_conversion.c:79
+#: catalog/pg_conversion.c:80
 #, 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_depend.c:209
+#: catalog/pg_depend.c:293
 #, c-format
 msgid "cannot remove dependency on %s because it is a system object"
 msgstr "ne peut pas supprimer la dépendance sur %s car il s'agit d'un objet système"
 
-#: catalog/pg_enum.c:70
-msgid "EnumValuesCreate() can only set a single OID"
-msgstr "EnumValuesCreate() peut seulement initialiser un seul OID"
-
-#: catalog/pg_enum.c:110
+#: catalog/pg_enum.c:113
+#: catalog/pg_enum.c:199
 #, c-format
 msgid "invalid enum label \"%s\""
 msgstr "nom du label enum « %s » invalide"
 
-#: catalog/pg_enum.c:111
+#: catalog/pg_enum.c:114
+#: catalog/pg_enum.c:200
 #, c-format
 msgid "Labels must be %d characters or less."
 msgstr "Les labels doivent avoir au plus %d caractères"
 
-#: catalog/pg_largeobject.c:200
-#: commands/comment.c:1422
-#: libpq/be-fsstubs.c:287
+#: catalog/pg_enum.c:264
 #, c-format
-msgid "must be owner of large object %u"
-msgstr "doit être le propriétaire du Large Object %u"
+msgid "\"%s\" is not an existing enum label"
+msgstr "« %s » n'est pas un label enum existant"
+
+#: catalog/pg_enum.c:325
+msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
+msgstr "ALTER TYPE ADD BEFORE/AFTER est incompatible avec la mise à jour binaire"
 
-#: catalog/pg_namespace.c:50
-#: commands/schemacmds.c:272
+#: catalog/pg_namespace.c:52
+#: commands/schemacmds.c:259
 #, c-format
 msgid "schema \"%s\" already exists"
 msgstr "le schéma « %s » existe déjà"
 
-#: catalog/pg_operator.c:220
-#: catalog/pg_operator.c:358
+#: catalog/pg_operator.c:221
+#: catalog/pg_operator.c:363
 #, 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:367
+#: catalog/pg_operator.c:372
 msgid "only binary operators can have commutators"
 msgstr "seuls les opérateurs binaires peuvent avoir des commutateurs"
 
-#: catalog/pg_operator.c:371
+#: catalog/pg_operator.c:376
 msgid "only binary operators can have join selectivity"
 msgstr "seuls les opérateurs binaires peuvent avoir une sélectivité des jointures"
 
-#: catalog/pg_operator.c:375
+#: catalog/pg_operator.c:380
 msgid "only binary operators can merge join"
 msgstr "seuls les opérateurs binaires peuvent exécuter des jointures MERGE"
 
-#: catalog/pg_operator.c:379
+#: catalog/pg_operator.c:384
 msgid "only binary operators can hash"
 msgstr "seuls les opérateurs binaires ont du hachage"
 
-#: catalog/pg_operator.c:390
+#: catalog/pg_operator.c:395
 msgid "only boolean operators can have negators"
 msgstr "seuls les opérateurs booléens peuvent avoir des négations"
 
-#: catalog/pg_operator.c:394
+#: catalog/pg_operator.c:399
 msgid "only boolean operators can have restriction selectivity"
 msgstr "seuls les opérateurs booléens peuvent avoir une sélectivité des restrictions"
 
-#: catalog/pg_operator.c:398
+#: catalog/pg_operator.c:403
 msgid "only boolean operators can have join selectivity"
 msgstr "seuls les opérateurs booléens peuvent avoir une sélectivité des jointures"
 
-#: catalog/pg_operator.c:402
+#: catalog/pg_operator.c:407
 msgid "only boolean operators can merge join"
 msgstr "seuls les opérateurs booléens peuvent exécuter des jointures MERGE"
 
-#: catalog/pg_operator.c:406
+#: catalog/pg_operator.c:411
 msgid "only boolean operators can hash"
 msgstr "seuls les opérateurs booléens peuvent hacher"
 
-#: catalog/pg_operator.c:418
+#: catalog/pg_operator.c:423
 #, c-format
 msgid "operator %s already exists"
 msgstr "l'opérateur %s existe déjà"
 
-#: catalog/pg_operator.c:607
+#: catalog/pg_operator.c:616
 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:123
-#: parser/parse_func.c:1509
-#: parser/parse_func.c:1549
+#: catalog/pg_proc.c:124
+#: parser/parse_func.c:1526
+#: parser/parse_func.c:1566
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
 msgstr[0] "les fonctions ne peuvent avoir plus de %d argument"
 msgstr[1] "les fonctions ne peuvent avoir plus de %d arguments"
 
-#: catalog/pg_proc.c:205
+#: catalog/pg_proc.c:206
 msgid "A function returning a polymorphic type must have at least one polymorphic argument."
 msgstr ""
 "Une fonction renvoyant un type polymorphique doit avoir au moins un argument\n"
 "de type polymorphique."
 
-#: catalog/pg_proc.c:223
+#: catalog/pg_proc.c:224
 #, 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:362
+#: catalog/pg_proc.c:363
 #, 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:376
-#: catalog/pg_proc.c:398
+#: catalog/pg_proc.c:377
+#: catalog/pg_proc.c:399
 msgid "cannot change return type of existing function"
 msgstr "ne peut pas modifier le type de retour d'une fonction existante"
 
-#: catalog/pg_proc.c:377
-#: catalog/pg_proc.c:400
-#: catalog/pg_proc.c:442
-#: catalog/pg_proc.c:465
-#: catalog/pg_proc.c:491
+#: catalog/pg_proc.c:378
+#: catalog/pg_proc.c:401
+#: catalog/pg_proc.c:443
+#: catalog/pg_proc.c:466
+#: catalog/pg_proc.c:492
 msgid "Use DROP FUNCTION first."
 msgstr "Utilisez tout d'abord DROP FUNCTION."
 
-#: catalog/pg_proc.c:399
+#: catalog/pg_proc.c:400
 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:440
+#: catalog/pg_proc.c:441
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "ne peut pas modifier le nom du paramètre en entrée « %s »"
 
-#: catalog/pg_proc.c:464
+#: catalog/pg_proc.c:465
 msgid "cannot remove parameter defaults from existing function"
 msgstr ""
 "ne peut pas supprimer les valeurs par défaut des paramètres de la\n"
 "fonction existante"
 
-#: catalog/pg_proc.c:490
+#: catalog/pg_proc.c:491
 msgid "cannot change data type of existing parameter default value"
 msgstr ""
 "ne peut pas modifier le type de données d'un paramètre avec une valeur\n"
 "par défaut"
 
-#: catalog/pg_proc.c:502
+#: catalog/pg_proc.c:503
 #, c-format
 msgid "function \"%s\" is an aggregate function"
 msgstr "la fonction « %s » est une fonction d'agrégat"
 
-#: catalog/pg_proc.c:507
+#: catalog/pg_proc.c:508
 #, c-format
 msgid "function \"%s\" is not an aggregate function"
 msgstr "la fonction « %s » n'est pas une fonction d'agrégat"
 
-#: catalog/pg_proc.c:515
+#: catalog/pg_proc.c:516
 #, c-format
 msgid "function \"%s\" is a window function"
 msgstr "la fonction « %s » est une fonction window"
 
-#: catalog/pg_proc.c:520
+#: catalog/pg_proc.c:521
 #, c-format
 msgid "function \"%s\" is not a window function"
 msgstr "la fonction « %s » n'est pas une fonction window"
 
-#: catalog/pg_proc.c:688
+#: catalog/pg_proc.c:695
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "il n'existe pas de fonction intégrée nommée « %s »"
 
-#: catalog/pg_proc.c:780
+#: catalog/pg_proc.c:787
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "les fonctions SQL ne peuvent pas renvoyer un type %s"
 
-#: catalog/pg_proc.c:795
+#: catalog/pg_proc.c:802
 #, 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:861
-#: executor/functions.c:936
+#: catalog/pg_proc.c:888
+#: executor/functions.c:1162
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "Fonction SQL « %s »"
 
-#: catalog/pg_shdepend.c:678
+#: catalog/pg_shdepend.c:680
 #, c-format
 msgid ""
 "\n"
@@ -4056,117 +4325,121 @@ msgstr[1] ""
 "et des objets dans %d autres bases de données (voir le journal applicatif du\n"
 "serveur pour une liste)"
 
-#: catalog/pg_shdepend.c:990
+#: catalog/pg_shdepend.c:992
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "le rôle %u a été supprimé simultanément"
 
-#: catalog/pg_shdepend.c:1009
+#: catalog/pg_shdepend.c:1011
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "le tablespace %u a été supprimé simultanément"
 
-#: catalog/pg_shdepend.c:1024
+#: catalog/pg_shdepend.c:1026
 #, c-format
 msgid "database %u was concurrently dropped"
 msgstr "la base de données %u a été supprimé simultanément"
 
-#: catalog/pg_shdepend.c:1068
+#: catalog/pg_shdepend.c:1070
 #, c-format
 msgid "owner of %s"
 msgstr "propriétaire de %s"
 
-#: catalog/pg_shdepend.c:1070
+#: catalog/pg_shdepend.c:1072
 #, c-format
 msgid "privileges for %s"
 msgstr "droits pour « %s »"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1078
+#: catalog/pg_shdepend.c:1080
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
 msgstr[0] "%d objet dans %s"
 msgstr[1] "%d objets dans %s"
 
-#: catalog/pg_shdepend.c:1189
-#: catalog/pg_shdepend.c:1285
+#: catalog/pg_shdepend.c:1191
 #, c-format
 msgid "cannot drop objects owned by %s because they are required by the database system"
 msgstr ""
 "n'a pas pu supprimer les objets appartenant à %s car ils sont nécessaires au\n"
 "système de bases de données"
 
-#: catalog/pg_type.c:231
+#: catalog/pg_shdepend.c:1287
+#, c-format
+msgid "cannot reassign ownership of objects owned by %s because they are required by the database system"
+msgstr ""
+"ne peut pas réaffecter les objets appartenant à %s car ils sont nécessaires au\n"
+"système de bases de données"
+
+#: catalog/pg_type.c:241
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "taille interne de type invalide %d"
 
-#: catalog/pg_type.c:247
-#: catalog/pg_type.c:255
-#: catalog/pg_type.c:263
-#: catalog/pg_type.c:272
+#: catalog/pg_type.c:257
+#: catalog/pg_type.c:265
+#: catalog/pg_type.c:273
+#: catalog/pg_type.c:282
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr "l'alignement « %c » est invalide pour le type passé par valeur de taille %d"
 
-#: catalog/pg_type.c:279
+#: catalog/pg_type.c:289
 #, 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:288
-#: catalog/pg_type.c:294
+#: catalog/pg_type.c:298
+#: catalog/pg_type.c:304
 #, c-format
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "l'alignement « %c » est invalide pour le type de longueur variable"
 
-#: catalog/pg_type.c:302
+#: catalog/pg_type.c:312
 msgid "fixed-size types must have storage PLAIN"
 msgstr "les types de taille fixe doivent avoir un stockage de base"
 
-#: catalog/pg_type.c:730
+#: catalog/pg_type.c:761
 #, c-format
 msgid "could not form array type name for type \"%s\""
 msgstr "n'a pas pu former le nom du type array pour le type de données %s"
 
-#: commands/view.c:139
-msgid "view must have at least one column"
-msgstr "la vue doit avoir au moins une colonne"
+#: catalog/toasting.c:142
+msgid "shared tables cannot be toasted after initdb"
+msgstr ""
+"les tables partagées ne peuvent pas avoir une table TOAST après la commande\n"
+"initdb"
 
-#: commands/view.c:163
-#: commands/comment.c:580
-#: commands/tablecmds.c:206
-#: commands/tablecmds.c:2152
-#: commands/tablecmds.c:2373
-#: commands/tablecmds.c:7823
+#: commands/collationcmds.c:81
 #, c-format
-msgid "\"%s\" is not a view"
-msgstr "« %s » n'est pas une vue"
+msgid "collation attribute \"%s\" not recognized"
+msgstr "attribut de collationnement « %s » non reconnu"
 
-#: commands/view.c:260
-#: commands/view.c:272
-msgid "cannot drop columns from view"
-msgstr "ne peut pas supprimer les colonnes d'une vue"
+#: commands/collationcmds.c:126
+msgid "parameter \"lc_collate\" parameter must be specified"
+msgstr "le paramètre « lc_collate » doit être spécifié"
 
-#: commands/view.c:277
-#, c-format
-msgid "cannot change name of view column \"%s\" to \"%s\""
-msgstr "ne peut pas modifier le nom de la colonne « %s » de la vue en « %s »"
+#: commands/collationcmds.c:131
+msgid "parameter \"lc_ctype\" must be specified"
+msgstr "le paramètre « lc_ctype » doit être spécifié"
 
-#: commands/view.c:285
+#: commands/collationcmds.c:177
 #, c-format
-msgid "cannot change data type of view column \"%s\" from %s to %s"
-msgstr "ne peut pas modifier le type de données de la colonne « %s » de la vue de %s à %s"
+msgid "collation \"%s\" does not exist, skipping"
+msgstr "le collationnement « %s » n'existe pas, poursuite du traitement"
 
-#: commands/view.c:441
-msgid "CREATE VIEW specifies more column names than columns"
-msgstr "CREATE VIEW spécifie plus de noms de colonnes que de colonnes"
+#: commands/collationcmds.c:237
+#: commands/collationcmds.c:416
+#, c-format
+msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\""
+msgstr "le collationnament « %s » pour l'encodage « %s » existe déjà dans le schéma « %s »"
 
-#: commands/view.c:457
+#: commands/collationcmds.c:249
+#: commands/collationcmds.c:428
 #, c-format
-msgid "view \"%s\" will be a temporary view"
-msgstr "la vue « %s » sera une vue temporaire"
+msgid "collation \"%s\" already exists in schema \"%s\""
+msgstr "le collationnement « %s » existe déjà dans le schéma « %s »"
 
 #: commands/aggregatecmds.c:103
 #, c-format
@@ -4200,51 +4473,66 @@ msgid "aggregate %s(%s) does not exist, skipping"
 msgstr "L'agrégat %s(%s) n'existe pas, poursuite du traitement"
 
 #: commands/aggregatecmds.c:292
-#: commands/functioncmds.c:1119
+#: commands/functioncmds.c:1122
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "la fonction %s existe déjà dans le schéma « %s »"
 
-#: commands/analyze.c:166
+#: commands/alter.c:423
+#, c-format
+msgid "must be superuser to SET SCHEMA of %s"
+msgstr "doit être super-utilisateur pour exécuter SET SCHEMA vers %s"
+
+#: commands/alter.c:451
+#, c-format
+msgid "%s already exists in schema \"%s\""
+msgstr "%s existe déjà dans le schéma « %s »"
+
+#: commands/analyze.c:153
+#, c-format
+msgid "skipping analyze of \"%s\" --- lock not available"
+msgstr "ignore l'analyse de « %s » --- verrou non disponible"
+
+#: commands/analyze.c:170
 #, c-format
 msgid "skipping \"%s\" --- only superuser can analyze it"
 msgstr "ignore « %s » --- seul le super-utilisateur peut l'analyser"
 
-#: commands/analyze.c:170
+#: commands/analyze.c:174
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can analyze it"
 msgstr ""
 "ignore « %s » --- seul le super-utilisateur ou le propriétaire de la base de\n"
 "données peut l'analyser"
 
-#: commands/analyze.c:174
+#: commands/analyze.c:178
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can analyze it"
 msgstr ""
 "ignore « %s » --- seul le propriétaire de la table ou de la base de données\n"
 "peut l'analyser"
 
-#: commands/analyze.c:190
+#: commands/analyze.c:194
 #, c-format
-msgid "skipping \"%s\" --- cannot analyze indexes, views, or special system tables"
-msgstr "ignore « %s » --- ne peut pas analyser les index, vues ou tables système"
+msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
+msgstr "ignore « %s » --- ne peut pas analyser les objets autres que les tables et les tables système"
 
-#: commands/analyze.c:283
+#: commands/analyze.c:286
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "analyse l'arbre d'héritage « %s.%s »"
 
-#: commands/analyze.c:288
+#: commands/analyze.c:291
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "analyse « %s.%s »"
 
-#: commands/analyze.c:609
+#: commands/analyze.c:611
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
 msgstr "ANALYZE automatique de la table « %s.%s.%s » ; utilisation système : %s"
 
-#: commands/analyze.c:1249
+#: commands/analyze.c:1252
 #, c-format
 msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows"
 msgstr ""
@@ -4253,8 +4541,8 @@ msgstr ""
 "  %d lignes dans l'échantillon,\n"
 "  %.0f lignes totales estimées"
 
-#: commands/analyze.c:1510
-#: executor/execQual.c:2735
+#: commands/analyze.c:1513
+#: executor/execQual.c:2734
 msgid "could not convert row type"
 msgstr "n'a pas pu convertir le type de ligne"
 
@@ -4280,617 +4568,507 @@ msgstr ""
 msgid "too many notifications in the NOTIFY queue"
 msgstr "trop de notifications dans la queue NOTIFY"
 
-#: commands/async.c:1421
+#: commands/async.c:1430
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la queue NOTIFY est pleine à %.0f%%"
 
-#: commands/async.c:1423
+#: commands/async.c:1432
 #, c-format
 msgid "The server process with PID %d is among those with the oldest transactions."
 msgstr "Le processus serveur de PID %d est parmi ceux qui ont les transactions les plus anciennes."
 
-#: commands/async.c:1426
+#: commands/async.c:1435
 msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction."
 msgstr ""
 "La queue NOTIFY ne peut pas être vidée jusqu'à ce que le processus finisse\n"
 "sa transaction en cours."
 
-#: commands/cluster.c:126
-#: commands/cluster.c:364
+#: commands/cluster.c:134
+#: commands/cluster.c:372
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "ne peut pas exécuter CLUSTER sur les tables temporaires des autres sessions"
 
-#: commands/cluster.c:156
+#: commands/cluster.c:164
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "Il n'existe pas d'index CLUSTER pour la table « %s »"
 
-#: commands/cluster.c:170
-#: commands/tablecmds.c:6773
+#: commands/cluster.c:178
+#: commands/tablecmds.c:7623
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "l'index « %s » pour la table « %s » n'existe pas"
 
-#: commands/cluster.c:353
+#: commands/cluster.c:361
 msgid "cannot cluster a shared catalog"
 msgstr "ne peut pas exécuter CLUSTER sur un catalogue partagé"
 
-#: commands/cluster.c:368
+#: commands/cluster.c:376
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "ne peut pas exécuter VACUUM sur les tables temporaires des autres sessions"
 
-#: commands/cluster.c:384
-#, c-format
-msgid "clustering \"%s.%s\""
-msgstr "exécution de CLUSTER sur « %s.%s »"
-
-#: commands/cluster.c:389
-#: commands/vacuumlazy.c:320
-#, c-format
-msgid "vacuuming \"%s.%s\""
-msgstr "exécution du VACUUM sur « %s.%s »"
-
-#: commands/cluster.c:421
+#: commands/cluster.c:426
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "« %s » n'est pas un index de la table « %s »"
 
-#: commands/cluster.c:429
+#: commands/cluster.c:434
 #, c-format
 msgid "cannot cluster on index \"%s\" because access method does not support clustering"
 msgstr ""
 "ne peut pas exécuter CLUSTER sur l'index « %s » car la méthode d'accès de\n"
 "l'index ne gère pas cette commande"
 
-#: commands/cluster.c:441
+#: commands/cluster.c:446
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "ne peut pas exécuter CLUSTER sur l'index partiel « %s »"
 
-#: commands/cluster.c:461
-#, c-format
-msgid "cannot cluster on index \"%s\" because access method does not handle null values"
-msgstr ""
-"ne peut pas créer un cluster sur l'index « %s » car la méthode d'accès de\n"
-"l'index ne gère pas les valeurs NULL"
-
-#: commands/cluster.c:464
-#, c-format
-msgid "You might be able to work around this by marking column \"%s\" NOT NULL, or use ALTER TABLE ... SET WITHOUT CLUSTER to remove the cluster specification from the table."
-msgstr ""
-"Vous pourriez contourner ceci en marquant la colonne « %s » avec la\n"
-"contrainte NOT NULL ou en utilisant ALTER TABLE ... SET WITHOUT CLUSTER pour\n"
-"supprimer la spécification CLUSTER de la table."
-
-#: commands/cluster.c:466
-#, c-format
-msgid "You might be able to work around this by marking column \"%s\" NOT NULL."
-msgstr "Vous pouvez contourner ceci en marquant la colonne « %s » comme NOT NULL."
-
-#: commands/cluster.c:477
-#, c-format
-msgid "cannot cluster on expressional index \"%s\" because its index access method does not handle null values"
-msgstr ""
-"ne peut pas exécuter CLUSTER sur l'index à expression « %s » car sa méthode\n"
-"d'accès ne gère pas les valeurs NULL"
-
-#: commands/cluster.c:492
+#: commands/cluster.c:460
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "ne peut pas exécuter la commande CLUSTER sur l'index invalide « %s »"
 
-#: commands/comment.c:642
-#, c-format
-msgid "\"%s\" is not a table, view, or composite type"
-msgstr "« %s » n'est pas une table, une vue ou un type composite"
-
-#: commands/comment.c:681
-msgid "database name cannot be qualified"
-msgstr "le nom de la base de donnée ne peut être qualifié"
-
-#: commands/comment.c:729
-msgid "tablespace name cannot be qualified"
-msgstr "le nom du tablespace ne peut pas être qualifié"
-
-#: commands/comment.c:766
-msgid "role name cannot be qualified"
-msgstr "le nom du rôle ne peut pas être qualifié"
-
-#: commands/comment.c:775
-#, c-format
-msgid "must be member of role \"%s\" to comment upon it"
-msgstr "doit être un membre du rôle « %s » pour le commenter"
-
-#: commands/comment.c:799
-#: commands/schemacmds.c:178
-msgid "schema name cannot be qualified"
-msgstr "le nom du schéma ne peut pas être qualifié"
-
-#: commands/comment.c:874
-#, c-format
-msgid "rule \"%s\" does not exist"
-msgstr "la règle « %s » n'existe pas"
-
-#: commands/comment.c:882
-#, c-format
-msgid "there are multiple rules named \"%s\""
-msgstr "il existe de nombreuses règles nommées « %s »"
-
-#: commands/comment.c:883
-msgid "Specify a relation name as well as a rule name."
-msgstr "Spécifier un nom de relation ainsi qu'un nom de règle."
-
-#: commands/comment.c:910
-#: rewrite/rewriteDefine.c:687
-#: rewrite/rewriteDefine.c:749
-#: rewrite/rewriteRemove.c:62
-#, 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:1105
-#: commands/trigger.c:994
-#: commands/trigger.c:1194
-#: commands/trigger.c:1305
+#: commands/cluster.c:879
 #, c-format
-msgid "trigger \"%s\" for table \"%s\" does not exist"
-msgstr "le trigger « %s » de la table « %s » n'existe pas"
+msgid "clustering \"%s.%s\" using index scan on \"%s\""
+msgstr "cluster sur « %s.%s » en utilisant un parcours d'index sur « %s »"
 
-#: commands/comment.c:1183
-#: commands/conversioncmds.c:153
-#: commands/conversioncmds.c:209
-#: commands/conversioncmds.c:262
+#: commands/cluster.c:885
 #, c-format
-msgid "conversion \"%s\" does not exist"
-msgstr "la conversion « %s » n'existe pas"
+msgid "clustering \"%s.%s\" using sequential scan and sort"
+msgstr "cluster sur « %s.%s » en utilisant un parcours séquentiel puis un tri"
 
-#: commands/comment.c:1213
-msgid "language name cannot be qualified"
-msgstr "le nom du langage ne peut pas être qualifié"
-
-#: commands/comment.c:1226
-msgid "must be superuser to comment on procedural language"
-msgstr ""
-"doit être super-utilisateur pour ajouter un commentaire sur un langage de\n"
-"procédures"
-
-#: commands/comment.c:1261
-#: commands/comment.c:1342
-#: commands/indexcmds.c:295
-#: commands/opclasscmds.c:281
-#: commands/opclasscmds.c:669
-#: commands/opclasscmds.c:769
-#: commands/opclasscmds.c:1495
-#: commands/opclasscmds.c:1556
-#: commands/opclasscmds.c:1718
-#: commands/opclasscmds.c:1812
-#: commands/opclasscmds.c:1903
-#: commands/opclasscmds.c:2046
+#: commands/cluster.c:890
+#: commands/vacuumlazy.c:315
 #, c-format
-msgid "access method \"%s\" does not exist"
-msgstr "la méthode d'accès « %s » n'existe pas"
+msgid "vacuuming \"%s.%s\""
+msgstr "exécution du VACUUM sur « %s.%s »"
 
-#: commands/comment.c:1289
-#: commands/comment.c:1297
-#: commands/indexcmds.c:1149
-#: commands/indexcmds.c:1157
-#: commands/opclasscmds.c:1507
-#: commands/opclasscmds.c:1511
-#: commands/opclasscmds.c:1739
-#: commands/opclasscmds.c:1750
-#: commands/opclasscmds.c:1926
-#: commands/opclasscmds.c:1937
+#: commands/cluster.c:1050
 #, 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 »"
+msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
+msgstr ""
+"« %s » : %.0f versions de ligne supprimables, %.0f non supprimables\n"
+"parmi %u pages"
 
-#: commands/comment.c:1370
-#: commands/comment.c:1378
-#: commands/opclasscmds.c:343
-#: commands/opclasscmds.c:789
-#: commands/opclasscmds.c:1568
-#: commands/opclasscmds.c:1572
-#: commands/opclasscmds.c:1833
-#: commands/opclasscmds.c:1844
-#: commands/opclasscmds.c:2069
-#: commands/opclasscmds.c:2080
+#: commands/cluster.c:1054
 #, c-format
-msgid "operator family \"%s\" does not exist for access method \"%s\""
-msgstr "la famille d'opérateur « %s » n'existe pas pour la méthode d'accès « %s »"
+msgid ""
+"%.0f dead row versions cannot be removed yet.\n"
+"%s."
+msgstr ""
+"%.0f versions de lignes ne peuvent pas encore être supprimées.\n"
+"%s."
 
-#: commands/comment.c:1469
-#: commands/functioncmds.c:1777
+#: commands/comment.c:60
+#: commands/dbcommands.c:764
+#: commands/dbcommands.c:909
+#: commands/dbcommands.c:1008
+#: commands/dbcommands.c:1181
+#: commands/dbcommands.c:1366
+#: commands/dbcommands.c:1451
+#: commands/dbcommands.c:1854
+#: utils/init/postinit.c:707
+#: utils/init/postinit.c:775
+#: utils/init/postinit.c:792
 #, 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"
+msgid "database \"%s\" does not exist"
+msgstr "la base de données « %s » n'existe pas"
 
-#: commands/comment.c:1481
-#: commands/functioncmds.c:1522
-#: commands/functioncmds.c:1794
+#: commands/comment.c:97
+#: commands/seclabel.c:113
 #, 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/comment.c:1501
-msgid "must be superuser to comment on text search parser"
-msgstr ""
-"doit être super-utilisateur pour ajouter un commentaire sur l'analyseur de\n"
-"recherche plein texte"
-
-#: commands/comment.c:1530
-msgid "must be superuser to comment on text search template"
-msgstr ""
-"doit être super-utilisateur pour ajouter un commentaire sur un modèle de\n"
-"recherche plein texte"
+msgid "\"%s\" is not a table, view, composite type, or foreign table"
+msgstr "« %s » n'est ni une table, ni une vue, ni un type composite, ni une table distante"
 
 #: commands/constraint.c:59
-#: utils/adt/ri_triggers.c:2999
+#: utils/adt/ri_triggers.c:3082
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "la fonction « %s » n'a pas été appelée par le gestionnaire de triggers"
 
 #: commands/constraint.c:66
-#: utils/adt/ri_triggers.c:3008
+#: utils/adt/ri_triggers.c:3091
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "la fonction « %s » doit être exécutée pour l'instruction AFTER ROW"
 
 #: commands/constraint.c:80
-#: utils/adt/ri_triggers.c:3029
+#: utils/adt/ri_triggers.c:3112
 #, c-format
 msgid "function \"%s\" must be fired for INSERT or UPDATE"
 msgstr "la fonction « %s » doit être exécutée pour les instructions INSERT ou UPDATE"
 
-#: commands/conversioncmds.c:69
+#: commands/conversioncmds.c:71
 #, c-format
 msgid "source encoding \"%s\" does not exist"
 msgstr "le codage source « %s » n'existe pas"
 
-#: commands/conversioncmds.c:76
+#: commands/conversioncmds.c:78
 #, c-format
 msgid "destination encoding \"%s\" does not exist"
 msgstr "l'encodage de destination « %s » n'existe pas"
 
-#: commands/conversioncmds.c:90
+#: commands/conversioncmds.c:92
 #, c-format
 msgid "encoding conversion function %s must return type \"void\""
 msgstr "la fonction de conversion d'encodage %s doit renvoyer le type « void »"
 
-#: commands/conversioncmds.c:159
+#: commands/conversioncmds.c:152
 #, c-format
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "la conversion « %s » n'existe pas, poursuite du traitement"
 
-#: commands/conversioncmds.c:224
+#: commands/conversioncmds.c:211
 #, c-format
 msgid "conversion \"%s\" already exists in schema \"%s\""
 msgstr "la conversion « %s » existe déjà dans le schéma « %s »"
 
-#: commands/copy.c:312
-#: commands/copy.c:324
-#: commands/copy.c:358
-#: commands/copy.c:368
+#: commands/copy.c:339
+#: commands/copy.c:351
+#: commands/copy.c:385
+#: commands/copy.c:395
 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:446
+#: commands/copy.c:473
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "n'a pas pu écrire dans le fichier COPY : %m"
 
-#: commands/copy.c:458
+#: commands/copy.c:485
 msgid "connection lost during COPY to stdout"
 msgstr "connexion perdue lors de l'opération COPY vers stdout"
 
-#: commands/copy.c:499
+#: commands/copy.c:526
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "n'a pas pu lire le fichier COPY : %m"
 
-#: commands/copy.c:515
-#: commands/copy.c:534
-#: commands/copy.c:538
-#: tcop/fastpath.c:291
-#: tcop/postgres.c:348
-#: tcop/postgres.c:371
+#: commands/copy.c:542
+#: commands/copy.c:561
+#: commands/copy.c:565
+#: tcop/fastpath.c:290
+#: tcop/postgres.c:349
+#: tcop/postgres.c:372
 msgid "unexpected EOF on client connection"
 msgstr "fin de fichier (EOF) inattendue de la connexion du client"
 
-#: commands/copy.c:550
+#: commands/copy.c:577
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "échec de la commande COPY à partir de stdin : %s"
 
-#: commands/copy.c:566
+#: commands/copy.c:593
 #, 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:762
+#: commands/copy.c:745
+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:746
+msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone."
+msgstr ""
+"Tout le monde peut utiliser COPY vers stdout ou à partir de stdin.\n"
+"La commande \\copy de psql fonctionne aussi pour tout le monde."
+
+#: commands/copy.c:874
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "format COPY « %s » non reconnu"
 
-#: commands/copy.c:825
-#: commands/copy.c:839
+#: commands/copy.c:937
+#: commands/copy.c:951
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "l'argument de l'option « %s » doit être une liste de noms de colonnes"
 
-#: commands/copy.c:845
+#: commands/copy.c:964
+#, c-format
+msgid "argument to option \"%s\" must be a valid encoding name"
+msgstr "l'argument de l'option « %s » doit être un nom d'encodage valide"
+
+#: commands/copy.c:970
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "option « %s » non reconnu"
 
-#: commands/copy.c:856
+#: commands/copy.c:981
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "ne peut pas spécifier le délimiteur (DELIMITER) en mode binaire (BINARY)"
 
-#: commands/copy.c:861
+#: commands/copy.c:986
 msgid "cannot specify NULL in BINARY mode"
 msgstr "ne peut pas spécifier NULL en mode binaire (BINARY)"
 
-#: commands/copy.c:883
+#: commands/copy.c:1008
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "le délimiteur COPY doit être sur un seul caractère sur un octet"
 
-#: commands/copy.c:890
+#: commands/copy.c:1015
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "le délimiteur de COPY ne peut pas être un retour à la ligne ou un retour chariot"
 
-#: commands/copy.c:896
+#: commands/copy.c:1021
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr ""
 "la représentation du NULL dans COPY ne peut pas utiliser le caractère du\n"
 "retour à la ligne ou du retour chariot"
 
-#: commands/copy.c:913
+#: commands/copy.c:1038
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "le délimiteur de COPY ne peut pas être « %s »"
 
-#: commands/copy.c:919
+#: commands/copy.c:1044
 msgid "COPY HEADER available only in CSV mode"
 msgstr "COPY HEADER disponible uniquement en mode CSV"
 
-#: commands/copy.c:925
+#: commands/copy.c:1050
 msgid "COPY quote available only in CSV mode"
 msgstr "le guillemet COPY n'est disponible que dans le mode CSV"
 
-#: commands/copy.c:930
+#: commands/copy.c:1055
 msgid "COPY quote must be a single one-byte character"
 msgstr "le guillemet COPY doit être sur un seul caractère sur un octet"
 
-#: commands/copy.c:935
+#: commands/copy.c:1060
 msgid "COPY delimiter and quote must be different"
 msgstr "le délimiteur de COPY ne doit pas être un guillemet"
 
-#: commands/copy.c:941
+#: commands/copy.c:1066
 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:946
+#: commands/copy.c:1071
 msgid "COPY escape must be a single one-byte character"
 msgstr "le caractère d'échappement COPY doit être sur un seul caractère sur un octet"
 
-#: commands/copy.c:952
+#: commands/copy.c:1077
 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:956
+#: commands/copy.c:1081
 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:962
+#: commands/copy.c:1087
 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:966
+#: commands/copy.c:1091
 msgid "COPY force not null only available using COPY FROM"
 msgstr "« COPY force not null » n'est disponible qu'en utilisant COPY FROM"
 
-#: commands/copy.c:972
+#: commands/copy.c:1097
 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:979
+#: commands/copy.c:1104
 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:985
-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:986
-msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone."
-msgstr ""
-"Tout le monde peut utiliser COPY vers stdout ou à partir de stdin.\n"
-"La commande \\copy de psql fonctionne aussi pour tout le monde."
-
-#: commands/copy.c:1032
+#: commands/copy.c:1166
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "la table « %s » n'a pas d'OID"
 
-#: commands/copy.c:1049
+#: commands/copy.c:1183
 msgid "COPY (SELECT) WITH OIDS is not supported"
 msgstr "COPY (SELECT) WITH OIDS n'est pas supporté"
 
-#: commands/copy.c:1076
+#: commands/copy.c:1210
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) n'est pas supporté"
 
-#: commands/copy.c:1135
+#: commands/copy.c:1270
 #, 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:1157
+#: commands/copy.c:1292
 #, 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:1235
+#: commands/copy.c:1356
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "ne peut pas copier à partir de la vue « %s »"
 
-#: commands/copy.c:1237
+#: commands/copy.c:1358
+#: commands/copy.c:1364
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Tentez la variante COPY (SELECT ...) TO."
 
-#: commands/copy.c:1241
+#: commands/copy.c:1362
+#, c-format
+msgid "cannot copy from foreign table \"%s\""
+msgstr "ne peut pas copier à partir de la table distante « %s »"
+
+#: commands/copy.c:1368
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "ne peut pas copier à partir de la séquence « %s »"
 
-#: commands/copy.c:1246
+#: commands/copy.c:1373
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "ne peut pas copier à partir de la relation « %s », qui n'est pas une table"
 
-#: commands/copy.c:1270
+#: commands/copy.c:1397
 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:1279
+#: commands/copy.c:1407
 #, 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:1286
-#: commands/copy.c:1781
+#: commands/copy.c:1414
+#: commands/copy.c:2200
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "« %s » est un répertoire"
 
-#: commands/copy.c:1572
+#: commands/copy.c:1738
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, ligne %d, colonne %s"
 
-#: commands/copy.c:1576
-#: commands/copy.c:1621
+#: commands/copy.c:1742
+#: commands/copy.c:1787
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, ligne %d"
 
-#: commands/copy.c:1587
+#: commands/copy.c:1753
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, ligne %d, colonne %s : « %s »"
 
-#: commands/copy.c:1595
+#: commands/copy.c:1761
 #, c-format
 msgid "COPY %s, line %d, column %s: null input"
 msgstr "COPY %s, ligne %d, colonne %s : NULL en entrée"
 
-#: commands/copy.c:1607
+#: commands/copy.c:1773
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, ligne %d : « %s »"
 
-#: commands/copy.c:1709
+#: commands/copy.c:1857
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "ne peut pas copier vers la vue « %s »"
 
-#: commands/copy.c:1714
+#: commands/copy.c:1862
+#, c-format
+msgid "cannot copy to foreign table \"%s\""
+msgstr "ne peut pas copier vers la table distante « %s »"
+
+#: commands/copy.c:1867
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "ne peut pas copier vers la séquence « %s »"
 
-#: commands/copy.c:1719
+#: commands/copy.c:1872
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "ne peut pas copier vers une relation « %s » qui n'est pas une table"
 
-#: commands/copy.c:1774
-#: utils/adt/genfile.c:106
+#: commands/copy.c:2193
+#: utils/adt/genfile.c:122
 #, 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:1887
+#: commands/copy.c:2219
 msgid "COPY file signature not recognized"
 msgstr "la signature du fichier COPY n'est pas reconnue"
 
-#: commands/copy.c:1892
+#: commands/copy.c:2224
 msgid "invalid COPY file header (missing flags)"
 msgstr "en-tête du fichier COPY invalide (options manquantes)"
 
-#: commands/copy.c:1898
+#: commands/copy.c:2230
 msgid "unrecognized critical flags in COPY file header"
 msgstr "options critiques non reconnues dans l'en-tête du fichier COPY"
 
-#: commands/copy.c:1904
+#: commands/copy.c:2236
 msgid "invalid COPY file header (missing length)"
 msgstr "en-tête du fichier COPY invalide (longueur manquante)"
 
-#: commands/copy.c:1911
+#: commands/copy.c:2243
 msgid "invalid COPY file header (wrong length)"
 msgstr "en-tête du fichier COPY invalide (mauvaise longueur)"
 
-#: commands/copy.c:2002
+#: commands/copy.c:2376
+#: commands/copy.c:3058
+#: commands/copy.c:3275
+msgid "extra data after last expected column"
+msgstr "données supplémentaires après la dernière colonne attendue"
+
+#: commands/copy.c:2386
 msgid "missing data for OID column"
 msgstr "données manquantes pour la colonne OID"
 
-#: commands/copy.c:2008
+#: commands/copy.c:2392
 msgid "null OID in COPY data"
 msgstr "OID NULL dans les données du COPY"
 
-#: commands/copy.c:2018
-#: commands/copy.c:2090
+#: commands/copy.c:2402
+#: commands/copy.c:2501
 msgid "invalid OID in COPY data"
 msgstr "OID invalide dans les données du COPY"
 
-#: commands/copy.c:2033
+#: commands/copy.c:2417
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "données manquantes pour la colonne « %s »"
 
-#: commands/copy.c:2074
+#: commands/copy.c:2476
+msgid "received copy data after EOF marker"
+msgstr "a reçu des données de COPY après le marqueur de fin"
+
+#: commands/copy.c:2483
 #, 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:2217
-#: utils/misc/guc.c:7101
-#: utils/init/miscinit.c:1014
-#, c-format
-msgid "could not read from file \"%s\": %m"
-msgstr "n'a pas pu lire à partir du fichier « %s » : %m"
-
-#: commands/copy.c:2494
-#: commands/copy.c:2511
+#: commands/copy.c:2822
+#: commands/copy.c:2839
 msgid "literal carriage return found in data"
 msgstr "retour chariot trouvé dans les données"
 
-#: commands/copy.c:2495
-#: commands/copy.c:2512
+#: commands/copy.c:2823
+#: commands/copy.c:2840
 msgid "unquoted carriage return found in data"
 msgstr "retour chariot sans guillemet trouvé dans les données"
 
-#: commands/copy.c:2497
-#: commands/copy.c:2514
+#: commands/copy.c:2825
+#: commands/copy.c:2842
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Utilisez « \\r » pour représenter un retour chariot."
 
-#: commands/copy.c:2498
-#: commands/copy.c:2515
+#: commands/copy.c:2826
+#: commands/copy.c:2843
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Utiliser le champ CSV entre guillemets pour représenter un retour chariot."
 
-#: commands/copy.c:2527
+#: commands/copy.c:2855
 msgid "literal newline found in data"
 msgstr "retour à la ligne trouvé dans les données"
 
-#: commands/copy.c:2528
+#: commands/copy.c:2856
 msgid "unquoted newline found in data"
 msgstr "retour à la ligne trouvé dans les données"
 
-#: commands/copy.c:2530
+#: commands/copy.c:2858
 msgid ""
 "Use \"\\n"
 "\" to represent newline."
@@ -4898,59 +5076,52 @@ msgstr ""
 "Utilisez « \\n"
 " » pour représenter un retour à la ligne."
 
-#: commands/copy.c:2531
+#: commands/copy.c:2859
 msgid "Use quoted CSV field to represent newline."
 msgstr "Utiliser un champ CSV entre guillemets pour représenter un retour à la ligne."
 
-#: commands/copy.c:2577
-#: commands/copy.c:2613
+#: commands/copy.c:2905
+#: commands/copy.c:2941
 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:2586
-#: commands/copy.c:2602
+#: commands/copy.c:2914
+#: commands/copy.c:2930
 msgid "end-of-copy marker corrupt"
 msgstr "marqueur fin-de-copie corrompu"
 
-#: commands/copy.c:2729
-#: commands/copy.c:2764
-#: commands/copy.c:2944
-#: commands/copy.c:2979
-msgid "extra data after last expected column"
-msgstr "données supplémentaires après la dernière colonne attendue"
-
-#: commands/copy.c:3026
+#: commands/copy.c:3359
 msgid "unterminated CSV quoted field"
 msgstr "champ CSV entre guillemets non terminé"
 
-#: commands/copy.c:3103
-#: commands/copy.c:3122
+#: commands/copy.c:3436
+#: commands/copy.c:3455
 msgid "unexpected EOF in COPY data"
 msgstr "fin de fichier (EOF) inattendu dans les données du COPY"
 
-#: commands/copy.c:3112
+#: commands/copy.c:3445
 msgid "invalid field size"
 msgstr "taille du champ invalide"
 
-#: commands/copy.c:3135
+#: commands/copy.c:3468
 msgid "incorrect binary data format"
 msgstr "format de données binaires incorrect"
 
-#: commands/copy.c:3446
-#: commands/indexcmds.c:908
-#: commands/tablecmds.c:1260
-#: commands/tablecmds.c:2065
-#: parser/parse_expr.c:758
-#: utils/adt/tsvector_op.c:1347
+#: commands/copy.c:3779
+#: commands/indexcmds.c:846
+#: commands/tablecmds.c:1292
+#: commands/tablecmds.c:2147
+#: parser/parse_expr.c:764
+#: utils/adt/tsvector_op.c:1393
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "la colonne « %s » n'existe pas"
 
-#: commands/copy.c:3453
-#: commands/tablecmds.c:1286
-#: commands/trigger.c:536
-#: parser/parse_target.c:824
-#: parser/parse_target.c:835
+#: commands/copy.c:3786
+#: commands/tablecmds.c:1318
+#: commands/trigger.c:599
+#: parser/parse_target.c:911
+#: parser/parse_target.c:922
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "la colonne « %s » est spécifiée plus d'une fois"
@@ -4977,8 +5148,8 @@ msgstr "%s n'est pas un nom d'encodage valide"
 
 #: commands/dbcommands.c:253
 #: commands/dbcommands.c:1347
-#: commands/user.c:255
-#: commands/user.c:562
+#: commands/user.c:267
+#: commands/user.c:606
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "limite de connexion invalide : %d"
@@ -5008,118 +5179,118 @@ msgstr "encodage serveur %d invalide"
 msgid "invalid locale name %s"
 msgstr "nom de locale « %s » invalide"
 
-#: commands/dbcommands.c:369
-#: commands/dbcommands.c:384
-#, c-format
-msgid "encoding %s does not match locale %s"
-msgstr "l'encodage %s ne correspond pas à la locale %s"
-
-#: commands/dbcommands.c:372
-#, c-format
-msgid "The chosen LC_CTYPE setting requires encoding %s."
-msgstr "Le paramètre LC_CTYPE choisi nécessite l'encodage %s."
-
-#: commands/dbcommands.c:387
-#, c-format
-msgid "The chosen LC_COLLATE setting requires encoding %s."
-msgstr "Le paramètre LC_COLLATE choisi nécessite l'encodage %s."
-
-#: commands/dbcommands.c:405
+#: commands/dbcommands.c:352
 #, c-format
 msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)"
 msgstr ""
 "le nouvel encodage (%sà est incompatible avec l'encodage de la base de\n"
 "données modèle (%s)"
 
-#: commands/dbcommands.c:408
+#: commands/dbcommands.c:355
 msgid "Use the same encoding as in the template database, or use template0 as template."
 msgstr ""
 "Utilisez le même encodage que celui de la base de données modèle,\n"
 "ou utilisez template0 comme modèle."
 
-#: commands/dbcommands.c:413
+#: commands/dbcommands.c:360
 #, c-format
 msgid "new collation (%s) is incompatible with the collation of the template database (%s)"
 msgstr ""
 "le nouveau tri (%s) est incompatible avec le tri de la base de\n"
 "données modèle (%s)"
 
-#: commands/dbcommands.c:415
+#: commands/dbcommands.c:362
 msgid "Use the same collation as in the template database, or use template0 as template."
 msgstr ""
 "Utilisez le même tri que celui de la base de données modèle,\n"
 "ou utilisez template0 comme modèle."
 
-#: commands/dbcommands.c:420
+#: commands/dbcommands.c:367
 #, c-format
 msgid "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)"
 msgstr ""
 "le nouveau LC_CTYPE (%s) est incompatible avec le LC_CTYPE de la base de\n"
 "données modèle (%s)"
 
-#: commands/dbcommands.c:422
+#: commands/dbcommands.c:369
 msgid "Use the same LC_CTYPE as in the template database, or use template0 as template."
 msgstr ""
 "Utilisez le même LC_CTYPE que celui de la base de données modèle,\n"
 "ou utilisez template0 comme modèle."
 
-#: commands/dbcommands.c:449
+#: commands/dbcommands.c:391
 #: commands/dbcommands.c:1054
 msgid "pg_global cannot be used as default tablespace"
 msgstr "pg_global ne peut pas être utilisé comme tablespace par défaut"
 
-#: commands/dbcommands.c:475
+#: commands/dbcommands.c:417
 #, c-format
 msgid "cannot assign new default tablespace \"%s\""
 msgstr "ne peut pas affecter un nouveau tablespace par défaut « %s »"
 
-#: commands/dbcommands.c:477
+#: commands/dbcommands.c:419
 #, 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\n"
 "dans son tablespace."
 
-#: commands/dbcommands.c:497
-#: commands/dbcommands.c:925
+#: commands/dbcommands.c:439
+#: commands/dbcommands.c:929
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "la base de données « %s » existe déjà"
 
-#: commands/dbcommands.c:511
+#: commands/dbcommands.c:453
 #, 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:767
+#: commands/dbcommands.c:695
+#: commands/dbcommands.c:710
+#, c-format
+msgid "encoding %s does not match locale %s"
+msgstr "l'encodage %s ne correspond pas à la locale %s"
+
+#: commands/dbcommands.c:698
+#, c-format
+msgid "The chosen LC_CTYPE setting requires encoding %s."
+msgstr "Le paramètre LC_CTYPE choisi nécessite l'encodage %s."
+
+#: commands/dbcommands.c:713
+#, c-format
+msgid "The chosen LC_COLLATE setting requires encoding %s."
+msgstr "Le paramètre LC_COLLATE choisi nécessite l'encodage %s."
+
+#: commands/dbcommands.c:771
 #, c-format
 msgid "database \"%s\" does not exist, skipping"
 msgstr "la base de données « %s » n'existe pas, poursuite du traitement"
 
-#: commands/dbcommands.c:788
+#: commands/dbcommands.c:792
 msgid "cannot drop a template database"
 msgstr "ne peut pas supprimer une base de données modèle"
 
-#: commands/dbcommands.c:794
+#: commands/dbcommands.c:798
 msgid "cannot drop the currently open database"
 msgstr "ne peut pas supprimer la base de données actuellement ouverte"
 
-#: commands/dbcommands.c:805
-#: commands/dbcommands.c:947
+#: commands/dbcommands.c:809
+#: commands/dbcommands.c:951
 #: commands/dbcommands.c:1076
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "la base de données « %s » est en cours d'utilisation par d'autres utilisateurs"
 
-#: commands/dbcommands.c:916
+#: commands/dbcommands.c:920
 msgid "permission denied to rename database"
 msgstr "droit refusé pour le renommage de la base de données"
 
-#: commands/dbcommands.c:936
+#: commands/dbcommands.c:940
 msgid "current database cannot be renamed"
 msgstr "la base de données actuelle ne peut pas être renommée"
 
-#: commands/dbcommands.c:1028
+#: commands/dbcommands.c:1032
 msgid "cannot change the tablespace of the currently open database"
 msgstr "ne peut pas modifier le tablespace de la base de données actuellement ouverte"
 
@@ -5137,31 +5308,31 @@ msgstr ""
 "de données avant d'utiliser cette commande."
 
 #: commands/dbcommands.c:1246
-#: commands/dbcommands.c:1719
-#: commands/dbcommands.c:1913
-#: commands/dbcommands.c:1961
-#: commands/tablespace.c:579
+#: commands/dbcommands.c:1714
+#: commands/dbcommands.c:1915
+#: commands/dbcommands.c:1963
+#: commands/tablespace.c:584
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr ""
 "certains fichiers inutiles pourraient se trouver dans l'ancien répertoire\n"
 "de la base de données « %s »"
 
-#: commands/dbcommands.c:1495
+#: commands/dbcommands.c:1490
 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:1807
+#: commands/dbcommands.c:1802
 #, c-format
 msgid "There are %d other session(s) and %d prepared transaction(s) using the database."
 msgstr "%d autres sessions et %d transactions préparées utilisent la base de données."
 
-#: commands/dbcommands.c:1810
+#: commands/dbcommands.c:1805
 #, c-format
 msgid "There are %d other session(s) using the database."
 msgstr "%d autres sessions utilisent la base de données."
 
-#: commands/dbcommands.c:1813
+#: commands/dbcommands.c:1808
 #, c-format
 msgid "There are %d prepared transaction(s) using the database."
 msgstr "%d transaction(s) préparée(s) utilisent la base de données"
@@ -5207,580 +5378,614 @@ msgstr "%s requiert une valeur enti
 msgid "invalid argument for %s: \"%s\""
 msgstr "argument invalide pour %s : « %s »"
 
-#: commands/explain.c:149
+#: commands/explain.c:153
 #, c-format
 msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgstr "valeur non reconnue pour l'option EXPLAIN « %s » : %s"
 
-#: commands/explain.c:155
+#: commands/explain.c:159
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "option EXPLAIN « %s » non reconnu"
 
-#: commands/explain.c:162
+#: commands/explain.c:166
 msgid "EXPLAIN option BUFFERS requires ANALYZE"
 msgstr "l'option BUFFERS d'EXPLAIN nécessite ANALYZE"
 
-#: commands/foreigncmds.c:132
-#: commands/foreigncmds.c:141
+#: commands/foreigncmds.c:135
+#: commands/foreigncmds.c:144
 #, c-format
 msgid "option \"%s\" not found"
 msgstr "option « %s » non trouvé"
 
-#: commands/foreigncmds.c:151
+#: commands/foreigncmds.c:154
 #, c-format
 msgid "option \"%s\" provided more than once"
 msgstr "option « %s » fournie plus d'une fois"
 
-#: commands/foreigncmds.c:209
-#: commands/foreigncmds.c:217
+#: commands/foreigncmds.c:212
+#: commands/foreigncmds.c:220
 #, c-format
 msgid "permission denied to change owner of foreign-data wrapper \"%s\""
 msgstr "droit refusé pour modifier le propriétaire du wrapper de données distantes « %s »"
 
-#: commands/foreigncmds.c:211
+#: commands/foreigncmds.c:214
 msgid "Must be superuser to change owner of a foreign-data wrapper."
 msgstr ""
 "Doit être super-utilisateur pour modifier le propriétaire du wrapper de\n"
 "données distantes."
 
-#: commands/foreigncmds.c:219
+#: commands/foreigncmds.c:222
 msgid "The owner of a foreign-data wrapper must be a superuser."
 msgstr "Le propriétaire du wrapper de données distantes doit être un super-utilisateur."
 
-#: commands/foreigncmds.c:228
-#: commands/foreigncmds.c:452
-#: commands/foreigncmds.c:553
-#: foreign/foreign.c:90
+#: commands/foreigncmds.c:231
+#: commands/foreigncmds.c:552
+#: commands/foreigncmds.c:703
+#: foreign/foreign.c:515
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "le wrapper de données distantes « %s » n'existe pas"
 
-#: commands/foreigncmds.c:270
-#: commands/foreigncmds.c:723
-#: commands/foreigncmds.c:813
-#: commands/foreigncmds.c:1089
-#: foreign/foreign.c:179
+#: commands/foreigncmds.c:274
+#: commands/foreigncmds.c:879
+#: commands/foreigncmds.c:970
+#: commands/foreigncmds.c:1255
+#: foreign/foreign.c:535
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "le serveur « %s » n'existe pas"
 
-#: commands/foreigncmds.c:347
+#: commands/foreigncmds.c:336
+#, c-format
+msgid "function %s must return type \"fdw_handler\""
+msgstr "la fonction %s doit renvoyer le type « fdw_handler »"
+
+#: commands/foreigncmds.c:429
 #, c-format
 msgid "permission denied to create foreign-data wrapper \"%s\""
 msgstr "droit refusé pour la création du wrapper de données distantes « %s »"
 
-#: commands/foreigncmds.c:349
+#: commands/foreigncmds.c:431
 msgid "Must be superuser to create a foreign-data wrapper."
 msgstr "Doit être super-utilisateur pour créer un wrapper de données distantes."
 
-#: commands/foreigncmds.c:360
+#: commands/foreigncmds.c:442
 #, c-format
 msgid "foreign-data wrapper \"%s\" already exists"
 msgstr "le wrapper de données distantes « %s » existe déjà"
 
-#: commands/foreigncmds.c:442
+#: commands/foreigncmds.c:542
 #, c-format
 msgid "permission denied to alter foreign-data wrapper \"%s\""
 msgstr "droit refusé pour modifier le wrapper de données distantes « %s »"
 
-#: commands/foreigncmds.c:444
+#: commands/foreigncmds.c:544
 msgid "Must be superuser to alter a foreign-data wrapper."
 msgstr "Doit être super-utilisateur pour modifier un wrapper de données distantes"
 
-#: commands/foreigncmds.c:472
+#: commands/foreigncmds.c:575
+msgid "changing the foreign-data wrapper handler can change behavior of existing foreign tables"
+msgstr ""
+"la modification du validateur de wrapper de données distantes peut modifier\n"
+"le comportement des tables distantes existantes"
+
+#: commands/foreigncmds.c:589
 msgid "changing the foreign-data wrapper validator can cause the options for dependent objects to become invalid"
 msgstr ""
 "la modification du validateur du wrapper de données distantes peut faire en\n"
 "sorte que les options des objets dépendants deviennent invalides"
 
-#: commands/foreigncmds.c:544
+#: commands/foreigncmds.c:694
 #, c-format
 msgid "permission denied to drop foreign-data wrapper \"%s\""
 msgstr "droit refusé pour supprimer le wrapper de données distantes « %s »"
 
-#: commands/foreigncmds.c:546
+#: commands/foreigncmds.c:696
 msgid "Must be superuser to drop a foreign-data wrapper."
 msgstr "Doit être super-utilisateur pour supprimer un wrapper de données distantes."
 
-#: commands/foreigncmds.c:558
+#: commands/foreigncmds.c:708
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "le wrapper de données distantes « %s » n'existe pas, poursuite du traitement"
 
-#: commands/foreigncmds.c:625
+#: commands/foreigncmds.c:775
 #, c-format
 msgid "server \"%s\" already exists"
 msgstr "le serveur « %s » existe déjà"
 
-#: commands/foreigncmds.c:817
+#: commands/foreigncmds.c:974
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "le serveur « %s » n'existe pas, poursuite du traitement"
 
-#: commands/foreigncmds.c:920
+#: commands/foreigncmds.c:1077
 #, c-format
 msgid "user mapping \"%s\" already exists for server %s"
 msgstr "la correspondance utilisateur « %s » existe déjà dans le serveur « %s »"
 
-#: commands/foreigncmds.c:998
-#: commands/foreigncmds.c:1105
+#: commands/foreigncmds.c:1163
+#: commands/foreigncmds.c:1271
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server"
 msgstr "la correspondance utilisateur « %s » n'existe pas pour le serveur"
 
-#: commands/foreigncmds.c:1092
+#: commands/foreigncmds.c:1258
 msgid "server does not exist, skipping"
 msgstr "le serveur n'existe pas, poursuite du traitement"
 
-#: commands/foreigncmds.c:1110
+#: commands/foreigncmds.c:1276
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server, skipping"
 msgstr ""
 "la correspondance utilisateur « %s » n'existe pas pour le serveur, poursuite\n"
 "du traitement"
 
-#: commands/functioncmds.c:98
+#: commands/functioncmds.c:100
 #, 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:103
+#: commands/functioncmds.c:105
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "le type de retour %s est seulement un shell"
 
-#: commands/functioncmds.c:126
-#: commands/tablecmds.c:216
-#: commands/typecmds.c:650
-#: commands/typecmds.c:2572
-#: parser/parse_func.c:1485
+#: commands/functioncmds.c:128
+#: commands/tablecmds.c:224
+#: commands/typecmds.c:660
+#: commands/typecmds.c:2660
+#: parser/parse_func.c:1502
 #: parser/parse_type.c:196
 #: utils/adt/regproc.c:973
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "le type « %s » n'existe pas"
 
-#: commands/functioncmds.c:132
-#: parser/parse_type.c:261
+#: commands/functioncmds.c:134
+#: parser/parse_type.c:278
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "le modificateur de type ne peut pas être précisé pour le type shell « %s »"
 
-#: commands/functioncmds.c:138
+#: commands/functioncmds.c:140
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "le type « %s » n'est pas encore défini"
 
-#: commands/functioncmds.c:139
+#: commands/functioncmds.c:141
 msgid "Creating a shell type definition."
 msgstr "Création d'une définition d'un type shell."
 
-#: commands/functioncmds.c:218
+#: commands/functioncmds.c:220
 #, 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:223
+#: commands/functioncmds.c:225
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "le type d'argument %s est seulement un shell"
 
-#: commands/functioncmds.c:233
+#: commands/functioncmds.c:235
 #, c-format
 msgid "type %s does not exist"
 msgstr "le type %s n'existe pas"
 
-#: commands/functioncmds.c:241
+#: commands/functioncmds.c:243
 msgid "functions cannot accept set arguments"
 msgstr "les fonctions ne peuvent pas accepter des arguments d'ensemble"
 
-#: commands/functioncmds.c:250
+#: commands/functioncmds.c:252
 msgid "VARIADIC parameter must be the last input parameter"
 msgstr "le paramètre VARIADIC doit être le dernier paramètre en entrée"
 
-#: commands/functioncmds.c:277
+#: commands/functioncmds.c:279
 msgid "VARIADIC parameter must be an array"
 msgstr "le paramètre VARIADIC doit être un tableau"
 
-#: commands/functioncmds.c:317
+#: commands/functioncmds.c:319
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "le nom du paramètre « %s » est utilisé plus d'une fois"
 
-#: commands/functioncmds.c:332
+#: commands/functioncmds.c:334
 msgid "only input parameters can have default values"
 msgstr "seuls les paramètres en entrée peuvent avoir des valeurs par défaut"
 
-#: commands/functioncmds.c:344
+#: commands/functioncmds.c:347
 msgid "cannot use table references in parameter default value"
 msgstr ""
 "ne peut pas utiliser les références de tables dans la valeur par défaut des\n"
 "paramètres"
 
-#: commands/functioncmds.c:360
+#: commands/functioncmds.c:363
 msgid "cannot use subquery in parameter default value"
 msgstr "ne peut pas utiliser une sous-requête dans une valeur par défaut d'un paramètre"
 
-#: commands/functioncmds.c:364
+#: commands/functioncmds.c:367
 msgid "cannot use aggregate function in parameter default value"
 msgstr ""
 "ne peut pas utiliser une fonction d'agrégat dans la valeur par défaut d'un\n"
 "paramètre"
 
-#: commands/functioncmds.c:368
+#: commands/functioncmds.c:371
 msgid "cannot use window function in parameter default value"
 msgstr "ne peut pas utiliser la fonction window dans la valeur par défaut d'un paramètre"
 
-#: commands/functioncmds.c:378
+#: commands/functioncmds.c:381
 msgid "input parameters after one with a default value must also have defaults"
 msgstr "les paramètres en entrée suivant un paramètre avec valeur par défaut doivent aussi avoir des valeurs par défaut"
 
-#: commands/functioncmds.c:617
+#: commands/functioncmds.c:620
 msgid "no function body specified"
 msgstr "aucun corps de fonction spécifié"
 
-#: commands/functioncmds.c:627
+#: commands/functioncmds.c:630
 msgid "no language specified"
 msgstr "aucun langage spécifié"
 
-#: commands/functioncmds.c:648
-#: commands/functioncmds.c:1349
+#: commands/functioncmds.c:651
+#: commands/functioncmds.c:1352
 msgid "COST must be positive"
 msgstr "COST doit être positif"
 
-#: commands/functioncmds.c:656
-#: commands/functioncmds.c:1357
+#: commands/functioncmds.c:659
+#: commands/functioncmds.c:1360
 msgid "ROWS must be positive"
 msgstr "ROWS doit être positif"
 
-#: commands/functioncmds.c:695
+#: commands/functioncmds.c:698
 #, c-format
 msgid "unrecognized function attribute \"%s\" ignored"
 msgstr "l'attribut « %s » non reconnu de la fonction a été ignoré"
 
-#: commands/functioncmds.c:746
+#: commands/functioncmds.c:749
 #, 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:838
-#: commands/functioncmds.c:1992
+#: commands/functioncmds.c:839
+#: commands/functioncmds.c:2019
+#: commands/proclang.c:602
+#: commands/proclang.c:642
+#: commands/proclang.c:756
+#, c-format
+msgid "language \"%s\" does not exist"
+msgstr "le langage « %s » n'existe pas"
+
+#: commands/functioncmds.c:841
+#: commands/functioncmds.c:2021
 msgid "Use CREATE LANGUAGE to load the language into the database."
 msgstr "Utiliser CREATE LANGUAGE pour charger le langage dans la base de données."
 
-#: commands/functioncmds.c:885
+#: commands/functioncmds.c:888
 #, 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:898
+#: commands/functioncmds.c:901
 msgid "function result type must be specified"
 msgstr "le type de résultat de la fonction doit être spécifié"
 
-#: commands/functioncmds.c:933
-#: commands/functioncmds.c:1361
+#: commands/functioncmds.c:936
+#: commands/functioncmds.c:1364
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "ROWS n'est pas applicable quand la fonction ne renvoie pas un ensemble"
 
-#: commands/functioncmds.c:985
+#: commands/functioncmds.c:988
 #, c-format
 msgid "function %s(%s) does not exist, skipping"
 msgstr "la fonction %s(%s) n'existe pas, poursuite du traitement"
 
-#: commands/functioncmds.c:1005
-#: commands/functioncmds.c:1105
-#: commands/functioncmds.c:1168
-#: commands/functioncmds.c:1319
-#: utils/adt/ruleutils.c:1635
+#: commands/functioncmds.c:1008
+#: commands/functioncmds.c:1108
+#: commands/functioncmds.c:1171
+#: commands/functioncmds.c:1322
+#: utils/adt/ruleutils.c:1697
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "« %s » est une fonction d'agrégat"
 
-#: commands/functioncmds.c:1007
+#: commands/functioncmds.c:1010
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Utiliser DROP AGGREGATE pour supprimer les fonctions d'agrégat."
 
-#: commands/functioncmds.c:1014
+#: commands/functioncmds.c:1017
 #, c-format
 msgid "removing built-in function \"%s\""
 msgstr "suppression de la fonction interne « %s »"
 
-#: commands/functioncmds.c:1107
+#: commands/functioncmds.c:1110
 msgid "Use ALTER AGGREGATE to rename aggregate functions."
 msgstr "Utiliser ALTER AGGREGATE pour renommer les fonctions d'agrégat."
 
-#: commands/functioncmds.c:1170
+#: commands/functioncmds.c:1173
 msgid "Use ALTER AGGREGATE to change owner of aggregate functions."
 msgstr "Utiliser ALTER AGGREGATE pour changer le propriétaire des fonctions d'agrégat."
 
-#: commands/functioncmds.c:1508
+#: commands/functioncmds.c:1511
 #, 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:1514
+#: commands/functioncmds.c:1517
 #, 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:1551
+#: commands/functioncmds.c:1554
 msgid "cast function must take one to three arguments"
 msgstr "la fonction de conversion doit prendre de un à trois arguments"
 
-#: commands/functioncmds.c:1555
+#: commands/functioncmds.c:1558
 msgid "argument of cast function must match or be binary-coercible from source data type"
 msgstr ""
 "l'argument de la fonction de conversion doit correspondre ou être binary-coercible\n"
 "à partir du type de la donnée source"
 
-#: commands/functioncmds.c:1559
+#: commands/functioncmds.c:1562
 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:1563
+#: commands/functioncmds.c:1566
 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:1567
+#: commands/functioncmds.c:1570
 msgid "return data type of cast function must match or be binary-coercible to target data type"
 msgstr ""
 "le type de donnée en retour de la fonction de conversion doit correspondre\n"
 "ou être coercible binairement au type de données cible"
 
-#: commands/functioncmds.c:1578
+#: commands/functioncmds.c:1581
 msgid "cast function must not be volatile"
 msgstr "la fonction de conversion ne doit pas être volatile"
 
-#: commands/functioncmds.c:1583
+#: commands/functioncmds.c:1586
 msgid "cast function must not be an aggregate function"
 msgstr "la fonction de conversion ne doit pas être une fonction d'agrégat"
 
-#: commands/functioncmds.c:1587
+#: commands/functioncmds.c:1590
 msgid "cast function must not be a window function"
 msgstr "la fonction de conversion ne doit pas être une fonction window"
 
-#: commands/functioncmds.c:1591
+#: commands/functioncmds.c:1594
 msgid "cast function must not return a set"
 msgstr "la fonction de conversion ne doit pas renvoyer un ensemble"
 
-#: commands/functioncmds.c:1617
+#: commands/functioncmds.c:1620
 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:1632
+#: commands/functioncmds.c:1635
 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:1647
+#: commands/functioncmds.c:1650
 msgid "composite data types are not binary-compatible"
 msgstr "les types de données composites ne sont pas compatibles binairement"
 
-#: commands/functioncmds.c:1653
+#: commands/functioncmds.c:1656
 msgid "enum data types are not binary-compatible"
 msgstr "les types de données enum ne sont pas compatibles binairement"
 
-#: commands/functioncmds.c:1659
+#: commands/functioncmds.c:1662
 msgid "array data types are not binary-compatible"
 msgstr "les types de données tableau ne sont pas compatibles binairement"
 
-#: commands/functioncmds.c:1669
+#: commands/functioncmds.c:1679
+msgid "domain data types must not be marked binary-compatible"
+msgstr "les types de données domaines ne sont pas compatibles binairement"
+
+#: commands/functioncmds.c:1689
 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:1702
+#: commands/functioncmds.c:1722
 #, 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:1782
+#: commands/functioncmds.c:1803
 #, c-format
 msgid "cast from type %s to type %s does not exist, skipping"
 msgstr "la conversion du type %s vers le type %s n'existe pas, poursuite du traitement"
 
-#: commands/functioncmds.c:1879
+#: commands/functioncmds.c:1841
 #, 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:1887
-#: commands/tablecmds.c:7884
-#: commands/typecmds.c:2794
-msgid "cannot move objects into or out of temporary schemas"
-msgstr "ne peut pas déplacer les objets dans ou à partir des schémas temporaires"
-
-#: commands/functioncmds.c:1893
-#: commands/tablecmds.c:7890
-#: commands/typecmds.c:2800
-msgid "cannot move objects into or out of TOAST schema"
-msgstr "ne peut pas déplacer les objets dans ou à partir des schémas TOAST"
+msgid "cast from type %s to type %s does not exist"
+msgstr "la conversion du type %s vers le type %s n'existe pas"
 
-#: commands/functioncmds.c:1902
+#: commands/functioncmds.c:1929
 #, c-format
 msgid "function \"%s\" already exists in schema \"%s\""
 msgstr "la fonction « %s » existe déjà dans le schéma « %s »"
 
-#: commands/functioncmds.c:1974
+#: commands/functioncmds.c:2003
 msgid "no inline code specified"
 msgstr "aucun code en ligne spécifié"
 
-#: commands/functioncmds.c:2022
+#: commands/functioncmds.c:2051
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "le langage « %s » ne supporte pas l'exécution de code en ligne"
 
-#: commands/indexcmds.c:162
+#: commands/indexcmds.c:163
 msgid "must specify at least one column"
 msgstr "doit spécifier au moins une colonne"
 
-#: commands/indexcmds.c:166
+#: commands/indexcmds.c:167
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "ne peut pas utiliser plus de %d colonnes dans un index"
 
-#: commands/indexcmds.c:196
+#: commands/indexcmds.c:195
+#, c-format
+msgid "cannot create index on foreign table \"%s\""
+msgstr "ne peut pas créer un index sur la table distante « %s »"
+
+#: commands/indexcmds.c:210
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "ne peut pas créer les index sur les tables temporaires des autres sessions"
 
-#: commands/indexcmds.c:256
-#: commands/tablecmds.c:455
-#: commands/tablecmds.c:7000
+#: commands/indexcmds.c:265
+#: commands/tablecmds.c:478
+#: commands/tablecmds.c:7846
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr "seules les relations partagées peuvent être placées dans le tablespace pg_global"
 
-#: commands/indexcmds.c:287
+#: commands/indexcmds.c:296
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "substitution de la méthode d'accès obsolète « rtree » par « gist » "
 
 #: commands/indexcmds.c:304
+#: commands/opclasscmds.c:369
+#: commands/opclasscmds.c:790
+#: commands/opclasscmds.c:2203
+#, c-format
+msgid "access method \"%s\" does not exist"
+msgstr "la méthode d'accès « %s » n'existe pas"
+
+#: commands/indexcmds.c:313
 #, 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:309
+#: commands/indexcmds.c:318
 #, 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:314
+#: commands/indexcmds.c:323
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "la méthode d'accès « %s » ne supporte pas les contraintes d'exclusion"
 
-#: commands/indexcmds.c:347
-#: parser/parse_utilcmd.c:1212
-#: parser/parse_utilcmd.c:1298
-#, 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:364
-msgid "primary keys cannot be expressions"
-msgstr "les clés primaires ne peuvent pas être des expressions"
-
-#: commands/indexcmds.c:394
-#: commands/indexcmds.c:903
-#: parser/parse_utilcmd.c:1445
-#, 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:468
+#: commands/indexcmds.c:399
 #, 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:827
+#: commands/indexcmds.c:763
 msgid "cannot use subquery in index predicate"
 msgstr "ne peut pas utiliser une sous-requête dans un prédicat d'index"
 
-#: commands/indexcmds.c:831
+#: commands/indexcmds.c:767
 msgid "cannot use aggregate in index predicate"
 msgstr "ne peut pas utiliser un agrégat dans un prédicat d'index"
 
-#: commands/indexcmds.c:840
+#: commands/indexcmds.c:776
 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:942
+#: commands/indexcmds.c:841
+#: parser/parse_utilcmd.c:1700
+#, 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:894
 msgid "cannot use subquery in index expression"
 msgstr "ne peut pas utiliser la sous-requête dans l'expression de l'index"
 
-#: commands/indexcmds.c:946
+#: commands/indexcmds.c:898
 msgid "cannot use aggregate function in index expression"
 msgstr "ne peut pas utiliser la fonction d'agrégat dans l'expression de l'index"
 
-#: commands/indexcmds.c:956
+#: commands/indexcmds.c:909
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr ""
 "les fonctions dans l'expression de l'index doivent être marquées comme\n"
 "IMMUTABLE"
 
-#: commands/indexcmds.c:991
+#: commands/indexcmds.c:930
+msgid "could not determine which collation to use for index expression"
+msgstr "n'a pas pu déterminer le collationnement à utiliser pour l'expression d'index"
+
+#: commands/indexcmds.c:938
+#: commands/typecmds.c:843
+#: parser/parse_expr.c:2140
+#: parser/parse_type.c:492
+#: parser/parse_utilcmd.c:2551
+#, c-format
+msgid "collations are not supported by type %s"
+msgstr "les collationnements ne sont pas supportés par le type %s"
+
+#: commands/indexcmds.c:976
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "l'opérateur %s n'est pas commutatif"
 
-#: commands/indexcmds.c:993
+#: commands/indexcmds.c:978
 msgid "Only commutative operators can be used in exclusion constraints."
 msgstr "Seuls les opérateurs commutatifs peuvent être utilisés dans les contraintes d'exclusion."
 
-#: commands/indexcmds.c:1019
+#: commands/indexcmds.c:1004
 #, c-format
 msgid "operator %s is not a member of operator family \"%s\""
 msgstr "l'opérateur %s n'est pas un membre de la famille d'opérateur « %s »"
 
-#: commands/indexcmds.c:1022
+#: commands/indexcmds.c:1007
 msgid "The exclusion operator must be related to the index operator class for the constraint."
 msgstr ""
 "L'opérateur d'exclusion doit être en relation avec la classe d'opérateur de\n"
 "l'index pour la contrainte."
 
-#: commands/indexcmds.c:1057
+#: commands/indexcmds.c:1042
 #, c-format
 msgid "access method \"%s\" does not support ASC/DESC options"
 msgstr "la méthode d'accès « %s » ne supporte pas les options ASC/DESC"
 
-#: commands/indexcmds.c:1062
+#: commands/indexcmds.c:1047
 #, c-format
 msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
 msgstr "la méthode d'accès « %s » ne supporte pas les options NULLS FIRST/LAST"
 
-#: commands/indexcmds.c:1118
+#: commands/indexcmds.c:1103
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr ""
 "le type de données %s n'a pas de classe d'opérateurs par défaut pour la\n"
 "méthode d'accès « %s »"
 
-#: commands/indexcmds.c:1120
+#: commands/indexcmds.c:1105
 msgid "You must specify an operator class for the index or define a default operator class for the data type."
 msgstr ""
 "Vous devez spécifier une classe d'opérateur pour l'index ou définir une\n"
 "classe d'opérateur par défaut pour le type de données."
 
-#: commands/indexcmds.c:1170
+#: commands/indexcmds.c:1134
+#: commands/indexcmds.c:1142
+#: commands/opclasscmds.c:212
+#: commands/opclasscmds.c:1568
+#, c-format
+msgid "operator class \"%s\" does not exist for access method \"%s\""
+msgstr "la classe d'opérateur « %s » n'existe pas pour la méthode d'accès « %s »"
+
+#: commands/indexcmds.c:1155
 #, 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:1260
+#: commands/indexcmds.c:1245
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr ""
 "il existe de nombreuses classes d'opérateur par défaut pour le type de\n"
 "données %s"
 
-#: commands/indexcmds.c:1639
+#: commands/indexcmds.c:1586
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "la table « %s » n'a pas d'index"
 
-#: commands/indexcmds.c:1667
+#: commands/indexcmds.c:1614
 msgid "can only reindex the currently open database"
 msgstr "peut seulement réindexer la base de données en cours"
 
-#: commands/indexcmds.c:1752
+#: commands/indexcmds.c:1699
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "la table « %s.%s » a été réindexée"
@@ -5795,193 +6000,207 @@ msgstr "n'a pas pu obtenir un verrou sur la relation 
 msgid "could not obtain lock on relation with OID %u"
 msgstr "n'a pas pu obtenir un verrou sur la relation d'OID « %u »"
 
-#: commands/opclasscmds.c:190
-#: commands/opclasscmds.c:701
+#: commands/opclasscmds.c:136
+#: commands/opclasscmds.c:1619
+#: commands/opclasscmds.c:1839
+#: commands/opclasscmds.c:1850
+#: commands/opclasscmds.c:2084
+#: commands/opclasscmds.c:2095
+#, c-format
+msgid "operator family \"%s\" does not exist for access method \"%s\""
+msgstr "la famille d'opérateur « %s » n'existe pas pour la méthode d'accès « %s »"
+
+#: commands/opclasscmds.c:271
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists"
 msgstr "la famille d'opérateur « %s » existe déjà pour la méthode d'accès « %s »"
 
-#: commands/opclasscmds.c:320
+#: commands/opclasscmds.c:408
 msgid "must be superuser to create an operator class"
 msgstr "doit être super-utilisateur pour créer une classe d'opérateur"
 
-#: commands/opclasscmds.c:403
-#: commands/opclasscmds.c:849
-#: commands/opclasscmds.c:971
+#: commands/opclasscmds.c:480
+#: commands/opclasscmds.c:864
+#: commands/opclasscmds.c:994
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "numéro d'opérateur %d invalide, doit être compris entre 1 et %d"
 
-#: commands/opclasscmds.c:446
-#: commands/opclasscmds.c:892
-#: commands/opclasscmds.c:986
+#: commands/opclasscmds.c:531
+#: commands/opclasscmds.c:915
+#: commands/opclasscmds.c:1009
 #, c-format
 msgid "invalid procedure number %d, must be between 1 and %d"
 msgstr "numéro de procédure %d invalide, doit être compris entre 1 et %d"
 
-#: commands/opclasscmds.c:476
+#: commands/opclasscmds.c:561
 msgid "storage type specified more than once"
 msgstr "type de stockage spécifié plus d'une fois"
 
-#: commands/opclasscmds.c:504
+#: commands/opclasscmds.c:589
 #, c-format
 msgid "storage type cannot be different from data type for access method \"%s\""
 msgstr ""
 "le type de stockage ne peut pas être différent du type de données pour la\n"
 "méthode d'accès « %s »"
 
-#: commands/opclasscmds.c:520
+#: commands/opclasscmds.c:605
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr "la classe d'opérateur « %s » existe déjà pour la méthode d'accès « %s »"
 
-#: commands/opclasscmds.c:548
+#: commands/opclasscmds.c:633
 #, c-format
 msgid "could not make operator class \"%s\" be default for type %s"
 msgstr "n'a pas pu rendre la classe d'opérateur « %s » par défaut pour le type %s"
 
-#: commands/opclasscmds.c:551
+#: commands/opclasscmds.c:636
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "La classe d'opérateur « %s » est déjà la classe par défaut."
 
-#: commands/opclasscmds.c:687
+#: commands/opclasscmds.c:760
 msgid "must be superuser to create an operator family"
 msgstr "doit être super-utilisateur pour créer une famille d'opérateur"
 
-#: commands/opclasscmds.c:802
+#: commands/opclasscmds.c:816
 msgid "must be superuser to alter an operator family"
 msgstr "doit être super-utilisateur pour modifier une famille d'opérateur"
 
-#: commands/opclasscmds.c:865
+#: commands/opclasscmds.c:880
 msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgstr ""
 "les types d'argument de l'opérateur doivent être indiqués dans ALTER\n"
 "OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:921
+#: commands/opclasscmds.c:944
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "STORAGE ne peut pas être spécifié dans ALTER OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:1037
+#: commands/opclasscmds.c:1060
 msgid "one or two argument types must be specified"
 msgstr "un ou deux types d'argument doit être spécifié"
 
-#: commands/opclasscmds.c:1063
+#: commands/opclasscmds.c:1086
 msgid "index operators must be binary"
 msgstr "les opérateurs d'index doivent être binaires"
 
-#: commands/opclasscmds.c:1067
-msgid "index operators must return boolean"
-msgstr "les opérateurs d'index doivent renvoyer un booléen"
+#: commands/opclasscmds.c:1111
+#, c-format
+msgid "access method \"%s\" does not support ordering operators"
+msgstr "la méthode d'accès « %s » ne supporte pas les opérateurs de tri"
+
+#: commands/opclasscmds.c:1124
+msgid "index search operators must return boolean"
+msgstr "les opérateurs de recherche d'index doivent renvoyer un booléen"
 
-#: commands/opclasscmds.c:1105
+#: commands/opclasscmds.c:1163
 msgid "btree procedures must have two arguments"
 msgstr "les procédures btree doivent avoir deux arguments"
 
-#: commands/opclasscmds.c:1109
+#: commands/opclasscmds.c:1167
 msgid "btree procedures must return integer"
 msgstr "les procédures btree doivent renvoyer un entier"
 
-#: commands/opclasscmds.c:1124
+#: commands/opclasscmds.c:1182
 msgid "hash procedures must have one argument"
 msgstr "les procédures de hachage doivent avoir un argument"
 
-#: commands/opclasscmds.c:1128
+#: commands/opclasscmds.c:1186
 msgid "hash procedures must return integer"
 msgstr "les procédures de hachage doivent renvoyer un entier"
 
-#: commands/opclasscmds.c:1153
+#: commands/opclasscmds.c:1211
 msgid "associated data types must be specified for index support procedure"
 msgstr ""
 "les types de données associés doivent être indiqués pour la procédure de\n"
 "support de l'index"
 
-#: commands/opclasscmds.c:1179
+#: commands/opclasscmds.c:1237
 #, c-format
 msgid "procedure number %d for (%s,%s) appears more than once"
 msgstr "le numéro de procédure %d pour (%s, %s) apparaît plus d'une fois"
 
-#: commands/opclasscmds.c:1186
+#: commands/opclasscmds.c:1244
 #, c-format
 msgid "operator number %d for (%s,%s) appears more than once"
 msgstr "le numéro d'opérateur %d pour (%s, %s) apparaît plus d'une fois"
 
-#: commands/opclasscmds.c:1234
+#: commands/opclasscmds.c:1293
 #, c-format
 msgid "operator %d(%s,%s) already exists in operator family \"%s\""
 msgstr "l'opérateur %d(%s, %s) existe déjà dans la famille d'opérateur « %s »"
 
-#: commands/opclasscmds.c:1334
+#: commands/opclasscmds.c:1406
 #, c-format
 msgid "function %d(%s,%s) already exists in operator family \"%s\""
 msgstr "la fonction %d(%s, %s) existe déjà dans la famille d'opérateur « %s »"
 
-#: commands/opclasscmds.c:1421
+#: commands/opclasscmds.c:1493
 #, c-format
 msgid "operator %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "l'opérateur %d(%s, %s) n'existe pas dans la famille d'opérateur « %s »"
 
-#: commands/opclasscmds.c:1461
+#: commands/opclasscmds.c:1533
 #, c-format
 msgid "function %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "la fonction %d(%s, %s) n'existe pas dans la famille d'opérateur « %s »"
 
-#: commands/opclasscmds.c:1768
+#: commands/opclasscmds.c:1779
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr ""
 "la classe d'opérateur « %s » de la méthode d'accès « %s » existe déjà dans\n"
 "le schéma « %s »"
 
-#: commands/opclasscmds.c:1862
+#: commands/opclasscmds.c:1868
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr ""
 "la famille d'opérateur « %s » de la méthode d'accès « %s » existe déjà dans\n"
 "le schéma « %s »"
 
-#: commands/operatorcmds.c:98
+#: commands/operatorcmds.c:100
 msgid "=> is deprecated as an operator name"
 msgstr "=> est un nom d'opérateur obsolète"
 
-#: commands/operatorcmds.c:99
+#: commands/operatorcmds.c:101
 msgid "This name may be disallowed altogether in future versions of PostgreSQL."
 msgstr "Ce nom pourrait être interdit dans les prochaines versions de PostgreSQL."
 
-#: commands/operatorcmds.c:120
-#: commands/operatorcmds.c:128
+#: commands/operatorcmds.c:122
+#: commands/operatorcmds.c:130
 msgid "SETOF type not allowed for operator argument"
 msgstr "type SETOF non autorisé pour l'argument de l'opérateur"
 
-#: commands/operatorcmds.c:156
+#: commands/operatorcmds.c:158
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
 msgstr "l'attribut « %s » de l'opérateur n'est pas reconnu"
 
-#: commands/operatorcmds.c:166
+#: commands/operatorcmds.c:168
 msgid "operator procedure must be specified"
 msgstr "la procédure de l'opérateur doit être spécifiée"
 
-#: commands/operatorcmds.c:177
+#: commands/operatorcmds.c:179
 msgid "at least one of leftarg or rightarg must be specified"
 msgstr "au moins un des arguments (le gauche ou le droit) doit être spécifié"
 
-#: commands/operatorcmds.c:226
+#: commands/operatorcmds.c:228
 #, c-format
 msgid "restriction estimator function %s must return type \"float8\""
 msgstr ""
 "la fonction d'estimation de la restriction, de nom %s, doit renvoyer le type\n"
 "« float8 »"
 
-#: commands/operatorcmds.c:265
+#: commands/operatorcmds.c:267
 #, c-format
 msgid "join estimator function %s must return type \"float8\""
 msgstr ""
 "la fonction d'estimation de la jointure, de nom %s, doit renvoyer le type\n"
 "« float8 »"
 
-#: commands/operatorcmds.c:316
+#: commands/operatorcmds.c:318
 #, c-format
 msgid "operator %s does not exist, skipping"
 msgstr "l'opérateur %s n'existe pas, poursuite du traitement"
@@ -5995,518 +6214,713 @@ msgstr "nom de curseur invalide : il ne doit pas 
 #: commands/portalcmds.c:168
 #: commands/portalcmds.c:222
 #: executor/execCurrent.c:66
-#: utils/adt/xml.c:2044
-#: utils/adt/xml.c:2208
+#: utils/adt/xml.c:2046
+#: utils/adt/xml.c:2210
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "le curseur « %s » n'existe pas"
 
-#: commands/portalcmds.c:329
-#: tcop/pquery.c:748
-#: tcop/pquery.c:1371
+#: commands/portalcmds.c:336
+#: tcop/pquery.c:738
+#: tcop/pquery.c:1401
 #, c-format
 msgid "portal \"%s\" cannot be run"
 msgstr "le portail « %s » ne peut pas être exécuté de nouveau"
 
-#: commands/portalcmds.c:402
+#: commands/portalcmds.c:409
 msgid "could not reposition held cursor"
 msgstr "n'a pas pu repositionner le curseur détenu"
 
-#: commands/prepare.c:70
+#: commands/prepare.c:71
 msgid "invalid statement name: must not be empty"
 msgstr "nom de l'instruction invalide : ne doit pas être vide"
 
-#: commands/prepare.c:121
-#: tcop/postgres.c:1307
-#: parser/parse_param.c:293
+#: commands/prepare.c:122
+#: tcop/postgres.c:1267
+#: parser/parse_param.c:303
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "n'a pas pu déterminer le type de données du paramètre $%d"
 
-#: commands/prepare.c:139
+#: commands/prepare.c:140
 msgid "utility statements cannot be prepared"
 msgstr "les instructions utilitaires ne peuvent pas être préparées"
 
-#: commands/prepare.c:239
-#: commands/prepare.c:246
-#: commands/prepare.c:702
+#: commands/prepare.c:240
+#: commands/prepare.c:247
+#: commands/prepare.c:706
 msgid "prepared statement is not a SELECT"
 msgstr "l'instruction préparée n'est pas un SELECT"
 
-#: commands/prepare.c:313
+#: commands/prepare.c:314
 #, c-format
 msgid "wrong number of parameters for prepared statement \"%s\""
 msgstr "mauvais nombre de paramètres pour l'instruction préparée « %s »"
 
-#: commands/prepare.c:315
+#: commands/prepare.c:316
 #, c-format
 msgid "Expected %d parameters but got %d."
 msgstr "%d paramètres attendus mais %d reçus."
 
-#: commands/prepare.c:344
+#: commands/prepare.c:345
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "ne peut pas utiliser les sous-requêtes dans le paramètre EXECUTE"
 
-#: commands/prepare.c:348
+#: commands/prepare.c:349
 msgid "cannot use aggregate function in EXECUTE parameter"
 msgstr "ne peut pas utiliser la fonction d'agrégat dans le paramètre EXECUTE"
 
-#: commands/prepare.c:352
+#: commands/prepare.c:353
 msgid "cannot use window function in EXECUTE parameter"
 msgstr "ne peut pas utiliser une fonction window dans le paramètre EXECUTE"
 
-#: commands/prepare.c:365
+#: commands/prepare.c:366
 #, 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é dans la coercion à cause du\n"
 "type %s attendu"
 
-#: commands/prepare.c:463
+#: commands/prepare.c:467
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "l'instruction préparée « %s » existe déjà"
 
-#: commands/prepare.c:521
+#: commands/prepare.c:525
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "l'instruction préparée « %s » n'existe pas"
 
-#: commands/prepare.c:747
-#: executor/execQual.c:1615
-#: executor/execQual.c:1640
-#: executor/execQual.c:2001
-#: executor/execQual.c:5100
-#: executor/functions.c:652
-#: foreign/foreign.c:271
-#: utils/mmgr/portalmem.c:937
+#: commands/prepare.c:751
+#: commands/extension.c:1679
+#: commands/extension.c:1788
+#: commands/extension.c:1981
+#: executor/execQual.c:1613
+#: executor/execQual.c:1638
+#: executor/execQual.c:1999
+#: executor/execQual.c:5115
+#: executor/functions.c:785
+#: foreign/foreign.c:350
+#: replication/walsender.c:1387
+#: utils/mmgr/portalmem.c:946
 #: utils/fmgr/funcapi.c:60
 msgid "set-valued function called in context that cannot accept a set"
 msgstr ""
 "la fonction avec set-value a été appelé dans un contexte qui n'accepte pas\n"
 "un ensemble"
 
-#: commands/prepare.c:751
-#: foreign/foreign.c:276
-#: utils/mmgr/portalmem.c:941
+#: commands/prepare.c:755
+#: commands/extension.c:1683
+#: commands/extension.c:1792
+#: commands/extension.c:1985
+#: foreign/foreign.c:355
+#: replication/walsender.c:1391
+#: utils/mmgr/portalmem.c:950
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "mode matérialisé requis mais interdit dans ce contexte"
 
-#: commands/proclang.c:92
+#: commands/user.c:143
+msgid "SYSID can no longer be specified"
+msgstr "SYSID ne peut plus être spécifié"
+
+#: commands/user.c:284
+msgid "must be superuser to create superusers"
+msgstr "doit être super-utilisateur pour créer des super-utilisateurs"
+
+#: commands/user.c:291
+msgid "must be superuser to create replication users"
+msgstr "doit être super-utilisateur pour créer des utilisateurs avec l'attribut réplication"
+
+#: commands/user.c:298
+msgid "permission denied to create role"
+msgstr "droit refusé pour créer un rôle"
+
+#: commands/user.c:305
+#: commands/user.c:1087
+#, c-format
+msgid "role name \"%s\" is reserved"
+msgstr "le nom du rôle « %s » est réservé"
+
+#: commands/user.c:318
+#: commands/user.c:1081
+#, c-format
+msgid "role \"%s\" already exists"
+msgstr "le rôle « %s » existe déjà"
+
+#: commands/user.c:623
+#: commands/user.c:825
+#: commands/user.c:905
+#: commands/user.c:1056
+#: commands/variable.c:882
+#: commands/variable.c:954
+#: utils/adt/acl.c:4822
+#: utils/init/miscinit.c:432
+#, c-format
+msgid "role \"%s\" does not exist"
+msgstr "le rôle « %s » n'existe pas"
+
+#: commands/user.c:636
+#: commands/user.c:842
+#: commands/user.c:1321
+#: commands/user.c:1458
+msgid "must be superuser to alter superusers"
+msgstr "doit être super-utilisateur pour modifier des super-utilisateurs"
+
+#: commands/user.c:643
+msgid "must be superuser to alter replication users"
+msgstr "doit être super-utilisateur pour modifier des utilisateurs ayant l'attribut réplication"
+
+#: commands/user.c:659
+#: commands/user.c:850
+msgid "permission denied"
+msgstr "droit refusé"
+
+#: commands/user.c:878
+msgid "permission denied to drop role"
+msgstr "droit refusé pour supprimer le rôle"
+
+#: commands/user.c:910
+#, c-format
+msgid "role \"%s\" does not exist, skipping"
+msgstr "le rôle « %s » n'existe pas, poursuite du traitement"
+
+#: commands/user.c:922
+#: commands/user.c:926
+msgid "current user cannot be dropped"
+msgstr "l'utilisateur actuel ne peut pas être supprimé"
+
+#: commands/user.c:930
+msgid "session user cannot be dropped"
+msgstr "l'utilisateur de la session ne peut pas être supprimé"
+
+#: commands/user.c:941
+msgid "must be superuser to drop superusers"
+msgstr "doit être super-utilisateur pour supprimer des super-utilisateurs"
+
+#: commands/user.c:954
+#, c-format
+msgid "role \"%s\" cannot be dropped because some objects depend on it"
+msgstr "le rôle « %s » ne peut pas être supprimé car d'autres objets en dépendent"
+
+#: commands/user.c:1071
+msgid "session user cannot be renamed"
+msgstr "l'utilisateur de la session ne peut pas être renommé"
+
+#: commands/user.c:1075
+msgid "current user cannot be renamed"
+msgstr "l'utilisateur courant ne peut pas être renommé"
+
+#: commands/user.c:1098
+msgid "must be superuser to rename superusers"
+msgstr "doit être super-utilisateur pour renommer les super-utilisateurs"
+
+#: commands/user.c:1105
+msgid "permission denied to rename role"
+msgstr "droit refusé pour renommer le rôle"
+
+#: commands/user.c:1126
+msgid "MD5 password cleared because of role rename"
+msgstr "mot de passe MD5 effacé à cause du renommage du rôle"
+
+#: commands/user.c:1182
+msgid "column names cannot be included in GRANT/REVOKE ROLE"
+msgstr "les noms de colonne ne peuvent pas être inclus dans GRANT/REVOKE ROLE"
+
+#: commands/user.c:1220
+msgid "permission denied to drop objects"
+msgstr "droit refusé pour supprimer les objets"
+
+#: commands/user.c:1247
+#: commands/user.c:1256
+msgid "permission denied to reassign objects"
+msgstr "droit refusé pour ré-affecter les objets"
+
+#: commands/user.c:1329
+#: commands/user.c:1466
+#, c-format
+msgid "must have admin option on role \"%s\""
+msgstr "doit avoir l'option admin sur le rôle « %s »"
+
+#: commands/user.c:1337
+msgid "must be superuser to set grantor"
+msgstr "doit être super-utilisateur pour configurer le « donneur de droits »"
+
+#: commands/user.c:1362
+#, c-format
+msgid "role \"%s\" is a member of role \"%s\""
+msgstr "le rôle « %s » est un membre du rôle « %s »"
+
+#: commands/user.c:1377
+#, c-format
+msgid "role \"%s\" is already a member of role \"%s\""
+msgstr "le rôle « %s » est déjà un membre du rôle « %s »"
+
+#: commands/user.c:1488
+#, c-format
+msgid "role \"%s\" is not a member of role \"%s\""
+msgstr "le rôle « %s » n'est pas un membre du rôle « %s »"
+
+#: commands/proclang.c:93
 msgid "using pg_pltemplate information instead of CREATE LANGUAGE parameters"
 msgstr ""
 "utilisation des informations de pg_pltemplate au lieu des paramètres de\n"
 "CREATE LANGUAGE"
 
-#: commands/proclang.c:102
+#: commands/proclang.c:103
 #, c-format
 msgid "must be superuser to create procedural language \"%s\""
 msgstr "doit être super-utilisateur pour créer le langage de procédures « %s »"
 
-#: commands/proclang.c:122
-#: commands/proclang.c:278
+#: commands/proclang.c:123
+#: commands/proclang.c:279
 #, c-format
 msgid "function %s must return type \"language_handler\""
 msgstr "la fonction %s doit renvoyer le type « language_handler »"
 
-#: commands/proclang.c:242
+#: commands/proclang.c:243
 #, c-format
 msgid "unsupported language \"%s\""
 msgstr "langage non supporté « %s »"
 
-#: commands/proclang.c:244
+#: commands/proclang.c:245
 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:252
+#: commands/proclang.c:253
 msgid "must be superuser to create custom procedural language"
 msgstr "doit être super-utilisateur pour créer un langage de procédures personnalisé"
 
-#: commands/proclang.c:271
+#: commands/proclang.c:272
 #, 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 » à\n"
 "« language_handler »"
 
-#: commands/proclang.c:356
-#: commands/proclang.c:606
+#: commands/proclang.c:357
+#: commands/proclang.c:608
 #, c-format
 msgid "language \"%s\" already exists"
 msgstr "le langage « %s » existe déjà"
 
-#: commands/proclang.c:534
+#: commands/proclang.c:539
 #, c-format
 msgid "language \"%s\" does not exist, skipping"
 msgstr "le langage « %s » n'existe pas, poursuite du traitement"
 
 #: commands/schemacmds.c:82
-#: commands/schemacmds.c:288
+#: commands/schemacmds.c:275
 #, c-format
 msgid "unacceptable schema name \"%s\""
 msgstr "nom de schéma « %s » inacceptable"
 
 #: commands/schemacmds.c:83
-#: commands/schemacmds.c:289
+#: commands/schemacmds.c:276
 msgid "The prefix \"pg_\" is reserved for system schemas."
 msgstr "Le préfixe « pg_ » est réservé pour les schémas système."
 
-#: commands/schemacmds.c:196
+#: commands/schemacmds.c:186
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "le schéma « %s » n'existe pas, poursuite du traitement"
 
-#: commands/sequence.c:553
+#: commands/sequence.c:126
+msgid "unlogged sequences are not supported"
+msgstr "les séquences non tracées ne sont pas supportées"
+
+#: commands/sequence.c:634
 #, 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:576
+#: commands/sequence.c:657
 #, 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:674
+#: commands/sequence.c:755
 #, 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\n"
 "dans cette session"
 
-#: commands/sequence.c:693
-#: commands/sequence.c:699
+#: commands/sequence.c:774
+#: commands/sequence.c:780
 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:767
+#: commands/sequence.c:848
 #, 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:936
+#: commands/sequence.c:1017
 #: lib/stringinfo.c:266
-#: libpq/auth.c:1020
-#: libpq/auth.c:1374
-#: libpq/auth.c:1442
-#: libpq/auth.c:2016
+#: libpq/auth.c:1007
+#: libpq/auth.c:1361
+#: libpq/auth.c:1429
+#: libpq/auth.c:1831
 #: storage/buffer/buf_init.c:154
-#: storage/buffer/localbuf.c:348
-#: storage/file/fd.c:356
-#: storage/file/fd.c:739
-#: storage/file/fd.c:857
-#: storage/ipc/procarray.c:786
-#: storage/ipc/procarray.c:1176
+#: storage/buffer/localbuf.c:350
+#: storage/file/fd.c:358
+#: storage/file/fd.c:742
+#: storage/file/fd.c:860
+#: storage/ipc/procarray.c:784
 #: storage/ipc/procarray.c:1183
-#: storage/ipc/procarray.c:1418
-#: storage/ipc/procarray.c:1812
-#: postmaster/postmaster.c:1973
-#: postmaster/postmaster.c:2006
-#: postmaster/postmaster.c:3188
-#: postmaster/postmaster.c:3870
-#: postmaster/postmaster.c:3951
-#: postmaster/postmaster.c:4539
-#: utils/mmgr/aset.c:408
+#: storage/ipc/procarray.c:1190
+#: storage/ipc/procarray.c:1425
+#: storage/ipc/procarray.c:1819
+#: postmaster/postmaster.c:2003
+#: postmaster/postmaster.c:2034
+#: postmaster/postmaster.c:3231
+#: postmaster/postmaster.c:3915
+#: postmaster/postmaster.c:3996
+#: postmaster/postmaster.c:4610
+#: utils/adt/formatting.c:1529
+#: utils/adt/formatting.c:1650
+#: utils/adt/formatting.c:1783
+#: utils/adt/regexp.c:210
+#: utils/adt/varlena.c:3474
+#: utils/adt/varlena.c:3495
+#: utils/mmgr/aset.c:416
 #: utils/mmgr/aset.c:587
-#: utils/mmgr/aset.c:770
-#: utils/mmgr/aset.c:976
-#: utils/adt/formatting.c:1491
-#: utils/adt/formatting.c:1547
-#: utils/adt/formatting.c:1604
-#: utils/adt/regexp.c:205
-#: utils/adt/varlena.c:3246
-#: utils/adt/varlena.c:3267
-#: utils/misc/guc.c:2915
-#: utils/misc/guc.c:2928
-#: utils/misc/guc.c:2941
+#: utils/mmgr/aset.c:765
+#: utils/mmgr/aset.c:966
 #: utils/fmgr/dfmgr.c:224
-#: utils/hash/dynahash.c:363
-#: utils/hash/dynahash.c:435
-#: utils/hash/dynahash.c:929
-#: utils/init/miscinit.c:149
-#: utils/init/miscinit.c:170
-#: utils/init/miscinit.c:180
-#: utils/mb/mbutils.c:334
-#: utils/mb/mbutils.c:606
+#: utils/hash/dynahash.c:364
+#: utils/hash/dynahash.c:436
+#: utils/hash/dynahash.c:932
+#: utils/init/miscinit.c:150
+#: utils/init/miscinit.c:171
+#: utils/init/miscinit.c:181
+#: utils/mb/mbutils.c:374
+#: utils/mb/mbutils.c:675
+#: utils/misc/tzparser.c:455
+#: utils/misc/guc.c:3296
+#: utils/misc/guc.c:3309
+#: utils/misc/guc.c:3322
 msgid "out of memory"
 msgstr "mémoire épuisée"
 
-#: commands/sequence.c:1096
+#: commands/sequence.c:1206
 msgid "INCREMENT must not be zero"
 msgstr "la valeur INCREMENT ne doit pas être zéro"
 
-#: commands/sequence.c:1142
+#: commands/sequence.c:1252
 #, 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:1167
+#: commands/sequence.c:1277
 #, c-format
 msgid "START value (%s) cannot be less than MINVALUE (%s)"
 msgstr "la valeur START (%s) ne peut pas être plus petite que celle de MINVALUE (%s)"
 
-#: commands/sequence.c:1179
+#: commands/sequence.c:1289
 #, c-format
 msgid "START value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "la valeur START (%s) ne peut pas être plus grande que celle de MAXVALUE (%s)"
 
-#: commands/sequence.c:1210
+#: commands/sequence.c:1320
 #, c-format
 msgid "RESTART value (%s) cannot be less than MINVALUE (%s)"
 msgstr "la valeur RESTART (%s) ne peut pas être plus petite que celle de MINVALUE (%s)"
 
-#: commands/sequence.c:1222
+#: commands/sequence.c:1332
 #, c-format
 msgid "RESTART value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "la valeur RESTART (%s) ne peut pas être plus grande que celle de MAXVALUE (%s)"
 
-#: commands/sequence.c:1237
+#: commands/sequence.c:1347
 #, c-format
 msgid "CACHE (%s) must be greater than zero"
 msgstr "la valeur CACHE (%s) doit être plus grande que zéro"
 
-#: commands/sequence.c:1268
+#: commands/sequence.c:1378
 msgid "invalid OWNED BY option"
 msgstr "option OWNED BY invalide"
 
-#: commands/sequence.c:1269
+#: commands/sequence.c:1379
 msgid "Specify OWNED BY table.column or OWNED BY NONE."
 msgstr "Indiquer OWNED BY table.colonne ou OWNED BY NONE."
 
-#: commands/sequence.c:1291
-#: commands/tablecmds.c:4811
+#: commands/sequence.c:1401
+#: commands/tablecmds.c:5491
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "la relation référencée « %s » n'est pas une table"
 
-#: commands/sequence.c:1298
+#: commands/sequence.c:1408
 msgid "sequence must have same owner as table it is linked to"
 msgstr "la séquence doit avoir le même propriétaire que la table avec laquelle elle est liée"
 
-#: commands/sequence.c:1302
+#: commands/sequence.c:1412
 msgid "sequence must be in same schema as table it is linked to"
 msgstr "la séquence doit être dans le même schéma que la table avec laquelle elle est liée"
 
-#: commands/tablecmds.c:192
+#: commands/tablecmds.c:200
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "la table « %s » n'existe pas"
 
-#: commands/tablecmds.c:193
+#: commands/tablecmds.c:201
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "la table « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablecmds.c:195
+#: commands/tablecmds.c:203
 msgid "Use DROP TABLE to remove a table."
 msgstr "Utilisez DROP TABLE pour supprimer une table."
 
-#: commands/tablecmds.c:198
+#: commands/tablecmds.c:206
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "la séquence « %s » n'existe pas"
 
-#: commands/tablecmds.c:199
+#: commands/tablecmds.c:207
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "la séquence « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablecmds.c:201
+#: commands/tablecmds.c:209
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Utilisez DROP SEQUENCE pour supprimer une séquence."
 
-#: commands/tablecmds.c:204
+#: commands/tablecmds.c:212
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "la vue « %s » n'existe pas"
 
-#: commands/tablecmds.c:205
+#: commands/tablecmds.c:213
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "la vue « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablecmds.c:207
+#: commands/tablecmds.c:215
 msgid "Use DROP VIEW to remove a view."
 msgstr "Utilisez DROP VIEW pour supprimer une vue."
 
-#: commands/tablecmds.c:210
+#: commands/tablecmds.c:218
+#: parser/parse_utilcmd.c:1445
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "l'index « %s » n'existe pas"
 
-#: commands/tablecmds.c:211
+#: commands/tablecmds.c:219
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "l'index « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablecmds.c:213
+#: commands/tablecmds.c:221
 msgid "Use DROP INDEX to remove an index."
 msgstr "Utilisez DROP INDEX pour supprimer un index."
 
-#: commands/tablecmds.c:217
-#: commands/typecmds.c:656
+#: commands/tablecmds.c:225
+#: commands/typecmds.c:666
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "le type « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablecmds.c:218
+#: commands/tablecmds.c:226
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "« %s » n'est pas un type"
 
-#: commands/tablecmds.c:219
+#: commands/tablecmds.c:227
 msgid "Use DROP TYPE to remove a type."
 msgstr "Utilisez DROP TYPE pour supprimer un type."
 
-#: commands/tablecmds.c:390
-#: executor/execMain.c:2155
+#: commands/tablecmds.c:230
+#: commands/tablecmds.c:8852
+#, c-format
+msgid "foreign table \"%s\" does not exist"
+msgstr "la table distante « %s » n'existe pas"
+
+#: commands/tablecmds.c:231
+#, c-format
+msgid "foreign table \"%s\" does not exist, skipping"
+msgstr "la table distante « %s » n'existe pas, poursuite du traitement"
+
+#: commands/tablecmds.c:233
+msgid "Use DROP FOREIGN TABLE to remove a foreign table."
+msgstr "Utilisez DROP FOREIGN TABLE pour supprimer une table distante."
+
+#: commands/tablecmds.c:425
+#: executor/execMain.c:2415
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT peut seulement être utilisé sur des tables temporaires"
 
-#: commands/tablecmds.c:400
-#: executor/execMain.c:2165
+#: commands/tablecmds.c:429
+msgid "constraints on foreign tables are not supported"
+msgstr "les contraintes sur les tables distantes ne sont pas supportées"
+
+#: commands/tablecmds.c:440
+#: executor/execMain.c:2426
 msgid "cannot create temporary table within security-restricted operation"
 msgstr ""
 "ne peut pas créer une table temporaire à l'intérieur d'une fonction\n"
 "restreinte pour sécurité"
 
-#: commands/tablecmds.c:777
-#: commands/tablecmds.c:1109
-#: commands/tablecmds.c:2001
-#: commands/tablecmds.c:3367
-#: commands/tablecmds.c:3396
-#: commands/tablecmds.c:4817
-#: commands/trigger.c:155
-#: commands/trigger.c:1069
-#: tcop/utility.c:92
-#: rewrite/rewriteDefine.c:258
+#: commands/tablecmds.c:544
+#: commands/tablecmds.c:4324
+msgid "default values on foreign tables are not supported"
+msgstr "les valeurs par défaut ne sont pas supportées sur les tables distantes"
+
+#: commands/tablecmds.c:812
+#: commands/tablecmds.c:1141
+#: commands/tablecmds.c:2069
+#: commands/tablecmds.c:3780
+#: commands/tablecmds.c:5497
+#: commands/trigger.c:199
+#: commands/trigger.c:1104
+#: tcop/utility.c:95
+#: rewrite/rewriteDefine.c:265
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "droit refusé : « %s » est un catalogue système"
 
-#: commands/tablecmds.c:889
+#: commands/tablecmds.c:924
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "TRUNCATE cascade sur la table « %s »"
 
-#: commands/tablecmds.c:1119
+#: commands/tablecmds.c:1151
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "ne peut pas tronquer les tables temporaires des autres sessions"
 
-#: commands/tablecmds.c:1314
-#: parser/parse_utilcmd.c:590
-#: parser/parse_utilcmd.c:1408
+#: commands/tablecmds.c:1353
+#: parser/parse_utilcmd.c:617
+#: parser/parse_utilcmd.c:1663
 #, 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:1320
-#: commands/tablecmds.c:7228
+#: commands/tablecmds.c:1360
+#: commands/tablecmds.c:8078
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "ine peut pas hériter à partir d'une relation temporaire « %s »"
 
-#: commands/tablecmds.c:1337
-#: commands/tablecmds.c:7256
+#: commands/tablecmds.c:1377
+#: commands/tablecmds.c:8106
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "la relation « %s » serait héritée plus d'une fois"
 
-#: commands/tablecmds.c:1392
+#: commands/tablecmds.c:1433
 #, 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:1400
+#: commands/tablecmds.c:1441
 #, 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:1402
-#: commands/tablecmds.c:1414
-#: commands/tablecmds.c:1574
-#: commands/tablecmds.c:1586
-#: parser/parse_coerce.c:1438
-#: parser/parse_coerce.c:1457
-#: parser/parse_coerce.c:1502
-#: parser/parse_param.c:214
+#: commands/tablecmds.c:1443
+#: commands/tablecmds.c:1464
+#: commands/tablecmds.c:1629
+#: commands/tablecmds.c:1651
+#: parser/parse_coerce.c:1514
+#: parser/parse_coerce.c:1534
+#: parser/parse_coerce.c:1579
+#: parser/parse_param.c:217
 #, c-format
 msgid "%s versus %s"
 msgstr "%s versus %s"
 
-#: commands/tablecmds.c:1412
+#: commands/tablecmds.c:1450
+#, c-format
+msgid "inherited column \"%s\" has a collation conflict"
+msgstr "la colonne héritée « %s » a un conflit sur le collationnement"
+
+#: commands/tablecmds.c:1452
+#: commands/tablecmds.c:1639
+#: commands/tablecmds.c:4193
+#, c-format
+msgid "\"%s\" versus \"%s\""
+msgstr "« %s » versus « %s »"
+
+#: commands/tablecmds.c:1462
 #, c-format
 msgid "inherited column \"%s\" has a storage parameter conflict"
 msgstr "la colonne héritée « %s » a un conflit de paramètre de stockage"
 
-#: commands/tablecmds.c:1564
+#: commands/tablecmds.c:1619
 #, 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:1572
+#: commands/tablecmds.c:1627
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "la colonne « %s » a un conflit de type"
 
-#: commands/tablecmds.c:1584
+#: commands/tablecmds.c:1637
+#, c-format
+msgid "column \"%s\" has a collation conflict"
+msgstr "la colonne « %s » a un conflit sur le collationnement"
+
+#: commands/tablecmds.c:1649
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "la colonne « %s » a un conflit de paramètre de stockage"
 
-#: commands/tablecmds.c:1636
+#: commands/tablecmds.c:1701
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "la colonne « %s » hérite de valeurs par défaut conflictuelles"
 
-#: commands/tablecmds.c:1638
+#: commands/tablecmds.c:1703
 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:1685
+#: commands/tablecmds.c:1750
 #, c-format
 msgid "check constraint name \"%s\" appears multiple times but with different expressions"
 msgstr ""
 "le nom de la contrainte de vérification, « %s », apparaît plusieurs fois\n"
 "mais avec des expressions différentes"
 
-#: commands/tablecmds.c:1973
+#: commands/tablecmds.c:2040
 msgid "cannot rename column of typed table"
 msgstr "ne peut pas renommer une colonne d'une table typée"
 
-#: commands/tablecmds.c:1989
+#: commands/tablecmds.c:2057
 #, c-format
-msgid "\"%s\" is not a table, view, composite type or index"
-msgstr "« %s » n'est ni une table, ni une vue, ni un type composite, ni une séquence"
+msgid "\"%s\" is not a table, view, composite type, index or foreign table"
+msgstr "« %s » n'est ni une table, ni une vue, ni un type composite, ni une table distante"
 
-#: commands/tablecmds.c:2055
+#: commands/tablecmds.c:2123
 #, 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:2073
+#: commands/tablecmds.c:2155
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "ne peut pas renommer la colonne système « %s »"
 
-#: commands/tablecmds.c:2088
+#: commands/tablecmds.c:2170
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "ne peut pas renommer la colonne héritée « %s »"
 
-#: commands/tablecmds.c:2099
-#: commands/tablecmds.c:3711
+#: commands/tablecmds.c:2181
+#: commands/tablecmds.c:4237
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "la colonne « %s » de la relation « %s » existe déjà"
 
-#: commands/tablecmds.c:2164
-#: commands/tablecmds.c:6552
-#: commands/tablecmds.c:7858
+#: commands/tablecmds.c:2270
+#: commands/tablecmds.c:7402
+#: commands/tablecmds.c:8984
 msgid "Use ALTER TYPE instead."
 msgstr "Utilisez ALTER TYPE à la place."
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2287
+#: commands/tablecmds.c:2393
 #, c-format
 msgid "cannot %s \"%s\" because it is being used by active queries in this session"
 msgstr ""
@@ -6514,1167 +6928,1195 @@ msgstr ""
 "des requêtes actives dans cette session"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2296
+#: commands/tablecmds.c:2402
 #, c-format
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr "ne peut pas exécuter %s « %s » car il reste des événements sur les triggers"
 
-#: commands/tablecmds.c:2909
+#: commands/tablecmds.c:2501
+#, c-format
+msgid "\"%s\" is not a composite type"
+msgstr "« %s » n'est pas un type composite"
+
+#: commands/tablecmds.c:3298
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "ne peut pas ré-écrire la relation système « %s »"
 
-#: commands/tablecmds.c:2919
+#: commands/tablecmds.c:3308
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "ne peut pas ré-écrire les tables temporaires des autres sessions"
 
-#: commands/tablecmds.c:3244
+#: commands/tablecmds.c:3535
+#, c-format
+msgid "rewriting table \"%s\""
+msgstr "ré-écriture de la table « %s »"
+
+#: commands/tablecmds.c:3539
+#, c-format
+msgid "verifying table \"%s\""
+msgstr "vérification de la table « %s »"
+
+#: commands/tablecmds.c:3646
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "la colonne « %s » contient des valeurs NULL"
 
-#: commands/tablecmds.c:3258
+#: commands/tablecmds.c:3660
 #, 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:3349
-#: rewrite/rewriteDefine.c:252
+#: commands/tablecmds.c:3801
+#: commands/tablecmds.c:4751
+#, c-format
+msgid "\"%s\" is not a table or index"
+msgstr "« %s » n'est pas une table ou un index"
+
+#: commands/tablecmds.c:3804
+#: commands/trigger.c:193
+#: commands/trigger.c:1098
+#: rewrite/rewriteDefine.c:259
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "« %s » n'est pas une table ou une vue"
 
-#: commands/tablecmds.c:3385
-#: commands/tablecmds.c:4139
+#: commands/tablecmds.c:3807
 #, c-format
-msgid "\"%s\" is not a table or index"
-msgstr "« %s » n'est pas une table ou un index"
+msgid "\"%s\" is not a table or foreign table"
+msgstr "« %s » n'est pas une table ou une table distante"
+
+#: commands/tablecmds.c:3810
+#, c-format
+msgid "\"%s\" is not a table, composite type, or foreign table"
+msgstr "« %s » n'est ni une table, ni un type composite, ni une table distante"
+
+#: commands/tablecmds.c:3820
+#, c-format
+msgid "\"%s\" is of the wrong type"
+msgstr "« %s » est du mauvais type"
+
+#: commands/tablecmds.c:3969
+#: commands/tablecmds.c:3976
+#, c-format
+msgid "cannot alter type \"%s\" because column \"%s\".\"%s\" uses it"
+msgstr "ne peux pas modifier le type « %s » car la colonne « %s ».« %s » l'utilise"
+
+#: commands/tablecmds.c:3983
+#, c-format
+msgid "cannot alter foreign table \"%s\" because column \"%s\".\"%s\" uses its rowtype"
+msgstr ""
+"ne peut pas modifier la table distante « %s » car la colonne « %s ».« %s » utilise\n"
+"son type de ligne"
 
-#: commands/tablecmds.c:3540
+#: commands/tablecmds.c:3990
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s\".\"%s\" uses its rowtype"
 msgstr ""
 "ne peut pas modifier la table « %s » car la colonne « %s ».« %s » utilise\n"
 "son type de ligne"
 
-#: commands/tablecmds.c:3547
+#: commands/tablecmds.c:4052
 #, c-format
-msgid "cannot alter type \"%s\" because column \"%s\".\"%s\" uses it"
-msgstr "ne peux pas modifier le type « %s » car la colonne « %s ».« %s » l'utilise"
+msgid "cannot alter type \"%s\" because it is the type of a typed table"
+msgstr "ne peut pas modifier le type « %s » car il s'agit du type d'une table de type"
 
-#: commands/tablecmds.c:3594
+#: commands/tablecmds.c:4054
+msgid "Use ALTER ... CASCADE to alter the typed tables too."
+msgstr "Utilisez ALTER ... CASCADE pour modifier aussi les tables de type."
+
+#: commands/tablecmds.c:4098
+#, c-format
+msgid "type %s is not a composite type"
+msgstr "le type %s n'est pas un type composite"
+
+#: commands/tablecmds.c:4124
 msgid "cannot add column to typed table"
 msgstr "ne peut pas ajouter une colonne à une table typée"
 
-#: commands/tablecmds.c:3623
-msgid "column must be added to child tables too"
-msgstr "la colonne doit aussi être ajoutée aux tables filles"
-
-#: commands/tablecmds.c:3668
-#: commands/tablecmds.c:7412
+#: commands/tablecmds.c:4185
+#: commands/tablecmds.c:8260
 #, 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:3675
+#: commands/tablecmds.c:4191
+#: commands/tablecmds.c:8267
+#, c-format
+msgid "child table \"%s\" has different collation for column \"%s\""
+msgstr "la table fille « %s » a un collationnement différent pour la colonne « %s »"
+
+#: commands/tablecmds.c:4201
 #, c-format
 msgid "child table \"%s\" has a conflicting \"%s\" column"
 msgstr "la table fille « %s » a une colonne conflictuelle, « %s »"
 
-#: commands/tablecmds.c:3687
+#: commands/tablecmds.c:4213
 #, 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:3961
-#: commands/tablecmds.c:4051
-#: commands/tablecmds.c:4096
-#: commands/tablecmds.c:4192
-#: commands/tablecmds.c:4236
-#: commands/tablecmds.c:4315
-#: commands/tablecmds.c:5849
+#: commands/tablecmds.c:4443
+msgid "column must be added to child tables too"
+msgstr "la colonne doit aussi être ajoutée aux tables filles"
+
+#: commands/tablecmds.c:4573
+#: commands/tablecmds.c:4663
+#: commands/tablecmds.c:4708
+#: commands/tablecmds.c:4804
+#: commands/tablecmds.c:4848
+#: commands/tablecmds.c:4927
+#: commands/tablecmds.c:6621
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "n'a pas pu modifier la colonne système « %s »"
 
-#: commands/tablecmds.c:3995
+#: commands/tablecmds.c:4607
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la colonne « %s » est dans une clé primaire"
 
-#: commands/tablecmds.c:4166
+#: commands/tablecmds.c:4778
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "la cible statistique %d est trop basse"
 
-#: commands/tablecmds.c:4174
+#: commands/tablecmds.c:4786
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "abaissement de la cible statistique à %d"
 
-#: commands/tablecmds.c:4296
+#: commands/tablecmds.c:4908
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "type « %s » de stockage invalide"
 
-#: commands/tablecmds.c:4327
+#: commands/tablecmds.c:4939
 #, 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\n"
 "(PLAIN)"
 
-#: commands/tablecmds.c:4356
+#: commands/tablecmds.c:4969
 msgid "cannot drop column from typed table"
 msgstr "ne peut pas supprimer une colonne à une table typée"
 
-#: commands/tablecmds.c:4395
+#: commands/tablecmds.c:5010
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "la colonne « %s » de la relation « %s » n'existe pas, ignore"
 
-#: commands/tablecmds.c:4408
+#: commands/tablecmds.c:5023
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "ne peut pas supprimer la colonne système « %s »"
 
-#: commands/tablecmds.c:4415
+#: commands/tablecmds.c:5030
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "ne peut pas supprimer la colonne héritée « %s »"
 
-#: commands/tablecmds.c:4746
+#: commands/tablecmds.c:5256
+#, c-format
+msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\""
+msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX renommera l'index « %s » en « %s »"
+
+#: commands/tablecmds.c:5433
 msgid "constraint must be added to child tables too"
 msgstr "la contrainte doit aussi être ajoutée aux tables filles"
 
-#: commands/tablecmds.c:4833
-msgid "cannot reference temporary table from permanent table constraint"
-msgstr ""
-"ne peut pas référencer une table temporaire à partir d'une contrainte de\n"
-"table permanente"
+#: commands/tablecmds.c:5514
+msgid "constraints on permanent tables may reference only permanent tables"
+msgstr "les contraintes sur les tables permanentes peuvent seulement référencer des tables permanentes"
+
+#: commands/tablecmds.c:5521
+msgid "constraints on unlogged tables may reference only permanent or unlogged tables"
+msgstr "les contraintes sur les tables non tracées peuvent seulement référencer des tables permanentes ou non tracées"
 
-#: commands/tablecmds.c:4840
-msgid "cannot reference permanent table from temporary table constraint"
+#: commands/tablecmds.c:5527
+msgid "constraints on temporary tables may reference only temporary tables"
 msgstr ""
-"ne peut pas référencer une table permanente à partir de la contrainte de\n"
-"table temporaire"
+"les constraintes sur des tables temporaires ne peuvent référencer que des\n"
+"tables temporaires"
 
-#: commands/tablecmds.c:4900
+#: commands/tablecmds.c:5588
 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:4989
+#: commands/tablecmds.c:5677
 #, 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:4992
+#: commands/tablecmds.c:5680
 #, 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:5087
+#: commands/tablecmds.c:5793
+#, c-format
+msgid "foreign key constraint \"%s\" of relation \"%s\" does not exist"
+msgstr "la clé étrangère « %s » de la relation « %s » n'existe pas"
+
+#: commands/tablecmds.c:5855
 #, 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:5092
+#: commands/tablecmds.c:5860
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "ne peut pas avoir plus de %d clés dans une clé étrangère"
 
-#: commands/tablecmds.c:5157
+#: commands/tablecmds.c:5925
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr "ne peut pas utiliser une clé primaire déferrable pour la table « %s » référencée"
 
-#: commands/tablecmds.c:5174
+#: commands/tablecmds.c:5942
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "il n'existe pas de clé étrangère pour la table « %s » référencée"
 
-#: commands/tablecmds.c:5324
+#: commands/tablecmds.c:6092
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr ""
 "ne peut pas utiliser une contrainte unique déferrable pour la table\n"
 "référencée « %s »"
 
-#: commands/tablecmds.c:5329
+#: commands/tablecmds.c:6097
 #, c-format
 msgid "there is no unique constraint matching given keys for referenced table \"%s\""
 msgstr ""
 "il n'existe aucune contrainte unique correspondant aux clés données pour la\n"
 "table « %s » référencée"
 
-#: commands/tablecmds.c:5659
+#: commands/tablecmds.c:6148
+#, c-format
+msgid "validating foreign key constraint \"%s\""
+msgstr "validation de la contraintes de clé étrangère « %s »"
+
+#: commands/tablecmds.c:6430
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "ne peut pas supprimer la contrainte héritée « %s » de la relation « %s »"
 
-#: commands/tablecmds.c:5686
-#: commands/tablecmds.c:5800
+#: commands/tablecmds.c:6457
+#: commands/tablecmds.c:6570
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "la contrainte « %s » de la relation « %s » n'existe pas"
 
-#: commands/tablecmds.c:5692
+#: commands/tablecmds.c:6463
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "la contrainte « %s » de la relation « %s » n'existe pas, ignore"
 
-#: commands/tablecmds.c:5833
+#: commands/tablecmds.c:6605
 msgid "cannot alter column type of typed table"
 msgstr "ne peut pas modifier le type d'une colonne appartenant à une table typée"
 
-#: commands/tablecmds.c:5856
+#: commands/tablecmds.c:6628
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "ne peut pas modifier la colonne héritée « %s »"
 
-#: commands/tablecmds.c:5893
+#: commands/tablecmds.c:6670
 msgid "transform expression must not return a set"
 msgstr "l'expression de transformation ne doit pas renvoyer un ensemble"
 
-#: commands/tablecmds.c:5899
+#: commands/tablecmds.c:6676
 msgid "cannot use subquery in transform expression"
 msgstr "ne peut pas utiliser une sous-requête dans l'expression de transformation"
 
-#: commands/tablecmds.c:5903
+#: commands/tablecmds.c:6680
 msgid "cannot use aggregate function in transform expression"
 msgstr "ne peut pas utiliser la fonction d'agrégat dans l'expression de la transformation"
 
-#: commands/tablecmds.c:5907
+#: commands/tablecmds.c:6684
 msgid "cannot use window function in transform expression"
 msgstr "ne peut pas utiliser la fonction window dans l'expression de la transformation"
 
-#: commands/tablecmds.c:5925
+#: commands/tablecmds.c:6703
 #, c-format
 msgid "column \"%s\" cannot be cast to type %s"
 msgstr "la colonne « %s » ne peut pas être convertie vers le type %s"
 
-#: commands/tablecmds.c:5951
+#: commands/tablecmds.c:6724
+msgid "ALTER TYPE USING is only supported on plain tables"
+msgstr "ALTER TYPE USING est seulement supportés sur les tables standards"
+
+#: commands/tablecmds.c:6749
 #, 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:5990
+#: commands/tablecmds.c:6830
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "ne peut pas modifier la colonne « %s » deux fois"
 
-#: commands/tablecmds.c:6024
+#: commands/tablecmds.c:6866
 #, 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\n"
 "type %s"
 
-#: commands/tablecmds.c:6150
+#: commands/tablecmds.c:6992
 msgid "cannot alter type of a column used by a view or rule"
 msgstr "ne peut pas modifier le type d'une colonne utilisée dans une vue ou une règle"
 
-#: commands/tablecmds.c:6151
-#: commands/tablecmds.c:6169
+#: commands/tablecmds.c:6993
+#: commands/tablecmds.c:7012
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s dépend de la colonne « %s »"
 
-#: commands/tablecmds.c:6168
+#: commands/tablecmds.c:7011
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "ne peut pas modifier le type d'une colonne utilisée dans la définition d'un trigger"
 
-#: commands/tablecmds.c:6520
+#: commands/tablecmds.c:7370
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "ne peut pas modifier le propriétaire de l'index « %s »"
 
-#: commands/tablecmds.c:6522
+#: commands/tablecmds.c:7372
 msgid "Change the ownership of the index's table, instead."
 msgstr "Modifier à la place le propriétaire de la table concernée par l'index."
 
-#: commands/tablecmds.c:6538
+#: commands/tablecmds.c:7388
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "ne peut pas modifier le propriétaire de la séquence « %s »"
 
-#: commands/tablecmds.c:6540
-#: commands/tablecmds.c:7848
+#: commands/tablecmds.c:7390
+#: commands/tablecmds.c:8974
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "La séquence « %s » est liée à la table « %s »."
 
-#: commands/tablecmds.c:6561
-#: commands/tablecmds.c:7866
+#: commands/tablecmds.c:7411
+#: commands/tablecmds.c:8992
 #, c-format
-msgid "\"%s\" is not a table, view, or sequence"
-msgstr "« %s » n'est pas une table, une vue ou une séquence"
+msgid "\"%s\" is not a table, view, sequence, or foreign table"
+msgstr "« %s » n'est pas une table, une vue, une séquence ou une table distante"
 
-#: commands/tablecmds.c:6820
+#: commands/tablecmds.c:7666
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "ne peut pas avoir de nombreuses sous-commandes SET TABLESPACE"
 
-#: commands/tablecmds.c:6872
+#: commands/tablecmds.c:7718
 #, c-format
 msgid "\"%s\" is not a table, index, or TOAST table"
 msgstr "« %s » n'est pas une table, un index ou une table TOAST"
 
-#: commands/tablecmds.c:6993
+#: commands/tablecmds.c:7839
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "ne peut pas déplacer la colonne système « %s »"
 
-#: commands/tablecmds.c:7009
+#: commands/tablecmds.c:7855
 msgid "cannot move temporary tables of other sessions"
 msgstr "ne peut pas déplacer les tables temporaires d'autres sessions"
 
-#: commands/tablecmds.c:7198
+#: commands/tablecmds.c:8047
 msgid "cannot change inheritance of typed table"
 msgstr "ne peut pas modifier l'héritage d'une table typée"
 
-#: commands/tablecmds.c:7283
+#: commands/tablecmds.c:8133
 msgid "circular inheritance not allowed"
 msgstr "héritage circulaire interdit"
 
-#: commands/tablecmds.c:7284
+#: commands/tablecmds.c:8134
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "« %s » est déjà un enfant de « %s »."
 
-#: commands/tablecmds.c:7292
+#: commands/tablecmds.c:8142
 #, c-format
 msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
 msgstr "la table « %s » qui n'a pas d'OID ne peut pas hériter de la table « %s » qui en a"
 
-#: commands/tablecmds.c:7419
+#: commands/tablecmds.c:8278
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "la colonne « %s » de la table enfant doit être marquée comme NOT NULL"
 
-#: commands/tablecmds.c:7435
+#: commands/tablecmds.c:8294
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "la colonne « %s » manque à la table enfant"
 
-#: commands/tablecmds.c:7514
+#: commands/tablecmds.c:8373
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr "la table fille « %s » a un type différent pour la contrainte de vérification « %s »"
 
-#: commands/tablecmds.c:7538
+#: commands/tablecmds.c:8397
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "la contrainte « %s » manque à la table enfant"
 
-#: commands/tablecmds.c:7619
+#: commands/tablecmds.c:8477
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "la relation « %s » n'est pas un parent de la relation « %s »"
 
-#: commands/tablecmds.c:7847
-msgid "cannot move an owned sequence into another schema"
-msgstr "ne peut pas déplacer une séquence OWNED BY dans un autre schéma"
+#: commands/tablecmds.c:8694
+msgid "typed tables cannot inherit"
+msgstr "les tables avec type ne peuvent pas hériter d'autres tables"
 
-#: commands/tablecmds.c:7876
+#: commands/tablecmds.c:8725
 #, c-format
-msgid "relation \"%s\" is already in schema \"%s\""
-msgstr "la relation « %s » existe déjà dans le schéma « %s »"
+msgid "table is missing column \"%s\""
+msgstr "la colonne « %s » manque à la table"
 
-#: commands/tablecmds.c:7939
+#: commands/tablecmds.c:8735
+#, c-format
+msgid "table has column \"%s\" where type requires \"%s\""
+msgstr "la table a une colonne « %s » alors que le type impose « %s »."
+
+#: commands/tablecmds.c:8744
+#, c-format
+msgid "table \"%s\" has different type for column \"%s\""
+msgstr "la table « %s » a un type différent pour la colonne « %s »"
+
+#: commands/tablecmds.c:8757
+#, c-format
+msgid "table has extra column \"%s\""
+msgstr "la table a une colonne supplémentaire « %s »"
+
+#: commands/tablecmds.c:8804
+#, c-format
+msgid "\"%s\" is not a typed table"
+msgstr "« %s » n'est pas une table typée"
+
+#: commands/tablecmds.c:8973
+msgid "cannot move an owned sequence into another schema"
+msgstr "ne peut pas déplacer une séquence OWNED BY dans un autre schéma"
+
+#: commands/tablecmds.c:9049
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "la relation « %s » existe déjà dans le schéma « %s »"
 
-#: commands/tablespace.c:157
-#: commands/tablespace.c:174
-#: commands/tablespace.c:185
-#: commands/tablespace.c:193
-#: commands/tablespace.c:598
+#: commands/tablespace.c:158
+#: commands/tablespace.c:175
+#: commands/tablespace.c:186
+#: commands/tablespace.c:194
+#: commands/tablespace.c:603
 #: storage/file/copydir.c:61
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "n'a pas pu créer le répertoire « %s » : %m"
 
-#: commands/tablespace.c:204
+#: commands/tablespace.c:205
 #, c-format
 msgid "could not stat directory \"%s\": %m"
 msgstr "n'a pas pu lire les informations sur le répertoire « %s » : %m"
 
-#: commands/tablespace.c:213
+#: commands/tablespace.c:214
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "« %s » existe mais n'est pas un répertoire"
 
-#: commands/tablespace.c:243
+#: commands/tablespace.c:244
 #, c-format
 msgid "permission denied to create tablespace \"%s\""
 msgstr "droit refusé pour créer le tablespace « %s »"
 
-#: commands/tablespace.c:245
+#: commands/tablespace.c:246
 msgid "Must be superuser to create a tablespace."
 msgstr "Doit être super-utilisateur pour créer un tablespace."
 
-#: commands/tablespace.c:261
+#: commands/tablespace.c:262
 msgid "tablespace location cannot contain single quotes"
 msgstr "le chemin du tablespace ne peut pas contenir de guillemets simples"
 
-#: commands/tablespace.c:271
+#: commands/tablespace.c:272
 msgid "tablespace location must be an absolute path"
 msgstr "le chemin du tablespace doit être un chemin absolu"
 
-#: commands/tablespace.c:282
+#: commands/tablespace.c:283
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "le chemin du tablespace « %s » est trop long"
 
-#: commands/tablespace.c:292
-#: commands/tablespace.c:824
+#: commands/tablespace.c:293
+#: commands/tablespace.c:829
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "nom inacceptable pour le tablespace « %s »"
 
-#: commands/tablespace.c:294
-#: commands/tablespace.c:825
+#: commands/tablespace.c:295
+#: commands/tablespace.c:830
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "Le préfixe « pg_ » est réservé pour les tablespaces système."
 
-#: commands/tablespace.c:304
-#: commands/tablespace.c:837
+#: commands/tablespace.c:305
+#: commands/tablespace.c:842
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "le tablespace « %s » existe déjà"
 
-#: commands/tablespace.c:372
-#: commands/tablespace.c:524
+#: commands/tablespace.c:377
+#: commands/tablespace.c:529
 msgid "tablespaces are not supported on this platform"
 msgstr "les tablespaces ne sont pas supportés sur cette plateforme"
 
-#: commands/tablespace.c:416
+#: commands/tablespace.c:415
+#: commands/tablespace.c:813
+#: commands/tablespace.c:880
+#: commands/tablespace.c:985
+#: commands/tablespace.c:1358
+#, c-format
+msgid "tablespace \"%s\" does not exist"
+msgstr "le tablespace « %s » n'existe pas"
+
+#: commands/tablespace.c:421
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "le tablespace « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablespace.c:481
+#: commands/tablespace.c:486
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "le tablespace « %s » n'est pas vide"
 
-#: commands/tablespace.c:555
+#: commands/tablespace.c:560
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "le répertoire « %s » n'existe pas"
 
-#: commands/tablespace.c:556
-#, c-format
-msgid "Create directory \"%s\" for this tablespace before restarting the server."
-msgstr "Créer le répertoire « %s » pour ce tablespace avant de redémarrer le serveur."
-
 #: commands/tablespace.c:561
+msgid "Create this directory for the tablespace before restarting the server."
+msgstr "Créer le répertoire pour ce tablespace avant de redémarrer le serveur."
+
+#: commands/tablespace.c:566
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "n'a pas pu configurer les droits du répertoire « %s » : %m"
 
-#: commands/tablespace.c:593
+#: commands/tablespace.c:598
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "répertoire « %s » déjà en cours d'utilisation"
 
-#: commands/tablespace.c:608
-#: commands/tablespace.c:745
+#: commands/tablespace.c:613
+#: commands/tablespace.c:750
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "n'a pas pu supprimer le lien symbolique « %s » : %m"
 
-#: commands/tablespace.c:618
+#: commands/tablespace.c:623
 #, 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:679
+#: commands/tablespace.c:684
 #: storage/file/copydir.c:67
 #: storage/file/copydir.c:106
-#: storage/file/fd.c:1600
-#: postmaster/postmaster.c:1142
-#: utils/adt/genfile.c:244
+#: storage/file/fd.c:1624
+#: postmaster/postmaster.c:1165
+#: utils/adt/genfile.c:353
 #: utils/adt/misc.c:213
-#: utils/misc/tzparser.c:345
+#: utils/misc/tzparser.c:323
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire « %s » : %m"
 
-#: commands/tablespace.c:709
-#: commands/tablespace.c:721
-#: commands/tablespace.c:737
+#: commands/tablespace.c:714
+#: commands/tablespace.c:726
+#: commands/tablespace.c:742
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "n'a pas pu supprimer le répertoire « %s » : %m"
 
-#: commands/tablespace.c:1421
+#: commands/tablespace.c:1039
+#, c-format
+msgid "Tablespace \"%s\" does not exist."
+msgstr "Le tablespace « %s » n'existe pas."
+
+#: commands/tablespace.c:1450
 #, c-format
 msgid "tablespace %u is not empty"
 msgstr "le tablespace %u n'est pas vide"
 
-#: commands/trigger.c:192
+#: commands/trigger.c:166
+#, c-format
+msgid "\"%s\" is a table"
+msgstr "« %s » est une table"
+
+#: commands/trigger.c:168
+msgid "Tables cannot have INSTEAD OF triggers."
+msgstr "Les tables ne peuvent pas avoir de triggers INSTEAD OF."
+
+#: commands/trigger.c:179
+#: commands/trigger.c:186
+#, c-format
+msgid "\"%s\" is a view"
+msgstr "« %s » est une vue"
+
+#: commands/trigger.c:181
+msgid "Views cannot have row-level BEFORE or AFTER triggers."
+msgstr "Les vues ne peuvent pas avoir de trigger BEFORE ou AFTER au niveau ligne."
+
+#: commands/trigger.c:188
+msgid "Views cannot have TRUNCATE triggers."
+msgstr "Les vues ne peuvent pas avoir de triggers TRUNCATE."
+
+#: commands/trigger.c:235
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "les triggers TRUNCATE FOR EACH ROW ne sont pas supportés"
 
-#: commands/trigger.c:233
+#: commands/trigger.c:243
+msgid "INSTEAD OF triggers must be FOR EACH ROW"
+msgstr "les triggers INSTEAD OF doivent être FOR EACH ROW"
+
+#: commands/trigger.c:247
+msgid "INSTEAD OF triggers cannot have WHEN conditions"
+msgstr "les triggers INSTEAD OF ne peuvent pas avoir de conditions WHEN"
+
+#: commands/trigger.c:251
+msgid "INSTEAD OF triggers cannot have column lists"
+msgstr "les triggers INSTEAD OF ne peuvent pas avoir de liste de colonnes"
+
+#: commands/trigger.c:295
 msgid "cannot use subquery in trigger WHEN condition"
 msgstr "ne peut pas utiliser une sous-requête dans la condition WHEN d'un trigger"
 
-#: commands/trigger.c:237
+#: commands/trigger.c:299
 msgid "cannot use aggregate function in trigger WHEN condition"
 msgstr "ne peut pas utiliser la fonction d'agrégat dans la condition WHEN d'un trigger"
 
-#: commands/trigger.c:241
+#: commands/trigger.c:303
 msgid "cannot use window function in trigger WHEN condition"
 msgstr "ne peut pas utiliser la fonction window dans la condition WHEN d'un trigger"
 
-#: commands/trigger.c:261
-#: commands/trigger.c:274
+#: commands/trigger.c:323
+#: commands/trigger.c:336
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr ""
 "la condition WHEN de l'instruction du trigger ne peut pas référencer les valeurs\n"
 "des colonnes"
 
-#: commands/trigger.c:266
+#: commands/trigger.c:328
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "la condition WHEN du trigger INSERT ne peut pas référencer les valeurs OLD"
 
-#: commands/trigger.c:279
+#: commands/trigger.c:341
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "la condition WHEN du trigger DELETE ne peut pas référencer les valeurs NEW"
 
-#: commands/trigger.c:284
+#: commands/trigger.c:346
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr ""
 "la condition WHEN d'un trigger BEFORE ne doit pas référencer les colonnes\n"
 "système avec NEW"
 
-#: commands/trigger.c:322
+#: commands/trigger.c:384
 #, 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:329
+#: commands/trigger.c:391
 #, c-format
 msgid "function %s must return type \"trigger\""
 msgstr "la fonction %s doit renvoyer le type « trigger »"
 
-#: commands/trigger.c:438
-#: commands/trigger.c:1152
+#: commands/trigger.c:501
+#: commands/trigger.c:1240
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "le trigger « %s » de la relation « %s » existe déjà"
 
-#: commands/trigger.c:719
+#: commands/trigger.c:786
 msgid "Found referenced table's UPDATE trigger."
 msgstr "Trigger UPDATE de la table référencée trouvé."
 
-#: commands/trigger.c:720
+#: commands/trigger.c:787
 msgid "Found referenced table's DELETE trigger."
 msgstr "Trigger DELETE de la table référencée trouvé."
 
-#: commands/trigger.c:721
+#: commands/trigger.c:788
 msgid "Found referencing table's trigger."
 msgstr "Trigger de la table référencée trouvé."
 
-#: commands/trigger.c:830
-#: commands/trigger.c:846
+#: commands/trigger.c:897
+#: commands/trigger.c:913
 #, c-format
 msgid "ignoring incomplete trigger group for constraint \"%s\" %s"
 msgstr "ignore le groupe de trigger incomplet pour la contrainte « %s » %s"
 
-#: commands/trigger.c:858
+#: commands/trigger.c:925
 #, c-format
 msgid "converting trigger group into constraint \"%s\" %s"
 msgstr "conversion du groupe de trigger en une contrainte « %s » %s"
 
-#: commands/trigger.c:998
+#: commands/trigger.c:1039
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist, skipping"
 msgstr "le trigger « %s » pour la table « %s » n'existe pas, poursuite du traitement"
 
-#: commands/trigger.c:1273
+#: commands/trigger.c:1169
+#: commands/trigger.c:1282
+#: commands/trigger.c:1393
+#, c-format
+msgid "trigger \"%s\" for table \"%s\" does not exist"
+msgstr "le trigger « %s » de la table « %s » n'existe pas"
+
+#: commands/trigger.c:1361
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "droit refusé : « %s » est un trigger système"
 
-#: commands/trigger.c:1848
+#: commands/trigger.c:1843
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "la fonction trigger %u a renvoyé la valeur NULL"
 
-#: commands/trigger.c:1908
-#: commands/trigger.c:2023
-#: commands/trigger.c:2160
-#: commands/trigger.c:2335
+#: commands/trigger.c:1902
+#: commands/trigger.c:2101
+#: commands/trigger.c:2285
+#: commands/trigger.c:2527
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "le trigger BEFORE STATEMENT ne peut pas renvoyer une valeur"
 
-#: commands/trigger.c:2397
-#: executor/execMain.c:1613
+#: commands/trigger.c:2589
+#: executor/execMain.c:1863
 #: executor/nodeLockRows.c:137
-#: executor/nodeModifyTable.c:334
-#: executor/nodeModifyTable.c:505
+#: executor/nodeModifyTable.c:366
+#: executor/nodeModifyTable.c:582
 msgid "could not serialize access due to concurrent update"
 msgstr "n'a pas pu sérialiser un accès à cause d'une mise à jour en parallèle"
 
-#: commands/trigger.c:4012
+#: commands/trigger.c:4204
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "la contrainte « %s » n'est pas DEFERRABLE"
 
-#: commands/trigger.c:4035
+#: commands/trigger.c:4227
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "la contrainte « %s » n'existe pas"
 
-#: commands/tsearchcmds.c:109
-#: commands/tsearchcmds.c:929
+#: commands/tsearchcmds.c:117
+#: commands/tsearchcmds.c:1044
 #, c-format
 msgid "function %s should return type %s"
 msgstr "la fonction %s doit renvoyer le type %s"
 
-#: commands/tsearchcmds.c:178
+#: commands/tsearchcmds.c:189
 msgid "must be superuser to create text search parsers"
 msgstr "doit être super-utilisateur pour créer des analyseurs de recherche plein texte"
 
-#: commands/tsearchcmds.c:226
+#: commands/tsearchcmds.c:237
 #, c-format
 msgid "text search parser parameter \"%s\" not recognized"
 msgstr "paramètre de l'analyseur de recherche plein texte « %s » non reconnu"
 
-#: commands/tsearchcmds.c:236
+#: commands/tsearchcmds.c:247
 msgid "text search parser start method is required"
 msgstr "la méthode start de l'analyseur de recherche plein texte est requise"
 
-#: commands/tsearchcmds.c:241
+#: commands/tsearchcmds.c:252
 msgid "text search parser gettoken method is required"
 msgstr "la méthode gettoken de l'analyseur de recherche plein texte est requise"
 
-#: commands/tsearchcmds.c:246
+#: commands/tsearchcmds.c:257
 msgid "text search parser end method is required"
 msgstr "la méthode end l'analyseur de recherche de texte est requise"
 
-#: commands/tsearchcmds.c:251
+#: commands/tsearchcmds.c:262
 msgid "text search parser lextypes method is required"
 msgstr "la méthode lextypes de l'analyseur de recherche plein texte est requise"
 
-#: commands/tsearchcmds.c:283
+#: commands/tsearchcmds.c:297
 msgid "must be superuser to drop text search parsers"
 msgstr ""
 "doit être super-utilisateur pour supprimer des analyseurs de recherche plein\n"
 "texte"
 
-#: commands/tsearchcmds.c:312
+#: commands/tsearchcmds.c:326
 #, c-format
 msgid "text search parser \"%s\" does not exist, skipping"
 msgstr ""
 "l'analyseur de recherche plein texte « %s » n'existe pas, poursuite du\n"
 "traitement"
 
-#: commands/tsearchcmds.c:367
+#: commands/tsearchcmds.c:381
 msgid "must be superuser to rename text search parsers"
 msgstr ""
 "doit être super-utilisateur pour renommer les analyseurs de recherche plein\n"
 "texte"
 
-#: commands/tsearchcmds.c:385
+#: commands/tsearchcmds.c:399
 #, c-format
 msgid "text search parser \"%s\" already exists"
 msgstr "l'analyseur de recherche plein texte « %s » existe déjà"
 
-#: commands/tsearchcmds.c:462
+#: commands/tsearchcmds.c:525
 #, c-format
 msgid "text search template \"%s\" does not accept options"
 msgstr "le modèle de recherche plein texte « %s » n'accepte pas d'options"
 
-#: commands/tsearchcmds.c:535
+#: commands/tsearchcmds.c:598
 msgid "text search template is required"
 msgstr "le modèle de la recherche plein texte est requis"
 
-#: commands/tsearchcmds.c:600
+#: commands/tsearchcmds.c:667
 #, c-format
 msgid "text search dictionary \"%s\" already exists"
 msgstr "le dictionnaire de recherche plein texte « %s » existe déjà"
 
-#: commands/tsearchcmds.c:660
+#: commands/tsearchcmds.c:775
 #, c-format
 msgid "text search dictionary \"%s\" does not exist, skipping"
 msgstr ""
 "le dictionnaire de recherche plein texte « %s » n'existe pas, poursuite du\n"
 "traitement"
 
-#: commands/tsearchcmds.c:990
+#: commands/tsearchcmds.c:1108
 msgid "must be superuser to create text search templates"
 msgstr "doit être super-utilisateur pour créer des modèles de recherche plein texte"
 
-#: commands/tsearchcmds.c:1027
+#: commands/tsearchcmds.c:1145
 #, c-format
 msgid "text search template parameter \"%s\" not recognized"
 msgstr "paramètre de modèle de recherche plein texte « %s » non reconnu"
 
-#: commands/tsearchcmds.c:1037
+#: commands/tsearchcmds.c:1155
 msgid "text search template lexize method is required"
 msgstr "la méthode lexize du modèle de recherche plein texte est requise"
 
-#: commands/tsearchcmds.c:1072
+#: commands/tsearchcmds.c:1193
 msgid "must be superuser to rename text search templates"
 msgstr "doit être super-utilisateur pour renommer les modèles de recherche plein texte"
 
-#: commands/tsearchcmds.c:1091
+#: commands/tsearchcmds.c:1212
 #, c-format
 msgid "text search template \"%s\" already exists"
 msgstr "le modèle de recherche plein texte « %s » existe déjà"
 
-#: commands/tsearchcmds.c:1114
+#: commands/tsearchcmds.c:1281
 msgid "must be superuser to drop text search templates"
 msgstr "doit être super-utilisateur pour supprimer des modèles de recherche plein texte"
 
-#: commands/tsearchcmds.c:1143
+#: commands/tsearchcmds.c:1310
 #, c-format
 msgid "text search template \"%s\" does not exist, skipping"
 msgstr "le modèle de recherche plein texte « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tsearchcmds.c:1338
+#: commands/tsearchcmds.c:1509
 #, c-format
 msgid "text search configuration parameter \"%s\" not recognized"
 msgstr "paramètre de configuration de recherche plein texte « %s » non reconnu"
 
-#: commands/tsearchcmds.c:1345
+#: commands/tsearchcmds.c:1516
 msgid "cannot specify both PARSER and COPY options"
 msgstr "ne peut pas spécifier à la fois PARSER et COPY"
 
-#: commands/tsearchcmds.c:1373
+#: commands/tsearchcmds.c:1544
 msgid "text search parser is required"
 msgstr "l'analyseur de la recherche plein texte est requis"
 
-#: commands/tsearchcmds.c:1479
+#: commands/tsearchcmds.c:1653
 #, c-format
 msgid "text search configuration \"%s\" already exists"
 msgstr "la configuration de recherche plein texte « %s » existe déjà"
 
-#: commands/tsearchcmds.c:1538
+#: commands/tsearchcmds.c:1760
 #, c-format
 msgid "text search configuration \"%s\" does not exist, skipping"
 msgstr ""
 "la configuration de recherche plein texte « %s » n'existe pas, poursuite du\n"
 "traitement"
 
-#: commands/tsearchcmds.c:1760
+#: commands/tsearchcmds.c:1982
 #, c-format
 msgid "token type \"%s\" does not exist"
 msgstr "le type de jeton « %s » n'existe pas"
 
-#: commands/tsearchcmds.c:1984
+#: commands/tsearchcmds.c:2204
 #, c-format
 msgid "mapping for token type \"%s\" does not exist"
 msgstr "la correspondance pour le type de jeton « %s » n'existe pas"
 
-#: commands/tsearchcmds.c:1990
+#: commands/tsearchcmds.c:2210
 #, c-format
 msgid "mapping for token type \"%s\" does not exist, skipping"
 msgstr ""
 "la correspondance pour le type de jeton « %s » n'existe pas, poursuite du\n"
 "traitement"
 
-#: commands/tsearchcmds.c:2143
-#: commands/tsearchcmds.c:2254
+#: commands/tsearchcmds.c:2363
+#: commands/tsearchcmds.c:2474
 #, c-format
 msgid "invalid parameter list format: \"%s\""
 msgstr "format de liste de paramètres invalide : « %s »"
 
-#: commands/typecmds.c:163
+#: commands/typecmds.c:169
 msgid "must be superuser to create a base type"
 msgstr "doit être super-utilisateur pour créer un type de base"
 
-#: commands/typecmds.c:267
+#: commands/typecmds.c:275
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "attribut du type « %s » non reconnu"
 
-#: commands/typecmds.c:321
+#: commands/typecmds.c:329
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "catégorie de type « %s » invalide : doit être de l'ASCII pur"
 
-#: commands/typecmds.c:340
+#: commands/typecmds.c:348
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "le type d'élément tableau ne peut pas être %s"
 
-#: commands/typecmds.c:372
+#: commands/typecmds.c:380
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "alignement « %s » non reconnu"
 
-#: commands/typecmds.c:389
+#: commands/typecmds.c:397
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "stockage « %s » non reconnu"
 
-#: commands/typecmds.c:398
+#: commands/typecmds.c:408
 msgid "type input function must be specified"
 msgstr "le type d'entrée de la fonction doit être spécifié"
 
-#: commands/typecmds.c:402
+#: commands/typecmds.c:412
 msgid "type output function must be specified"
 msgstr "le type de sortie de la fonction doit être spécifié"
 
-#: commands/typecmds.c:407
+#: commands/typecmds.c:417
 msgid "type modifier output function is useless without a type modifier input function"
 msgstr ""
 "la fonction en sortie du modificateur de type est inutile sans une fonction\n"
 "en entrée du modificateur de type"
 
-#: commands/typecmds.c:430
+#: commands/typecmds.c:440
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to %s"
 msgstr "changement du type de retour de la fonction %s d'« opaque » vers %s"
 
-#: commands/typecmds.c:437
+#: commands/typecmds.c:447
 #, 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:447
+#: commands/typecmds.c:457
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"cstring\""
 msgstr "changement du type de retour de la fonction %s d'« opaque » vers « cstring »"
 
-#: commands/typecmds.c:454
+#: commands/typecmds.c:464
 #, c-format
 msgid "type output function %s must return type \"cstring\""
 msgstr "le type de sortie de la fonction %s doit être « cstring »"
 
-#: commands/typecmds.c:463
+#: commands/typecmds.c:473
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "la fonction receive du type %s doit renvoyer le type %s"
 
-#: commands/typecmds.c:472
+#: commands/typecmds.c:482
 #, c-format
 msgid "type send function %s must return type \"bytea\""
 msgstr "la fonction send du type %s doit renvoyer le type « bytea »"
 
-#: commands/typecmds.c:677
-#: commands/typecmds.c:2205
+#: commands/typecmds.c:687
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "« %s » n'est pas un domaine"
 
-#: commands/typecmds.c:816
+#: commands/typecmds.c:827
 #, 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:885
+#: commands/typecmds.c:909
 msgid "multiple default expressions"
 msgstr "multiples expressions par défaut"
 
-#: commands/typecmds.c:949
-#: commands/typecmds.c:958
+#: commands/typecmds.c:973
+#: commands/typecmds.c:982
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "contraintes NULL/NOT NULL en conflit"
 
-#: commands/typecmds.c:977
-#: commands/typecmds.c:1902
+#: commands/typecmds.c:1001
+#: commands/typecmds.c:1983
 msgid "unique constraints not possible for domains"
 msgstr "contraintes uniques impossible pour les domaines"
 
-#: commands/typecmds.c:983
-#: commands/typecmds.c:1908
+#: commands/typecmds.c:1007
+#: commands/typecmds.c:1989
 msgid "primary key constraints not possible for domains"
 msgstr "contraintes de clé primaire impossible pour les domaines"
 
-#: commands/typecmds.c:989
-#: commands/typecmds.c:1914
+#: commands/typecmds.c:1013
+#: commands/typecmds.c:1995
 msgid "exclusion constraints not possible for domains"
 msgstr "contraintes d'exclusion impossible pour les domaines"
 
-#: commands/typecmds.c:995
-#: commands/typecmds.c:1920
+#: commands/typecmds.c:1019
+#: commands/typecmds.c:2001
 msgid "foreign key constraints not possible for domains"
 msgstr "contraintes de clé étrangère impossible pour les domaines"
 
-#: commands/typecmds.c:1004
-#: commands/typecmds.c:1929
+#: commands/typecmds.c:1028
+#: commands/typecmds.c:2010
 msgid "specifying constraint deferrability not supported for domains"
 msgstr "spécifier des contraintes déferrantes n'est pas supporté par les domaines"
 
-#: commands/typecmds.c:1251
+#: commands/typecmds.c:1272
+#: utils/cache/typcache.c:996
+#, c-format
+msgid "%s is not an enum"
+msgstr "%s n'est pas un enum"
+
+#: commands/typecmds.c:1332
 #, 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:1302
+#: commands/typecmds.c:1383
 #, 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:1401
+#: commands/typecmds.c:1482
 #, c-format
 msgid "typmod_in function %s must return type \"integer\""
 msgstr "la fonction typmod_in %s doit renvoyer le type « entier »"
 
-#: commands/typecmds.c:1428
+#: commands/typecmds.c:1509
 #, c-format
 msgid "typmod_out function %s must return type \"cstring\""
 msgstr "la fonction typmod_out %s doit renvoyer le type « cstring »"
 
-#: commands/typecmds.c:1455
+#: commands/typecmds.c:1536
 #, c-format
 msgid "type analyze function %s must return type \"boolean\""
 msgstr "la fonction analyze du type %s doit renvoyer le type « boolean »"
 
-#: commands/typecmds.c:1513
-msgid "composite type must have at least one attribute"
-msgstr "le type composite doit avoir au moins un attribut"
-
-#: commands/typecmds.c:1754
+#: commands/typecmds.c:1835
 #, 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:2000
+#: commands/typecmds.c:2081
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr ""
 "la colonne « %s » de la table « %s » contient des valeurs violant la\n"
 "nouvelle contrainte"
 
-#: commands/typecmds.c:2281
-#: commands/typecmds.c:2290
+#: commands/typecmds.c:2286
+#, c-format
+msgid "%s is not a domain"
+msgstr "%s n'est pas un domaine"
+
+#: commands/typecmds.c:2368
+#: commands/typecmds.c:2377
 msgid "cannot use table references in domain check constraint"
 msgstr ""
 "ne peut pas utiliser les références de table dans la contrainte de\n"
 "vérification du domaine"
 
-#: commands/typecmds.c:2519
-#: commands/typecmds.c:2591
-#: commands/typecmds.c:2822
+#: commands/typecmds.c:2607
+#: commands/typecmds.c:2679
+#: commands/typecmds.c:2903
 #, c-format
 msgid "%s is a table's row type"
 msgstr "« %s » est du type ligne de table"
 
-#: commands/typecmds.c:2521
-#: commands/typecmds.c:2593
-#: commands/typecmds.c:2824
+#: commands/typecmds.c:2609
+#: commands/typecmds.c:2681
+#: commands/typecmds.c:2905
 msgid "Use ALTER TABLE instead."
 msgstr "Utilisez ALTER TABLE à la place."
 
-#: commands/typecmds.c:2528
-#: commands/typecmds.c:2600
-#: commands/typecmds.c:2739
+#: commands/typecmds.c:2616
+#: commands/typecmds.c:2688
+#: commands/typecmds.c:2834
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "ne peut pas modifier le type array %s"
 
-#: commands/typecmds.c:2530
-#: commands/typecmds.c:2602
-#: commands/typecmds.c:2741
+#: commands/typecmds.c:2618
+#: commands/typecmds.c:2690
+#: commands/typecmds.c:2836
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "Vous pouvez modifier le type %s, ce qui va modifier aussi le type tableau."
 
-#: commands/typecmds.c:2786
-#, 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:2808
+#: commands/typecmds.c:2889
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "le type « %s » existe déjà dans le schéma « %s »"
 
-#: commands/user.c:150
-msgid "SYSID can no longer be specified"
-msgstr "SYSID ne peut plus être spécifié"
-
-#: commands/user.c:272
-msgid "must be superuser to create superusers"
-msgstr "doit être super-utilisateur pour créer des super-utilisateurs"
-
-#: commands/user.c:279
-msgid "permission denied to create role"
-msgstr "droit refusé pour créer un rôle"
-
-#: commands/user.c:286
-#: commands/user.c:1033
-#, c-format
-msgid "role name \"%s\" is reserved"
-msgstr "le nom du rôle « %s » est réservé"
-
-#: commands/user.c:300
-#: commands/user.c:1027
-#, c-format
-msgid "role \"%s\" already exists"
-msgstr "le rôle « %s » existe déjà"
-
-#: commands/user.c:579
-#: commands/user.c:767
-#: commands/user.c:851
-#: commands/user.c:1002
-#: commands/variable.c:735
-#: commands/variable.c:849
-#: utils/cache/lsyscache.c:2669
-#: utils/init/miscinit.c:413
-#, c-format
-msgid "role \"%s\" does not exist"
-msgstr "le rôle « %s » n'existe pas"
-
-#: commands/user.c:592
-#: commands/user.c:784
-#: commands/user.c:1267
-#: commands/user.c:1404
-msgid "must be superuser to alter superusers"
-msgstr "doit être super-utilisateur pour modifier des super-utilisateurs"
-
-#: commands/user.c:607
-#: commands/user.c:792
-msgid "permission denied"
-msgstr "droit refusé"
-
-#: commands/user.c:802
-#, c-format
-msgid "database \"%s\" not found"
-msgstr "base de données « %s » non trouvée"
-
-#: commands/user.c:824
-msgid "permission denied to drop role"
-msgstr "droit refusé pour supprimer le rôle"
-
-#: commands/user.c:856
-#, c-format
-msgid "role \"%s\" does not exist, skipping"
-msgstr "le rôle « %s » n'existe pas, poursuite du traitement"
-
-#: commands/user.c:868
-#: commands/user.c:872
-msgid "current user cannot be dropped"
-msgstr "l'utilisateur actuel ne peut pas être supprimé"
-
-#: commands/user.c:876
-msgid "session user cannot be dropped"
-msgstr "l'utilisateur de la session ne peut pas être supprimé"
-
-#: commands/user.c:887
-msgid "must be superuser to drop superusers"
-msgstr "doit être super-utilisateur pour supprimer des super-utilisateurs"
-
-#: commands/user.c:900
-#, c-format
-msgid "role \"%s\" cannot be dropped because some objects depend on it"
-msgstr "le rôle « %s » ne peut pas être supprimé car d'autres objets en dépendent"
-
-#: commands/user.c:1017
-msgid "session user cannot be renamed"
-msgstr "l'utilisateur de la session ne peut pas être renommé"
-
-#: commands/user.c:1021
-msgid "current user cannot be renamed"
-msgstr "l'utilisateur courant ne peut pas être renommé"
-
-#: commands/user.c:1044
-msgid "must be superuser to rename superusers"
-msgstr "doit être super-utilisateur pour renommer les super-utilisateurs"
-
-#: commands/user.c:1051
-msgid "permission denied to rename role"
-msgstr "droit refusé pour renommer le rôle"
-
-#: commands/user.c:1072
-msgid "MD5 password cleared because of role rename"
-msgstr "mot de passe MD5 effacé à cause du renommage du rôle"
-
-#: commands/user.c:1128
-msgid "column names cannot be included in GRANT/REVOKE ROLE"
-msgstr "les noms de colonne ne peuvent pas être inclus dans GRANT/REVOKE ROLE"
-
-#: commands/user.c:1166
-msgid "permission denied to drop objects"
-msgstr "droit refusé pour supprimer les objets"
-
-#: commands/user.c:1193
-#: commands/user.c:1202
-msgid "permission denied to reassign objects"
-msgstr "droit refusé pour ré-affecter les objets"
-
-#: commands/user.c:1275
-#: commands/user.c:1412
-#, c-format
-msgid "must have admin option on role \"%s\""
-msgstr "doit avoir l'option admin sur le rôle « %s »"
-
-#: commands/user.c:1283
-msgid "must be superuser to set grantor"
-msgstr "doit être super-utilisateur pour configurer le « donneur de droits »"
-
-#: commands/user.c:1308
-#, c-format
-msgid "role \"%s\" is a member of role \"%s\""
-msgstr "le rôle « %s » est un membre du rôle « %s »"
-
-#: commands/user.c:1323
-#, c-format
-msgid "role \"%s\" is already a member of role \"%s\""
-msgstr "le rôle « %s » est déjà un membre du rôle « %s »"
-
-#: commands/user.c:1434
-#, c-format
-msgid "role \"%s\" is not a member of role \"%s\""
-msgstr "le rôle « %s » n'est pas un membre du rôle « %s »"
-
-#: commands/vacuum.c:421
+#: commands/vacuum.c:419
 msgid "oldest xmin is far in the past"
 msgstr "le plus ancien xmin est loin dans le passé"
 
-#: commands/vacuum.c:422
+#: commands/vacuum.c:420
 msgid "Close open transactions soon to avoid wraparound problems."
 msgstr ""
 "Fermez les transactions ouvertes rapidement pour éviter des problèmes de\n"
 "réinitialisation."
 
-#: commands/vacuum.c:747
+#: commands/vacuum.c:809
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr ""
 "certaines bases de données n'ont pas eu droit à l'opération de maintenance\n"
 "VACUUM depuis plus de 2 milliards de transactions"
 
-#: commands/vacuum.c:748
+#: commands/vacuum.c:810
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr ""
 "Vous pouvez avoir déjà souffert de pertes de données suite à une\n"
 "réinitialisation de l'identifiant des transactions."
 
-#: commands/vacuum.c:873
+#: commands/vacuum.c:917
+#, c-format
+msgid "skipping vacuum of \"%s\" --- lock not available"
+msgstr "ignore le vacuum de « %s » --- verrou non disponible"
+
+#: commands/vacuum.c:943
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "ignore « %s » --- seul le super-utilisateur peut exécuter un VACUUM"
 
-#: commands/vacuum.c:877
+#: commands/vacuum.c:947
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
 msgstr ""
 "ignore « %s » --- seul le super-utilisateur ou le propriétaire de la base de données\n"
 "peuvent exécuter un VACUUM"
 
-#: commands/vacuum.c:881
+#: commands/vacuum.c:951
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr ""
 "ignore « %s » --- seul le propriétaire de la table ou de la base de données\n"
 "peut exécuter un VACUUM"
 
-#: commands/vacuum.c:898
+#: commands/vacuum.c:968
 #, c-format
-msgid "skipping \"%s\" --- cannot vacuum indexes, views, or special system tables"
+msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr ""
-"ignore « %s » --- n'a pas pu exécuter un VACUUM sur les index, vues ou\n"
-"tables système"
+"ignore « %s » --- n'a pas pu exécuter un VACUUM sur les objets autres que\n"
+"des tables et les tables systèmes"
 
-#: commands/vacuumlazy.c:234
+#: commands/vacuumlazy.c:230
 #, c-format
 msgid ""
 "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
@@ -7687,24 +8129,24 @@ msgstr ""
 "lignes : %.0f supprimés, %.0f restantes\n"
 "utilisation système : %s"
 
-#: commands/vacuumlazy.c:450
+#: commands/vacuumlazy.c:484
 #, c-format
 msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr "relation « %s » : la page %u n'est pas initialisée --- correction en cours"
 
-#: commands/vacuumlazy.c:801
+#: commands/vacuumlazy.c:841
 #, c-format
 msgid "\"%s\": removed %.0f row versions in %u pages"
 msgstr "« %s » : %.0f versions de ligne supprimées parmi %u pages"
 
-#: commands/vacuumlazy.c:806
+#: commands/vacuumlazy.c:846
 #, c-format
 msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u pages"
 msgstr ""
 "« %s » : %.0f versions de ligne supprimables, %.0f non supprimables\n"
 "parmi %u pages sur %u"
 
-#: commands/vacuumlazy.c:809
+#: commands/vacuumlazy.c:850
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -7717,29 +8159,29 @@ msgstr ""
 "%u pages sont entièrement vides.\n"
 "%s."
 
-#: commands/vacuumlazy.c:867
+#: commands/vacuumlazy.c:908
 #, c-format
 msgid "\"%s\": removed %d row versions in %d pages"
 msgstr "« %s »: %d versions de ligne supprimée parmi %d pages"
 
-#: commands/vacuumlazy.c:870
-#: commands/vacuumlazy.c:962
-#: commands/vacuumlazy.c:1087
+#: commands/vacuumlazy.c:911
+#: commands/vacuumlazy.c:1003
+#: commands/vacuumlazy.c:1136
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: commands/vacuumlazy.c:959
+#: commands/vacuumlazy.c:1000
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "a parcouru l'index « %s » pour supprimer %d versions de lignes"
 
-#: commands/vacuumlazy.c:1001
+#: commands/vacuumlazy.c:1041
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "l'index « %s » contient maintenant %.0f versions de ligne dans %u pages"
 
-#: commands/vacuumlazy.c:1005
+#: commands/vacuumlazy.c:1045
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -7750,424 +8192,714 @@ msgstr ""
 "%u pages d'index ont été supprimées, %u sont actuellement réutilisables.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1084
+#: commands/vacuumlazy.c:1133
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "« %s » : %u pages tronqués en %u"
 
-#: commands/variable.c:62
-msgid "invalid list syntax for parameter \"datestyle\""
-msgstr "syntaxe de liste invalide pour le paramètre « datestyle »"
-
-#: commands/variable.c:161
+#: commands/variable.c:160
+#: utils/misc/guc.c:8175
 #, c-format
-msgid "unrecognized \"datestyle\" key word: \"%s\""
-msgstr "mot clé « datestyle » non reconnu : « %s »"
+msgid "Unrecognized key word: \"%s\"."
+msgstr "Mot clé non reconnu : « %s »"
 
-#: commands/variable.c:175
-msgid "conflicting \"datestyle\" specifications"
-msgstr "spécifications « datestyle » conflictuelles"
+#: commands/variable.c:172
+msgid "Conflicting \"datestyle\" specifications."
+msgstr "Spécifications « datestyle » conflictuelles"
 
-#: commands/variable.c:285
-msgid "invalid interval value for time zone: month not allowed"
-msgstr "valeur d'intervalle invalide pour le fuseau horaire : les mois ne sont pas autorisés"
+#: commands/variable.c:328
+msgid "Cannot specify months in time zone interval."
+msgstr "Ne peut pas spécifier des mois dans un interval avec fuseau horaire."
 
-#: commands/variable.c:293
-msgid "invalid interval value for time zone: day not allowed"
-msgstr "valeur d'intervalle invalide pour le fuseau horaire : jour non autorisé"
-
-#: commands/variable.c:361
-#: commands/variable.c:493
-#, c-format
-msgid "unrecognized time zone name: \"%s\""
-msgstr "nom de fuseau horaire non reconnu : « %s »"
+#: commands/variable.c:334
+msgid "Cannot specify days in time zone interval."
+msgstr "Ne peut pas spécifier des jours dans un interval avec fuseau horaire."
 
-#: commands/variable.c:370
-#: commands/variable.c:502
+#: commands/variable.c:378
+#: commands/variable.c:517
 #, c-format
 msgid "time zone \"%s\" appears to use leap seconds"
 msgstr "le fuseau horaire « %s » semble utiliser les secondes « leap »"
 
-#: commands/variable.c:372
-#: commands/variable.c:504
+#: commands/variable.c:380
+#: commands/variable.c:519
 msgid "PostgreSQL does not support leap seconds."
 msgstr "PostgreSQL ne supporte pas les secondes « leap »."
 
-#: commands/variable.c:557
+#: commands/variable.c:582
+msgid "cannot set transaction read-write mode inside a read-only transaction"
+msgstr ""
+"ne peut pas initialiser le mode lecture-écriture de la transaction à\n"
+"l'intérieur d'une transaction en lecture seule"
+
+#: commands/variable.c:589
+msgid "transaction read-write mode must be set before any query"
+msgstr ""
+"le mode de transaction lecture/écriture doit être configuré avant d'exécuter\n"
+"la première requête"
+
+#: commands/variable.c:595
+msgid "cannot set transaction read-write mode during recovery"
+msgstr ""
+"ne peut pas initialiser le mode lecture-écriture des transactions lors de la\n"
+"restauration"
+
+#: commands/variable.c:642
 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:566
+#: commands/variable.c:649
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr ""
 "SET TRANSACTION ISOLATION LEVEL ne doit pas être appelé dans une\n"
 "sous-transaction"
 
-#: commands/variable.c:665
-#: utils/mb/mbutils.c:241
+#: commands/variable.c:655
+msgid "cannot use serializable mode in a hot standby"
+msgstr "ne peut pas utiliser le mode sérialisable sur un serveur en « Hot Standby »"
+
+#: commands/variable.c:656
+msgid "You can use REPEATABLE READ instead."
+msgstr "Vous pouvez utiliser REPEATABLE READ à la place."
+
+#: commands/variable.c:704
+msgid "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction"
+msgstr ""
+"SET TRANSACTION [NOT] DEFERRABLE ne doit pas être appelé dans une\n"
+"sous-transaction"
+
+#: commands/variable.c:710
+msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query"
+msgstr "SET TRANSACTION [NOT] DEFERRABLE doit être appelé avant toute requête"
+
+#: commands/variable.c:792
 #, c-format
-msgid "conversion between %s and %s is not supported"
-msgstr "la conversion entre %s et %s n'est pas supportée"
+msgid "Conversion between %s and %s is not supported."
+msgstr "La conversion entre %s et %s n'est pas supportée."
 
-#: commands/variable.c:865
+#: commands/variable.c:799
+msgid "Cannot change \"client_encoding\" now."
+msgstr "Ne peut pas modifier « client_encoding » maintenant."
+
+#: commands/variable.c:969
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "droit refusé pour configurer le rôle « %s »"
 
-#: tcop/fastpath.c:110
-#: tcop/fastpath.c:492
-#: tcop/fastpath.c:622
+#: commands/view.c:143
 #, c-format
-msgid "invalid argument size %d in function call message"
-msgstr "taille de l'argument %d invalide dans le message d'appel de la fonction"
-
-#: tcop/fastpath.c:304
-#: tcop/postgres.c:957
-#: tcop/postgres.c:1267
-#: tcop/postgres.c:1548
-#: tcop/postgres.c:1990
-#: tcop/postgres.c:2358
-#: tcop/postgres.c:2439
-msgid "current transaction is aborted, commands ignored until end of transaction block"
+msgid "could not determine which collation to use for view column \"%s\""
 msgstr ""
-"la transaction est annulée, les commandes sont ignorées jusqu'à la fin du bloc\n"
-"de la transaction"
+"n'a pas pu déterminer le collationnement à utiliser pour la colonne « %s »\n"
+"de la vue"
 
-#: tcop/fastpath.c:332
-#, c-format
-msgid "fastpath function call: \"%s\" (OID %u)"
-msgstr "appel de fonction fastpath : « %s » (OID %u)"
+#: commands/view.c:158
+msgid "view must have at least one column"
+msgstr "la vue doit avoir au moins une colonne"
 
-#: tcop/fastpath.c:359
-#: parser/parse_func.c:1654
-msgid "argument to pg_get_expr() must come from system catalogs"
-msgstr "l'argument de pg_get_expr() doit provenir des catalogues systèmes"
+#: commands/view.c:284
+#: commands/view.c:296
+msgid "cannot drop columns from view"
+msgstr "ne peut pas supprimer les colonnes d'une vue"
 
-#: tcop/fastpath.c:418
-#: tcop/postgres.c:1127
-#: tcop/postgres.c:1414
-#: tcop/postgres.c:1831
-#: tcop/postgres.c:2048
+#: commands/view.c:301
 #, c-format
-msgid "duration: %s ms"
-msgstr "durée : %s ms"
+msgid "cannot change name of view column \"%s\" to \"%s\""
+msgstr "ne peut pas modifier le nom de la colonne « %s » de la vue en « %s »"
 
-#: tcop/fastpath.c:422
+#: commands/view.c:309
 #, c-format
-msgid "duration: %s ms  fastpath function call: \"%s\" (OID %u)"
-msgstr "durée : %s ms, appel de fonction fastpath : « %s » (OID %u)"
+msgid "cannot change data type of view column \"%s\" from %s to %s"
+msgstr "ne peut pas modifier le type de données de la colonne « %s » de la vue de %s à %s"
 
-#: tcop/fastpath.c:460
-#: tcop/fastpath.c:587
-#, c-format
-msgid "function call message contains %d arguments but function requires %d"
-msgstr ""
-"le message d'appel de la fonction contient %d arguments mais la fonction en\n"
-"requiert %d"
+#: commands/view.c:447
+msgid "views must not contain SELECT INTO"
+msgstr "les vues ne peuvent pas contenir SELECT INTO"
 
-#: tcop/fastpath.c:468
-#, c-format
-msgid "function call message contains %d argument formats but %d arguments"
-msgstr ""
-"le message d'appel de la fonction contient %d formats d'argument mais %d\n"
-" arguments"
+#: commands/view.c:451
+msgid "views must not contain data-modifying statements in WITH"
+msgstr "les vues ne peuvent pas contenir d'instructions de modifications de données avec WITH"
 
-#: tcop/fastpath.c:555
-#: tcop/fastpath.c:638
-#, c-format
-msgid "incorrect binary data format in function argument %d"
-msgstr "format des données binaires incorrect dans l'argument de la fonction %d"
+#: commands/view.c:479
+msgid "CREATE VIEW specifies more column names than columns"
+msgstr "CREATE VIEW spécifie plus de noms de colonnes que de colonnes"
 
-#: tcop/postgres.c:398
-#: tcop/postgres.c:410
-#: tcop/postgres.c:421
-#: tcop/postgres.c:433
-#: tcop/postgres.c:4156
+#: commands/view.c:496
 #, c-format
-msgid "invalid frontend message type %d"
-msgstr "type %d du message de l'interface invalide"
+msgid "view \"%s\" will be a temporary view"
+msgstr "la vue « %s » sera une vue temporaire"
+
+#: commands/view.c:504
+msgid "views cannot be unlogged because they do not have storage"
+msgstr "les vues ne peuvent pas être non tracées car elles n'ont pas de stockage"
+
+#: commands/seclabel.c:58
+msgid "no security label providers have been loaded"
+msgstr "aucun fournisseur de label de sécurité n'a été chargé"
 
-#: tcop/postgres.c:898
+#: commands/seclabel.c:62
+msgid "must specify provider when multiple security label providers have been loaded"
+msgstr "doit indiquer le fournisseur quand plusieurs fournisseurs de labels de sécurité sont chargés"
+
+#: commands/seclabel.c:80
 #, c-format
-msgid "statement: %s"
-msgstr "instruction : %s"
+msgid "security label provider \"%s\" is not loaded"
+msgstr "le fournisseur « %s » de label de sécurité n'est pas chargé"
 
-#: tcop/postgres.c:1132
+#: commands/extension.c:147
+#: commands/extension.c:2431
 #, c-format
-msgid "duration: %s ms  statement: %s"
-msgstr "durée : %s ms, instruction : %s"
+msgid "extension \"%s\" does not exist"
+msgstr "l'extension « %s » n'existe pas"
 
-#: tcop/postgres.c:1182
+#: commands/extension.c:246
+#: commands/extension.c:255
+#: commands/extension.c:267
+#: commands/extension.c:277
 #, c-format
-msgid "parse %s: %s"
-msgstr "analyse %s : %s"
+msgid "invalid extension name: \"%s\""
+msgstr "nom d'extension invalide : « %s »"
 
-#: tcop/postgres.c:1240
-msgid "cannot insert multiple commands into a prepared statement"
-msgstr "ne peut pas insérer les commandes multiples dans une instruction préparée"
+#: commands/extension.c:247
+msgid "Extension names must not be empty."
+msgstr "Les noms d'extension ne doivent pas être vides."
 
-#: tcop/postgres.c:1419
-#, c-format
-msgid "duration: %s ms  parse %s: %s"
-msgstr "durée : %s ms, analyse %s : %s"
+#: commands/extension.c:256
+msgid "Extension names must not contain \"--\"."
+msgstr "Les noms d'extension ne doivent pas contenir « -- »."
 
-#: tcop/postgres.c:1465
-#, c-format
-msgid "bind %s to %s"
-msgstr "lie %s à %s"
+#: commands/extension.c:268
+msgid "Extension names must not begin or end with \"-\"."
+msgstr "Les noms des extensions ne doivent pas commencer ou finir avec un tiret (« - »)."
 
-#: tcop/postgres.c:1484
-#: tcop/postgres.c:2338
-msgid "unnamed prepared statement does not exist"
-msgstr "l'instruction préparée non nommée n'existe pas"
+#: commands/extension.c:278
+msgid "Extension names must not contain directory separator characters."
+msgstr "Les noms des extensions ne doivent pas contenir des caractères séparateurs de répertoire."
 
-#: tcop/postgres.c:1526
+#: commands/extension.c:293
+#: commands/extension.c:302
+#: commands/extension.c:311
+#: commands/extension.c:321
 #, c-format
-msgid "bind message has %d parameter formats but %d parameters"
-msgstr "le message bind a %d formats de paramètres mais %d paramètres"
+msgid "invalid extension version name: \"%s\""
+msgstr "nom de version de l'extension invalide :  « %s »"
 
-#: tcop/postgres.c:1532
-#, c-format
-msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d"
+#: commands/extension.c:294
+msgid "Version names must not be empty."
+msgstr "Les noms de version ne doivent pas être vides."
+
+#: commands/extension.c:303
+msgid "Version names must not contain \"--\"."
+msgstr "Les noms de version ne doivent pas contenir « -- »."
+
+#: commands/extension.c:312
+msgid "Version names must not begin or end with \"-\"."
+msgstr "Les noms de version ne doivent ni commencer ni se terminer avec un tiret."
+
+#: commands/extension.c:322
+msgid "Version names must not contain directory separator characters."
 msgstr ""
-"le message bind fournit %d paramètres, mais l'instruction préparée « %s » en\n"
-"requiert %d"
+"Les noms de version ne doivent pas contenir de caractères séparateurs de\n"
+"répertoire."
 
-#: tcop/postgres.c:1697
+#: commands/extension.c:472
 #, c-format
-msgid "incorrect binary data format in bind parameter %d"
-msgstr "format des données binaires incorrect dans le paramètre bind %d"
+msgid "could not open extension control file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier de contrôle d'extension « %s » : %m"
 
-#: tcop/postgres.c:1836
+#: commands/extension.c:493
+#: commands/extension.c:503
+#, c-format
+msgid "parameter \"%s\" cannot be set in a secondary extension control file"
+msgstr ""
+"le paramètre « %s » ne peut pas être configuré dans un fichier de contrôle\n"
+"secondaire de l'extension"
+
+#: commands/extension.c:542
+#, c-format
+msgid "\"%s\" is not a valid encoding name"
+msgstr "« %s » n'est pas un nom d'encodage valide"
+
+#: commands/extension.c:556
+#, c-format
+msgid "parameter \"%s\" must be a list of extension names"
+msgstr "l'argument « %s » doit être une liste de noms d'extension"
+
+#: commands/extension.c:563
+#, c-format
+msgid "unrecognized parameter \"%s\" in file \"%s\""
+msgstr "paramètre « %s » non reconnu dans le fichier « %s »"
+
+#: commands/extension.c:572
+msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
+msgstr "le paramètre « schema » ne peut pas être indiqué quand « relocatable » est vrai"
+
+#: commands/extension.c:724
+msgid "transaction control statements are not allowed within an extension script"
+msgstr ""
+"les instructions de contrôle des transactions ne sont pas autorisées dans un\n"
+"script d'extension"
+
+#: commands/extension.c:794
+#, c-format
+msgid "permission denied to create extension \"%s\""
+msgstr "droit refusé pour créer l'extension « %s »"
+
+#: commands/extension.c:796
+msgid "Must be superuser to create this extension."
+msgstr "Doit être super-utilisateur pour créer cette extension."
+
+#: commands/extension.c:800
+#, c-format
+msgid "permission denied to update extension \"%s\""
+msgstr "droit refusé pour mettre à jour l'extension « %s »"
+
+#: commands/extension.c:802
+msgid "Must be superuser to update this extension."
+msgstr "Doit être super-utilisateur pour mettre à jour cette extension."
+
+#: commands/extension.c:1082
+#, c-format
+msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
+msgstr "l'extension « %s » n'a pas de chemin de mise à jour pour aller de la version « %s » à la version « %s »"
+
+#: commands/extension.c:1209
+#, c-format
+msgid "extension \"%s\" already exists, skipping"
+msgstr "l'extension « %s » existe déjà, poursuite du traitement"
+
+#: commands/extension.c:1216
+#, c-format
+msgid "extension \"%s\" already exists"
+msgstr "l'extension « %s » existe déjà"
+
+#: commands/extension.c:1227
+msgid "nested CREATE EXTENSION is not supported"
+msgstr "CREATE EXTENSION imbriqué n'est pas supporté"
+
+#: commands/extension.c:1282
+#: commands/extension.c:2491
+msgid "version to install must be specified"
+msgstr "la version à installer doit être précisée"
+
+#: commands/extension.c:1299
+#, c-format
+msgid "FROM version must be different from installation target version \"%s\""
+msgstr "la version FROM doit être différente de la version cible d'installation « %s »"
+
+#: commands/extension.c:1354
+#, c-format
+msgid "extension \"%s\" must be installed in schema \"%s\""
+msgstr "l'extension « %s » doit être installée dans le schéma « %s »"
+
+#: commands/extension.c:1424
+#: commands/extension.c:2632
+#, c-format
+msgid "required extension \"%s\" is not installed"
+msgstr "l'extension « %s » requise n'est pas installée"
+
+#: commands/extension.c:1593
+#, c-format
+msgid "extension \"%s\" does not exist, skipping"
+msgstr "l'extension « %s » n'existe pas, poursuite du traitement"
+
+#: commands/extension.c:2101
+msgid "pg_extension_config_dump() can only be called from a SQL script executed by CREATE EXTENSION"
+msgstr ""
+"pg_extension_config_dump() peut seulement être appelé à partir d'un script SQL\n"
+"exécuté par CREATE EXTENSION"
+
+#: commands/extension.c:2113
+#, c-format
+msgid "OID %u does not refer to a table"
+msgstr "l'OID %u ne fait pas référence à une table"
+
+#: commands/extension.c:2118
+#, c-format
+msgid "table \"%s\" is not a member of the extension being created"
+msgstr "la table « %s » n'est pas un membre de l'extension en cours de création"
+
+#: commands/extension.c:2301
+#: commands/extension.c:2360
+#, c-format
+msgid "extension \"%s\" does not support SET SCHEMA"
+msgstr "l'extension « %s » ne supporte pas SET SCHEMA"
+
+#: commands/extension.c:2362
+#, c-format
+msgid "%s is not in the extension's schema \"%s\""
+msgstr "%s n'est pas dans le schéma « %s » de l'extension"
+
+#: commands/extension.c:2411
+msgid "nested ALTER EXTENSION is not supported"
+msgstr "un ALTER EXTENSION imbriqué n'est pas supporté"
+
+#: commands/extension.c:2502
+#, c-format
+msgid "version \"%s\" of extension \"%s\" is already installed"
+msgstr "la version « %s » de l'extension « %s » est déjà installée"
+
+#: commands/extension.c:2725
+#, c-format
+msgid "%s is already a member of extension \"%s\""
+msgstr "%s est déjà un membre de l'extension « %s »"
+
+#: commands/extension.c:2742
+#, c-format
+msgid "%s is not a member of extension \"%s\""
+msgstr "%s n'est pas un membre de l'extension « %s »"
+
+#: tcop/fastpath.c:109
+#: tcop/fastpath.c:485
+#: tcop/fastpath.c:615
+#, c-format
+msgid "invalid argument size %d in function call message"
+msgstr "taille de l'argument %d invalide dans le message d'appel de la fonction"
+
+#: tcop/fastpath.c:303
+#: tcop/postgres.c:917
+#: tcop/postgres.c:1227
+#: tcop/postgres.c:1508
+#: tcop/postgres.c:1950
+#: tcop/postgres.c:2318
+#: tcop/postgres.c:2399
+msgid "current transaction is aborted, commands ignored until end of transaction block"
+msgstr ""
+"la transaction est annulée, les commandes sont ignorées jusqu'à la fin du bloc\n"
+"de la transaction"
+
+#: tcop/fastpath.c:331
+#, c-format
+msgid "fastpath function call: \"%s\" (OID %u)"
+msgstr "appel de fonction fastpath : « %s » (OID %u)"
+
+#: tcop/fastpath.c:411
+#: tcop/postgres.c:1087
+#: tcop/postgres.c:1374
+#: tcop/postgres.c:1791
+#: tcop/postgres.c:2008
+#, c-format
+msgid "duration: %s ms"
+msgstr "durée : %s ms"
+
+#: tcop/fastpath.c:415
+#, c-format
+msgid "duration: %s ms  fastpath function call: \"%s\" (OID %u)"
+msgstr "durée : %s ms, appel de fonction fastpath : « %s » (OID %u)"
+
+#: tcop/fastpath.c:453
+#: tcop/fastpath.c:580
+#, c-format
+msgid "function call message contains %d arguments but function requires %d"
+msgstr ""
+"le message d'appel de la fonction contient %d arguments mais la fonction en\n"
+"requiert %d"
+
+#: tcop/fastpath.c:461
+#, c-format
+msgid "function call message contains %d argument formats but %d arguments"
+msgstr ""
+"le message d'appel de la fonction contient %d formats d'argument mais %d\n"
+" arguments"
+
+#: tcop/fastpath.c:548
+#: tcop/fastpath.c:631
+#, c-format
+msgid "incorrect binary data format in function argument %d"
+msgstr "format des données binaires incorrect dans l'argument de la fonction %d"
+
+#: tcop/postgres.c:399
+#: tcop/postgres.c:411
+#: tcop/postgres.c:422
+#: tcop/postgres.c:434
+#: tcop/postgres.c:4150
+#, c-format
+msgid "invalid frontend message type %d"
+msgstr "type %d du message de l'interface invalide"
+
+#: tcop/postgres.c:858
+#, c-format
+msgid "statement: %s"
+msgstr "instruction : %s"
+
+#: tcop/postgres.c:1092
+#, c-format
+msgid "duration: %s ms  statement: %s"
+msgstr "durée : %s ms, instruction : %s"
+
+#: tcop/postgres.c:1142
+#, c-format
+msgid "parse %s: %s"
+msgstr "analyse %s : %s"
+
+#: tcop/postgres.c:1200
+msgid "cannot insert multiple commands into a prepared statement"
+msgstr "ne peut pas insérer les commandes multiples dans une instruction préparée"
+
+#: tcop/postgres.c:1379
+#, c-format
+msgid "duration: %s ms  parse %s: %s"
+msgstr "durée : %s ms, analyse %s : %s"
+
+#: tcop/postgres.c:1425
+#, c-format
+msgid "bind %s to %s"
+msgstr "lie %s à %s"
+
+#: tcop/postgres.c:1444
+#: tcop/postgres.c:2298
+msgid "unnamed prepared statement does not exist"
+msgstr "l'instruction préparée non nommée n'existe pas"
+
+#: tcop/postgres.c:1486
+#, c-format
+msgid "bind message has %d parameter formats but %d parameters"
+msgstr "le message bind a %d formats de paramètres mais %d paramètres"
+
+#: tcop/postgres.c:1492
+#, c-format
+msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d"
+msgstr ""
+"le message bind fournit %d paramètres, mais l'instruction préparée « %s » en\n"
+"requiert %d"
+
+#: tcop/postgres.c:1657
+#, c-format
+msgid "incorrect binary data format in bind parameter %d"
+msgstr "format des données binaires incorrect dans le paramètre bind %d"
+
+#: tcop/postgres.c:1796
 #, c-format
 msgid "duration: %s ms  bind %s%s%s: %s"
 msgstr "durée : %s ms, lien %s%s%s : %s"
 
-#: tcop/postgres.c:1884
-#: tcop/postgres.c:2425
+#: tcop/postgres.c:1844
+#: tcop/postgres.c:2385
 #, c-format
 msgid "portal \"%s\" does not exist"
 msgstr "le portail « %s » n'existe pas"
 
-#: tcop/postgres.c:1971
-#: tcop/postgres.c:2056
+#: tcop/postgres.c:1931
+#: tcop/postgres.c:2016
 msgid "execute fetch from"
 msgstr "exécute fetch à partir de"
 
-#: tcop/postgres.c:1972
-#: tcop/postgres.c:2057
+#: tcop/postgres.c:1932
+#: tcop/postgres.c:2017
 msgid "execute"
 msgstr "exécute"
 
-#: tcop/postgres.c:1969
+#: tcop/postgres.c:1929
 #, c-format
 msgid "%s %s%s%s: %s"
 msgstr "%s %s%s%s: %s"
 
-#: tcop/postgres.c:2053
+#: tcop/postgres.c:2013
 #, c-format
 msgid "duration: %s ms  %s %s%s%s: %s"
 msgstr "durée : %s ms  %s %s%s%s: %s"
 
-#: tcop/postgres.c:2179
+#: tcop/postgres.c:2139
 #, c-format
 msgid "prepare: %s"
 msgstr "préparation : %s"
 
-#: tcop/postgres.c:2242
+#: tcop/postgres.c:2202
 #, c-format
 msgid "parameters: %s"
 msgstr "paramètres : %s"
 
-#: tcop/postgres.c:2261
+#: tcop/postgres.c:2221
 msgid "abort reason: recovery conflict"
 msgstr "raison de l'annulation : conflit de restauration"
 
-#: tcop/postgres.c:2277
+#: tcop/postgres.c:2237
 msgid "User was holding shared buffer pin for too long."
 msgstr "L'utilisateur conservait des blocs disques en mémoire partagée depuis trop longtemps."
 
-#: tcop/postgres.c:2280
+#: tcop/postgres.c:2240
 msgid "User was holding a relation lock for too long."
 msgstr "L'utilisateur conservait un verrou sur une relation depuis trop longtemps."
 
-#: tcop/postgres.c:2283
+#: tcop/postgres.c:2243
 msgid "User was or might have been using tablespace that must be dropped."
 msgstr "L'utilisateur utilisait ou pouvait utiliser un tablespace qui doit être supprimé."
 
-#: tcop/postgres.c:2286
+#: tcop/postgres.c:2246
 msgid "User query might have needed to see row versions that must be removed."
 msgstr ""
 "La requête de l'utilisateur pourrait avoir eu besoin de voir des versions de\n"
 "lignes qui doivent être supprimées."
 
-#: tcop/postgres.c:2289
-#: storage/ipc/standby.c:494
+#: tcop/postgres.c:2249
+#: storage/ipc/standby.c:490
 msgid "User transaction caused buffer deadlock with recovery."
 msgstr "La transaction de l'utilisateur causait un verrou mortel lors de la restauration."
 
-#: tcop/postgres.c:2292
+#: tcop/postgres.c:2252
 msgid "User was connected to a database that must be dropped."
 msgstr "L'utilisateur était connecté à une base de donnée qui doit être supprimé."
 
-#: tcop/postgres.c:2626
+#: tcop/postgres.c:2586
 msgid "terminating connection because of crash of another server process"
 msgstr "arrêt de la connexion à cause de l'arrêt brutal d'un autre processus serveur"
 
-#: tcop/postgres.c:2627
+#: tcop/postgres.c:2587
 msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory."
 msgstr ""
 "Le postmaster a commandé à ce processus serveur d'annuler la transaction\n"
 "courante et de quitter car un autre processus serveur a quitté anormalement\n"
 "et qu'il existe probablement de la mémoire partagée corrompue."
 
-#: tcop/postgres.c:2631
-#: tcop/postgres.c:2963
+#: tcop/postgres.c:2591
+#: tcop/postgres.c:2939
 msgid "In a moment you should be able to reconnect to the database and repeat your command."
 msgstr ""
 "Dans un moment, vous devriez être capable de vous reconnecter à la base de\n"
 "données et de relancer votre commande."
 
-#: tcop/postgres.c:2735
+#: tcop/postgres.c:2701
 msgid "floating-point exception"
 msgstr "exception dû à une virgule flottante"
 
-#: tcop/postgres.c:2736
+#: tcop/postgres.c:2702
 msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero."
 msgstr ""
 "Une opération invalide sur les virgules flottantes a été signalée.\n"
 "Ceci signifie probablement un résultat en dehors de l'échelle ou une\n"
 "opération invalide telle qu'une division par zéro."
 
-#: tcop/postgres.c:2903
+#: tcop/postgres.c:2870
 msgid "terminating autovacuum process due to administrator command"
 msgstr "arrêt du processus autovacuum suite à la demande de l'administrateur"
 
-#: tcop/postgres.c:2907
-#: tcop/postgres.c:2912
-#: tcop/postgres.c:2961
+#: tcop/postgres.c:2876
+#: tcop/postgres.c:2886
+#: tcop/postgres.c:2937
 msgid "terminating connection due to conflict with recovery"
 msgstr "arrêt de la connexion à cause d'un conflit avec la restauration"
 
-#: tcop/postgres.c:2917
+#: tcop/postgres.c:2892
 msgid "terminating connection due to administrator command"
 msgstr "arrêt des connexions suite à la demande de l'administrateur"
 
-#: tcop/postgres.c:2932
+#: tcop/postgres.c:2907
 msgid "canceling authentication due to timeout"
 msgstr "annulation de l'authentification à cause du délai écoulé"
 
-#: tcop/postgres.c:2941
+#: tcop/postgres.c:2916
 msgid "canceling statement due to statement timeout"
 msgstr "annulation de la requête à cause du délai écoulé pour l'exécution de l'instruction"
 
-#: tcop/postgres.c:2950
+#: tcop/postgres.c:2925
 msgid "canceling autovacuum task"
 msgstr "annulation de la tâche d'autovacuum"
 
-#: tcop/postgres.c:2968
-#: storage/ipc/standby.c:493
+#: tcop/postgres.c:2944
+#: storage/ipc/standby.c:489
 msgid "canceling statement due to conflict with recovery"
 msgstr "annulation de la requête à cause d'un conflit avec la restauration"
 
-#: tcop/postgres.c:2984
+#: tcop/postgres.c:2960
 msgid "canceling statement due to user request"
 msgstr "annulation de la requête à la demande de l'utilisateur"
 
-#: tcop/postgres.c:3060
-#: tcop/postgres.c:3081
+#: tcop/postgres.c:3041
+#: tcop/postgres.c:3063
 msgid "stack depth limit exceeded"
 msgstr "dépassement de limite (en profondeur) de la pile"
 
-#: tcop/postgres.c:3061
-#: tcop/postgres.c:3082
-msgid "Increase the configuration parameter \"max_stack_depth\", after ensuring the platform's stack depth limit is adequate."
+#: tcop/postgres.c:3042
+#: tcop/postgres.c:3064
+#, c-format
+msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate."
 msgstr ""
-"Augmenter le paramètre « max_stack_depth » après vous être assuré que la\n"
-"limite de profondeur de la pile de la plateforme est adéquate."
+"Augmenter le paramètre « max_stack_depth » (actuellement %d Ko) après vous\n"
+"être assuré que la limite de profondeur de la pile de la plateforme est\n"
+"adéquate."
 
-#: tcop/postgres.c:3099
+#: tcop/postgres.c:3080
 #, c-format
-msgid "\"max_stack_depth\" must not exceed %ldkB"
-msgstr "« max_stack_depth » ne doit pas dépasser %ld Ko"
+msgid "\"max_stack_depth\" must not exceed %ldkB."
+msgstr "« max_stack_depth » ne doit pas dépasser %ld Ko."
 
-#: tcop/postgres.c:3101
+#: tcop/postgres.c:3082
 msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent."
 msgstr ""
 "Augmenter la limite de profondeur de la pile sur votre plateforme via\n"
 "« ulimit -s » ou l'équivalent local."
 
-#: tcop/postgres.c:3424
+#: tcop/postgres.c:3417
 msgid "invalid command-line arguments for server process"
 msgstr "arguments invalides en ligne de commande pour le processus serveur"
 
-#: tcop/postgres.c:3425
-#: tcop/postgres.c:3431
+#: tcop/postgres.c:3418
+#: tcop/postgres.c:3424
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Essayez « %s --help » pour plus d'informations."
 
-#: tcop/postgres.c:3429
+#: tcop/postgres.c:3422
 #, c-format
 msgid "%s: invalid command-line arguments"
 msgstr "%s : arguments invalides en ligne de commande"
 
-#: tcop/postgres.c:3528
+#: tcop/postgres.c:3521
 #, c-format
 msgid "%s: no database nor user name specified"
 msgstr "%s : aucune base de données et aucun utilisateur spécifiés"
 
-#: tcop/postgres.c:4066
+#: tcop/postgres.c:4060
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "sous-type %d du message CLOSE invalide"
 
-#: tcop/postgres.c:4099
+#: tcop/postgres.c:4093
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "sous-type %d du message DESCRIBE invalide"
 
-#: tcop/postgres.c:4330
+#: tcop/postgres.c:4327
 #, c-format
 msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
 msgstr ""
 "déconnexion : durée de la session : %d:%02d:%02d.%03d\n"
 "utilisateur=%s base=%s hôte=%s%s%s"
 
-#: tcop/pquery.c:670
+#: tcop/pquery.c:660
 #, c-format
 msgid "bind message has %d result formats but query has %d columns"
 msgstr "le message bind a %d formats de résultat mais la requête a %d colonnes"
 
-#: tcop/pquery.c:978
+#: tcop/pquery.c:969
 msgid "cursor can only scan forward"
 msgstr "le curseur peut seulement parcourir en avant"
 
-#: tcop/pquery.c:979
+#: tcop/pquery.c:970
 msgid "Declare it with SCROLL option to enable backward scan."
 msgstr "Déclarez-le avec l'option SCROLL pour activer le parcours inverse."
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:242
+#: tcop/utility.c:253
 #, c-format
 msgid "cannot execute %s in a read-only transaction"
 msgstr "ne peut pas exécuter %s dans une transaction en lecture seule"
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:261
+#: tcop/utility.c:272
 #, c-format
 msgid "cannot execute %s during recovery"
 msgstr "ne peut pas exécuté %s lors de la restauration"
 
 #. translator: %s is name of a SQL command, eg PREPARE
-#: tcop/utility.c:279
+#: tcop/utility.c:290
 #, c-format
 msgid "cannot execute %s within security-restricted operation"
 msgstr ""
 "ne peut pas exécuter %s à l'intérieur d'une fonction restreinte\n"
 "pour sécurité"
 
-#: tcop/utility.c:1129
+#: tcop/utility.c:1194
 msgid "must be superuser to do CHECKPOINT"
 msgstr "doit être super-utilisateur pour exécuter un point de vérification (CHECKPOINT)"
 
@@ -8203,80 +8935,132 @@ msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr "le curseur « %s » n'est pas un parcours modifiable de la table « %s »"
 
 #: executor/execCurrent.c:230
-#: executor/execQual.c:1024
+#: executor/execQual.c:1033
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "le type de paramètre %d (%s) ne correspond pas à ce qui est préparé dans le plan (%s)"
 
 #: executor/execCurrent.c:242
-#: executor/execQual.c:1035
+#: executor/execQual.c:1045
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "aucune valeur trouvée pour le paramètre %d"
 
-#: executor/execMain.c:874
+#: executor/execMain.c:995
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "ne peut pas modifier la séquence « %s »"
 
-#: executor/execMain.c:880
+#: executor/execMain.c:1001
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "ne peut pas modifier la relation TOAST « %s »"
 
-#: executor/execMain.c:886
+#: executor/execMain.c:1011
+#, c-format
+msgid "cannot insert into view \"%s\""
+msgstr "ne peut pas insérer dans la vue « %s »"
+
+#: executor/execMain.c:1013
+msgid "You need an unconditional ON INSERT DO INSTEAD rule or an INSTEAD OF INSERT trigger."
+msgstr "Vous avez besoin d'une règle ON INSERT DO INSTEAD sans condition ou d'un trigger INSTEAD OF INSERT."
+
+#: executor/execMain.c:1019
+#, c-format
+msgid "cannot update view \"%s\""
+msgstr "ne peut pas mettre à jour la vue « %s »"
+
+#: executor/execMain.c:1021
+msgid "You need an unconditional ON UPDATE DO INSTEAD rule or an INSTEAD OF UPDATE trigger."
+msgstr "Vous avez besoin d'une règle non conditionnelle ON UPDATE DO INSTEAD ou d'un trigger INSTEAD OF UPDATE."
+
+#: executor/execMain.c:1027
+#, c-format
+msgid "cannot delete from view \"%s\""
+msgstr "ne peut pas supprimer à partir de la vue « %s »"
+
+#: executor/execMain.c:1029
+msgid "You need an unconditional ON DELETE DO INSTEAD rule or an INSTEAD OF DELETE trigger."
+msgstr "Vous avez besoin d'une règle inconditionnelle ON DELETE DO INSTEAD ou d'un trigger INSTEAD OF DELETE."
+
+#: executor/execMain.c:1039
 #, c-format
-msgid "cannot change view \"%s\""
-msgstr "ne peut pas modifier la vue « %s »"
+msgid "cannot change foreign table \"%s\""
+msgstr "ne peut pas modifier la table distante « %s »"
 
-#: executor/execMain.c:892
+#: executor/execMain.c:1045
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "ne peut pas modifier la relation « %s »"
 
-#: executor/execMain.c:1317
+#: executor/execMain.c:1069
+#, c-format
+msgid "cannot lock rows in sequence \"%s\""
+msgstr "ne peut pas verrouiller les lignes dans la séquence « %s »"
+
+#: executor/execMain.c:1076
+#, c-format
+msgid "cannot lock rows in TOAST relation \"%s\""
+msgstr "ne peut pas verrouiller les lignes dans la relation TOAST « %s »"
+
+#: executor/execMain.c:1083
+#, c-format
+msgid "cannot lock rows in view \"%s\""
+msgstr "ne peut pas verrouiller les lignes dans la vue « %s »"
+
+#: executor/execMain.c:1090
+#, c-format
+msgid "cannot lock rows in foreign table \"%s\""
+msgstr "ne peut pas verrouiller la table distante « %s »"
+
+#: executor/execMain.c:1096
+#, c-format
+msgid "cannot lock rows in relation \"%s\""
+msgstr "n'a pas pu verrouiller les lignes dans la relation « %s »"
+
+#: executor/execMain.c:1567
 #, c-format
 msgid "null value in column \"%s\" violates not-null constraint"
 msgstr "une valeur NULL viole la contrainte NOT NULL de la colonne « %s »"
 
-#: executor/execMain.c:1329
+#: executor/execMain.c:1579
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "la nouvelle ligne viole la contrainte de vérification « %s » de la relation « %s »"
 
-#: executor/execQual.c:296
-#: executor/execQual.c:324
-#: executor/execQual.c:2988
-#: utils/adt/array_userfuncs.c:428
-#: utils/adt/arrayfuncs.c:204
-#: utils/adt/arrayfuncs.c:483
-#: utils/adt/arrayfuncs.c:1218
-#: utils/adt/arrayfuncs.c:2890
-#: utils/adt/arrayfuncs.c:4570
+#: executor/execQual.c:298
+#: executor/execQual.c:326
+#: executor/execQual.c:2987
+#: utils/adt/array_userfuncs.c:430
+#: utils/adt/arrayfuncs.c:228
+#: utils/adt/arrayfuncs.c:507
+#: utils/adt/arrayfuncs.c:1242
+#: utils/adt/arrayfuncs.c:2915
+#: utils/adt/arrayfuncs.c:4940
 #, 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:309
-#: executor/execQual.c:337
+#: executor/execQual.c:311
+#: executor/execQual.c:339
 msgid "array subscript in assignment must not be null"
 msgstr "l'indice du tableau dans l'affectation ne doit pas être NULL"
 
-#: executor/execQual.c:633
-#: executor/execQual.c:3906
+#: executor/execQual.c:635
+#: executor/execQual.c:3905
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "l'attribut %d a un type invalide"
 
-#: executor/execQual.c:634
-#: executor/execQual.c:3907
+#: executor/execQual.c:636
+#: executor/execQual.c:3906
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "La table a le type %s alors que la requête attend %s."
 
-#: executor/execQual.c:698
-#: executor/execQual.c:717
-#: executor/execQual.c:916
+#: executor/execQual.c:700
+#: executor/execQual.c:719
+#: executor/execQual.c:918
 #: executor/nodeModifyTable.c:82
 #: executor/nodeModifyTable.c:92
 #: executor/nodeModifyTable.c:109
@@ -8284,296 +9068,295 @@ msgstr "La table a le type %s alors que la requ
 msgid "table row type and query-specified row type do not match"
 msgstr "Le type de ligne de la table et celui spécifié par la requête ne correspondent pas"
 
-#: executor/execQual.c:699
+#: executor/execQual.c:701
 #, c-format
 msgid "Table row contains %d attribute, but query expects %d."
 msgid_plural "Table row contains %d attributes, but query expects %d."
 msgstr[0] "La ligne de la table contient %d attribut alors que la requête en attend %d."
 msgstr[1] "La ligne de la table contient %d attributs alors que la requête en attend %d."
 
-#: executor/execQual.c:718
+#: executor/execQual.c:720
 #: executor/nodeModifyTable.c:93
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr "La table a le type %s à la position ordinale %d alors que la requête attend %s."
 
-#: executor/execQual.c:917
-#: executor/execQual.c:1505
+#: executor/execQual.c:919
+#: executor/execQual.c:1519
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr ""
 "Le stockage physique ne correspond pas à l'attribut supprimé à la position\n"
 "ordinale %d."
 
-#: executor/execQual.c:1189
-#: parser/parse_func.c:97
-#: parser/parse_func.c:329
-#: parser/parse_func.c:645
+#: executor/execQual.c:1198
+#: parser/parse_func.c:91
+#: parser/parse_func.c:323
+#: parser/parse_func.c:640
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
 msgstr[0] "ne peut pas passer plus de %d argument à une fonction"
 msgstr[1] "ne peut pas passer plus de %d arguments à une fonction"
 
-#: executor/execQual.c:1373
+#: executor/execQual.c:1387
 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:1423
+#: executor/execQual.c:1437
 msgid "function returning setof record called in context that cannot accept type record"
 msgstr ""
 "la fonction renvoyant des lignes a été appelée dans un contexte qui\n"
 "n'accepte pas un ensemble"
 
-#: executor/execQual.c:1478
-#: executor/execQual.c:1494
-#: executor/execQual.c:1504
+#: executor/execQual.c:1492
+#: executor/execQual.c:1508
+#: executor/execQual.c:1518
 msgid "function return row and query-specified return row do not match"
 msgstr "la ligne de retour spécifiée par la requête et la ligne de retour de la fonction ne correspondent pas"
 
-#: executor/execQual.c:1479
+#: executor/execQual.c:1493
 #, c-format
 msgid "Returned row contains %d attribute, but query expects %d."
 msgid_plural "Returned row contains %d attributes, but query expects %d."
 msgstr[0] "La ligne renvoyée contient %d attribut mais la requête en attend %d."
 msgstr[1] "La ligne renvoyée contient %d attributs mais la requête en attend %d."
 
-#: executor/execQual.c:1495
+#: executor/execQual.c:1509
 #, c-format
 msgid "Returned type %s at ordinal position %d, but query expects %s."
 msgstr "A renvoyé le type %s à la position ordinale %d, mais la requête attend %s."
 
-#: executor/execQual.c:1748
-#: executor/execQual.c:2171
+#: executor/execQual.c:1745
+#: executor/execQual.c:2170
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "le protocole de la fonction table pour le mode matérialisé n'a pas été respecté"
 
-#: executor/execQual.c:1768
-#: executor/execQual.c:2178
+#: executor/execQual.c:1765
+#: executor/execQual.c:2177
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "returnMode de la fonction table non reconnu : %d"
 
-#: executor/execQual.c:2088
+#: executor/execQual.c:2087
 msgid "function returning set of rows cannot return null value"
 msgstr ""
 "la fonction renvoyant un ensemble de lignes ne peut pas renvoyer une valeur\n"
 "NULL"
 
-#: executor/execQual.c:2145
+#: executor/execQual.c:2144
 msgid "rows returned by function are not all of the same row type"
 msgstr "les lignes renvoyées par la fonction ne sont pas toutes du même type ligne"
 
-#: executor/execQual.c:2338
+#: executor/execQual.c:2335
 msgid "IS DISTINCT FROM does not support set arguments"
 msgstr "IS DISTINCT FROM ne supporte pas les arguments d'ensemble"
 
-#: executor/execQual.c:2413
+#: executor/execQual.c:2412
 msgid "op ANY/ALL (array) does not support set arguments"
 msgstr ""
 "l'opérateur ANY/ALL (pour les types array) ne supporte pas les arguments\n"
 "d'ensemble"
 
-#: executor/execQual.c:2966
+#: executor/execQual.c:2965
 msgid "cannot merge incompatible arrays"
 msgstr "ne peut pas fusionner les tableaux incompatibles"
 
-#: executor/execQual.c:2967
+#: executor/execQual.c:2966
 #, c-format
 msgid "Array with element type %s cannot be included in ARRAY construct with element type %s."
 msgstr "Le tableau avec le type d'élément %s ne peut pas être inclus dans la construction ARRAY avec le type d'élément %s."
 
-#: executor/execQual.c:3008
-#: executor/execQual.c:3035
-#: utils/adt/arrayfuncs.c:518
+#: executor/execQual.c:3007
+#: executor/execQual.c:3034
+#: utils/adt/arrayfuncs.c:542
 msgid "multidimensional arrays must have array expressions with matching dimensions"
 msgstr ""
 "les tableaux multidimensionnels doivent avoir des expressions de tableaux\n"
 "avec les dimensions correspondantes"
 
-#: executor/execQual.c:3550
+#: executor/execQual.c:3549
 msgid "NULLIF does not support set arguments"
 msgstr "NULLIF ne supporte pas les arguments d'ensemble"
 
-#: executor/execQual.c:3780
+#: executor/execQual.c:3779
 #: utils/adt/domains.c:128
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "le domaine %s n'autorise pas les valeurs NULL"
 
-#: executor/execQual.c:3809
+#: executor/execQual.c:3808
 #: utils/adt/domains.c:164
 #, 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:4277
-#: optimizer/util/clauses.c:572
-#: parser/parse_agg.c:160
+#: executor/execQual.c:4288
+#: optimizer/util/clauses.c:608
+#: parser/parse_agg.c:164
 msgid "aggregate function calls cannot be nested"
 msgstr "les appels à la fonction d'agrégat ne peuvent pas être imbriqués"
 
-#: executor/execQual.c:4315
-#: optimizer/util/clauses.c:646
-#: parser/parse_agg.c:207
+#: executor/execQual.c:4326
+#: optimizer/util/clauses.c:682
+#: parser/parse_agg.c:211
 msgid "window function calls cannot be nested"
 msgstr "les appels à la fonction window ne peuvent pas être imbriqués"
 
-#: executor/execQual.c:4515
+#: executor/execQual.c:4538
 msgid "target type is not an array"
 msgstr "le type cible n'est pas un tableau"
 
-#: executor/execQual.c:4628
+#: executor/execQual.c:4651
 #, 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:4759
-#: utils/adt/arrayfuncs.c:3310
-#: utils/adt/rowtypes.c:913
+#: executor/execQual.c:4786
+#: utils/adt/arrayfuncs.c:3378
+#: utils/adt/rowtypes.c:922
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "n'a pas pu identifier une fonction de comparaison pour le type %s"
 
-#: executor/execUtils.c:1296
+#: executor/execUtils.c:1304
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "n'a pas pu créer la contrainte d'exclusion « %s »"
 
-#: executor/execUtils.c:1298
+#: executor/execUtils.c:1306
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "La clé %s est en conflit avec la clé %s."
 
-#: executor/execUtils.c:1303
+#: executor/execUtils.c:1311
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "la valeur d'une clé en conflit rompt la contrainte d'exclusion « %s »"
 
-#: executor/execUtils.c:1305
+#: executor/execUtils.c:1313
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "La clé %s est en conflit avec la clé existante %s."
 
+#: executor/functions.c:195
+#, 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"
+
 #. translator: %s is a SQL statement name
-#: executor/functions.c:154
+#: executor/functions.c:295
 #, 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:161
+#: executor/functions.c:302
 #: executor/spi.c:1256
-#: executor/spi.c:1846
+#: executor/spi.c:1891
 #, 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:259
+#: executor/functions.c:408
 #, c-format
 msgid "could not determine actual result type for function declared to return type %s"
 msgstr ""
 "n'a pas pu déterminer le type du résultat actuel pour la fonction déclarant\n"
 "renvoyer le type %s"
 
-#: executor/functions.c:298
-#, 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:923
+#: executor/functions.c:1146
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "fonction SQL « %s », instruction %d"
 
-#: executor/functions.c:946
+#: executor/functions.c:1172
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "fonction SQL « %s » lors du lancement"
 
-#: executor/functions.c:1091
-#: executor/functions.c:1127
-#: executor/functions.c:1139
-#: executor/functions.c:1250
-#: executor/functions.c:1282
-#: executor/functions.c:1311
+#: executor/functions.c:1332
+#: executor/functions.c:1368
+#: executor/functions.c:1380
+#: executor/functions.c:1493
+#: executor/functions.c:1526
+#: executor/functions.c:1556
 #, 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:1093
+#: executor/functions.c:1334
 msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
 msgstr ""
 "L'instruction finale de la fonction doit être un SELECT ou un\n"
 "INSERT/UPDATE/DELETE RETURNING."
 
-#: executor/functions.c:1129
+#: executor/functions.c:1370
 msgid "Final statement must return exactly one column."
 msgstr "L'instruction finale doit renvoyer exactement une colonne."
 
-#: executor/functions.c:1141
+#: executor/functions.c:1382
 #, c-format
 msgid "Actual return type is %s."
 msgstr "Le code de retour réel est %s."
 
-#: executor/functions.c:1252
+#: executor/functions.c:1495
 msgid "Final statement returns too many columns."
 msgstr "L'instruction finale renvoie beaucoup trop de colonnes."
 
-#: executor/functions.c:1284
+#: executor/functions.c:1528
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "L'instruction finale renvoie %s au lieu de %s pour la colonne %d."
 
-#: executor/functions.c:1313
+#: executor/functions.c:1558
 msgid "Final statement returns too few columns."
 msgstr "L'instruction finale renvoie trop peu de colonnes."
 
-#: executor/functions.c:1361
+#: executor/functions.c:1607
 #, 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:1717
-#: executor/nodeWindowAgg.c:1842
+#: executor/nodeAgg.c:1730
+#: executor/nodeWindowAgg.c:1851
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr ""
 "L'agrégat %u a besoin d'avoir un type en entrée compatible avec le type en\n"
 "transition"
 
-#: executor/nodeHashjoin.c:721
-#: executor/nodeHashjoin.c:755
+#: executor/nodeHashjoin.c:814
+#: executor/nodeHashjoin.c:844
 #, 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:789
-#: executor/nodeHashjoin.c:795
+#: executor/nodeHashjoin.c:879
+#: executor/nodeHashjoin.c:885
 #, 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/nodeHashjoin.c:829
-#: executor/nodeHashjoin.c:839
+#: executor/nodeHashjoin.c:919
+#: executor/nodeHashjoin.c:929
 #, 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/nodeLimit.c:251
+#: executor/nodeLimit.c:253
 msgid "OFFSET must not be negative"
 msgstr "OFFSET ne doit pas être négatif"
 
-#: executor/nodeLimit.c:278
+#: executor/nodeLimit.c:280
 msgid "LIMIT must not be negative"
 msgstr "LIMIT ne doit pas être négative"
 
-#: executor/nodeMergejoin.c:1586
+#: executor/nodeMergejoin.c:1604
 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:1606
-#: optimizer/path/joinpath.c:1072
+#: executor/nodeMergejoin.c:1624
 msgid "FULL JOIN is only supported with merge-joinable join conditions"
 msgstr "FULL JOIN est supporté seulement avec les conditions de jointures MERGE"
 
@@ -8598,19 +9381,19 @@ msgstr "La requ
 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/nodeWindowAgg.c:1233
+#: executor/nodeWindowAgg.c:1238
 msgid "frame starting offset must not be null"
 msgstr "l'offset de début de frame ne doit pas être NULL"
 
-#: executor/nodeWindowAgg.c:1246
+#: executor/nodeWindowAgg.c:1251
 msgid "frame starting offset must not be negative"
 msgstr "l'offset de début de frame ne doit pas être négatif"
 
-#: executor/nodeWindowAgg.c:1259
+#: executor/nodeWindowAgg.c:1264
 msgid "frame ending offset must not be null"
 msgstr "l'offset de fin de frame ne doit pas être NULL"
 
-#: executor/nodeWindowAgg.c:1272
+#: executor/nodeWindowAgg.c:1277
 msgid "frame ending offset must not be negative"
 msgstr "l'offset de fin de frame ne doit pas être négatif"
 
@@ -8638,31 +9421,36 @@ msgid "cannot open %s query as cursor"
 msgstr "ne peut pas ouvrir la requête %s comme curseur"
 
 #: executor/spi.c:1233
-#: parser/analyze.c:1978
+#: parser/analyze.c:2206
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE n'est pas supporté"
 
 #: executor/spi.c:1234
-#: parser/analyze.c:1979
+#: parser/analyze.c:2207
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Les curseurs déplaçables doivent être en lecture seule (READ ONLY)."
 
-#: executor/spi.c:2142
+#: executor/spi.c:2157
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "instruction SQL « %s »"
 
-#: foreign/foreign.c:230
+#: foreign/foreign.c:198
 #, c-format
 msgid "user mapping not found for \"%s\""
 msgstr "correspondance utilisateur non trouvée pour « %s »"
 
-#: foreign/foreign.c:408
+#: foreign/foreign.c:321
+#, c-format
+msgid "foreign-data wrapper \"%s\" has no handler"
+msgstr "le wrapper de données distantes « %s » n'a pas de gestionnaire"
+
+#: foreign/foreign.c:489
 #, c-format
 msgid "invalid option \"%s\""
 msgstr "option « %s » invalide"
 
-#: foreign/foreign.c:409
+#: foreign/foreign.c:490
 #, c-format
 msgid "Valid options in this context are: %s"
 msgstr "Les options valides dans ce contexte sont %s"
@@ -8672,529 +9460,518 @@ msgstr "Les options valides dans ce contexte sont %s"
 msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
 msgstr "Ne peut pas agrandir de %d octets le tampon de chaîne contenant déjà %d octets"
 
-#: libpq/auth.c:255
+#: libpq/auth.c:257
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr "authentification échouée pour l'utilisateur « %s » : hôte rejeté"
 
-#: libpq/auth.c:258
+#: libpq/auth.c:260
 #, c-format
 msgid "Kerberos 5 authentication failed for user \"%s\""
 msgstr "authentification Kerberos 5 échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:261
+#: libpq/auth.c:263
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "authentification « trust » échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:264
+#: libpq/auth.c:266
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "authentification Ident échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:268
+#: libpq/auth.c:269
+#, c-format
+msgid "Peer authentication failed for user \"%s\""
+msgstr "authentification peer échouée pour l'utilisateur « %s »"
+
+#: libpq/auth.c:273
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "authentification par mot de passe échouée pour l'utilisateur  « %s »"
 
-#: libpq/auth.c:273
+#: libpq/auth.c:278
 #, c-format
 msgid "GSSAPI authentication failed for user \"%s\""
 msgstr "authentification GSSAPI échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:276
+#: libpq/auth.c:281
 #, c-format
 msgid "SSPI authentication failed for user \"%s\""
 msgstr "authentification SSPI échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:279
+#: libpq/auth.c:284
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "authentification PAM échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:282
+#: libpq/auth.c:287
 #, c-format
 msgid "LDAP authentication failed for user \"%s\""
 msgstr "authentification LDAP échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:285
+#: libpq/auth.c:290
 #, c-format
 msgid "certificate authentication failed for user \"%s\""
 msgstr "authentification par le certificat échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:288
+#: libpq/auth.c:293
 #, c-format
 msgid "RADIUS authentication failed for user \"%s\""
 msgstr "authentification RADIUS échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:291
+#: libpq/auth.c:296
 #, c-format
 msgid "authentication failed for user \"%s\": invalid authentication method"
 msgstr ""
 "authentification échouée pour l'utilisateur « %s » :\n"
 "méthode d'authentification invalide"
 
-#: libpq/auth.c:320
+#: libpq/auth.c:325
 msgid "missing or erroneous pg_hba.conf file"
 msgstr "fichier pg_hba.conf manquant ou erroné"
 
-#: libpq/auth.c:321
+#: libpq/auth.c:326
 msgid "See server log for details."
 msgstr "Voir les journaux applicatifs du serveur pour plus de détails."
 
-#: libpq/auth.c:351
+#: libpq/auth.c:356
 msgid "connection requires a valid client certificate"
 msgstr "la connexion requiert un certificat client valide"
 
-#: libpq/auth.c:395
-#: libpq/auth.c:411
-#: libpq/auth.c:448
-#: libpq/auth.c:464
+#: libpq/auth.c:400
+#: libpq/auth.c:416
+#: libpq/auth.c:453
+#: libpq/auth.c:469
 msgid "SSL on"
 msgstr "SSL actif"
 
-#: libpq/auth.c:395
-#: libpq/auth.c:411
-#: libpq/auth.c:448
-#: libpq/auth.c:464
+#: libpq/auth.c:400
+#: libpq/auth.c:416
+#: libpq/auth.c:453
+#: libpq/auth.c:469
 msgid "SSL off"
 msgstr "SSL inactif"
 
-#: libpq/auth.c:393
+#: libpq/auth.c:398
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
 msgstr ""
 "pg_hba.conf rejette la connexion de la réplication pour l'hôte « %s »,\n"
 "utilisateur « %s », %s"
 
-#: libpq/auth.c:399
+#: libpq/auth.c:404
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
 msgstr ""
 "pg_hba.conf rejette la connexion de la réplication pour l'hôte « %s »,\n"
 "utilisateur « %s »"
 
-#: libpq/auth.c:408
+#: libpq/auth.c:413
 #, c-format
 msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr ""
 "pg_hba.conf rejette la connexion pour l'hôte « %s », utilisateur « %s », base\n"
 "de données « %s », %s"
 
-#: libpq/auth.c:415
+#: libpq/auth.c:420
 #, c-format
 msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
 msgstr ""
 "pg_hba.conf rejette la connexion pour l'hôte « %s », utilisateur « %s », base\n"
 "de données « %s »"
 
-#: libpq/auth.c:446
+#: libpq/auth.c:451
 #, c-format
 msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s"
 msgstr ""
 "aucune entrée dans pg_hba.conf pour la connexion de la réplication à partir de\n"
 "l'hôte « %s », utilisateur « %s », %s"
 
-#: libpq/auth.c:452
+#: libpq/auth.c:457
 #, c-format
 msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
 msgstr ""
 "aucune entrée dans pg_hba.conf pour la connexion de la réplication à partir de\n"
 "l'hôte « %s », utilisateur « %s »"
 
-#: libpq/auth.c:461
+#: libpq/auth.c:466
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr ""
 "aucune entrée dans pg_hba.conf pour l'hôte « %s », utilisateur « %s »,\n"
 "base de données « %s », %s"
 
-#: libpq/auth.c:468
+#: libpq/auth.c:473
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
 msgstr ""
 "aucune entrée dans pg_hba.conf pour l'hôte « %s », utilisateur « %s »,\n"
 "base de données « %s »"
 
-#: libpq/auth.c:526
-#, 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:539
-#: libpq/hba.c:948
+#: libpq/auth.c:524
+#: libpq/hba.c:1118
 msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled"
 msgstr "l'authentification MD5 n'est pas supportée quand « db_user_namespace » est activé"
 
-#: libpq/auth.c:660
+#: libpq/auth.c:648
 #, c-format
 msgid "expected password response, got message type %d"
 msgstr "en attente du mot de passe, a reçu un type de message %d"
 
-#: libpq/auth.c:688
+#: libpq/auth.c:676
 msgid "invalid password packet size"
 msgstr "taille du paquet du mot de passe invalide"
 
-#: libpq/auth.c:692
+#: libpq/auth.c:680
 msgid "received password packet"
 msgstr "paquet du mot de passe reçu"
 
-#: libpq/auth.c:750
+#: libpq/auth.c:738
 #, c-format
 msgid "Kerberos initialization returned error %d"
 msgstr "l'initialisation de Kerberos a retourné l'erreur %d"
 
-#: libpq/auth.c:760
+#: libpq/auth.c:748
 #, c-format
 msgid "Kerberos keytab resolving returned error %d"
 msgstr "la résolution keytab de Kerberos a renvoyé l'erreur %d"
 
-#: libpq/auth.c:784
+#: libpq/auth.c:772
 #, c-format
 msgid "Kerberos sname_to_principal(\"%s\", \"%s\") returned error %d"
 msgstr "sname_to_principal(« %s », « %s ») de Kerberos a renvoyé l'erreur %d"
 
-#: libpq/auth.c:829
+#: libpq/auth.c:817
 #, c-format
 msgid "Kerberos recvauth returned error %d"
 msgstr "recvauth de Kerberos a renvoyé l'erreur %d"
 
-#: libpq/auth.c:852
+#: libpq/auth.c:840
 #, c-format
 msgid "Kerberos unparse_name returned error %d"
 msgstr "unparse_name de Kerberos a renvoyé l'erreur %d"
 
-#: libpq/auth.c:975
+#: libpq/auth.c:962
 #, c-format
 msgid "%s: %s"
 msgstr "%s : %s"
 
-#: libpq/auth.c:1001
+#: libpq/auth.c:988
 msgid "GSSAPI is not supported in protocol version 2"
 msgstr "GSSAPI n'est pas supporté dans le protocole de version 2"
 
-#: libpq/auth.c:1056
+#: libpq/auth.c:1043
 #, c-format
 msgid "expected GSS response, got message type %d"
 msgstr "en attente d'une réponse GSS, a reçu un message de type %d"
 
-#: libpq/auth.c:1119
+#: libpq/auth.c:1106
 msgid "accepting GSS security context failed"
 msgstr "échec de l'acceptation du contexte de sécurité GSS"
 
-#: libpq/auth.c:1145
+#: libpq/auth.c:1132
 msgid "retrieving GSS user name failed"
 msgstr "échec lors de la récupération du nom de l'utilisateur avec GSS"
 
-#: libpq/auth.c:1218
+#: libpq/auth.c:1205
 #, c-format
 msgid "SSPI error %x"
 msgstr "erreur SSPI : %x"
 
-#: libpq/auth.c:1222
+#: libpq/auth.c:1209
 #, c-format
 msgid "%s (%x)"
 msgstr "%s (%x)"
 
-#: libpq/auth.c:1262
+#: libpq/auth.c:1249
 msgid "SSPI is not supported in protocol version 2"
 msgstr "SSPI n'est pas supporté dans le protocole de version 2"
 
-#: libpq/auth.c:1277
+#: libpq/auth.c:1264
 msgid "could not acquire SSPI credentials"
 msgstr "n'a pas pu obtenir les pièces d'identité SSPI"
 
-#: libpq/auth.c:1294
+#: libpq/auth.c:1281
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "en attente d'une réponse SSPI, a reçu un message de type %d"
 
-#: libpq/auth.c:1366
+#: libpq/auth.c:1353
 msgid "could not accept SSPI security context"
 msgstr "n'a pas pu accepter le contexte de sécurité SSPI"
 
-#: libpq/auth.c:1422
+#: libpq/auth.c:1409
 msgid "could not get token from SSPI security context"
 msgstr "n'a pas pu obtenir le jeton du contexte de sécurité SSPI"
 
-#: libpq/auth.c:1665
+#: libpq/auth.c:1653
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "n'a pas pu créer le socket pour la connexion Ident : %m"
 
-#: libpq/auth.c:1680
+#: libpq/auth.c:1668
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "n'a pas pu se lier à l'adresse locale « %s » : %m"
 
-#: libpq/auth.c:1692
+#: libpq/auth.c:1680
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "n'a pas pu se connecter au serveur Ident à l'adresse « %s », port %s : %m"
 
-#: libpq/auth.c:1712
+#: libpq/auth.c:1700
 #, c-format
 msgid "could not send query to Ident server at address \"%s\", port %s: %m"
 msgstr "n'a pas pu envoyer la requête au serveur Ident à l'adresse « %s », port %s : %m"
 
-#: libpq/auth.c:1727
+#: libpq/auth.c:1715
 #, c-format
 msgid "could not receive response from Ident server at address \"%s\", port %s: %m"
 msgstr ""
 "n'a pas pu recevoir la réponse du serveur Ident à l'adresse « %s », port %s :\n"
 "%m"
 
-#: libpq/auth.c:1737
+#: libpq/auth.c:1725
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "réponse mal formatée du serveur Ident : « %s »"
 
-#: libpq/auth.c:1772
-#: libpq/auth.c:1802
-#: libpq/auth.c:1830
-#: libpq/auth.c:1906
+#: libpq/auth.c:1764
+msgid "peer authentication is not supported on this platform"
+msgstr "la méthode d'authentification «peer n'est pas supportée sur cette plateforme"
+
+#: libpq/auth.c:1768
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "n'a pas pu obtenir l'authentification de l'autre : %m"
 
-#: libpq/auth.c:1781
-#: libpq/auth.c:1811
-#: libpq/auth.c:1848
-#: libpq/auth.c:1917
+#: libpq/auth.c:1777
 #, c-format
 msgid "local user with ID %d does not exist"
 msgstr "l'utilisateur local dont l'identifiant est %d n'existe pas"
 
-#: libpq/auth.c:1838
-#, c-format
-msgid "could not get effective UID from peer credentials: %m"
-msgstr "n'a pas pu obtenir l'UID réel à partir des pièces d'identité de l'autre : %m"
-
-#: libpq/auth.c:1928
-msgid "Ident authentication is not supported on local connections on this platform"
-msgstr "l'authentification Ident n'est pas supportée sur les connexions locales sur cette plateforme"
-
-#: libpq/auth.c:2045
-#: libpq/auth.c:2317
-#: libpq/auth.c:2677
+#: libpq/auth.c:1860
+#: libpq/auth.c:2132
+#: libpq/auth.c:2492
 msgid "empty password returned by client"
 msgstr "mot de passe vide renvoyé par le client"
 
-#: libpq/auth.c:2055
+#: libpq/auth.c:1870
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "erreur provenant de la couche PAM : %s"
 
-#: libpq/auth.c:2124
+#: libpq/auth.c:1939
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "n'a pas pu créer l'authenticateur PAM : %s"
 
-#: libpq/auth.c:2135
+#: libpq/auth.c:1950
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) a échoué : %s"
 
-#: libpq/auth.c:2146
+#: libpq/auth.c:1961
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) a échoué : %s"
 
-#: libpq/auth.c:2157
+#: libpq/auth.c:1972
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate a échoué : %s"
 
-#: libpq/auth.c:2168
+#: libpq/auth.c:1983
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt a échoué : %s"
 
-#: libpq/auth.c:2179
+#: libpq/auth.c:1994
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "n'a pas pu fermer l'authenticateur PAM : %s"
 
-#: libpq/auth.c:2212
-#: libpq/auth.c:2216
+#: libpq/auth.c:2027
+#: libpq/auth.c:2031
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "n'a pas pu initialiser LDAP : code d'erreur %d"
 
-#: libpq/auth.c:2226
+#: libpq/auth.c:2041
 #, c-format
 msgid "could not set LDAP protocol version: error code %d"
 msgstr "n'a pas pu initialiser la version du protocole LDAP : code d'erreur %d"
 
-#: libpq/auth.c:2255
+#: libpq/auth.c:2070
 msgid "could not load wldap32.dll"
 msgstr "n'a pas pu charger wldap32.dll"
 
-#: libpq/auth.c:2263
+#: libpq/auth.c:2078
 msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
 msgstr "n'a pas pu charger la fonction _ldap_start_tls_sA de wldap32.dll"
 
-#: libpq/auth.c:2264
+#: libpq/auth.c:2079
 msgid "LDAP over SSL is not supported on this platform."
 msgstr "LDAP via SSL n'est pas supporté sur cette plateforme."
 
-#: libpq/auth.c:2279
+#: libpq/auth.c:2094
 #, c-format
 msgid "could not start LDAP TLS session: error code %d"
 msgstr "n'a pas pu démarrer la session TLS LDAP : code d'erreur %d"
 
-#: libpq/auth.c:2301
+#: libpq/auth.c:2116
 msgid "LDAP server not specified"
 msgstr "serveur LDAP non précisé"
 
-#: libpq/auth.c:2353
+#: libpq/auth.c:2168
 msgid "invalid character in user name for LDAP authentication"
 msgstr "caractère invalide dans le nom de l'utilisateur pour l'authentification LDAP"
 
-#: libpq/auth.c:2368
+#: libpq/auth.c:2183
 #, c-format
 msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": error code %d"
 msgstr ""
 "n'a pas pu réaliser la connexion LDAP initiale pour ldapbinddn « %s » sur le\n"
 "serveur « %s » : code d'erreur %d"
 
-#: libpq/auth.c:2393
+#: libpq/auth.c:2208
 #, c-format
 msgid "could not search LDAP for filter \"%s\" on server \"%s\": error code %d"
 msgstr ""
 "n'a pas pu rechercher dans LDAP pour filtrer « %s » sur le serveur « %s » :\n"
 "code d'erreur %d"
 
-#: libpq/auth.c:2403
+#: libpq/auth.c:2218
 #, c-format
 msgid "LDAP search failed for filter \"%s\" on server \"%s\": no such user"
 msgstr ""
 "échec de la recherche LDAP pour le filtre « %s » sur le serveur « %s » :\n"
 "utilisateur non trouvé"
 
-#: libpq/auth.c:2407
+#: libpq/auth.c:2222
 #, c-format
 msgid "LDAP search failed for filter \"%s\" on server \"%s\": user is not unique (%ld matches)"
 msgstr ""
 "échec de la recherche LDAP pour le filtre « %s » sur le serveur « %s » :\n"
 "utilisateur non unique (%ld correspondances)"
 
-#: libpq/auth.c:2424
+#: libpq/auth.c:2239
 #, c-format
 msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
 msgstr ""
 "n'a pas pu obtenir le dn pour la première entrée correspondante « %s » sur\n"
 "le serveur « %s » : %s"
 
-#: libpq/auth.c:2444
+#: libpq/auth.c:2259
 #, c-format
 msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
 msgstr ""
 "n'a pas pu exécuter le unbind après la recherche de l'utilisateur « %s »\n"
 "sur le serveur « %s » : %s"
 
-#: libpq/auth.c:2481
+#: libpq/auth.c:2296
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": error code %d"
 msgstr ""
 "échec de connexion LDAP pour l'utilisateur « %s » sur le serveur « %s » :\n"
 "code d'erreur %d"
 
-#: libpq/auth.c:2509
+#: libpq/auth.c:2324
 #, c-format
 msgid "certificate authentication failed for user \"%s\": client certificate contains no user name"
 msgstr ""
 "l'authentification par le certificat a échoué pour l'utilisateur « %s » :\n"
 "le certificat du client ne contient aucun nom d'utilisateur"
 
-#: libpq/auth.c:2633
+#: libpq/auth.c:2448
 msgid "RADIUS server not specified"
 msgstr "serveur RADIUS non précisé"
 
-#: libpq/auth.c:2640
+#: libpq/auth.c:2455
 msgid "RADIUS secret not specified"
 msgstr "secret RADIUS non précisé"
 
-#: libpq/auth.c:2656
-#: libpq/hba.c:1213
+#: libpq/auth.c:2471
+#: libpq/hba.c:1403
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "n'a pas pu traduire le nom du serveur RADIUS « %s » en une adresse : %s"
 
-#: libpq/auth.c:2684
+#: libpq/auth.c:2499
 msgid "RADIUS authentication does not support passwords longer than 16 characters"
 msgstr ""
 "l'authentification RADIUS ne supporte pas les mots de passe de plus de 16\n"
 "caractères"
 
-#: libpq/auth.c:2695
+#: libpq/auth.c:2510
 msgid "could not generate random encryption vector"
 msgstr "n'a pas pu générer le vecteur de chiffrement aléatoire"
 
-#: libpq/auth.c:2718
+#: libpq/auth.c:2533
 msgid "could not perform MD5 encryption of password"
 msgstr "n'a pas pu réaliser le chiffrement MD5 du mot de passe"
 
-#: libpq/auth.c:2740
+#: libpq/auth.c:2555
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "n'a pas pu créer le socket RADIUS : %m"
 
-#: libpq/auth.c:2761
+#: libpq/auth.c:2576
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "n'a pas pu se lier à la socket RADIUS : %m"
 
-#: libpq/auth.c:2771
+#: libpq/auth.c:2586
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "n'a pas pu transmettre le paquet RADIUS : %m"
 
-#: libpq/auth.c:2800
-#: libpq/auth.c:2825
+#: libpq/auth.c:2615
+#: libpq/auth.c:2640
 msgid "timeout waiting for RADIUS response"
 msgstr "dépassement du délai pour la réponse du RADIUS"
 
-#: libpq/auth.c:2818
+#: libpq/auth.c:2633
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "n'a pas pu vérifier le statut sur la socket RADIUS : %m"
 
-#: libpq/auth.c:2847
+#: libpq/auth.c:2662
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "n'a pas pu lire la réponse RADIUS : %m"
 
-#: libpq/auth.c:2859
-#: libpq/auth.c:2863
+#: libpq/auth.c:2674
+#: libpq/auth.c:2678
 #, c-format
 msgid "RADIUS response was sent from incorrect port: %i"
 msgstr "la réponse RADIUS a été envoyée à partir d'un mauvais port : %i"
 
-#: libpq/auth.c:2872
+#: libpq/auth.c:2687
 #, c-format
 msgid "RADIUS response too short: %i"
 msgstr "réponse RADIUS trop courte : %i"
 
-#: libpq/auth.c:2879
+#: libpq/auth.c:2694
 #, c-format
 msgid "RADIUS response has corrupt length: %i (actual length %i)"
 msgstr "la réponse RADIUS a une longueur corrompue : %i (longueur actuelle %i)"
 
-#: libpq/auth.c:2887
+#: libpq/auth.c:2702
 #, c-format
 msgid "RADIUS response is to a different request: %i (should be %i)"
 msgstr "la réponse RADIUS correspond à une demande différente : %i (devrait être %i)"
 
-#: libpq/auth.c:2912
+#: libpq/auth.c:2727
 msgid "could not perform MD5 encryption of received packet"
 msgstr "n'a pas pu réaliser le chiffrement MD5 du paquet reçu"
 
-#: libpq/auth.c:2921
+#: libpq/auth.c:2736
 msgid "RADIUS response has incorrect MD5 signature"
 msgstr "la réponse RADIUS a une signature MD5 erronée"
 
-#: libpq/auth.c:2938
+#: libpq/auth.c:2753
 #, c-format
 msgid "RADIUS response has invalid code (%i) for user \"%s\""
 msgstr "la réponse RADIUS a un code invalide (%i) pour l'utilisateur « %s »"
@@ -9204,14 +9981,14 @@ msgstr "la r
 #: libpq/be-fsstubs.c:189
 #: libpq/be-fsstubs.c:225
 #: libpq/be-fsstubs.c:272
-#: libpq/be-fsstubs.c:518
+#: libpq/be-fsstubs.c:519
 #, c-format
 msgid "invalid large-object descriptor: %d"
 msgstr "descripteur invalide de « Large Object » : %d"
 
 #: libpq/be-fsstubs.c:173
 #: libpq/be-fsstubs.c:205
-#: libpq/be-fsstubs.c:528
+#: libpq/be-fsstubs.c:529
 #, c-format
 msgid "permission denied for large object %u"
 msgstr "droit refusé pour le Large Object %u"
@@ -9247,12 +10024,12 @@ msgstr "doit 
 msgid "Anyone can use the client-side lo_export() provided by libpq."
 msgstr "Tout le monde peut utiliser lo_export(), fournie par libpq, du côté client."
 
-#: libpq/be-fsstubs.c:483
+#: libpq/be-fsstubs.c:484
 #, 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:495
+#: libpq/be-fsstubs.c:496
 #, c-format
 msgid "could not write server file \"%s\": %m"
 msgstr "n'a pas pu écrire le fichier serveur « %s » : %m"
@@ -9387,277 +10164,305 @@ msgstr "aucune erreur SSL report
 msgid "SSL error code %lu"
 msgstr "erreur SSL %lu"
 
-#: libpq/hba.c:158
+#: libpq/hba.c:160
 #, c-format
 msgid "authentication file token too long, skipping: \"%s\""
 msgstr "jeton du fichier d'authentification trop long, ignore : « %s »"
 
-#: libpq/hba.c:351
+#: libpq/hba.c:355
 #, c-format
 msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m"
 msgstr ""
 "n'a pas pu ouvrir le fichier d'authentification secondaire « @%s » comme\n"
 "« %s » : %m"
 
+#: libpq/hba.c:628
+#, c-format
+msgid "could not translate host name \"%s\" to address: %s"
+msgstr "n'a pas pu traduire le nom d'hôte « %s » en adresse : %s"
+
 #. translator: the second %s is a list of auth methods
-#: libpq/hba.c:651
+#: libpq/hba.c:779
 #, c-format
 msgid "authentication option \"%s\" is only valid for authentication methods %s"
 msgstr ""
 "l'option d'authentification « %s » est seulement valide pour les méthodes\n"
 "d'authentification « %s »"
 
-#: libpq/hba.c:667
+#: libpq/hba.c:795
 #, c-format
 msgid "authentication method \"%s\" requires argument \"%s\" to be set"
 msgstr "la méthode d'authentification « %s » requiert un argument « %s » pour êtremise en place"
 
-#: libpq/hba.c:713
-msgid "hostssl not supported on this platform"
-msgstr "hostssl non supporté sur cette plateforme"
+#: libpq/hba.c:832
+msgid "local connections are not supported by this build"
+msgstr "les connexions locales ne sont pas supportées dans cette installation"
 
-#: libpq/hba.c:714
+#: libpq/hba.c:853
+msgid "hostssl requires SSL to be turned on"
+msgstr "hostssl requiert que SSL soit activé"
+
+#: libpq/hba.c:854
+msgid "Set ssl = on in postgresql.conf."
+msgstr "Configurez ssl = on dans le postgresql.conf."
+
+#: libpq/hba.c:862
+msgid "hostssl is not supported by this build"
+msgstr "hostssl n'est pas supporté par cette installation"
+
+#: libpq/hba.c:863
 msgid "Compile with --with-openssl to use SSL connections."
 msgstr "Compilez avec --with-ssl pour utiliser les connexions SSL"
 
-#: libpq/hba.c:736
+#: libpq/hba.c:885
 #, c-format
 msgid "invalid connection type \"%s\""
 msgstr "type de connexion « %s » invalide"
 
-#: libpq/hba.c:749
+#: libpq/hba.c:898
 msgid "end-of-line before database specification"
 msgstr "fin de ligne avant la spécification de la base de données"
 
-#: libpq/hba.c:762
+#: libpq/hba.c:911
 msgid "end-of-line before role specification"
 msgstr "fin de ligne avant la spécification du rôle"
 
-#: libpq/hba.c:777
+#: libpq/hba.c:926
 msgid "end-of-line before IP address specification"
 msgstr "fin de ligne avant la spécification de l'adresse IP"
 
-#: libpq/hba.c:823
+#: libpq/hba.c:980
 #, c-format
 msgid "invalid IP address \"%s\": %s"
 msgstr "adresse IP « %s » invalide : %s"
 
-#: libpq/hba.c:846
+#: libpq/hba.c:1000
+#, c-format
+msgid "specifying both host name and CIDR mask is invalid: \"%s\""
+msgstr "spécifier le nom d'hôte et le masque CIDR n'est pas valide : « %s »"
+
+#: libpq/hba.c:1014
 #, c-format
 msgid "invalid CIDR mask in address \"%s\""
 msgstr "masque CIDR invalide dans l'adresse « %s »"
 
-#: libpq/hba.c:864
+#: libpq/hba.c:1032
 msgid "end-of-line before netmask specification"
 msgstr "fin de ligne avant la spécification du masque réseau"
 
-#: libpq/hba.c:876
+#: libpq/hba.c:1044
 #, c-format
 msgid "invalid IP mask \"%s\": %s"
 msgstr "masque IP « %s » invalide : %s"
 
-#: libpq/hba.c:893
+#: libpq/hba.c:1061
 msgid "IP address and mask do not match"
 msgstr "l'adresse IP et le masque ne correspondent pas"
 
-#: libpq/hba.c:908
+#: libpq/hba.c:1076
 msgid "end-of-line before authentication method"
 msgstr "fin de ligne avant la méthode d'authentification"
 
-#: libpq/hba.c:979
+#: libpq/hba.c:1149
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "méthode d'authentification « %s » invalide"
 
-#: libpq/hba.c:990
+#: libpq/hba.c:1160
 #, c-format
-msgid "invalid authentication method \"%s\": not supported on this platform"
+msgid "invalid authentication method \"%s\": not supported by this build"
 msgstr ""
 "méthode d'authentification « %s » invalide : non supportée sur cette\n"
-"plateforme"
+"installation"
 
-#: libpq/hba.c:1003
+#: libpq/hba.c:1181
 msgid "krb5 authentication is not supported on local sockets"
 msgstr ""
 "l'authentification krb5 n'est pas supportée sur les connexions locales par\n"
 "socket"
 
-#: libpq/hba.c:1014
+#: libpq/hba.c:1192
 msgid "gssapi authentication is not supported on local sockets"
 msgstr ""
 "l'authentification gssapi n'est pas supportée sur les connexions locales par\n"
 "socket"
 
-#: libpq/hba.c:1031
+#: libpq/hba.c:1203
+msgid "peer authentication is only supported on local sockets"
+msgstr ""
+"l'authentification peer est seulement supportée sur les connexions locales par\n"
+"socket"
+
+#: libpq/hba.c:1220
 msgid "cert authentication is only supported on hostssl connections"
 msgstr "l'authentification cert est seulement supportée sur les connexions hostssl"
 
-#: libpq/hba.c:1052
+#: libpq/hba.c:1241
 #, c-format
 msgid "authentication option not in name=value format: %s"
 msgstr "l'option d'authentification n'est pas dans le format nom=valeur : %s"
 
-#: libpq/hba.c:1067
-msgid "ident, krb5, gssapi, sspi and cert"
-msgstr "ident, krb5, gssapi, sspi et cert"
+#: libpq/hba.c:1257
+msgid "ident, peer, krb5, gssapi, sspi and cert"
+msgstr "ident, peer, krb5, gssapi, sspi et cert"
 
-#: libpq/hba.c:1081
+#: libpq/hba.c:1271
 msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "clientcert peut seulement être configuré pour les lignes « hostssl »"
 
-#: libpq/hba.c:1092
+#: libpq/hba.c:1282
 msgid "client certificates can only be checked if a root certificate store is available"
 msgstr ""
 "les certificats cert peuvent seulement être vérifiés si un emplacement de\n"
 "certificat racine est disponible"
 
-#: libpq/hba.c:1093
+#: libpq/hba.c:1283
 msgid "Make sure the root.crt file is present and readable."
 msgstr "Assurez-vous que le certificat racine (root.crt) est présent et lisible"
 
-#: libpq/hba.c:1106
+#: libpq/hba.c:1296
 msgid "clientcert can not be set to 0 when using \"cert\" authentication"
 msgstr "clientcert ne peut pas être initialisé à 0 si vous utilisez l'authentification « cert »"
 
-#: libpq/hba.c:1140
+#: libpq/hba.c:1330
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "numéro de port LDAP invalide : « %s »"
 
-#: libpq/hba.c:1186
-#: libpq/hba.c:1194
+#: libpq/hba.c:1376
+#: libpq/hba.c:1384
 msgid "krb5, gssapi and sspi"
 msgstr "krb5, gssapi et sspi"
 
-#: libpq/hba.c:1232
+#: libpq/hba.c:1422
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "numéro de port RADIUS invalide : « %s »"
 
-#: libpq/hba.c:1252
+#: libpq/hba.c:1442
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "nom d'option de l'authentification inconnu : « %s »"
 
-#: libpq/hba.c:1284
+#: libpq/hba.c:1474
 msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, or ldapsearchattribute together with ldapprefix"
 msgstr ""
 "ne peut pas utiliser ldapbasedn, ldapbinddn, ldapbindpasswd\n"
 "ou ldapsearchattribute avec ldapprefix"
 
-#: libpq/hba.c:1294
+#: libpq/hba.c:1484
 msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set"
 msgstr ""
 "la méthode d'authentification « ldap » requiert un argument « ldapbasedn »,\n"
 "« ldapprefix » ou « ldapsuffix » pour être mise en place"
 
-#: libpq/hba.c:1482
-#: guc-file.l:436
+#: libpq/hba.c:1683
+#: guc-file.l:409
 #, 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:1614
+#: libpq/hba.c:1815
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "expression rationnelle invalide « %s » : %s"
 
-#: libpq/hba.c:1637
+#: libpq/hba.c:1838
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "la correspondance de l'expression rationnelle pour « %s » a échoué : %s"
 
-#: libpq/hba.c:1655
+#: libpq/hba.c:1856
 #, c-format
 msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\""
 msgstr ""
 "l'expression rationnelle « %s » n'a pas de sous-expressions comme celle\n"
 "demandée par la référence dans « %s »"
 
-#: libpq/hba.c:1721
+#: libpq/hba.c:1922
 #, 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:1762
+#: libpq/hba.c:1963
 #, c-format
 msgid "provided user name (%s) and authenticated user name (%s) do not match"
 msgstr ""
 "le nom d'utilisateur (%s) et le nom d'utilisateur authentifié (%s) fournis ne\n"
 "correspondent pas"
 
-#: libpq/hba.c:1783
+#: libpq/hba.c:1984
 #, c-format
 msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\""
 msgstr ""
 "pas de correspondance dans la usermap « %s » pour l'utilisateur « %s »\n"
 "authentifié en tant que « %s »"
 
-#: libpq/hba.c:1807
+#: libpq/hba.c:2008
 #, c-format
 msgid "could not open usermap file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier usermap « %s » : %m"
 
-#: libpq/pqcomm.c:294
+#: libpq/pqcomm.c:306
 #, c-format
 msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
 msgstr "n'a pas pu résoudre le nom de l'hôte « %s », service « %s » par l'adresse : %s"
 
-#: libpq/pqcomm.c:298
+#: libpq/pqcomm.c:310
 #, c-format
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "n'a pas pu résoudre le service « %s » par l'adresse : %s"
 
-#: libpq/pqcomm.c:325
+#: libpq/pqcomm.c:337
 #, c-format
 msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
 msgstr "n'a pas pu se lier à toutes les adresses requises : MAXLISTEN (%d) dépassé"
 
-#: libpq/pqcomm.c:334
+#: libpq/pqcomm.c:346
 msgid "IPv4"
 msgstr "IPv4"
 
-#: libpq/pqcomm.c:338
+#: libpq/pqcomm.c:350
 msgid "IPv6"
 msgstr "IPv6"
 
-#: libpq/pqcomm.c:343
+#: libpq/pqcomm.c:355
 msgid "Unix"
 msgstr "Unix"
 
-#: libpq/pqcomm.c:348
+#: libpq/pqcomm.c:360
 #, c-format
 msgid "unrecognized address family %d"
 msgstr "famille d'adresse %d non reconnue"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:359
+#: libpq/pqcomm.c:371
 #, c-format
 msgid "could not create %s socket: %m"
 msgstr "n'a pas pu créer le socket %s : %m"
 
-#: libpq/pqcomm.c:384
+#: libpq/pqcomm.c:396
 #, c-format
 msgid "setsockopt(SO_REUSEADDR) failed: %m"
 msgstr "setsockopt(SO_REUSEADDR) a échoué : %m"
 
-#: libpq/pqcomm.c:399
+#: libpq/pqcomm.c:411
 #, c-format
 msgid "setsockopt(IPV6_V6ONLY) failed: %m"
 msgstr "setsockopt(IPV6_V6ONLY) a échoué : %m"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:418
+#: libpq/pqcomm.c:430
 #, c-format
 msgid "could not bind %s socket: %m"
 msgstr "n'a pas pu se lier à la socket %s : %m"
 
-#: libpq/pqcomm.c:421
+#: libpq/pqcomm.c:433
 #, 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:424
+#: libpq/pqcomm.c:436
 #, c-format
 msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry."
 msgstr ""
@@ -9665,62 +10470,61 @@ msgstr ""
 "Sinon, attendez quelques secondes et réessayez."
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:457
+#: libpq/pqcomm.c:469
 #, c-format
 msgid "could not listen on %s socket: %m"
 msgstr "n'a pas pu écouter sur le socket %s : %m"
 
-#: libpq/pqcomm.c:542
+#: libpq/pqcomm.c:554
 #, c-format
 msgid "group \"%s\" does not exist"
 msgstr "le groupe « %s » n'existe pas"
 
-#: libpq/pqcomm.c:552
+#: libpq/pqcomm.c:564
 #, 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:563
+#: libpq/pqcomm.c:575
 #, 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:593
+#: libpq/pqcomm.c:605
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "n'a pas pu accepter la nouvelle connexion : %m"
 
-#: libpq/pqcomm.c:779
-#: libpq/pqcomm.c:879
-#, 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:854
+#: libpq/pqcomm.c:773
 #, c-format
 msgid "could not set socket to non-blocking mode: %m"
 msgstr "n'a pas pu activer le mode non-bloquant pour la socket : %m"
 
-#: libpq/pqcomm.c:900
-#: libpq/pqcomm.c:911
+#: libpq/pqcomm.c:779
 #, c-format
 msgid "could not set socket to blocking mode: %m"
 msgstr "n'a pas pu activer le mode bloquant pour la socket : %m"
 
-#: libpq/pqcomm.c:1056
+#: libpq/pqcomm.c:831
+#: libpq/pqcomm.c:921
+#, 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:1072
 msgid "unexpected EOF within message length word"
 msgstr "fin de fichier (EOF) inattendue à l'intérieur de la longueur du message"
 
-#: libpq/pqcomm.c:1067
+#: libpq/pqcomm.c:1083
 msgid "invalid message length"
 msgstr "longueur du message invalide"
 
-#: libpq/pqcomm.c:1089
-#: libpq/pqcomm.c:1099
+#: libpq/pqcomm.c:1105
+#: libpq/pqcomm.c:1115
 msgid "incomplete message from client"
 msgstr "message incomplet du client"
 
-#: libpq/pqcomm.c:1208
+#: libpq/pqcomm.c:1245
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "n'a pas pu envoyer les données au client : %m"
@@ -9732,7 +10536,7 @@ msgstr "pas de donn
 #: libpq/pqformat.c:556
 #: libpq/pqformat.c:574
 #: libpq/pqformat.c:595
-#: utils/adt/arrayfuncs.c:1386
+#: utils/adt/arrayfuncs.c:1411
 #: utils/adt/rowtypes.c:557
 msgid "insufficient data left in message"
 msgstr "données insuffisantes laissées dans le message"
@@ -9763,192 +10567,205 @@ msgstr "param
 msgid "missing Language parameter"
 msgstr "paramètre Language manquant"
 
-#: storage/smgr/md.c:371
-#: storage/smgr/md.c:839
+#: storage/smgr/md.c:381
+#: storage/smgr/md.c:855
 #, c-format
 msgid "could not truncate file \"%s\": %m"
 msgstr "n'a pas pu tronquer le fichier « %s » : %m"
 
-#: storage/smgr/md.c:439
+#: storage/smgr/md.c:449
 #, c-format
 msgid "cannot extend file \"%s\" beyond %u blocks"
 msgstr "ne peut pas étendre le fichier « %s » de plus de %u blocs"
 
-#: storage/smgr/md.c:461
-#: storage/smgr/md.c:621
-#: storage/smgr/md.c:694
+#: storage/smgr/md.c:471
+#: storage/smgr/md.c:635
+#: storage/smgr/md.c:710
 #, c-format
 msgid "could not seek to block %u in file \"%s\": %m"
 msgstr "n'a pas pu trouver le bloc %u dans le fichier « %s » : %m"
 
-#: storage/smgr/md.c:469
+#: storage/smgr/md.c:479
 #, c-format
 msgid "could not extend file \"%s\": %m"
 msgstr "n'a pas pu étendre le fichier « %s » : %m"
 
-#: storage/smgr/md.c:471
-#: storage/smgr/md.c:478
-#: storage/smgr/md.c:720
+#: storage/smgr/md.c:481
+#: storage/smgr/md.c:488
+#: storage/smgr/md.c:737
 msgid "Check free disk space."
 msgstr "Vérifiez l'espace disque disponible."
 
-#: storage/smgr/md.c:475
+#: storage/smgr/md.c:485
 #, c-format
 msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
 msgstr ""
 "n'a pas pu étendre le fichier « %s » : a écrit seulement %d octets sur %d\n"
 "au bloc %u"
 
-#: storage/smgr/md.c:638
+#: storage/smgr/md.c:653
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "n'a pas pu lire le bloc %u dans le fichier « %s » : %m"
 
-#: storage/smgr/md.c:654
+#: storage/smgr/md.c:669
 #, c-format
 msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
 msgstr ""
 "n'a pas pu lire le bloc %u du fichier « %s » : a lu seulement %d octets\n"
 "sur %d"
 
-#: storage/smgr/md.c:711
+#: storage/smgr/md.c:728
 #, c-format
 msgid "could not write block %u in file \"%s\": %m"
 msgstr "n'a pas pu écrire le bloc %u dans le fichier « %s » : %m"
 
-#: storage/smgr/md.c:716
+#: storage/smgr/md.c:733
 #, c-format
 msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
 msgstr ""
 "n'a pas pu écrire le bloc %u du fichier « %s » : a seulement écrit %d\n"
 "octets sur %d"
 
-#: storage/smgr/md.c:815
+#: storage/smgr/md.c:831
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now"
 msgstr "n'a pas pu tronquer le fichier « %s » en %u blocs : il y a seulement %u blocs"
 
-#: storage/smgr/md.c:864
+#: storage/smgr/md.c:880
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: %m"
 msgstr "n'a pas pu tronquer le fichier « %s » en %u blocs : %m"
 
-#: storage/smgr/md.c:1087
+#: storage/smgr/md.c:1134
 #, c-format
 msgid "could not fsync file \"%s\" but retrying: %m"
 msgstr ""
 "n'a pas pu synchroniser sur disque (fsync) le fichier « %s », nouvelle\n"
 "tentative : %m"
 
-#: storage/smgr/md.c:1586
+#: storage/smgr/md.c:1276
+msgid "could not forward fsync request because request queue is full"
+msgstr "n'a pas pu envoyer la requête fsync car la queue des requêtes est pleine"
+
+#: storage/smgr/md.c:1646
 #, c-format
 msgid "could not open file \"%s\" (target block %u): %m"
 msgstr "n'a pas pu ouvrir le fichier « %s » (bloc cible %u) : %m"
 
-#: storage/smgr/md.c:1608
+#: storage/smgr/md.c:1668
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "n'a pas pu trouver la fin du fichier « %s » : %m"
 
-#: storage/buffer/bufmgr.c:131
-#: storage/buffer/bufmgr.c:235
+#: storage/buffer/bufmgr.c:134
+#: storage/buffer/bufmgr.c:239
 msgid "cannot access temporary tables of other sessions"
 msgstr "ne peut pas accéder aux tables temporaires d'autres sessions"
 
-#: storage/buffer/bufmgr.c:364
+#: storage/buffer/bufmgr.c:373
 #, c-format
 msgid "unexpected data beyond EOF in block %u of relation %s"
 msgstr ""
 "données inattendues après la fin de fichier dans le bloc %u de la relation\n"
 "%s"
 
-#: storage/buffer/bufmgr.c:366
+#: storage/buffer/bufmgr.c:375
 msgid "This has been seen to occur with buggy kernels; consider updating your system."
 msgstr ""
 "Ceci s'est déjà vu avec des noyaux buggés ; pensez à mettre à jour votre\n"
 "système."
 
-#: storage/buffer/bufmgr.c:438
+#: storage/buffer/bufmgr.c:447
 #, 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 ; remplacement\n"
 "de la page par des zéros"
 
-#: storage/buffer/bufmgr.c:446
+#: storage/buffer/bufmgr.c:455
 #, 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:2706
+#: storage/buffer/bufmgr.c:2734
 #, c-format
 msgid "could not write block %u of %s"
 msgstr "n'a pas pu écrire le bloc %u de %s"
 
-#: storage/buffer/bufmgr.c:2708
+#: storage/buffer/bufmgr.c:2736
 msgid "Multiple failures --- write error might be permanent."
 msgstr "Échecs multiples --- l'erreur d'écriture pourrait être permanent."
 
-#: storage/buffer/bufmgr.c:2729
+#: storage/buffer/bufmgr.c:2757
+#: storage/buffer/bufmgr.c:2776
 #, c-format
 msgid "writing block %u of relation %s"
 msgstr "écriture du bloc %u de la relation %s"
 
-#: storage/buffer/localbuf.c:189
+#: storage/buffer/localbuf.c:190
 msgid "no empty local buffer available"
 msgstr "aucun tampon local vide disponible"
 
-#: storage/file/fd.c:403
+#: storage/file/fd.c:405
 #, c-format
 msgid "getrlimit failed: %m"
 msgstr "échec de getrlimit : %m"
 
-#: storage/file/fd.c:493
+#: storage/file/fd.c:495
 msgid "insufficient file descriptors available to start server process"
 msgstr "nombre de descripteurs de fichier insuffisants pour lancer le processus serveur"
 
-#: storage/file/fd.c:494
+#: storage/file/fd.c:496
 #, c-format
 msgid "System allows %d, we need at least %d."
 msgstr "Le système autorise %d, nous avons besoin d'au moins %d."
 
-#: storage/file/fd.c:535
-#: storage/file/fd.c:1446
-#: storage/file/fd.c:1561
+#: storage/file/fd.c:537
+#: storage/file/fd.c:1469
+#: storage/file/fd.c:1585
 #, c-format
 msgid "out of file descriptors: %m; release and retry"
 msgstr "plus de descripteurs de fichiers : %m; quittez et ré-essayez"
 
-#: storage/file/fd.c:1088
+#: storage/file/fd.c:1110
 #, c-format
 msgid "temporary file: path \"%s\", size %lu"
 msgstr "fichier temporaire : chemin « %s », taille %lu"
 
-#: storage/file/fd.c:1620
+#: storage/file/fd.c:1644
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "n'a pas pu lire le répertoire « %s » : %m"
 
+#: storage/file/reinit.c:58
+#, c-format
+msgid "resetting unlogged relations: cleanup %d init %d"
+msgstr "réinitialisation des relations non tracées : nettoyage %d initialisation %d"
+
 #: storage/ipc/procarray.c:270
 #: storage/ipc/sinvaladt.c:302
-#: storage/lmgr/proc.c:289
-#: postmaster/postmaster.c:1833
+#: storage/lmgr/proc.c:286
+#: postmaster/postmaster.c:1861
 msgid "sorry, too many clients already"
 msgstr "désolé, trop de clients sont déjà connectés"
 
-#: storage/ipc/procarray.c:639
+#: storage/ipc/procarray.c:637
 msgid "consistent state delayed because recovery snapshot incomplete"
 msgstr "état de cohérence pas encore atteint à cause d'un snapshot de restauration incomplet"
 
 #: storage/ipc/shmem.c:190
-#: storage/lmgr/lock.c:629
-#: storage/lmgr/lock.c:698
-#: storage/lmgr/lock.c:2132
-#: storage/lmgr/lock.c:2511
-#: storage/lmgr/lock.c:2576
-#: storage/lmgr/proc.c:192
-#: storage/lmgr/proc.c:210
-#: utils/hash/dynahash.c:925
+#: storage/lmgr/predicate.c:2217
+#: storage/lmgr/predicate.c:2232
+#: storage/lmgr/predicate.c:3589
+#: storage/lmgr/predicate.c:4715
+#: storage/lmgr/lock.c:631
+#: storage/lmgr/lock.c:700
+#: storage/lmgr/lock.c:2170
+#: storage/lmgr/lock.c:2549
+#: storage/lmgr/lock.c:2614
+#: storage/lmgr/proc.c:191
+#: utils/hash/dynahash.c:928
 msgid "out of shared memory"
 msgstr "mémoire partagée épuisée"
 
@@ -9973,18 +10790,120 @@ msgstr "La taille de l'entr
 msgid "requested shared memory size overflows size_t"
 msgstr "la taille de la mémoire partagée demandée dépasse size_t"
 
-#: storage/large_object/inv_api.c:550
-#: storage/large_object/inv_api.c:747
+#: storage/large_object/inv_api.c:555
+#: storage/large_object/inv_api.c:752
 #, c-format
 msgid "large object %u was not opened for writing"
 msgstr "le « Large Object » %u n'a pas été ouvert en écriture"
 
-#: storage/large_object/inv_api.c:557
-#: storage/large_object/inv_api.c:754
+#: storage/large_object/inv_api.c:562
+#: storage/large_object/inv_api.c:759
 #, c-format
 msgid "large object %u was already dropped"
 msgstr "le « Large Object » %u a déjà été supprimé"
 
+#: storage/lmgr/predicate.c:652
+msgid "not enough elements in RWConflictPool to record a rw-conflict"
+msgstr "pas assez d'éléments dans RWConflictPool pour enregistrer un conflit RW"
+
+#: storage/lmgr/predicate.c:653
+#: storage/lmgr/predicate.c:681
+msgid "You might need to run fewer transactions at a time or increase max_connections."
+msgstr ""
+"Il est possible que vous ayez à exécuter moins de transactions à la fois\n"
+"ou d'augmenter max_connections."
+
+#: storage/lmgr/predicate.c:680
+msgid "not enough elements in RWConflictPool to record a potential rw-conflict"
+msgstr "pas assez d'éléments dans RWConflictPool pour enregistrer un conflit RW potentiel"
+
+#: storage/lmgr/predicate.c:885
+msgid "memory for serializable conflict tracking is nearly exhausted"
+msgstr "la mémoire pour tracer les conflits sérialisables est pratiquement pleine"
+
+#: storage/lmgr/predicate.c:886
+msgid "There may be an idle transaction or a forgotten prepared transaction causing this."
+msgstr ""
+"Il pourait y avoir une transaction en attente ou une transaction préparée\n"
+"oubliée causant cela."
+
+#: storage/lmgr/predicate.c:1168
+#: storage/lmgr/predicate.c:1239
+#, c-format
+msgid "not enough shared memory for elements of data structure \"%s\" (%lu bytes requested)"
+msgstr ""
+"pas assez de mémoire partagée pour les éléments de la structure de données\n"
+"« %s » (%lu octets demandés)"
+
+#: storage/lmgr/predicate.c:1522
+msgid "deferrable snapshot was unsafe; trying a new one"
+msgstr "l'image déferrable est non sûre ; tentative avec une nouvelle image"
+
+#: storage/lmgr/predicate.c:2218
+#: storage/lmgr/predicate.c:2233
+#: storage/lmgr/predicate.c:3590
+msgid "You might need to increase max_pred_locks_per_transaction."
+msgstr "Vous pourriez avoir besoin d'augmenter max_pred_locks_per_transaction."
+
+#: storage/lmgr/predicate.c:3743
+#: storage/lmgr/predicate.c:3832
+#: storage/lmgr/predicate.c:3840
+#: storage/lmgr/predicate.c:3881
+#: storage/lmgr/predicate.c:4119
+#: storage/lmgr/predicate.c:4451
+#: storage/lmgr/predicate.c:4463
+#: storage/lmgr/predicate.c:4504
+msgid "could not serialize access due to read/write dependencies among transactions"
+msgstr ""
+"n'a pas pu sérialiser un accès à cause des dépendances de lecture/écriture\n"
+"parmi les transactions"
+
+#: storage/lmgr/predicate.c:3744
+msgid "Cancelled on identification as a pivot, during conflict out checking."
+msgstr ""
+
+#: storage/lmgr/predicate.c:3745
+#: storage/lmgr/predicate.c:3834
+#: storage/lmgr/predicate.c:3842
+#: storage/lmgr/predicate.c:3883
+#: storage/lmgr/predicate.c:4121
+#: storage/lmgr/predicate.c:4453
+#: storage/lmgr/predicate.c:4465
+#: storage/lmgr/predicate.c:4506
+msgid "The transaction might succeed if retried."
+msgstr "La transaction pourrait réussir après une nouvelle tentative."
+
+#: storage/lmgr/predicate.c:3833
+#, c-format
+msgid "Cancelled on conflict out to old pivot %u."
+msgstr "Annulation sur le conflit d'ancien pivot %u."
+
+#: storage/lmgr/predicate.c:3841
+#, c-format
+msgid "Cancelled on identification as a pivot, with conflict out to old committed transaction %u."
+msgstr ""
+
+#: storage/lmgr/predicate.c:3882
+msgid "Cancelled on conflict out to old pivot."
+msgstr "Annulation sur le conflit d'ancien pivot."
+
+#: storage/lmgr/predicate.c:4120
+msgid "Cancelled on identification as a pivot, during conflict in checking."
+msgstr "Annulation sur l'identification en tant que pivot, lors d'un blocage dans la vérification."
+
+#: storage/lmgr/predicate.c:4452
+msgid "Cancelled on identification as a pivot, during write."
+msgstr "Annulation sur l'identification en tant que pivot, lors d'une écriture."
+
+#: storage/lmgr/predicate.c:4464
+#, c-format
+msgid "Cancelled on conflict out to pivot %u, during read."
+msgstr "Annulation sur le conflit en tant que pivot %u, lors d'une lecture."
+
+#: storage/lmgr/predicate.c:4505
+msgid "Cancelled on identification as a pivot, during commit attempt."
+msgstr "Annulation sur l'identification en tant que pivot, lors d'une tentative de validation (COMMIT)."
+
 #: storage/lmgr/deadlock.c:915
 #, c-format
 msgid "Process %d waits for %s on %s; blocked by process %d."
@@ -10003,111 +10922,111 @@ msgstr "Bloquage mortel d
 msgid "See server log for query details."
 msgstr "Voir les journaux applicatifs du serveur pour les détails sur la requête."
 
-#: storage/lmgr/lmgr.c:717
+#: storage/lmgr/lmgr.c:720
 #, c-format
 msgid "relation %u of database %u"
 msgstr "relation %u de la base de données %u"
 
-#: storage/lmgr/lmgr.c:723
+#: storage/lmgr/lmgr.c:726
 #, c-format
 msgid "extension of relation %u of database %u"
 msgstr "extension de la relation %u de la base de données %u"
 
-#: storage/lmgr/lmgr.c:729
+#: storage/lmgr/lmgr.c:732
 #, c-format
 msgid "page %u of relation %u of database %u"
 msgstr "page %u de la relation %u de la base de données %u"
 
-#: storage/lmgr/lmgr.c:736
+#: storage/lmgr/lmgr.c:739
 #, c-format
 msgid "tuple (%u,%u) of relation %u of database %u"
 msgstr "ligne (%u,%u) de la relation %u de la base de données %u"
 
-#: storage/lmgr/lmgr.c:744
+#: storage/lmgr/lmgr.c:747
 #, c-format
 msgid "transaction %u"
 msgstr "transaction %u"
 
-#: storage/lmgr/lmgr.c:749
+#: storage/lmgr/lmgr.c:752
 #, c-format
 msgid "virtual transaction %d/%u"
 msgstr "transaction virtuelle %d/%u"
 
-#: storage/lmgr/lmgr.c:755
+#: storage/lmgr/lmgr.c:758
 #, c-format
 msgid "object %u of class %u of database %u"
 msgstr "objet %u de la classe %u de la base de données %u"
 
-#: storage/lmgr/lmgr.c:763
+#: storage/lmgr/lmgr.c:766
 #, c-format
 msgid "user lock [%u,%u,%u]"
 msgstr "verrou utilisateur [%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:770
+#: storage/lmgr/lmgr.c:773
 #, c-format
 msgid "advisory lock [%u,%u,%u,%u]"
 msgstr "verrou informatif [%u,%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:778
+#: storage/lmgr/lmgr.c:781
 #, c-format
 msgid "unrecognized locktag type %d"
 msgstr "type locktag non reconnu %d"
 
-#: storage/lmgr/lock.c:516
+#: storage/lmgr/lock.c:517
 #, c-format
 msgid "cannot acquire lock mode %s on database objects while recovery is in progress"
 msgstr ""
 "ne peut pas acquérir le mode de verrou %s sur les objets de base de données\n"
 "alors que la restauration est en cours"
 
-#: storage/lmgr/lock.c:518
+#: storage/lmgr/lock.c:519
 msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery."
 msgstr ""
 "Seuls RowExclusiveLock et les verrous inférieurs peuvent être acquis sur les\n"
 "objets d'une base pendant une restauration."
 
-#: storage/lmgr/lock.c:630
-#: storage/lmgr/lock.c:699
-#: storage/lmgr/lock.c:2512
-#: storage/lmgr/lock.c:2577
+#: storage/lmgr/lock.c:632
+#: storage/lmgr/lock.c:701
+#: storage/lmgr/lock.c:2550
+#: storage/lmgr/lock.c:2615
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "Vous pourriez avoir besoin d'augmenter max_locks_per_transaction."
 
-#: storage/lmgr/lock.c:2133
+#: storage/lmgr/lock.c:2171
 msgid "Not enough memory for reassigning the prepared transaction's locks."
 msgstr "Pas assez de mémoire pour réaffecter les verrous des transactions préparées."
 
-#: storage/lmgr/proc.c:1006
+#: storage/lmgr/proc.c:1012
 #: utils/adt/misc.c:102
 #, c-format
 msgid "could not send signal to process %d: %m"
 msgstr "n'a pas pu envoyer le signal au processus %d : %m"
 
-#: storage/lmgr/proc.c:1040
+#: storage/lmgr/proc.c:1046
 #, c-format
 msgid "process %d avoided deadlock for %s on %s by rearranging queue order after %ld.%03d ms"
 msgstr ""
 "le processus %d a évité un verrou mortel pour %s sur %s en modifiant l'ordre\n"
 "de la queue après %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1052
+#: storage/lmgr/proc.c:1058
 #, c-format
 msgid "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms"
 msgstr ""
 "le processus %d a détecté un verrou mortel alors qu'il était en attente de\n"
 "%s sur %s après %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1058
+#: storage/lmgr/proc.c:1064
 #, c-format
 msgid "process %d still waiting for %s on %s after %ld.%03d ms"
 msgstr "le processus %d est toujours en attente de %s sur %s après %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1062
+#: storage/lmgr/proc.c:1068
 #, c-format
 msgid "process %d acquired %s on %s after %ld.%03d ms"
 msgstr "le processus %d a acquis %s sur %s après %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1078
+#: storage/lmgr/proc.c:1084
 #, c-format
 msgid "process %d failed to acquire %s on %s after %ld.%03d ms"
 msgstr "le processus %d a échoué pour l'acquisition de %s sur %s après %ld.%03d ms"
@@ -10137,950 +11056,1004 @@ msgstr "longueurs d'
 msgid "corrupted item pointer: offset = %u, size = %u"
 msgstr "pointeur d'élément corrompu : décalage = %u, taille = %u"
 
-#: nodes/nodeFuncs.c:110
-#: nodes/nodeFuncs.c:136
-#: parser/parse_coerce.c:1568
-#: parser/parse_coerce.c:1585
-#: parser/parse_coerce.c:1643
-#: parser/parse_expr.c:1606
-#: parser/parse_func.c:373
-#: parser/parse_oper.c:983
+#: nodes/nodeFuncs.c:114
+#: nodes/nodeFuncs.c:140
+#: parser/parse_coerce.c:1645
+#: parser/parse_coerce.c:1662
+#: parser/parse_coerce.c:1724
+#: parser/parse_expr.c:1633
+#: parser/parse_func.c:367
+#: parser/parse_oper.c:948
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "n'a pas pu trouver le type array pour le type de données %s"
 
-#: optimizer/plan/initsplan.c:585
+#: optimizer/plan/initsplan.c:587
 msgid "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\n"
 "d'une jointure externe"
 
-#: optimizer/plan/planner.c:947
-#: parser/analyze.c:1205
-#: parser/analyze.c:1393
-#: parser/analyze.c:2035
+#: optimizer/plan/planner.c:959
+#: parser/analyze.c:1337
+#: parser/analyze.c:1534
+#: parser/analyze.c:2263
 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/plan/planner.c:2215
+#: optimizer/plan/planner.c:2249
 msgid "could not implement GROUP BY"
 msgstr "n'a pas pu implanté GROUP BY"
 
-#: optimizer/plan/planner.c:2216
-#: optimizer/plan/planner.c:2385
-#: optimizer/prep/prepunion.c:769
+#: optimizer/plan/planner.c:2250
+#: optimizer/plan/planner.c:2422
+#: optimizer/prep/prepunion.c:791
 msgid "Some of the datatypes only support hashing, while others only support sorting."
 msgstr ""
 "Certains des types de données supportent seulement le hachage,\n"
 "alors que les autres supportent seulement le tri."
 
-#: optimizer/plan/planner.c:2384
+#: optimizer/plan/planner.c:2421
 msgid "could not implement DISTINCT"
 msgstr "n'a pas pu implanté DISTINCT"
 
-#: optimizer/plan/planner.c:2828
+#: optimizer/plan/planner.c:2868
 msgid "could not implement window PARTITION BY"
 msgstr "n'a pas pu implanter PARTITION BY de window"
 
-#: optimizer/plan/planner.c:2829
+#: optimizer/plan/planner.c:2869
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr ""
 "Les colonnes de partitionnement de window doivent être d'un type de données\n"
 "triables."
 
-#: optimizer/plan/planner.c:2833
+#: optimizer/plan/planner.c:2873
 msgid "could not implement window ORDER BY"
 msgstr "n'a pas pu implanter ORDER BY dans le window"
 
-#: optimizer/plan/planner.c:2834
+#: optimizer/plan/planner.c:2874
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Les colonnes de tri de la window doivent être d'un type de données triable."
 
-#: optimizer/util/clauses.c:4030
+#: optimizer/util/clauses.c:4201
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "fonction SQL « %s » durant « inlining »"
 
-#: optimizer/prep/prepunion.c:374
+#: optimizer/util/plancat.c:97
+msgid "cannot access temporary or unlogged relations during recovery"
+msgstr "ne peut pas accéder à des tables temporaires et non tracées lors de la restauration"
+
+#: optimizer/prep/prepunion.c:385
 msgid "could not implement recursive UNION"
 msgstr "n'a pas pu implanté le UNION récursif"
 
-#: optimizer/prep/prepunion.c:375
+#: optimizer/prep/prepunion.c:386
 msgid "All column datatypes must be hashable."
 msgstr "Tous les types de données colonnes doivent être hachables."
 
 #. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:768
+#: optimizer/prep/prepunion.c:790
 #, c-format
 msgid "could not implement %s"
 msgstr "n'a pas pu implanté %s"
 
-#: parser/scansup.c:190
+#: optimizer/path/joinrels.c:673
+msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions"
+msgstr ""
+"FULL JOIN est supporté seulement avec les conditions de jointures MERGE et de\n"
+"jointures HASH JOIN"
+
+#: parser/parse_collate.c:214
+#: parser/parse_collate.c:538
 #, c-format
-msgid "identifier \"%s\" will be truncated to \"%s\""
-msgstr "l'identifiant « %s » sera tronqué en « %s »"
+msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
+msgstr "le collationnement ne correspond pas aux collationnements implicites « %s » et « %s »"
 
-#: parser/analyze.c:450
+#: parser/parse_collate.c:217
+#: parser/parse_collate.c:541
+msgid "You can choose the collation by applying the COLLATE clause to one or both expressions."
+msgstr "Vous pouvez choisir le collationnement en appliquant la clause COLLATE à une ou aux deux expressions."
+
+#: parser/parse_collate.c:763
+#, c-format
+msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
+msgstr "le collationnement ne correspond pas aux collationnements explicites « %s » et « %s »"
+
+#: parser/analyze.c:471
 msgid "INSERT ... SELECT cannot specify INTO"
 msgstr "INSERT ... SELECT ne peut pas avoir INTO"
 
-#: parser/analyze.c:552
-#: parser/analyze.c:977
+#: parser/analyze.c:564
+#: parser/analyze.c:1070
 msgid "VALUES lists must all be the same length"
 msgstr "les listes VALUES doivent toutes être de la même longueur"
 
-#: parser/analyze.c:573
-#: parser/analyze.c:1082
+#: parser/analyze.c:606
+#: parser/analyze.c:1211
 msgid "VALUES must not contain table references"
 msgstr "VALUES ne doit pas contenir de références de table"
 
-#: parser/analyze.c:587
-#: parser/analyze.c:1096
+#: parser/analyze.c:620
+#: parser/analyze.c:1225
 msgid "VALUES must not contain OLD or NEW references"
 msgstr "VALUES ne doit pas contenir des références à OLD et NEW"
 
-#: parser/analyze.c:588
-#: parser/analyze.c:1097
+#: parser/analyze.c:621
+#: parser/analyze.c:1226
 msgid "Use SELECT ... UNION ALL ... instead."
 msgstr "Utilisez à la place SELECT ... UNION ALL ..."
 
-#: parser/analyze.c:698
-#: parser/analyze.c:1109
+#: parser/analyze.c:725
+#: parser/analyze.c:1238
 msgid "cannot use aggregate function in VALUES"
 msgstr "ne peut pas utiliser la fonction d'agrégat dans un VALUES"
 
-#: parser/analyze.c:704
-#: parser/analyze.c:1115
+#: parser/analyze.c:731
+#: parser/analyze.c:1244
 msgid "cannot use window function in VALUES"
 msgstr "ne peut pas utiliser la fonction window dans un VALUES"
 
-#: parser/analyze.c:736
+#: parser/analyze.c:765
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT a plus d'expressions que les colonnes cibles"
 
-#: parser/analyze.c:744
+#: parser/analyze.c:783
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT a plus de colonnes cibles que d'expressions"
 
-#: parser/analyze.c:993
+#: parser/analyze.c:787
+msgid "The insertion source is a row expression containing the same number of columns expected by the INSERT. Did you accidentally use extra parentheses?"
+msgstr ""
+"La source d'insertion est une expression de ligne contenant le même nombre\n"
+"de colonnes que celui attendu par INSERT. Auriez-vous utilisé des parenthèses\n"
+"supplémentaires ?"
+
+#: parser/analyze.c:1084
 msgid "DEFAULT can only appear in a VALUES list within INSERT"
 msgstr "DEFAULT peut seulement apparaître dans la liste VALUES comprise dans un INSERT"
 
-#: parser/analyze.c:1063
-#: parser/analyze.c:2183
+#: parser/analyze.c:1192
+#: parser/analyze.c:2414
 msgid "SELECT FOR UPDATE/SHARE cannot be applied to VALUES"
 msgstr "SELECT FOR UPDATE/SHARE ne peut pas être appliqué à VALUES"
 
-#: parser/analyze.c:1316
+#: parser/analyze.c:1452
 msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
 msgstr "clause UNION/INTERSECT/EXCEPT ORDER BY invalide"
 
-#: parser/analyze.c:1317
+#: parser/analyze.c:1453
 msgid "Only result column names can be used, not expressions or functions."
 msgstr ""
 "Seuls les noms de colonnes résultats peuvent être utilisés, pas les\n"
 "expressions et les fonctions."
 
-#: parser/analyze.c:1318
+#: parser/analyze.c:1454
 msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause."
 msgstr "Ajouter l'expression/fonction à chaque SELECT, ou déplacer l'UNION dans une clause FROM."
 
-#: parser/analyze.c:1385
+#: parser/analyze.c:1526
 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:1445
+#: parser/analyze.c:1586
 msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level"
 msgstr ""
 "L'instruction membre UNION/INTERSECT/EXCEPT ne peut pas faire référence à\n"
 "d'autres relations que celles de la requête de même niveau"
 
-#: parser/analyze.c:1530
+#: parser/analyze.c:1674
 #, 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:1722
+#: parser/analyze.c:1930
 msgid "CREATE TABLE AS specifies too many column names"
 msgstr "CREATE TABLE AS spécifie trop de noms de colonnes"
 
-#: parser/analyze.c:1772
+#: parser/analyze.c:1988
 msgid "cannot use aggregate function in UPDATE"
 msgstr "ne peut pas utiliser une fonction d'agrégat dans un UPDATE"
 
-#: parser/analyze.c:1778
+#: parser/analyze.c:1994
 msgid "cannot use window function in UPDATE"
 msgstr "ne peut pas utiliser une fonction window dans un UPDATE"
 
-#: parser/analyze.c:1885
+#: parser/analyze.c:2103
 msgid "cannot use aggregate function in RETURNING"
 msgstr "ne peut pas utiliser une fonction d'agrégat dans RETURNING"
 
-#: parser/analyze.c:1891
+#: parser/analyze.c:2109
 msgid "cannot use window function in RETURNING"
 msgstr "ne peut pas utiliser une fonction window dans RETURNING"
 
-#: parser/analyze.c:1910
+#: parser/analyze.c:2128
 msgid "RETURNING cannot contain references to other relations"
 msgstr "RETURNING ne doit pas contenir de références à d'autres relations"
 
-#: parser/analyze.c:1949
+#: parser/analyze.c:2167
 msgid "cannot specify both SCROLL and NO SCROLL"
 msgstr "ne peut pas spécifier à la fois SCROLL et NO SCROLL"
 
-#: parser/analyze.c:1963
+#: parser/analyze.c:2181
 msgid "DECLARE CURSOR cannot specify INTO"
 msgstr "DECLARE CURSOR ne peut pas spécifier INTO"
 
-#: parser/analyze.c:1971
+#: parser/analyze.c:2193
+msgid "DECLARE CURSOR must not contain data-modifying statements in WITH"
+msgstr "DECLARE CURSOR ne doit pas contenir des instructions de modification de données dans WITH"
+
+#: parser/analyze.c:2199
 msgid "DECLARE CURSOR WITH HOLD ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... FOR UPDATE/SHARE n'est pas supporté"
 
-#: parser/analyze.c:1972
+#: parser/analyze.c:2200
 msgid "Holdable cursors must be READ ONLY."
 msgstr "Les curseurs détenables doivent être en lecture seule (READ ONLY)."
 
-#: parser/analyze.c:1985
+#: parser/analyze.c:2213
 msgid "DECLARE INSENSITIVE CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE INSENSITIVE CURSOR ... FOR UPDATE/SHARE n'est pas supporté"
 
-#: parser/analyze.c:1986
+#: parser/analyze.c:2214
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "Les curseurs insensibles doivent être en lecture seule (READ ONLY)."
 
-#: parser/analyze.c:2039
+#: parser/analyze.c:2267
 msgid "SELECT FOR UPDATE/SHARE is not allowed with DISTINCT clause"
 msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause DISTINCT"
 
-#: parser/analyze.c:2043
+#: parser/analyze.c:2271
 msgid "SELECT FOR UPDATE/SHARE is not allowed with GROUP BY clause"
 msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause GROUP BY"
 
-#: parser/analyze.c:2047
+#: parser/analyze.c:2275
 msgid "SELECT FOR UPDATE/SHARE is not allowed with HAVING clause"
 msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause HAVING"
 
-#: parser/analyze.c:2051
+#: parser/analyze.c:2279
 msgid "SELECT FOR UPDATE/SHARE is not allowed with aggregate functions"
 msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions d'agrégats"
 
-#: parser/analyze.c:2055
+#: parser/analyze.c:2283
 msgid "SELECT FOR UPDATE/SHARE is not allowed with window functions"
 msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions window"
 
-#: parser/analyze.c:2059
+#: parser/analyze.c:2287
 msgid "SELECT FOR UPDATE/SHARE is not allowed with set-returning functions in the target list"
 msgstr ""
 "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions renvoyant plusieurs lignes\n"
 "dans la liste cible"
 
-#: parser/analyze.c:2135
+#: parser/analyze.c:2366
 msgid "SELECT FOR UPDATE/SHARE must specify unqualified relation names"
 msgstr "SELECT FOR UPDATE/SHARE doit indiqué les noms de relation non qualifiés"
 
-#: parser/analyze.c:2165
+#: parser/analyze.c:2383
+#, c-format
+msgid "SELECT FOR UPDATE/SHARE cannot be used with foreign table \"%s\""
+msgstr "SELECT FOR UPDATE/SHARE ne peut pas être utilisé avec une table distante « %s »"
+
+#: parser/analyze.c:2402
 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:2171
-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:2177
+#: parser/analyze.c:2408
 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:2189
+#: parser/analyze.c:2420
 msgid "SELECT FOR UPDATE/SHARE cannot be applied to a WITH query"
 msgstr ""
 "SELECT FOR UPDATE/SHARE ne peut pas être appliqué à une requête\n"
 "WITH"
 
-#: parser/analyze.c:2203
+#: parser/analyze.c:2434
 #, c-format
 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/parse_agg.c:127
-#: parser/parse_oper.c:254
+#: parser/parse_agg.c:131
+#: parser/parse_oper.c:219
 #, c-format
 msgid "could not identify an ordering operator for type %s"
 msgstr "n'a pas pu identifier un opérateur de tri pour le type %s"
 
-#: parser/parse_agg.c:129
+#: parser/parse_agg.c:133
 msgid "Aggregates with DISTINCT must be able to sort their inputs."
 msgstr "Les agrégats avec DISTINCT doivent être capable de trier leur entrée."
 
-#: parser/parse_agg.c:170
+#: parser/parse_agg.c:174
 msgid "aggregate function calls cannot contain window function calls"
 msgstr ""
 "les appels à la fonction d'agrégat ne peuvent pas contenir des appels à la\n"
 "fonction window"
 
-#: parser/parse_agg.c:241
-#: parser/parse_clause.c:1620
+#: parser/parse_agg.c:245
+#: parser/parse_clause.c:1637
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "le window « %s » n'existe pas"
 
-#: parser/parse_agg.c:331
+#: parser/parse_agg.c:336
 msgid "aggregates not allowed in WHERE clause"
 msgstr "agrégats non autorisés dans une clause WHERE"
 
-#: parser/parse_agg.c:337
+#: parser/parse_agg.c:342
 msgid "aggregates not allowed in JOIN conditions"
 msgstr "agrégats non autorisés dans une condition JOIN"
 
-#: parser/parse_agg.c:358
+#: parser/parse_agg.c:363
 msgid "aggregates not allowed in GROUP BY clause"
 msgstr "agrégats non autorisés dans une clause GROUP BY"
 
-#: parser/parse_agg.c:426
+#: parser/parse_agg.c:433
 msgid "aggregate functions not allowed in a recursive query's recursive term"
 msgstr ""
 "fonctions d'agrégat non autorisées dans le terme récursif de la requête\n"
 "récursive"
 
-#: parser/parse_agg.c:451
+#: parser/parse_agg.c:458
 msgid "window functions not allowed in WHERE clause"
 msgstr "fonctions window non autorisées dans une clause WHERE"
 
-#: parser/parse_agg.c:457
+#: parser/parse_agg.c:464
 msgid "window functions not allowed in JOIN conditions"
 msgstr "fonctions window non autorisées dans une condition JOIN"
 
-#: parser/parse_agg.c:463
+#: parser/parse_agg.c:470
 msgid "window functions not allowed in HAVING clause"
 msgstr "fonctions window non autorisées dans une clause WHERE"
 
-#: parser/parse_agg.c:476
+#: parser/parse_agg.c:483
 msgid "window functions not allowed in GROUP BY clause"
 msgstr "fonctions window non autorisées dans une clause GROUP BY"
 
-#: parser/parse_agg.c:495
-#: parser/parse_agg.c:508
+#: parser/parse_agg.c:502
+#: parser/parse_agg.c:515
 msgid "window functions not allowed in window definition"
 msgstr "fonctions window non autorisées dans une définition window"
 
-#: parser/parse_agg.c:630
+#: parser/parse_agg.c:673
 #, c-format
 msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function"
 msgstr "la colonne « %s.%s » doit apparaître dans la clause GROUP BY ou doit être utilisé dans une fonction d'agrégat"
 
-#: parser/parse_agg.c:636
+#: parser/parse_agg.c:679
 #, c-format
 msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
 msgstr ""
 "la sous-requête utilise une colonne « %s.%s » non groupée dans la requête\n"
 "externe"
 
-#: parser/parse_clause.c:420
+#: parser/parse_clause.c:421
 #, 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"
 
-#: parser/parse_clause.c:501
+#: parser/parse_clause.c:502
 msgid "subquery in FROM cannot have SELECT INTO"
 msgstr "la sous-requête du FROM ne peut pas avoir de SELECT INTO"
 
-#: parser/parse_clause.c:523
+#: parser/parse_clause.c:524
 msgid "subquery in FROM cannot refer to other relations of same query level"
 msgstr ""
 "la sous-requête du FROM ne peut pas faire référence à d'autres relations\n"
 "dans le même niveau de la requête"
 
-#: parser/parse_clause.c:574
+#: parser/parse_clause.c:580
 msgid "function expression in FROM cannot refer to other relations of same query level"
 msgstr ""
 "l'expression de la fonction du FROM ne peut pas faire référence à d'autres\n"
 "relations sur le même niveau de la requête"
 
-#: parser/parse_clause.c:587
+#: parser/parse_clause.c:593
 msgid "cannot use aggregate function in function expression in FROM"
 msgstr ""
 "ne peut pas utiliser la fonction d'agrégat dans l'expression de la fonction\n"
 "du FROM"
 
-#: parser/parse_clause.c:594
+#: parser/parse_clause.c:600
 msgid "cannot use window function in function expression in FROM"
 msgstr ""
 "ne peut pas utiliser la fonction window dans l'expression de la fonction\n"
 "du FROM"
 
-#: parser/parse_clause.c:870
+#: parser/parse_clause.c:877
 #, 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:885
+#: parser/parse_clause.c:892
 #, c-format
 msgid "common column name \"%s\" appears more than once in left table"
 msgstr ""
 "le nom commun de la colonne « %s » apparaît plus d'une fois dans la table de\n"
 "gauche"
 
-#: parser/parse_clause.c:894
+#: parser/parse_clause.c:901
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in left table"
 msgstr ""
 "la colonne « %s » spécifiée dans la clause USING n'existe pas dans la table\n"
 "de gauche"
 
-#: parser/parse_clause.c:908
+#: parser/parse_clause.c:915
 #, c-format
 msgid "common column name \"%s\" appears more than once in right table"
 msgstr ""
 "le nom commun de la colonne « %s » apparaît plus d'une fois dans la table de\n"
 " droite"
 
-#: parser/parse_clause.c:917
+#: parser/parse_clause.c:924
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr ""
 "la colonne « %s » spécifiée dans la clause USING n'existe pas dans la table\n"
 "de droite"
 
-#: parser/parse_clause.c:974
+#: parser/parse_clause.c:981
 #, 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:1211
+#: parser/parse_clause.c:1228
 #, c-format
 msgid "argument of %s must not contain variables"
 msgstr "l'argument de « %s » ne doit pas contenir de variables"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1222
+#: parser/parse_clause.c:1239
 #, c-format
 msgid "argument of %s must not contain aggregate functions"
 msgstr "l'argument de %s ne doit pas contenir de fonctions d'agrégats"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1233
+#: parser/parse_clause.c:1250
 #, c-format
 msgid "argument of %s must not contain window functions"
 msgstr "l'argument de %s ne doit pas contenir des fonctions window"
 
 #. translator: first %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1350
+#: parser/parse_clause.c:1367
 #, 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:1374
+#: parser/parse_clause.c:1391
 #, 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:1392
+#: parser/parse_clause.c:1409
 #, 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:1608
+#: parser/parse_clause.c:1625
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "le window « %s » est déjà définie"
 
-#: parser/parse_clause.c:1662
+#: parser/parse_clause.c:1679
 #, c-format
 msgid "cannot override PARTITION BY clause of window \"%s\""
 msgstr "n'a pas pu surcharger la clause PARTITION BY de window « %s »"
 
-#: parser/parse_clause.c:1674
+#: parser/parse_clause.c:1691
 #, c-format
 msgid "cannot override ORDER BY clause of window \"%s\""
 msgstr "n'a pas pu surcharger la clause ORDER BY de window « %s »"
 
-#: parser/parse_clause.c:1696
+#: parser/parse_clause.c:1713
 #, c-format
 msgid "cannot override frame clause of window \"%s\""
 msgstr "ne peut pas surcharger la frame clause du window « %s »"
 
-#: parser/parse_clause.c:1762
+#: parser/parse_clause.c:1779
 msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list"
 msgstr ""
 "dans un agrégat avec DISTINCT, les expressions ORDER BY doivent apparaître\n"
 "dans la liste d'argument"
 
-#: parser/parse_clause.c:1763
+#: parser/parse_clause.c:1780
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr ""
 "pour SELECT DISTINCT, ORDER BY, les expressions doivent apparaître dans la\n"
 "liste SELECT"
 
-#: parser/parse_clause.c:1849
-#: parser/parse_clause.c:1881
+#: parser/parse_clause.c:1866
+#: parser/parse_clause.c:1898
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr ""
 "les expressions SELECT DISTINCT ON doivent correspondre aux expressions\n"
 "ORDER BY initiales"
 
-#: parser/parse_clause.c:2000
+#: parser/parse_clause.c:2020
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "l'opérateur %s n'est pas un opérateur de tri valide"
 
-#: parser/parse_clause.c:2002
+#: parser/parse_clause.c:2022
 msgid "Ordering operators must be \"<\" or \">\" members of btree operator families."
 msgstr ""
 "Les opérateurs de tri doivent être les membres « < » ou « > » des familles\n"
 "d'opérateurs btree."
 
-#: parser/parse_coerce.c:841
-#: parser/parse_coerce.c:870
-#: parser/parse_coerce.c:888
-#: parser/parse_coerce.c:903
-#: parser/parse_expr.c:1640
-#: parser/parse_expr.c:2079
+#: parser/parse_coerce.c:906
+#: parser/parse_coerce.c:936
+#: parser/parse_coerce.c:954
+#: parser/parse_coerce.c:969
+#: parser/parse_expr.c:1667
+#: parser/parse_expr.c:2109
+#: parser/parse_target.c:829
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "ne peut pas convertir le type %s en %s"
 
-#: parser/parse_coerce.c:873
+#: parser/parse_coerce.c:939
 msgid "Input has too few columns."
 msgstr "L'entrée n'a pas assez de colonnes."
 
-#: parser/parse_coerce.c:891
+#: parser/parse_coerce.c:957
 #, 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:906
+#: parser/parse_coerce.c:972
 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:949
+#: parser/parse_coerce.c:1015
 #, 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
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:959
-#: parser/parse_coerce.c:1008
+#: parser/parse_coerce.c:1025
+#: parser/parse_coerce.c:1074
 #, 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:996
+#: parser/parse_coerce.c:1062
 #, c-format
 msgid "argument of %s must be type %s, not type %s"
 msgstr "l'argument de %s doit être de type %s, et non du type %s"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1129
+#: parser/parse_coerce.c:1195
 #, 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:1196
+#: parser/parse_coerce.c:1262
 #, c-format
 msgid "%s could not convert type %s to %s"
 msgstr "%s n'a pas pu convertir le type %s en %s"
 
-#: parser/parse_coerce.c:1437
+#: parser/parse_coerce.c:1513
 msgid "arguments declared \"anyelement\" are not all alike"
 msgstr "les arguments déclarés « anyelement » ne sont pas tous identiques"
 
-#: parser/parse_coerce.c:1456
+#: parser/parse_coerce.c:1533
 msgid "arguments declared \"anyarray\" are not all alike"
 msgstr "les arguments déclarés « anyarray » ne sont pas tous identiques"
 
-#: parser/parse_coerce.c:1485
-#: parser/parse_coerce.c:1629
-#: parser/parse_coerce.c:1660
+#: parser/parse_coerce.c:1562
+#: parser/parse_coerce.c:1710
+#: parser/parse_coerce.c:1742
 #, 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:1501
+#: parser/parse_coerce.c:1578
 msgid "argument declared \"anyarray\" is not consistent with argument declared \"anyelement\""
 msgstr ""
 "l'argument déclaré « anyarray » n'est pas cohérent avec l'argument déclaré\n"
 "« anyelement »"
 
-#: parser/parse_coerce.c:1519
+#: parser/parse_coerce.c:1596
 msgid "could not determine polymorphic type because input has type \"unknown\""
 msgstr ""
 "n'a pas pu déterminer le type polymorphique car l'entrée dispose du type\n"
 "« unknown »"
 
-#: parser/parse_coerce.c:1529
+#: parser/parse_coerce.c:1606
 #, c-format
 msgid "type matched to anynonarray is an array type: %s"
 msgstr "le type déclaré anynonarray est un type tableau : %s"
 
-#: parser/parse_coerce.c:1539
+#: parser/parse_coerce.c:1616
 #, c-format
 msgid "type matched to anyenum is not an enum type: %s"
 msgstr "le type déclaré anyenum n'est pas un type enum : %s"
 
-#: parser/parse_cte.c:40
+#: parser/parse_cte.c:42
 #, c-format
 msgid "recursive reference to query \"%s\" must not appear within its non-recursive term"
 msgstr ""
 "la référence récursive à la requête « %s » ne doit pas apparaître à\n"
 "l'intérieur de son terme non récursif"
 
-#: parser/parse_cte.c:42
+#: parser/parse_cte.c:44
 #, c-format
 msgid "recursive reference to query \"%s\" must not appear within a subquery"
 msgstr ""
 "la référence récursive à la requête « %s » ne doit pas apparaître à\n"
 "l'intérieur d'une sous-requête"
 
-#: parser/parse_cte.c:44
+#: parser/parse_cte.c:46
 #, c-format
 msgid "recursive reference to query \"%s\" must not appear within an outer join"
 msgstr ""
 "la référence récursive à la requête « %s » ne doit pas apparaître à\n"
 "l'intérieur d'une jointure externe"
 
-#: parser/parse_cte.c:46
+#: parser/parse_cte.c:48
 #, c-format
 msgid "recursive reference to query \"%s\" must not appear within INTERSECT"
 msgstr ""
 "la référence récursive à la requête « %s » ne doit pas apparaître à\n"
 "l'intérieur d'INTERSECT"
 
-#: parser/parse_cte.c:48
+#: parser/parse_cte.c:50
 #, c-format
 msgid "recursive reference to query \"%s\" must not appear within EXCEPT"
 msgstr ""
 "la référence récursive à la requête « %s » ne doit pas apparaître à\n"
 "l'intérieur d'EXCEPT"
 
-#: parser/parse_cte.c:130
+#: parser/parse_cte.c:132
 #, c-format
 msgid "WITH query name \"%s\" specified more than once"
 msgstr "le nom de la requête WITH « %s » est spécifié plus d'une fois"
 
-#: parser/parse_cte.c:247
+#: parser/parse_cte.c:259
 msgid "subquery in WITH cannot have SELECT INTO"
 msgstr "la sous-requête du WITH ne peut pas avoir de SELECT INTO"
 
-#: parser/parse_cte.c:288
+#: parser/parse_cte.c:271
+msgid "WITH clause containing a data-modifying statement must be at the top level"
+msgstr ""
+"la clause WITH contenant une instruction de modification de données doit être\n"
+"au plus haut niveau"
+
+#: parser/parse_cte.c:320
 #, c-format
 msgid "recursive query \"%s\" column %d has type %s in non-recursive term but type %s overall"
 msgstr ""
 "dans la requête récursive « %s », la colonne %d a le type %s dans le terme non\n"
 "récursif mais le type global %s"
 
-#: parser/parse_cte.c:294
+#: parser/parse_cte.c:326
 msgid "Cast the output of the non-recursive term to the correct type."
 msgstr "Convertit la sortie du terme non récursif dans le bon type."
 
-#: parser/parse_cte.c:376
+#: parser/parse_cte.c:331
+#, c-format
+msgid "recursive query \"%s\" column %d has collation \"%s\" in non-recursive term but collation \"%s\" overall"
+msgstr ""
+
+#: parser/parse_cte.c:335
+msgid "Use the COLLATE clause to set the collation of the non-recursive term."
+msgstr "Utilisez la clause COLLATE pour configurer le collationnement du terme non récursif."
+
+#: parser/parse_cte.c:426
 #, c-format
 msgid "WITH query \"%s\" has %d columns available but %d columns specified"
 msgstr "la requête WITH « %s » a %d colonnes disponibles mais %d colonnes spécifiées"
 
-#: parser/parse_cte.c:556
+#: parser/parse_cte.c:606
 msgid "mutual recursion between WITH items is not implemented"
 msgstr "la récursion mutuelle entre des éléments WITH n'est pas implantée"
 
-#: parser/parse_cte.c:608
+#: parser/parse_cte.c:658
+#, c-format
+msgid "recursive query \"%s\" must not contain data-modifying statements"
+msgstr "la requête récursive « %s » ne doit pas contenir des instructions de modification de données"
+
+#: parser/parse_cte.c:666
 #, c-format
 msgid "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] recursive-term"
 msgstr ""
 "la requête récursive « %s » n'a pas la forme terme-non-récursive UNION [ALL]\n"
 "terme-récursive"
 
-#: parser/parse_cte.c:640
+#: parser/parse_cte.c:698
 msgid "ORDER BY in a recursive query is not implemented"
 msgstr "ORDER BY dans une requête récursive n'est pas implanté"
 
-#: parser/parse_cte.c:646
+#: parser/parse_cte.c:704
 msgid "OFFSET in a recursive query is not implemented"
 msgstr "OFFSET dans une requête récursive n'est pas implémenté"
 
-#: parser/parse_cte.c:652
+#: parser/parse_cte.c:710
 msgid "LIMIT in a recursive query is not implemented"
 msgstr "LIMIT dans une requête récursive n'est pas implémenté"
 
-#: parser/parse_cte.c:658
+#: parser/parse_cte.c:716
 msgid "FOR UPDATE/SHARE in a recursive query is not implemented"
 msgstr "FOR UPDATE/SHARE dans une requête récursive n'est pas implémenté"
 
-#: parser/parse_cte.c:715
+#: parser/parse_cte.c:773
 #, c-format
 msgid "recursive reference to query \"%s\" must not appear more than once"
 msgstr "la référence récursive à la requête « %s » ne doit pas apparaître plus d'une fois"
 
-#: parser/parse_expr.c:358
-#: parser/parse_expr.c:751
+#: parser/parse_expr.c:364
+#: parser/parse_expr.c:757
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "la colonne %s.%s n'existe pas"
 
-#: parser/parse_expr.c:370
+#: parser/parse_expr.c:376
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "colonne « %s » introuvable pour le type de données %s"
 
-#: parser/parse_expr.c:376
+#: parser/parse_expr.c:382
 #, 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_expr.c:382
+#: parser/parse_expr.c:388
 #, 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 composé"
 
-#: parser/parse_expr.c:412
-#: parser/parse_target.c:600
+#: parser/parse_expr.c:418
+#: parser/parse_target.c:617
 msgid "row expansion via \"*\" is not supported here"
 msgstr "l'expansion de ligne via « * » n'est pas supporté ici"
 
-#: parser/parse_expr.c:735
+#: parser/parse_expr.c:741
 #: parser/parse_relation.c:478
 #: parser/parse_relation.c:551
-#: parser/parse_target.c:977
+#: parser/parse_target.c:1064
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "la référence à la colonne « %s » est ambigu"
 
-#: parser/parse_expr.c:803
-#: parser/parse_param.c:108
-#: parser/parse_param.c:139
-#: parser/parse_param.c:195
-#: parser/parse_param.c:287
+#: parser/parse_expr.c:809
+#: parser/parse_param.c:109
+#: parser/parse_param.c:141
+#: parser/parse_param.c:198
+#: parser/parse_param.c:297
 #, c-format
 msgid "there is no parameter $%d"
 msgstr "Il n'existe pas de paramètres $%d"
 
-#: parser/parse_expr.c:1008
+#: parser/parse_expr.c:1018
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "NULLIF requiert l'opérateur = pour comparer des booleéns"
 
-#: parser/parse_expr.c:1181
+#: parser/parse_expr.c:1197
 msgid "arguments of row IN must all be row expressions"
 msgstr "les arguments de la ligne IN doivent tous être des expressions de ligne"
 
-#: parser/parse_expr.c:1385
+#: parser/parse_expr.c:1411
 msgid "subquery cannot have SELECT INTO"
 msgstr "la sous-requête ne peut pas avoir de SELECT INTO"
 
-#: parser/parse_expr.c:1413
+#: parser/parse_expr.c:1439
 msgid "subquery must return a column"
 msgstr "la sous-requête doit renvoyer une colonne"
 
-#: parser/parse_expr.c:1420
+#: parser/parse_expr.c:1446
 msgid "subquery must return only one column"
 msgstr "la sous-requête doit renvoyer une seule colonne"
 
-#: parser/parse_expr.c:1479
+#: parser/parse_expr.c:1506
 msgid "subquery has too many columns"
 msgstr "la sous-requête a trop de colonnes"
 
-#: parser/parse_expr.c:1484
+#: parser/parse_expr.c:1511
 msgid "subquery has too few columns"
 msgstr "la sous-requête n'a pas assez de colonnes"
 
-#: parser/parse_expr.c:1580
+#: parser/parse_expr.c:1607
 msgid "cannot determine type of empty array"
 msgstr "ne peut pas déterminer le type d'un tableau vide"
 
-#: parser/parse_expr.c:1581
+#: parser/parse_expr.c:1608
 msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
 msgstr "Convertit explicitement vers le type désiré, par exemple ARRAY[]::integer[]."
 
-#: parser/parse_expr.c:1595
+#: parser/parse_expr.c:1622
 #, c-format
 msgid "could not find element type for data type %s"
 msgstr "n'a pas pu trouver le type d'élément pour le type de données %s"
 
-#: parser/parse_expr.c:1793
+#: parser/parse_expr.c:1823
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "la valeur d'un attribut XML sans nom doit être une référence de colonne"
 
-#: parser/parse_expr.c:1794
+#: parser/parse_expr.c:1824
 msgid "unnamed XML element value must be a column reference"
 msgstr "la valeur d'un élément XML sans nom doit être une référence de colonne"
 
-#: parser/parse_expr.c:1809
+#: parser/parse_expr.c:1839
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "le nom de l'attribut XML « %s » apparaît plus d'une fois"
 
-#: parser/parse_expr.c:1916
+#: parser/parse_expr.c:1946
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "ne peut pas convertir le résultat XMLSERIALIZE en %s"
 
-#: parser/parse_expr.c:2120
-#: parser/parse_expr.c:2318
+#: parser/parse_expr.c:2183
+#: parser/parse_expr.c:2382
 msgid "unequal number of entries in row expressions"
 msgstr "nombre différent d'entrées dans les expressions de ligne"
 
-#: parser/parse_expr.c:2130
+#: parser/parse_expr.c:2193
 msgid "cannot compare rows of zero length"
 msgstr "n'a pas pu comparer des lignes de taille zéro"
 
-#: parser/parse_expr.c:2155
+#: parser/parse_expr.c:2218
 #, c-format
 msgid "row comparison operator must yield type boolean, not type %s"
 msgstr ""
 "l'opérateur de comparaison de ligne doit renvoyer le type booléen, et non le\n"
 "type %s"
 
-#: parser/parse_expr.c:2162
+#: parser/parse_expr.c:2225
 msgid "row comparison operator must not return a set"
 msgstr "l'opérateur de comparaison de ligne ne doit pas renvoyer un ensemble"
 
-#: parser/parse_expr.c:2221
-#: parser/parse_expr.c:2265
+#: parser/parse_expr.c:2284
+#: parser/parse_expr.c:2328
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "n'a pas pu déterminer l'interprétation de l'opérateur de comparaison de ligne %s"
 
-#: parser/parse_expr.c:2223
+#: parser/parse_expr.c:2286
 msgid "Row comparison operators must be associated with btree operator families."
 msgstr ""
 "Les opérateurs de comparaison de lignes doivent être associés à des familles\n"
 "d'opérateurs btree."
 
-#: parser/parse_expr.c:2267
+#: parser/parse_expr.c:2330
 msgid "There are multiple equally-plausible candidates."
 msgstr "Il existe de nombreus candidats également plausibles."
 
-#: parser/parse_expr.c:2358
+#: parser/parse_expr.c:2422
 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:153
+#: parser/parse_func.c:147
 #, c-format
 msgid "argument name \"%s\" used more than once"
 msgstr "nom « %s » de l'argument spécifié plus d'une fois"
 
-#: parser/parse_func.c:164
+#: parser/parse_func.c:158
 msgid "positional argument cannot follow named argument"
 msgstr "l'argument positionné ne doit pas suivre l'argument nommé"
 
-#: parser/parse_func.c:242
+#: parser/parse_func.c:236
 #, c-format
 msgid "%s(*) specified, but %s is not an aggregate function"
 msgstr "%s(*) spécifié, mais %s n'est pas une fonction d'agrégat"
 
-#: parser/parse_func.c:249
+#: parser/parse_func.c:243
 #, c-format
 msgid "DISTINCT specified, but %s is not an aggregate function"
 msgstr "DISTINCT spécifié mais %s n'est pas une fonction d'agrégat"
 
-#: parser/parse_func.c:255
+#: parser/parse_func.c:249
 #, c-format
 msgid "ORDER BY specified, but %s is not an aggregate function"
 msgstr "ORDER BY spécifié, mais %s n'est pas une fonction d'agrégat"
 
-#: parser/parse_func.c:261
+#: parser/parse_func.c:255
 #, c-format
 msgid "OVER specified, but %s is not a window function nor an aggregate function"
 msgstr "OVER spécifié, mais %s n'est pas une fonction window ou une fonction d'agrégat"
 
-#: parser/parse_func.c:283
+#: parser/parse_func.c:277
 #, c-format
 msgid "function %s is not unique"
 msgstr "la fonction %s n'est pas unique"
 
-#: parser/parse_func.c:286
+#: parser/parse_func.c:280
 msgid "Could not choose a best candidate function. You might need to add explicit type casts."
 msgstr ""
 "N'a pas pu choisir un meilleur candidat dans les fonctions. Vous pourriez\n"
 "avoir besoin d'ajouter des conversions explicites de type."
 
-#: parser/parse_func.c:297
+#: parser/parse_func.c:291
 msgid "No aggregate function matches the given name and argument types. Perhaps you misplaced ORDER BY; ORDER BY must appear after all regular arguments of the aggregate."
 msgstr ""
 "Aucune fonction d'agrégat ne correspond au nom donné et aux types d'arguments.\n"
 "Peut-être avez-vous mal placé la clause ORDER BY.\n"
 "Cette dernière doit apparaître après tous les arguments standards de l'agrégat."
 
-#: parser/parse_func.c:308
+#: parser/parse_func.c:302
 msgid "No function matches the given name and argument types. You might need to add explicit type casts."
 msgstr ""
 "Aucune fonction ne correspond au nom donné et aux types d'arguments.\n"
 "Vous devez ajouter des conversions explicites de type."
 
-#: parser/parse_func.c:415
-#: parser/parse_func.c:480
+#: parser/parse_func.c:412
+#: parser/parse_func.c:478
 #, c-format
 msgid "%s(*) must be used to call a parameterless aggregate function"
 msgstr "%s(*) doit être utilisé pour appeler une fonction d'agrégat sans paramètre"
 
-#: parser/parse_func.c:422
+#: parser/parse_func.c:419
 msgid "aggregates cannot return sets"
 msgstr "les agrégats ne peuvent pas renvoyer des ensembles"
 
-#: parser/parse_func.c:434
+#: parser/parse_func.c:431
 msgid "aggregates cannot use named arguments"
 msgstr "les agrégats ne peuvent pas utiliser des aguments nommés"
 
-#: parser/parse_func.c:453
+#: parser/parse_func.c:450
 msgid "window function call requires an OVER clause"
 msgstr "l'appel à la fonction window nécessite une clause OVER"
 
-#: parser/parse_func.c:470
+#: parser/parse_func.c:468
 msgid "DISTINCT is not implemented for window functions"
 msgstr "DISTINCT n'est pas implémenté pour des fonctions window"
 
-#: parser/parse_func.c:490
+#: parser/parse_func.c:488
 msgid "aggregate ORDER BY is not implemented for window functions"
 msgstr "l'agrégat ORDER BY n'est pas implémenté pour des fonctions window"
 
-#: parser/parse_func.c:496
+#: parser/parse_func.c:494
 msgid "window functions cannot return sets"
 msgstr "les fonctions window ne peuvent pas renvoyer des ensembles"
 
-#: parser/parse_func.c:507
+#: parser/parse_func.c:505
 msgid "window functions cannot use named arguments"
 msgstr "les fonctions window ne peuvent pas renvoyer des arguments nommés"
 
-#: parser/parse_func.c:1572
+#: parser/parse_func.c:1589
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "l'agrégat %s(*) n'existe pas"
 
-#: parser/parse_func.c:1577
+#: parser/parse_func.c:1594
 #, c-format
 msgid "aggregate %s does not exist"
 msgstr "l'agrégat %s n'existe pas"
 
-#: parser/parse_func.c:1596
+#: parser/parse_func.c:1613
 #, c-format
 msgid "function %s is not an aggregate"
 msgstr "la fonction %s n'est pas un agrégat"
 
-#: parser/parse_node.c:82
+#: parser/parse_node.c:83
 #, c-format
 msgid "target lists can have at most %d entries"
 msgstr "les listes cibles peuvent avoir au plus %d colonnes"
 
-#: parser/parse_node.c:222
+#: parser/parse_node.c:240
 #, c-format
 msgid "cannot subscript type %s because it is not an array"
 msgstr "ne peut pas indicer le type %s car il ne s'agit pas d'un tableau"
 
-#: parser/parse_node.c:316
 #: parser/parse_node.c:342
+#: parser/parse_node.c:369
 msgid "array subscript must have type integer"
 msgstr "l'indice d'un tableau doit être de type entier"
 
-#: parser/parse_node.c:366
+#: parser/parse_node.c:393
 #, c-format
 msgid "array assignment requires type %s but expression is of type %s"
 msgstr "l'affectation de tableaux requiert le type %s mais l'expression est de type %s"
 
 #: parser/parse_oper.c:124
-#: parser/parse_oper.c:751
+#: parser/parse_oper.c:718
 #: utils/adt/regproc.c:464
 #: utils/adt/regproc.c:484
 #: utils/adt/regproc.c:643
@@ -11088,59 +12061,59 @@ msgstr "l'affectation de tableaux requiert le type %s mais l'expression est de t
 msgid "operator does not exist: %s"
 msgstr "l'opérateur n'existe pas : %s"
 
-#: parser/parse_oper.c:256
+#: parser/parse_oper.c:221
 msgid "Use an explicit ordering operator or modify the query."
 msgstr "Utilisez un opérateur explicite de tri ou modifiez la requête."
 
-#: parser/parse_oper.c:260
-#: utils/adt/arrayfuncs.c:3109
-#: utils/adt/arrayfuncs.c:3510
-#: utils/adt/rowtypes.c:1139
+#: parser/parse_oper.c:225
+#: utils/adt/arrayfuncs.c:3176
+#: utils/adt/arrayfuncs.c:3695
+#: utils/adt/rowtypes.c:1157
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "n'a pas pu identifier un opérateur d'égalité pour le type %s"
 
-#: parser/parse_oper.c:509
+#: parser/parse_oper.c:476
 #, c-format
 msgid "operator requires run-time type coercion: %s"
 msgstr "l'opérateur requiert la coercion du type à l'exécution : %s"
 
-#: parser/parse_oper.c:743
+#: parser/parse_oper.c:710
 #, c-format
 msgid "operator is not unique: %s"
 msgstr "l'opérateur n'est pas unique : %s"
 
-#: parser/parse_oper.c:745
+#: parser/parse_oper.c:712
 msgid "Could not choose a best candidate operator. You might need to add explicit type casts."
 msgstr ""
 "N'a pas pu choisir un meilleur candidat pour l'opérateur. Vous devez ajouter une\n"
 "conversion explicite de type."
 
-#: parser/parse_oper.c:753
+#: parser/parse_oper.c:720
 msgid "No operator matches the given name and argument type(s). You might need to add explicit type casts."
 msgstr ""
 "Aucun opérateur ne correspond au nom donné et aux types d'arguments.\n"
 "Vous devez ajouter des conversions explicites de type."
 
-#: parser/parse_oper.c:812
-#: parser/parse_oper.c:928
+#: parser/parse_oper.c:779
+#: parser/parse_oper.c:893
 #, c-format
 msgid "operator is only a shell: %s"
 msgstr "l'opérateur est seulement un shell : %s"
 
-#: parser/parse_oper.c:916
+#: parser/parse_oper.c:881
 msgid "op ANY/ALL (array) requires array on right side"
 msgstr "op ANY/ALL (tableau) requiert un tableau sur le côté droit"
 
-#: parser/parse_oper.c:958
+#: parser/parse_oper.c:923
 msgid "op ANY/ALL (array) requires operator to yield boolean"
 msgstr "op ANY/ALL (tableau) requiert un opérateur pour comparer des booléens"
 
-#: parser/parse_oper.c:963
+#: parser/parse_oper.c:928
 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_param.c:212
+#: parser/parse_param.c:215
 #, c-format
 msgid "inconsistent types deduced for parameter $%d"
 msgstr "types incohérents déduit pour le paramètre $%d"
@@ -11161,8 +12134,8 @@ 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:754
-#: parser/parse_relation.c:1043
-#: parser/parse_relation.c:1403
+#: parser/parse_relation.c:1045
+#: parser/parse_relation.c:1432
 #, 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"
@@ -11185,108 +12158,113 @@ msgstr ""
 "Utilisez WITH RECURSIVE ou ré-ordonnez les éléments WITH pour supprimer\n"
 "les références en avant."
 
-#: parser/parse_relation.c:1122
+#: parser/parse_relation.c:1125
 msgid "a column definition list is only allowed for functions returning \"record\""
 msgstr ""
 "une liste de définition de colonnes est uniquement autorisée pour les fonctions\n"
 "renvoyant un « record »"
 
-#: parser/parse_relation.c:1130
+#: parser/parse_relation.c:1133
 msgid "a column definition list is required for functions returning \"record\""
 msgstr ""
 "une liste de définition de colonnes est requise pour les fonctions renvoyant\n"
 "un « record »"
 
-#: parser/parse_relation.c:1177
+#: parser/parse_relation.c:1184
 #, c-format
 msgid "function \"%s\" in FROM has unsupported return type %s"
 msgstr "la fonction « %s » dans la clause FROM a un type de retour %s non supporté"
 
-#: parser/parse_relation.c:1249
+#: parser/parse_relation.c:1258
 #, c-format
 msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
 msgstr ""
 "les listes « %s » de VALUES ont %d colonnes disponibles mais %d colonnes\n"
 "spécifiées"
 
-#: parser/parse_relation.c:1305
+#: parser/parse_relation.c:1314
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "les jointures peuvent avoir au plus %d colonnes"
 
-#: parser/parse_relation.c:2038
+#: parser/parse_relation.c:1405
+#, c-format
+msgid "WITH query \"%s\" does not have a RETURNING clause"
+msgstr "La requête WITH « %s » n'a pas de clause RETURNING"
+
+#: parser/parse_relation.c:2087
 #, 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:2397
+#: parser/parse_relation.c:2471
 #, c-format
 msgid "invalid reference to FROM-clause entry for table \"%s\""
 msgstr "référence invalide d'une entrée de la clause FROM pour la table « %s »"
 
-#: parser/parse_relation.c:2400
+#: parser/parse_relation.c:2474
 #, c-format
 msgid "Perhaps you meant to reference the table alias \"%s\"."
 msgstr "Peut-être que vous souhaitiez référencer l'alias de la table « %s »."
 
-#: parser/parse_relation.c:2402
+#: parser/parse_relation.c:2476
 #, c-format
 msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query."
 msgstr ""
 "Il existe une entrée pour la table « %s » mais elle ne peut pas être\n"
 "référencée de cette partie de la requête."
 
-#: parser/parse_relation.c:2408
+#: parser/parse_relation.c:2482
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "entrée manquante de la clause FROM pour la table « %s »"
 
-#: parser/parse_target.c:373
-#: parser/parse_target.c:661
+#: parser/parse_target.c:382
+#: parser/parse_target.c:670
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "ne peut pas affecter à une colonne système « %s »"
 
-#: parser/parse_target.c:398
+#: parser/parse_target.c:410
 msgid "cannot set an array element to DEFAULT"
 msgstr "ne peut pas initialiser un élément d'un tableau avec DEFAULT"
 
-#: parser/parse_target.c:403
+#: parser/parse_target.c:415
 msgid "cannot set a subfield to DEFAULT"
 msgstr "ne peut pas initialiser un sous-champ avec DEFAULT"
 
-#: parser/parse_target.c:470
+#: parser/parse_target.c:484
 #, 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:645
+#: parser/parse_target.c:654
 #, 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\n"
 "type %s n'est pas un type composé"
 
-#: parser/parse_target.c:654
+#: parser/parse_target.c:663
 #, 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\n"
 "pas une telle colonne dans le type de données %s"
 
-#: parser/parse_target.c:729
+#: parser/parse_target.c:730
 #, c-format
 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\n"
 "de type %s"
 
-#: parser/parse_target.c:739
+#: parser/parse_target.c:740
 #, 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:1039
+#: parser/parse_target.c:1126
 msgid "SELECT * with no tables specified is not valid"
 msgstr "Un SELECT * sans table spécifiée n'est pas valide"
 
@@ -11306,343 +12284,430 @@ msgid "type reference %s converted to %s"
 msgstr "référence de type %s convertie en %s"
 
 #: parser/parse_type.c:202
-#: utils/cache/typcache.c:151
+#: utils/cache/typcache.c:195
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "le type « %s » est seulement un shell"
 
-#: parser/parse_type.c:270
+#: parser/parse_type.c:287
 #, c-format
 msgid "type modifier is not allowed for type \"%s\""
 msgstr "le modificateur de type n'est pas autorisé pour le type « %s »"
 
-#: parser/parse_type.c:313
+#: parser/parse_type.c:330
 msgid "type modifiers must be simple constants or identifiers"
 msgstr "les modificateurs de type doivent être des constantes ou des identifiants"
 
-#: parser/parse_type.c:548
-#: parser/parse_type.c:647
+#: parser/parse_type.c:641
+#: parser/parse_type.c:740
 #, c-format
 msgid "invalid type name \"%s\""
 msgstr "nom de type « %s » invalide"
 
-#: parser/parse_utilcmd.c:306
+#: parser/parse_utilcmd.c:180
+#, c-format
+msgid "relation \"%s\" already exists, skipping"
+msgstr "la relation « %s » existe déjà, poursuite du traitement"
+
+#: parser/parse_utilcmd.c:333
 msgid "array of serial is not implemented"
 msgstr "le tableau de type serial n'est pas implanté"
 
-#: parser/parse_utilcmd.c:350
+#: parser/parse_utilcmd.c:378
 #, c-format
 msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
 msgstr "%s créera des séquences implicites « %s » pour la colonne serial « %s.%s »"
 
-#: parser/parse_utilcmd.c:451
-#: parser/parse_utilcmd.c:463
+#: parser/parse_utilcmd.c:479
+#: parser/parse_utilcmd.c:491
 #, c-format
 msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "déclarations NULL/NOT NULL en conflit pour la colonne « %s » de la table « %s »"
 
-#: parser/parse_utilcmd.c:475
+#: parser/parse_utilcmd.c:503
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr ""
 "plusieurs valeurs par défaut sont spécifiées pour la colonne « %s » de la table\n"
 "« %s »"
 
-#: parser/parse_utilcmd.c:832
+#: parser/parse_utilcmd.c:1436
+msgid "cannot use an existing index in CREATE TABLE"
+msgstr "ne peut pas utiliser un index existant dans CREATE TABLE"
+
+#: parser/parse_utilcmd.c:1456
 #, c-format
-msgid "type %s is not a composite type"
-msgstr "le type %s n'est pas un type composite"
+msgid "index \"%s\" is already associated with a constraint"
+msgstr "l'index « %s » est déjà associé à une contrainte"
+
+#: parser/parse_utilcmd.c:1464
+#, c-format
+msgid "index \"%s\" does not belong to table \"%s\""
+msgstr "l'index « %s » n'appartient pas à la table « %s »"
+
+#: parser/parse_utilcmd.c:1471
+#, c-format
+msgid "index \"%s\" is not valid"
+msgstr "l'index « %s » n'est pas valide"
+
+#: parser/parse_utilcmd.c:1477
+#, c-format
+msgid "index \"%s\" is not ready"
+msgstr "l'index « %s » n'est pas prêt"
+
+#: parser/parse_utilcmd.c:1483
+#, c-format
+msgid "\"%s\" is not a unique index"
+msgstr "« %s » n'est pas un index unique"
+
+#: parser/parse_utilcmd.c:1484
+#: parser/parse_utilcmd.c:1491
+#: parser/parse_utilcmd.c:1498
+#: parser/parse_utilcmd.c:1568
+msgid "Cannot create a PRIMARY KEY or UNIQUE constraint using such an index."
+msgstr "Ne peut pas créer une clé primaire ou une contrainte unique avec cet index."
+
+#: parser/parse_utilcmd.c:1490
+#, c-format
+msgid "index \"%s\" contains expressions"
+msgstr "l'index « %s » contient des expressions"
+
+#: parser/parse_utilcmd.c:1497
+#, c-format
+msgid "\"%s\" is a partial index"
+msgstr "« %s » est un index partiel"
+
+#: parser/parse_utilcmd.c:1509
+#, c-format
+msgid "\"%s\" is a deferrable index"
+msgstr "« %s » est un index déferrable"
 
-#: parser/parse_utilcmd.c:1457
+#: parser/parse_utilcmd.c:1510
+msgid "Cannot create a non-deferrable constraint using a deferrable index."
+msgstr "Ne peut pas créer une contrainte non-déferrable utilisant un index déferrable."
+
+#: parser/parse_utilcmd.c:1523
+#, c-format
+msgid "index \"%s\" is not a b-tree"
+msgstr "l'index « %s » n'est pas un btree"
+
+#: parser/parse_utilcmd.c:1567
+#, c-format
+msgid "index \"%s\" does not have default sorting behavior"
+msgstr "l'index « %s » n'a pas de comportement de tri par défaut"
+
+#: parser/parse_utilcmd.c:1712
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "la colonne « %s » apparaît deux fois dans la contrainte de la clé primaire"
 
-#: parser/parse_utilcmd.c:1462
+#: parser/parse_utilcmd.c:1718
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "la colonne « %s » apparaît deux fois sur une contrainte unique"
 
-#: parser/parse_utilcmd.c:1615
+#: parser/parse_utilcmd.c:1882
 msgid "index expression cannot return a set"
 msgstr "l'expression de l'index ne peut pas renvoyer un ensemble"
 
-#: parser/parse_utilcmd.c:1625
+#: parser/parse_utilcmd.c:1892
 msgid "index expressions and predicates can refer only to the table being indexed"
 msgstr "les expressions et prédicats d'index peuvent seulement faire référence à la table en cours d'indexage"
 
-#: parser/parse_utilcmd.c:1720
+#: parser/parse_utilcmd.c:1989
 msgid "rule WHERE condition cannot contain references to other relations"
 msgstr ""
 "la condition WHERE d'une règle ne devrait pas contenir de références à d'autres\n"
 "relations"
 
-#: parser/parse_utilcmd.c:1726
+#: parser/parse_utilcmd.c:1995
 msgid "cannot use aggregate function in rule WHERE condition"
 msgstr "ne peut pas utiliser la fonction d'agrégat dans la condition d'une règle WHERE"
 
-#: parser/parse_utilcmd.c:1730
+#: parser/parse_utilcmd.c:1999
 msgid "cannot use window function in rule WHERE condition"
 msgstr "ne peut pas utiliser la fonction window dans la condition d'une règle WHERE"
 
-#: parser/parse_utilcmd.c:1802
+#: parser/parse_utilcmd.c:2071
 msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions"
 msgstr ""
 "les règles avec des conditions WHERE ne peuvent contenir que des actions\n"
 "SELECT, INSERT, UPDATE ou DELETE "
 
-#: parser/parse_utilcmd.c:1820
-#: parser/parse_utilcmd.c:1890
-#: rewrite/rewriteHandler.c:432
-#: rewrite/rewriteManip.c:1021
+#: parser/parse_utilcmd.c:2089
+#: parser/parse_utilcmd.c:2188
+#: rewrite/rewriteHandler.c:442
+#: rewrite/rewriteManip.c:1024
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr ""
 "les instructions conditionnelles UNION/INTERSECT/EXCEPT ne sont pas\n"
 "implémentées"
 
-#: parser/parse_utilcmd.c:1838
+#: parser/parse_utilcmd.c:2107
 msgid "ON SELECT rule cannot use OLD"
 msgstr "la règle ON SELECT ne peut pas utiliser OLD"
 
-#: parser/parse_utilcmd.c:1842
+#: parser/parse_utilcmd.c:2111
 msgid "ON SELECT rule cannot use NEW"
 msgstr "la règle ON SELECT ne peut pas utiliser NEW"
 
-#: parser/parse_utilcmd.c:1851
+#: parser/parse_utilcmd.c:2120
 msgid "ON INSERT rule cannot use OLD"
 msgstr "la règle ON INSERT ne peut pas utiliser OLD"
 
-#: parser/parse_utilcmd.c:1857
+#: parser/parse_utilcmd.c:2126
 msgid "ON DELETE rule cannot use NEW"
 msgstr "la règle ON INSERT ne peut pas utiliser NEW"
 
-#: parser/parse_utilcmd.c:2138
+#: parser/parse_utilcmd.c:2154
+msgid "cannot refer to OLD within WITH query"
+msgstr "ne peut référencer OLD dans une requête WITH"
+
+#: parser/parse_utilcmd.c:2161
+msgid "cannot refer to NEW within WITH query"
+msgstr "ne peut référencer NEW dans une requête WITH"
+
+#: parser/parse_utilcmd.c:2444
 msgid "misplaced DEFERRABLE clause"
 msgstr "clause DEFERRABLE mal placée"
 
-#: parser/parse_utilcmd.c:2143
-#: parser/parse_utilcmd.c:2158
+#: parser/parse_utilcmd.c:2449
+#: parser/parse_utilcmd.c:2464
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "clauses DEFERRABLE/NOT DEFERRABLE multiples non autorisées"
 
-#: parser/parse_utilcmd.c:2153
+#: parser/parse_utilcmd.c:2459
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "clause NOT DEFERRABLE mal placée"
 
-#: parser/parse_utilcmd.c:2166
-#: parser/parse_utilcmd.c:2192
-#: gram.y:3485
-#: gram.y:3501
+#: parser/parse_utilcmd.c:2472
+#: parser/parse_utilcmd.c:2498
+#: gram.y:4145
+#: gram.y:4161
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "la contrainte déclarée INITIALLY DEFERRED doit être DEFERRABLE"
 
-#: parser/parse_utilcmd.c:2174
+#: parser/parse_utilcmd.c:2480
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "clause INITIALLY DEFERRED mal placée"
 
-#: parser/parse_utilcmd.c:2179
-#: parser/parse_utilcmd.c:2205
+#: parser/parse_utilcmd.c:2485
+#: parser/parse_utilcmd.c:2511
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "clauses INITIALLY IMMEDIATE/DEFERRED multiples non autorisées"
 
-#: parser/parse_utilcmd.c:2200
+#: parser/parse_utilcmd.c:2506
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "clause INITIALLY IMMEDIATE mal placée"
 
-#: parser/parse_utilcmd.c:2373
+#: parser/parse_utilcmd.c:2697
 #, c-format
 msgid "CREATE specifies a schema (%s) different from the one being created (%s)"
 msgstr "CREATE spécifie un schéma (%s) différent de celui tout juste créé (%s)"
 
-#: gram.y:1255
+#: parser/scansup.c:190
+#, c-format
+msgid "identifier \"%s\" will be truncated to \"%s\""
+msgstr "l'identifiant « %s » sera tronqué en « %s »"
+
+#: gram.y:906
+#, c-format
+msgid "unrecognized role option \"%s\""
+msgstr "option « %s » du rôle non reconnu"
+
+#: gram.y:1292
 msgid "current database cannot be changed"
 msgstr "la base de données actuelle ne peut pas être changée"
 
-#: gram.y:1373
-#: gram.y:1388
+#: gram.y:1410
+#: gram.y:1425
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr "l'intervalle de fuseau horaire doit être HOUR ou HOUR TO MINUTE"
 
-#: gram.y:1393
-#: gram.y:8280
-#: gram.y:10731
+#: gram.y:1430
+#: gram.y:9250
+#: gram.y:11740
 msgid "interval precision specified twice"
 msgstr "précision d'intervalle spécifiée deux fois"
 
-#: gram.y:2522
+#: gram.y:2752
 msgid "CHECK constraints cannot be deferred"
 msgstr "les contraintes CHECK ne sont pas DEFERRABLE"
 
-#: gram.y:2611
-#: utils/adt/ri_triggers.c:373
-#: utils/adt/ri_triggers.c:433
-#: utils/adt/ri_triggers.c:596
-#: utils/adt/ri_triggers.c:836
-#: utils/adt/ri_triggers.c:1024
-#: utils/adt/ri_triggers.c:1186
-#: utils/adt/ri_triggers.c:1374
-#: utils/adt/ri_triggers.c:1545
-#: utils/adt/ri_triggers.c:1728
-#: utils/adt/ri_triggers.c:1899
-#: utils/adt/ri_triggers.c:2115
-#: utils/adt/ri_triggers.c:2297
-#: utils/adt/ri_triggers.c:2500
-#: utils/adt/ri_triggers.c:2548
-#: utils/adt/ri_triggers.c:2593
-#: utils/adt/ri_triggers.c:2721
+#: gram.y:2888
+#: utils/adt/ri_triggers.c:375
+#: utils/adt/ri_triggers.c:435
+#: utils/adt/ri_triggers.c:598
+#: utils/adt/ri_triggers.c:838
+#: utils/adt/ri_triggers.c:1026
+#: utils/adt/ri_triggers.c:1188
+#: utils/adt/ri_triggers.c:1376
+#: utils/adt/ri_triggers.c:1547
+#: utils/adt/ri_triggers.c:1730
+#: utils/adt/ri_triggers.c:1901
+#: utils/adt/ri_triggers.c:2117
+#: utils/adt/ri_triggers.c:2299
+#: utils/adt/ri_triggers.c:2502
+#: utils/adt/ri_triggers.c:2550
+#: utils/adt/ri_triggers.c:2595
+#: utils/adt/ri_triggers.c:2757
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL non implémenté"
 
-#: gram.y:2726
+#: gram.y:3006
 msgid "CREATE TABLE AS cannot specify INTO"
 msgstr "CREATE TABLE AS ne peut pas spécifier INTO"
 
-#: gram.y:3396
+#: gram.y:4058
 msgid "duplicate trigger events specified"
 msgstr "événements de trigger dupliqués spécifiés"
 
-#: gram.y:3565
+#: gram.y:4225
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "CREATE ASSERTION n'est pas encore implémenté"
 
-#: gram.y:3581
+#: gram.y:4241
 msgid "DROP ASSERTION is not yet implemented"
 msgstr "DROP ASSERTION n'est pas encore implémenté"
 
-#: gram.y:3882
+#: gram.y:4577
 msgid "RECHECK is no longer required"
 msgstr "RECHECK n'est plus nécessaire"
 
-#: gram.y:3883
+#: gram.y:4578
 msgid "Update your data type."
 msgstr "Mettez à jour votre type de données."
 
-#: gram.y:5422
+#: gram.y:6221
 #: utils/adt/regproc.c:630
 msgid "missing argument"
 msgstr "argument manquant"
 
-#: gram.y:5423
+#: gram.y:6222
 #: utils/adt/regproc.c:631
 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:6358
-#: gram.y:6364
-#: gram.y:6370
+#: gram.y:7301
+#: gram.y:7307
+#: gram.y:7313
 msgid "WITH CHECK OPTION is not implemented"
 msgstr "WITH CHECK OPTION n'est pas implémenté"
 
-#: gram.y:7046
+#: gram.y:7990
 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:7267
+#: gram.y:8214
 msgid "number of columns does not match number of values"
 msgstr "le nombre de colonnes ne correspond pas au nombre de valeurs"
 
-#: gram.y:7707
+#: gram.y:8664
 msgid "LIMIT #,# syntax is not supported"
 msgstr "la syntaxe LIMIT #,# n'est pas supportée"
 
-#: gram.y:7708
+#: gram.y:8665
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Utilisez les clauses séparées LIMIT et OFFSET."
 
-#: gram.y:7926
+#: gram.y:8883
 msgid "VALUES in FROM must have an alias"
 msgstr "VALUES dans FROM doit avoir un alias"
 
-#: gram.y:7927
+#: gram.y:8884
 msgid "For example, FROM (VALUES ...) [AS] foo."
 msgstr "Par exemple, FROM (VALUES ...) [AS] quelquechose."
 
-#: gram.y:7932
+#: gram.y:8889
 msgid "subquery in FROM must have an alias"
 msgstr "la sous-requête du FROM doit avoir un alias"
 
-#: gram.y:7933
+#: gram.y:8890
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "Par exemple, FROM (SELECT...) [AS] quelquechose."
 
-#: gram.y:8406
+#: gram.y:9376
 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:8415
+#: gram.y:9385
 msgid "precision for type float must be less than 54 bits"
 msgstr "la précision du type float doit être inférieur à 54 bits"
 
-#: gram.y:9121
+#: gram.y:10099
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "prédicat UNIQUE non implémenté"
 
-#: gram.y:9993
+#: gram.y:11007
 msgid "RANGE PRECEDING is only supported with UNBOUNDED"
 msgstr "RANGE PRECEDING est seulement supporté avec UNBOUNDED"
 
-#: gram.y:9999
+#: gram.y:11013
 msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
 msgstr "RANGE FOLLOWING est seulement supporté avec UNBOUNDED"
 
-#: gram.y:10026
-#: gram.y:10049
+#: gram.y:11040
+#: gram.y:11063
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "la fin du frame ne peut pas être UNBOUNDED FOLLOWING"
 
-#: gram.y:10031
+#: gram.y:11045
 msgid "frame starting from following row cannot end with current row"
 msgstr "la frame commençant après la ligne suivante ne peut pas se terminer avec la ligne actuelle"
 
-#: gram.y:10054
+#: gram.y:11068
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "la fin du frame ne peut pas être UNBOUNDED PRECEDING"
 
-#: gram.y:10060
+#: gram.y:11074
 msgid "frame starting from current row cannot have preceding rows"
 msgstr "la frame commençant à la ligne courante ne peut pas avoir des lignes précédentes"
 
-#: gram.y:10067
+#: gram.y:11081
 msgid "frame starting from following row cannot have preceding rows"
 msgstr "la frame commençant à la ligne suivante ne peut pas avoir des lignes précédentes"
 
-#: gram.y:10706
+#: gram.y:11715
 msgid "type modifier cannot have parameter name"
 msgstr "le modificateur de type ne peut pas avoir de nom de paramètre"
 
-#: gram.y:11303
-#: gram.y:11511
+#: gram.y:12310
+#: gram.y:12518
 msgid "improper use of \"*\""
 msgstr "mauvaise utilisation de « * »"
 
-#: gram.y:11442
+#: gram.y:12449
 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:11449
+#: gram.y:12456
 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:11574
+#: gram.y:12581
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "clauses ORDER BY multiples non autorisées"
 
-#: gram.y:11585
+#: gram.y:12592
 msgid "multiple OFFSET clauses not allowed"
 msgstr "clauses OFFSET multiples non autorisées"
 
-#: gram.y:11594
+#: gram.y:12601
 msgid "multiple LIMIT clauses not allowed"
 msgstr "clauses LIMIT multiples non autorisées"
 
-#: gram.y:11603
+#: gram.y:12610
 msgid "multiple WITH clauses not allowed"
 msgstr "clauses WITH multiples non autorisées"
 
-#: gram.y:11757
+#: gram.y:12755
 msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
 msgstr "les arguments OUT et INOUT ne sont pas autorisés dans des fonctions TABLE"
 
+#: gram.y:12856
+msgid "multiple COLLATE clauses not allowed"
+msgstr "clauses COLLATE multiples non autorisées"
+
 #: scan.l:411
 msgid "unterminated /* comment"
 msgstr "commentaire /* non terminé"
@@ -11698,6 +12763,7 @@ msgstr ""
 "pour les encodages clients."
 
 #: scan.l:629
+#: repl_scanner.l:97
 msgid "unterminated quoted string"
 msgstr "chaîne entre guillemets non terminée"
 
@@ -11779,6 +12845,24 @@ msgstr ""
 "c'est-à-dire E'\\r\\n"
 "'."
 
+#: port/win32/signal.c:189
+#, 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 :\n"
+"code d'erreur %d"
+
+#: port/win32/signal.c:269
+#: port/win32/signal.c:301
+#, 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:312
+#, 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/win32/security.c:43
 #, c-format
 msgid "could not open process token: error code %d\n"
@@ -11796,23 +12880,48 @@ msgstr ""
 "n'a pas pu obtenir le SID du groupe des utilisateurs avec pouvoir :\n"
 "code d'erreur %d\n"
 
-#: port/win32/signal.c:189
+#: port/win32/crashdump.c:108
+msgid "could not load dbghelp.dll, cannot write crashdump\n"
+msgstr "n'a pas pu charger dbghelp.dll, ne peut pas écrire le « crashdump »\n"
+
+#: port/win32/crashdump.c:116
+msgid "could not load required functions in dbghelp.dll, cannot write crashdump\n"
+msgstr "n'a pas pu charger les fonctions requises dans dbghelp.dll, ne peut pas écrire le « crashdump »\n"
+
+#: port/win32/crashdump.c:147
 #, 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 :\n"
-"code d'erreur %d"
+msgid "could not open crash dump file %s for writing: error code %u\n"
+msgstr "n'a pas pu ouvrir le fichier « crashdump » %s en écriture : code d'erreur %u\n"
 
-#: port/win32/signal.c:269
-#: port/win32/signal.c:301
+#: port/win32/crashdump.c:154
 #, 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"
+msgid "wrote crash dump to %s\n"
+msgstr "a écrit le « crash dump » sur %s\n"
 
-#: port/win32/signal.c:312
+#: port/win32/crashdump.c:156
 #, 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"
+msgid "could not write crash dump to %s: error code %08x\n"
+msgstr "n'a pas pu écrire le « crashdump » dans %s : code d'erreur %08x\n"
+
+#: port/win32_sema.c:94
+#, c-format
+msgid "could not create semaphore: error code %d"
+msgstr "n'a pas pu créer une sémaphore : code d'erreur %d"
+
+#: port/win32_sema.c:161
+#, c-format
+msgid "could not lock semaphore: error code %d"
+msgstr "n'a pas pu verrouiller la sémaphore : code d'erreur %d"
+
+#: port/win32_sema.c:174
+#, c-format
+msgid "could not unlock semaphore: error code %d"
+msgstr "n'a pas pu déverrouiller la sémaphore : code d'erreur %d"
+
+#: port/win32_sema.c:203
+#, c-format
+msgid "could not try-lock semaphore: error code %d"
+msgstr "n'a pas pu tenter le verrouillage de la sémaphore : code d'erreur %d"
 
 #: port/win32_shmem.c:168
 #: port/win32_shmem.c:203
@@ -11858,23 +12967,21 @@ msgstr "L'appel syst
 
 #: port/sysv_sema.c:119
 #: port/pg_sema.c:119
-#, c-format
 msgid ""
-"This error does *not* mean that you have run out of disk space.\n"
-"It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be exceeded.  You need to raise the respective kernel parameter.  Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter (currently %d).\n"
+"This error does *not* mean that you have run out of disk space.  It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be exceeded.  You need to raise the respective kernel parameter.  Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter.\n"
 "The PostgreSQL documentation contains more information about configuring your system for PostgreSQL."
 msgstr ""
-"Cette erreur ne signifie *pas* que vous manquez d'espace disque.\n"
-"Il arrive que soit la limite système de nombre maximum d'ensembles de\n"
-"sémaphores (SEMMNI) ou le nombre maximum de sémaphores pour le système\n"
-"(SEMMNS) soit dépassée. Vous avez besoin d'augmenter le paramètre noyau\n"
-"respectif. Autrement, réduisez la consomnation de sémaphores par PostgreSQL\n"
-"en réduisant son paramètre max_connections (actuellement %d).\n"
+"Cette erreur ne signifie *pas* que vous manquez d'espace disque. Il arrive\n"
+"que soit la limite système du nombre maximum d'ensembles de sémaphores\n"
+"(SEMMNI) ou le nombre maximum de sémaphores pour le système (SEMMNS) soit\n"
+"dépassée. Vous avez besoin d'augmenter le paramètre noyau respectif.\n"
+"Autrement, réduisez la consommation de sémaphores par PostgreSQL en réduisant\n"
+"son paramètre max_connections.\n"
 "La documentation de PostgreSQL contient plus d'informations sur la\n"
 "configuration de votre système avec PostgreSQL."
 
-#: port/sysv_sema.c:148
-#: port/pg_sema.c:148
+#: port/sysv_sema.c:146
+#: port/pg_sema.c:146
 #, c-format
 msgid "You possibly need to raise your kernel's SEMVMX value to be at least %d.  Look into the PostgreSQL documentation for details."
 msgstr ""
@@ -11895,9 +13002,9 @@ msgstr "L'appel syst
 
 #: port/sysv_shmem.c:152
 #: port/pg_shmem.c:152
-#, c-format
+#, fuzzy, c-format
 msgid ""
-"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMMAX.  To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared_buffers parameter (currently %d) and/or its max_connections parameter (currently %d).\n"
+"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMMAX.  To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.\n"
 "If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.\n"
 "The PostgreSQL documentation contains more information about shared memory configuration."
 msgstr ""
@@ -11916,9 +13023,9 @@ msgstr ""
 
 #: port/sysv_shmem.c:165
 #: port/pg_shmem.c:165
-#, c-format
+#, fuzzy, c-format
 msgid ""
-"This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space, or exceeded your kernel's SHMALL parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMALL.  To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared_buffers parameter (currently %d) and/or its max_connections parameter (currently %d).\n"
+"This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space, or exceeded your kernel's SHMALL parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMALL.  To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.\n"
 "The PostgreSQL documentation contains more information about shared memory configuration."
 msgstr ""
 "Cette erreur signifie habituellement que la demande de PostgreSQL pour un\n"
@@ -11934,9 +13041,9 @@ msgstr ""
 
 #: port/sysv_shmem.c:176
 #: port/pg_shmem.c:176
-#, c-format
+#, fuzzy, c-format
 msgid ""
-"This error does *not* mean that you have run out of disk space. It occurs either if all available shared memory IDs have been taken, in which case you 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 %lu bytes), by reducing its shared_buffers parameter (currently %d) and/or its max_connections parameter (currently %d).\n"
+"This error does *not* mean that you have run out of disk space.  It occurs either if all available shared memory IDs have been taken, in which case you 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 %lu bytes), perhaps by reducing shared_buffers or max_connections.\n"
 "The PostgreSQL documentation contains more information about shared memory configuration."
 msgstr ""
 "Cette erreur ne signifie *pas* que vous manquez d'espace disque. Elle\n"
@@ -11950,31 +13057,18 @@ msgstr ""
 "La documentation de PostgreSQL contient plus d'informations sur la\n"
 "configuration de la mémoire partagée."
 
-#: port/sysv_shmem.c:431
-#: port/pg_shmem.c:431
+#: port/sysv_shmem.c:439
+#: port/pg_shmem.c:439
 #, c-format
 msgid "could not stat data directory \"%s\": %m"
 msgstr "n'a pas pu lire les informations sur le répertoire des données « %s » : %m"
 
-#: port/win32_sema.c:94
-#, c-format
-msgid "could not create semaphore: error code %d"
-msgstr "n'a pas pu créer une sémaphore : code d'erreur %d"
-
-#: port/win32_sema.c:161
-#, c-format
-msgid "could not lock semaphore: error code %d"
-msgstr "n'a pas pu verrouiller la sémaphore : code d'erreur %d"
-
-#: port/win32_sema.c:174
-#, c-format
-msgid "could not unlock semaphore: error code %d"
-msgstr "n'a pas pu déverrouiller la sémaphore : code d'erreur %d"
-
-#: port/win32_sema.c:203
+#: port/unix_latch.c:269
+#: port/pg_latch.c:269
+#: replication/libpqwalreceiver/libpqwalreceiver.c:233
 #, c-format
-msgid "could not try-lock semaphore: error code %d"
-msgstr "n'a pas pu tenter le verrouillage de la sémaphore : code d'erreur %d"
+msgid "select() failed: %m"
+msgstr "échec de select() : %m"
 
 #: postmaster/autovacuum.c:359
 #, c-format
@@ -11989,49 +13083,49 @@ msgstr "lancement du processus autovacuum"
 msgid "autovacuum launcher shutting down"
 msgstr "arrêt du processus autovacuum"
 
-#: postmaster/autovacuum.c:1394
+#: postmaster/autovacuum.c:1395
 #, c-format
 msgid "could not fork autovacuum worker process: %m"
 msgstr "n'a pas pu exécuter le processus autovacuum worker : %m"
 
-#: postmaster/autovacuum.c:1595
+#: postmaster/autovacuum.c:1604
 #, c-format
 msgid "autovacuum: processing database \"%s\""
 msgstr "autovacuum : traitement de la base de données « %s »"
 
-#: postmaster/autovacuum.c:1998
+#: postmaster/autovacuum.c:2007
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr ""
 "autovacuum : suppression de la table temporaire orpheline « %s.%s » dans la\n"
 "base de données « %s »"
 
-#: postmaster/autovacuum.c:2010
+#: postmaster/autovacuum.c:2019
 #, c-format
 msgid "autovacuum: found orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr ""
 "autovacuum : a trouvé la table temporaire orpheline « %s.%s » dans la base de\n"
 "données « %s »"
 
-#: postmaster/autovacuum.c:2280
+#: postmaster/autovacuum.c:2289
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "VACUUM automatique de la table « %s.%s.%s »"
 
-#: postmaster/autovacuum.c:2283
+#: postmaster/autovacuum.c:2292
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "ANALYZE automatique de la table « %s.%s.%s »"
 
-#: postmaster/autovacuum.c:2761
+#: postmaster/autovacuum.c:2778
 msgid "autovacuum not started because of misconfiguration"
 msgstr "autovacuum non exécuté à cause d'une mauvaise configuration"
 
-#: postmaster/autovacuum.c:2762
+#: postmaster/autovacuum.c:2779
 msgid "Enable the \"track_counts\" option."
 msgstr "Activez l'option « track_counts »."
 
-#: postmaster/bgwriter.c:472
+#: postmaster/bgwriter.c:482
 #, c-format
 msgid "checkpoints are occurring too frequently (%d second apart)"
 msgid_plural "checkpoints are occurring too frequently (%d seconds apart)"
@@ -12042,25 +13136,30 @@ msgstr[1] ""
 "les points de vérification (checkpoints) arrivent trop fréquemment\n"
 "(toutes les %d secondes)"
 
-#: postmaster/bgwriter.c:476
+#: postmaster/bgwriter.c:486
 msgid "Consider increasing the configuration parameter \"checkpoint_segments\"."
 msgstr "Considèrez l'augmentation du paramètre « checkpoint_segments »."
 
-#: postmaster/bgwriter.c:588
+#: postmaster/bgwriter.c:598
 #, c-format
 msgid "transaction log switch forced (archive_timeout=%d)"
 msgstr "changement forcé du journal de transaction (archive_timeout=%d)"
 
-#: postmaster/bgwriter.c:1044
+#: postmaster/bgwriter.c:1056
 msgid "checkpoint request failed"
 msgstr "échec de la demande de point de vérification"
 
-#: postmaster/bgwriter.c:1045
+#: postmaster/bgwriter.c:1057
 msgid "Consult recent messages in the server log for details."
 msgstr ""
 "Consultez les messages récents du serveur dans les journaux applicatifs pour\n"
 "plus de détails."
 
+#: postmaster/bgwriter.c:1223
+#, c-format
+msgid "compacted fsync request queue from %d entries to %d entries"
+msgstr ""
+
 #: postmaster/pgarch.c:158
 #, c-format
 msgid "could not fork archiver: %m"
@@ -12095,7 +13194,7 @@ msgid "archive command was terminated by exception 0x%X"
 msgstr "la commande d'archivage a été terminée par l'exception 0x%X"
 
 #: postmaster/pgarch.c:579
-#: postmaster/postmaster.c:2840
+#: postmaster/postmaster.c:2871
 msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
 msgstr ""
 "Voir le fichier d'en-tête C « ntstatus.h » pour une description de la valeur\n"
@@ -12126,282 +13225,282 @@ msgstr "journal des transactions archiv
 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/pgstat.c:328
+#: postmaster/pgstat.c:330
 #, c-format
 msgid "could not resolve \"localhost\": %s"
 msgstr "n'a pas pu résoudre « localhost » : %s"
 
-#: postmaster/pgstat.c:351
+#: postmaster/pgstat.c:353
 msgid "trying another address for the statistics collector"
 msgstr "nouvelle tentative avec une autre adresse pour le récupérateur de statistiques"
 
-#: postmaster/pgstat.c:360
+#: postmaster/pgstat.c:362
 #, 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:372
+#: postmaster/pgstat.c:374
 #, 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:383
+#: postmaster/pgstat.c:385
 #, 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:399
+#: postmaster/pgstat.c:401
 #, c-format
 msgid "could not connect socket for statistics collector: %m"
 msgstr "n'a pas pu connecter la socket au récupérateur de statistiques : %m"
 
-#: postmaster/pgstat.c:420
+#: postmaster/pgstat.c:422
 #, 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 récupérateur de\n"
 "statistiques : %m"
 
-#: postmaster/pgstat.c:446
-#: postmaster/pgstat.c:2909
+#: postmaster/pgstat.c:448
+#: postmaster/pgstat.c:2996
 #, c-format
 msgid "select() failed in statistics collector: %m"
 msgstr "échec du select() dans le récupérateur de statistiques : %m"
 
-#: postmaster/pgstat.c:461
+#: postmaster/pgstat.c:463
 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\n"
 "statistiques : %m"
 
-#: postmaster/pgstat.c:476
+#: postmaster/pgstat.c:478
 #, 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\n"
 "statistiques : %m"
 
-#: postmaster/pgstat.c:486
+#: postmaster/pgstat.c:488
 msgid "incorrect test message transmission on socket for statistics collector"
 msgstr ""
 "transmission incorrecte du message de tests sur la socket du récupérateur de\n"
 "statistiques"
 
-#: postmaster/pgstat.c:509
+#: postmaster/pgstat.c:511
 #, 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\n"
 "non bloquant : %m"
 
-#: postmaster/pgstat.c:519
+#: postmaster/pgstat.c:521
 msgid "disabling statistics collector for lack of working socket"
 msgstr ""
 "désactivation du récupérateur de statistiques à cause du manque de socket\n"
 "fonctionnel"
 
-#: postmaster/pgstat.c:621
+#: postmaster/pgstat.c:623
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr ""
 "n'a pas pu lancer le processus fils correspondant au récupérateur de\n"
 "statistiques : %m"
 
-#: postmaster/pgstat.c:1151
-#: postmaster/pgstat.c:1175
-#: postmaster/pgstat.c:1206
+#: postmaster/pgstat.c:1153
+#: postmaster/pgstat.c:1177
+#: postmaster/pgstat.c:1208
 msgid "must be superuser to reset statistics counters"
 msgstr "doit être super-utilisateur pour réinitialiser les compteurs statistiques"
 
-#: postmaster/pgstat.c:1182
+#: postmaster/pgstat.c:1184
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "cible reset non reconnu : « %s »"
 
-#: postmaster/pgstat.c:1183
+#: postmaster/pgstat.c:1185
 msgid "Target must be \"bgwriter\"."
 msgstr "La cible doit être « bgwriter »."
 
-#: postmaster/pgstat.c:2888
+#: postmaster/pgstat.c:2975
 #, c-format
 msgid "poll() failed in statistics collector: %m"
 msgstr "échec du poll() dans le récupérateur de statistiques : %m"
 
-#: postmaster/pgstat.c:2933
+#: postmaster/pgstat.c:3020
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "n'a pas pu lire le message des statistiques : %m"
 
-#: postmaster/pgstat.c:3190
+#: postmaster/pgstat.c:3291
 #, 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:3262
+#: postmaster/pgstat.c:3363
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "n'a pas pu écrire le fichier temporaire des statistiques « %s » : %m"
 
-#: postmaster/pgstat.c:3271
+#: postmaster/pgstat.c:3372
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "n'a pas pu fermer le fichier temporaire des statistiques « %s » : %m"
 
-#: postmaster/pgstat.c:3279
+#: postmaster/pgstat.c:3380
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr ""
 "n'a pas pu renommer le fichier temporaire des statistiques « %s » en\n"
 "« %s » : %m"
 
-#: postmaster/pgstat.c:3379
-#: postmaster/pgstat.c:3608
+#: postmaster/pgstat.c:3486
+#: postmaster/pgstat.c:3715
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier de statistiques « %s » : %m"
 
-#: postmaster/pgstat.c:3391
-#: postmaster/pgstat.c:3401
-#: postmaster/pgstat.c:3423
-#: postmaster/pgstat.c:3438
-#: postmaster/pgstat.c:3501
-#: postmaster/pgstat.c:3519
-#: postmaster/pgstat.c:3535
-#: postmaster/pgstat.c:3553
-#: postmaster/pgstat.c:3569
-#: postmaster/pgstat.c:3620
-#: postmaster/pgstat.c:3631
+#: postmaster/pgstat.c:3498
+#: postmaster/pgstat.c:3508
+#: postmaster/pgstat.c:3530
+#: postmaster/pgstat.c:3545
+#: postmaster/pgstat.c:3608
+#: postmaster/pgstat.c:3626
+#: postmaster/pgstat.c:3642
+#: postmaster/pgstat.c:3660
+#: postmaster/pgstat.c:3676
+#: postmaster/pgstat.c:3727
+#: postmaster/pgstat.c:3738
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "fichier de statistiques « %s » corrompu"
 
-#: postmaster/pgstat.c:3925
+#: postmaster/pgstat.c:4036
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr ""
 "corruption de la table hachée de la base de données lors du lancement\n"
 "--- annulation"
 
-#: postmaster/postmaster.c:566
+#: postmaster/postmaster.c:572
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s : argument invalide pour l'option -f : « %s »\n"
 
-#: postmaster/postmaster.c:652
+#: postmaster/postmaster.c:658
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s : argument invalide pour l'option -t : « %s »\n"
 
-#: postmaster/postmaster.c:703
+#: postmaster/postmaster.c:709
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s : argument invalide : « %s »\n"
 
-#: postmaster/postmaster.c:728
+#: postmaster/postmaster.c:734
 #, 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:733
+#: postmaster/postmaster.c:739
 msgid "WAL archival (archive_mode=on) requires wal_level \"archive\" or \"hot_standby\""
 msgstr ""
 "l'archivage des journaux de transactions (archive_mode=on) nécessite que\n"
 "le paramètre wal_level soit initialisé avec « archive » ou « hot_standby »"
 
-#: postmaster/postmaster.c:736
+#: postmaster/postmaster.c:742
 msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\" or \"hot_standby\""
 msgstr ""
 "l'envoi d'un flux de transactions (max_wal_senders > 0) nécessite que\n"
 "le paramètre wal_level soit initialisé avec « archive » ou « hot_standby »"
 
-#: postmaster/postmaster.c:744
+#: postmaster/postmaster.c:750
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s : tables datetoken invalide, merci de corriger\n"
 
-#: postmaster/postmaster.c:850
+#: postmaster/postmaster.c:856
 msgid "invalid list syntax for \"listen_addresses\""
 msgstr "syntaxe de liste invalide pour le paramètre « listen_addresses »"
 
-#: postmaster/postmaster.c:871
+#: postmaster/postmaster.c:886
 #, 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:877
+#: postmaster/postmaster.c:892
 msgid "could not create any TCP/IP sockets"
 msgstr "n'a pas pu créer de socket TCP/IP"
 
-#: postmaster/postmaster.c:928
+#: postmaster/postmaster.c:943
 msgid "could not create Unix-domain socket"
 msgstr "n'a pas pu créer le socket domaine Unix"
 
-#: postmaster/postmaster.c:936
+#: postmaster/postmaster.c:951
 msgid "no socket created for listening"
 msgstr "pas de socket créé pour l'écoute"
 
-#: postmaster/postmaster.c:962
+#: postmaster/postmaster.c:985
 msgid "could not create I/O completion port for child queue"
 msgstr "n'a pas pu créer un port de terminaison I/O pour la queue"
 
-#: postmaster/postmaster.c:1006
+#: postmaster/postmaster.c:1029
 #, 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:1074
+#: postmaster/postmaster.c:1097
 #: utils/init/postinit.c:197
 msgid "could not load pg_hba.conf"
 msgstr "n'a pas pu charger pg_hba.conf"
 
-#: postmaster/postmaster.c:1121
+#: postmaster/postmaster.c:1144
 #, 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:1144
-#: utils/misc/tzparser.c:347
+#: postmaster/postmaster.c:1167
+#: utils/misc/tzparser.c:325
 #, c-format
 msgid "This may indicate an incomplete PostgreSQL installation, or that the file \"%s\" has been moved away from its proper location."
 msgstr "Ceci peut indiquer une installation PostgreSQL incomplète, ou que le fichier « %s » a été déplacé."
 
-#: postmaster/postmaster.c:1172
+#: postmaster/postmaster.c:1195
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "le répertoire des données « %s » n'existe pas"
 
-#: postmaster/postmaster.c:1177
+#: postmaster/postmaster.c:1200
 #, 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:1185
+#: postmaster/postmaster.c:1208
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "le répertoire des données « %s » n'est pas un répertoire"
 
-#: postmaster/postmaster.c:1201
+#: postmaster/postmaster.c:1224
 #, 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:1203
+#: postmaster/postmaster.c:1226
 msgid "The server must be started by the user that owns the data directory."
 msgstr ""
 "Le serveur doit être en cours d'exécution par l'utilisateur qui possède le\n"
 "répertoire des données."
 
-#: postmaster/postmaster.c:1223
+#: postmaster/postmaster.c:1246
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr ""
 "le répertoire des données « %s » est accessible par le groupe et/ou par les\n"
 "autres"
 
-#: postmaster/postmaster.c:1225
+#: postmaster/postmaster.c:1248
 msgid "Permissions should be u=rwx (0700)."
 msgstr "Les droits devraient être u=rwx (0700)."
 
-#: postmaster/postmaster.c:1236
+#: postmaster/postmaster.c:1259
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -12412,718 +13511,844 @@ 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:1272
+#: postmaster/postmaster.c:1295
 #, c-format
 msgid "%s: could not open file \"%s\": %s\n"
 msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %s\n"
 
-#: postmaster/postmaster.c:1279
+#: postmaster/postmaster.c:1302
 #, c-format
 msgid "%s: could not open log file \"%s/%s\": %s\n"
 msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s/%s » : %s\n"
 
-#: postmaster/postmaster.c:1290
+#: postmaster/postmaster.c:1313
 #, 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:1312
+#: postmaster/postmaster.c:1335
 #, 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:1407
+#: postmaster/postmaster.c:1430
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "échec de select() dans postmaster : %m"
 
-#: postmaster/postmaster.c:1564
-#: postmaster/postmaster.c:1595
+#: postmaster/postmaster.c:1592
+#: postmaster/postmaster.c:1623
 msgid "incomplete startup packet"
 msgstr "paquet de démarrage incomplet"
 
-#: postmaster/postmaster.c:1576
+#: postmaster/postmaster.c:1604
 msgid "invalid length of startup packet"
 msgstr "longueur invalide du paquet de démarrage"
 
-#: postmaster/postmaster.c:1633
+#: postmaster/postmaster.c:1661
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "échec lors de l'envoi de la réponse de négotiation SSL : %m"
 
-#: postmaster/postmaster.c:1662
+#: postmaster/postmaster.c:1690
 #, c-format
 msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr ""
 "Protocole non supportée de l'interface %u.%u : le serveur supporte de %u.0 à\n"
 "%u.%u"
 
-#: postmaster/postmaster.c:1713
+#: postmaster/postmaster.c:1741
 msgid "invalid value for boolean option \"replication\""
 msgstr "valeur invalide pour l'option booléenne « replication »"
 
-#: postmaster/postmaster.c:1733
+#: postmaster/postmaster.c:1761
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr ""
 "configuration invalide du paquet de démarrage : terminaison attendue comme\n"
 "dernier octet"
 
-#: postmaster/postmaster.c:1761
+#: postmaster/postmaster.c:1789
 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:1818
+#: postmaster/postmaster.c:1846
 msgid "the database system is starting up"
 msgstr "le système de bases de données se lance"
 
-#: postmaster/postmaster.c:1823
+#: postmaster/postmaster.c:1851
 msgid "the database system is shutting down"
 msgstr "le système de base de données s'arrête"
 
-#: postmaster/postmaster.c:1828
+#: postmaster/postmaster.c:1856
 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:1895
+#: postmaster/postmaster.c:1923
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "mauvaise clé dans la demande d'annulation pour le processus %d"
 
-#: postmaster/postmaster.c:1903
+#: postmaster/postmaster.c:1931
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "le PID %d dans la demande d'annulation ne correspond à aucun processus"
 
-#: postmaster/postmaster.c:2109
+#: postmaster/postmaster.c:2137
 msgid "received SIGHUP, reloading configuration files"
 msgstr "a reçu SIGHUP, rechargement des fichiers de configuration"
 
-#: postmaster/postmaster.c:2132
+#: postmaster/postmaster.c:2160
 msgid "pg_hba.conf not reloaded"
 msgstr "pg_hba.conf non lu"
 
-#: postmaster/postmaster.c:2175
+#: postmaster/postmaster.c:2203
 msgid "received smart shutdown request"
 msgstr "a reçu une demande d'arrêt intelligent"
 
-#: postmaster/postmaster.c:2222
+#: postmaster/postmaster.c:2250
 msgid "received fast shutdown request"
 msgstr "a reçu une demande d'arrêt rapide"
 
-#: postmaster/postmaster.c:2240
+#: postmaster/postmaster.c:2268
 msgid "aborting any active transactions"
 msgstr "annulation des transactions actives"
 
-#: postmaster/postmaster.c:2269
+#: postmaster/postmaster.c:2297
 msgid "received immediate shutdown request"
 msgstr "a reçu une demande d'arrêt immédiat"
 
-#: postmaster/postmaster.c:2345
 #: postmaster/postmaster.c:2373
+#: postmaster/postmaster.c:2401
 msgid "startup process"
 msgstr "processus de lancement"
 
-#: postmaster/postmaster.c:2348
+#: postmaster/postmaster.c:2376
 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:2407
+#: postmaster/postmaster.c:2435
 msgid "database system is ready to accept connections"
 msgstr "le système de bases de données est prêt pour accepter les connexions"
 
-#: postmaster/postmaster.c:2462
+#: postmaster/postmaster.c:2490
 msgid "background writer process"
 msgstr "processus d'écriture en tâche de fond"
 
-#: postmaster/postmaster.c:2478
+#: postmaster/postmaster.c:2506
 msgid "WAL writer process"
 msgstr "processus d'écriture des journaux de transaction"
 
-#: postmaster/postmaster.c:2492
+#: postmaster/postmaster.c:2520
 msgid "WAL receiver process"
 msgstr "processus de réception des journaux de transaction"
 
-#: postmaster/postmaster.c:2507
+#: postmaster/postmaster.c:2535
 msgid "autovacuum launcher process"
 msgstr "processus de l'autovacuum"
 
-#: postmaster/postmaster.c:2522
+#: postmaster/postmaster.c:2550
 msgid "archiver process"
 msgstr "processus d'archivage"
 
-#: postmaster/postmaster.c:2538
+#: postmaster/postmaster.c:2566
 msgid "statistics collector process"
 msgstr "processus de récupération des statistiques"
 
-#: postmaster/postmaster.c:2552
+#: postmaster/postmaster.c:2580
 msgid "system logger process"
 msgstr "processus des journaux applicatifs"
 
-#: postmaster/postmaster.c:2587
-#: postmaster/postmaster.c:2603
-#: postmaster/postmaster.c:2610
-#: postmaster/postmaster.c:2628
+#: postmaster/postmaster.c:2615
+#: postmaster/postmaster.c:2634
+#: postmaster/postmaster.c:2641
+#: postmaster/postmaster.c:2659
 msgid "server process"
 msgstr "processus serveur"
 
-#: postmaster/postmaster.c:2664
+#: postmaster/postmaster.c:2695
 msgid "terminating any other active server processes"
 msgstr "arrêt des autres processus serveur actifs"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:2829
+#: postmaster/postmaster.c:2860
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) quitte avec le code de sortie %d"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:2838
+#: postmaster/postmaster.c:2869
 #, c-format
 msgid "%s (PID %d) was terminated by exception 0x%X"
 msgstr "%s (PID %d) a été arrêté par l'exception 0x%X"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:2847
+#: postmaster/postmaster.c:2878
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d: %s"
 msgstr "%s (PID %d) a été arrêté par le signal %d : %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:2857
+#: postmaster/postmaster.c:2888
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d"
 msgstr "%s (PID %d) a été arrêté par le signal %d"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:2866
+#: postmaster/postmaster.c:2897
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) a quitté avec le statut inattendu %d"
 
-#: postmaster/postmaster.c:3046
+#: postmaster/postmaster.c:3077
 msgid "abnormal database system shutdown"
 msgstr "le système de base de données a été arrêté anormalement"
 
-#: postmaster/postmaster.c:3084
+#: postmaster/postmaster.c:3116
 msgid "all server processes terminated; reinitializing"
 msgstr "tous les processus serveur se sont arrêtés, réinitialisation"
 
-#: postmaster/postmaster.c:3256
+#: postmaster/postmaster.c:3299
 #, 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:3298
+#: postmaster/postmaster.c:3341
 msgid "could not fork new process for connection: "
 msgstr "n'a pas pu lancer le nouveau processus fils pour la connexion : "
 
-#: postmaster/postmaster.c:3412
+#: postmaster/postmaster.c:3455
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "connexion reçue : hôte=%s port=%s"
 
-#: postmaster/postmaster.c:3417
+#: postmaster/postmaster.c:3460
 #, c-format
 msgid "connection received: host=%s"
 msgstr "connexion reçue : hôte=%s"
 
-#: postmaster/postmaster.c:3684
+#: postmaster/postmaster.c:3729
 #, 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:4201
+#: postmaster/postmaster.c:4246
 msgid "database system is ready to accept read only connections"
 msgstr "le système de bases de données est prêt pour accepter les connexions en lecture seule"
 
-#: postmaster/postmaster.c:4442
+#: postmaster/postmaster.c:4513
 #, 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:4446
+#: postmaster/postmaster.c:4517
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr ""
 "n'a pas pu créer un processus fils du processus d'écriture en tâche de\n"
 "fond : %m"
 
-#: postmaster/postmaster.c:4450
+#: postmaster/postmaster.c:4521
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr ""
 "n'a pas pu créer un processus fils du processus d'écriture des journaux de\n"
 "transaction : %m"
 
-#: postmaster/postmaster.c:4454
+#: postmaster/postmaster.c:4525
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr ""
 "n'a pas pu créer un processus fils de réception des journaux de\n"
 "transactions : %m"
 
-#: postmaster/postmaster.c:4458
+#: postmaster/postmaster.c:4529
 #, c-format
 msgid "could not fork process: %m"
 msgstr "n'a pas pu lancer le processus fils : %m"
 
-#: postmaster/postmaster.c:4740
+#: postmaster/postmaster.c:4811
 #, 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:4772
+#: postmaster/postmaster.c:4843
 #, 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:4801
-#: postmaster/postmaster.c:4808
+#: postmaster/postmaster.c:4872
+#: postmaster/postmaster.c:4879
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "n'a pas pu lire le fichier de configuration serveur « %s » : %s\n"
 
-#: postmaster/postmaster.c:4817
+#: postmaster/postmaster.c:4888
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "n'a pas pu supprimer le fichier « %s » : %s\n"
 
-#: postmaster/postmaster.c:4834
+#: postmaster/postmaster.c:4905
 #, c-format
 msgid "could not map view of backend variables: error code %d\n"
 msgstr ""
 "n'a pas pu exécuter MapViewOfFile sur les variables de configuration : code\n"
 "d'erreur %d\n"
 
-#: postmaster/postmaster.c:4843
+#: postmaster/postmaster.c:4914
 #, c-format
 msgid "could not unmap view of backend variables: error code %d\n"
 msgstr ""
 "n'a pas pu exécuter UnmapViewOfFile sur les variables de configuration : code\n"
 "d'erreur %d\n"
 
-#: postmaster/postmaster.c:4850
+#: postmaster/postmaster.c:4921
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %d\n"
 msgstr ""
 "n'a pas pu fermer le lien vers les variables des paramètres du serveur :\n"
 "code d'erreur %d\n"
 
-#: postmaster/postmaster.c:4993
+#: postmaster/postmaster.c:5064
 msgid "could not read exit code for process\n"
 msgstr "n'a pas pu lire le code de sortie du processus\n"
 
-#: postmaster/postmaster.c:4998
+#: postmaster/postmaster.c:5069
 msgid "could not post child completion status\n"
 msgstr "n'a pas pu poster le statut de fin de l'enfant\n"
 
-#: postmaster/syslogger.c:387
+#: postmaster/syslogger.c:390
 #, c-format
 msgid "select() failed in logger process: %m"
 msgstr "échec de select() dans le processus des journaux applicatifs : %m"
 
-#: postmaster/syslogger.c:399
-#: postmaster/syslogger.c:973
+#: postmaster/syslogger.c:402
+#: postmaster/syslogger.c:968
 #, c-format
 msgid "could not read from logger pipe: %m"
 msgstr "n'a pas pu lire à partir du tube des journaux applicatifs : %m"
 
-#: postmaster/syslogger.c:446
+#: postmaster/syslogger.c:449
 msgid "logger shutting down"
 msgstr "arrêt en cours des journaux applicatifs"
 
-#: postmaster/syslogger.c:490
-#: postmaster/syslogger.c:504
+#: postmaster/syslogger.c:493
+#: postmaster/syslogger.c:507
 #, 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:524
-#: postmaster/syslogger.c:1012
-#, c-format
-msgid "could not create log file \"%s\": %m"
-msgstr "n'a pas pu créer le journal applicatif « %s » : %m"
-
-#: postmaster/syslogger.c:539
+#: postmaster/syslogger.c:534
 #, c-format
 msgid "could not fork system logger: %m"
 msgstr "n'a pas pu lancer le processus des journaux applicatifs : %m"
 
-#: postmaster/syslogger.c:570
+#: postmaster/syslogger.c:565
 #, c-format
 msgid "could not redirect stdout: %m"
 msgstr "n'a pas pu rediriger la sortie (stdout) : %m"
 
-#: postmaster/syslogger.c:575
-#: postmaster/syslogger.c:593
+#: postmaster/syslogger.c:570
+#: postmaster/syslogger.c:588
 #, c-format
 msgid "could not redirect stderr: %m"
 msgstr "n'a pas pu rediriger la sortie des erreurs (stderr) : %m"
 
-#: postmaster/syslogger.c:928
+#: postmaster/syslogger.c:923
 #, c-format
 msgid "could not write to log file: %s\n"
 msgstr "n'a pas pu écrire dans le journal applicatif : %s\n"
 
-#: postmaster/syslogger.c:1083
-#: postmaster/syslogger.c:1141
+#: postmaster/syslogger.c:1042
 #, c-format
-msgid "could not open new log file \"%s\": %m"
-msgstr "n'a pas pu ouvrir le nouveau journal applicatif « %s » : %m"
+msgid "could not open log file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier applicatif « %s » : %m"
 
-#: postmaster/syslogger.c:1095
-#: postmaster/syslogger.c:1153
+#: postmaster/syslogger.c:1111
+#: postmaster/syslogger.c:1156
 msgid "disabling automatic rotation (use SIGHUP to re-enable)"
 msgstr "désactivation de la rotation automatique (utilisez SIGHUP pour la réactiver)"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:99
+#: regex/regc_pg_locale.c:258
+#: utils/adt/selfuncs.c:4969
+msgid "could not determine which collation to use for regular expression"
+msgstr "n'a pas pu déterminer le collationnement à utiliser pour une expression rationnelle"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:101
 #, c-format
 msgid "could not connect to the primary server: %s"
 msgstr "n'a pas pu se connecter au serveur principal : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:111
+#: replication/libpqwalreceiver/libpqwalreceiver.c:113
 #, c-format
 msgid "could not receive database system identifier and timeline ID from the primary server: %s"
 msgstr ""
 "n'a pas pu recevoir l'identifiant du système de bases de données et\n"
 "l'identifiant de la timeline à partir du serveur principal : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:122
+#: replication/libpqwalreceiver/libpqwalreceiver.c:124
 msgid "invalid response from primary server"
 msgstr "réponse invalide du serveur principal"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:123
+#: replication/libpqwalreceiver/libpqwalreceiver.c:125
 #, c-format
-msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
-msgstr "Attendait 1 ligne avec 2 champs, a obtenu %d lignes avec %d champs."
+msgid "Expected 1 tuple with 3 fields, got %d tuples with %d fields."
+msgstr "Attendait 1 ligne avec 3 champs, a obtenu %d lignes avec %d champs."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:138
+#: replication/libpqwalreceiver/libpqwalreceiver.c:140
 msgid "database system identifier differs between the primary and standby"
 msgstr ""
 "l'identifiant du système de bases de données diffère entre le serveur principal\n"
 "et le serveur en attente"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:139
+#: replication/libpqwalreceiver/libpqwalreceiver.c:141
 #, c-format
 msgid "The primary's identifier is %s, the standby's identifier is %s."
 msgstr ""
 "L'identifiant du serveur principal est %s, l'identifiant du serveur en attente\n"
 "est %s."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:151
+#: replication/libpqwalreceiver/libpqwalreceiver.c:153
 #, c-format
 msgid "timeline %u of the primary does not match recovery target timeline %u"
 msgstr ""
 "le timeline %u du serveur principal ne correspond pas au timeline %u de la\n"
 "cible de restauration"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:163
+#: replication/libpqwalreceiver/libpqwalreceiver.c:165
 #, c-format
 msgid "could not start WAL streaming: %s"
 msgstr "n'a pas pu démarrer l'envoi des WAL : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:169
+#: replication/libpqwalreceiver/libpqwalreceiver.c:171
 msgid "streaming replication successfully connected to primary"
 msgstr "réplication de flux connecté avec succès au serveur principal"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:191
+#: replication/libpqwalreceiver/libpqwalreceiver.c:193
 msgid "socket not open"
 msgstr "socket non ouvert"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:231
-#, c-format
-msgid "select() failed: %m"
-msgstr "échec de select() : %m"
-
-#: replication/libpqwalreceiver/libpqwalreceiver.c:364
-#: replication/libpqwalreceiver/libpqwalreceiver.c:385
-#: replication/libpqwalreceiver/libpqwalreceiver.c:390
+#: replication/libpqwalreceiver/libpqwalreceiver.c:367
+#: replication/libpqwalreceiver/libpqwalreceiver.c:388
+#: replication/libpqwalreceiver/libpqwalreceiver.c:393
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "n'a pas pu recevoir des données du flux de WAL : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:381
+#: replication/libpqwalreceiver/libpqwalreceiver.c:384
 msgid "replication terminated by primary server"
 msgstr "réplication terminée par le serveur primaire"
 
-#: replication/walreceiver.c:138
+#: replication/libpqwalreceiver/libpqwalreceiver.c:415
+#, c-format
+msgid "could not send data to WAL stream: %s"
+msgstr "n'a pas pu transmettre les données au flux WAL : %s"
+
+#: replication/walreceiver.c:150
 msgid "terminating walreceiver process due to administrator command"
 msgstr "arrêt du processus walreceiver suite à la demande de l'administrateur"
 
-#: replication/walreceiver.c:287
+#: replication/walreceiver.c:299
 msgid "cannot continue WAL streaming, recovery has already ended"
 msgstr "ne peut pas continuer le flux de journaux de transactions, la récupération est déjà terminée"
 
-#: replication/walsender.c:116
+#: replication/walsender.c:141
 msgid "recovery is still in progress, can't accept WAL streaming connections"
 msgstr "la restauration est en cours, ne peut pas accepter les connexions de flux WAL"
 
-#: replication/walsender.c:278
+#: replication/walsender.c:261
+#: replication/walsender.c:489
+#: replication/walsender.c:547
+msgid "unexpected EOF on standby connection"
+msgstr "fin de fichier (EOF) inattendue de la connexion du serveur en attente"
+
+#: replication/walsender.c:267
+#, c-format
+msgid "invalid standby handshake message type %d"
+msgstr "type %d du message de handshake du serveur en attente invalide"
+
+#: replication/walsender.c:379
 msgid "standby connections not allowed because wal_level=minimal"
 msgstr "connexions standby non autorisées car wal_level=minimal"
 
-#: replication/walsender.c:300
+#: replication/walsender.c:461
 #, c-format
 msgid "invalid standby query string: %s"
 msgstr "chaîne de requête invalide sur le serveur en attente : %s"
 
-#: replication/walsender.c:313
-#: replication/walsender.c:339
-msgid "unexpected EOF on standby connection"
-msgstr "fin de fichier (EOF) inattendue de la connexion du serveur en attente"
+#: replication/walsender.c:518
+#, c-format
+msgid "invalid standby message type %d"
+msgstr "type de message %d invalide pour le serveur en standby"
 
-#: replication/walsender.c:319
+#: replication/walsender.c:569
 #, c-format
-msgid "invalid standby handshake message type %d"
-msgstr "type %d du message de handshake du serveur en attente invalide"
+msgid "unexpected message type %c"
+msgstr "type de message %c inattendu"
 
-#: replication/walsender.c:360
+#: replication/walsender.c:822
+msgid "terminating walsender process due to replication timeout"
+msgstr "arrêt du processus walreceiver suite à l'expiration du délai de réplication"
+
+#: replication/walsender.c:838
 #, c-format
-msgid "invalid standby closing message type %d"
-msgstr "type %d du message de fermeture du serveur en attente invalide"
+msgid "standby \"%s\" has now caught up with primary"
+msgstr "le serveur standby « %s » a maintenant rattrapé le serveur primaire"
 
-#: replication/walsender.c:506
+#: replication/walsender.c:907
 #, c-format
 msgid "number of requested standby connections exceeds max_wal_senders (currently %d)"
 msgstr ""
 "le nombre de connexions demandées par le serveur en attente dépasse\n"
 "max_wal_senders (actuellement %d)"
 
-#: replication/walsender.c:578
-#: replication/walsender.c:640
+#: replication/walsender.c:985
+#: replication/walsender.c:1047
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "le segment demandé du journal de transaction, %s, a déjà été supprimé"
 
-#: replication/walsender.c:611
+#: replication/walsender.c:1018
 #, c-format
 msgid "could not read from log file %u, segment %u, offset %u, length %lu: %m"
 msgstr ""
 "n'a pas pu lire le journal de transactions %u, segment %u au décalage %u,\n"
 "longueur %lu : %m"
 
-#: rewrite/rewriteDefine.c:108
-#: rewrite/rewriteDefine.c:756
+#: replication/basebackup.c:122
+#, c-format
+msgid "unable to read symbolic link %s: %m"
+msgstr "incapable de lire le lien symbolique %s : %m"
+
+#: replication/basebackup.c:231
+#: replication/basebackup.c:743
+msgid "base backup could not send data, aborting backup"
+msgstr "la sauvegarde de base n'a pas pu envoyer les données, annulation de la sauvegarde"
+
+#: replication/basebackup.c:278
+#: replication/basebackup.c:287
+#: replication/basebackup.c:296
+#: replication/basebackup.c:305
+#: replication/basebackup.c:314
+#, c-format
+msgid "duplicate option \"%s\""
+msgstr "option « %s » dupliquée"
+
+#: replication/basebackup.c:366
+#, c-format
+msgid "unable to open directory pg_tblspc: %m"
+msgstr "impossible d'ouvrir le répertoire p_tblspc : %m"
+
+#: replication/basebackup.c:576
+msgid "shutdown requested, aborting active base backup"
+msgstr "arrêt demandé, annulation de la sauvegarde active de base"
+
+#: replication/basebackup.c:589
+#, c-format
+msgid "could not stat file or directory \"%s\": %m"
+msgstr ""
+"n'a pas pu récupérer les informations sur le fichier ou répertoire\n"
+"« %s » : %m"
+
+#: replication/basebackup.c:631
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "n'a pas pu lire le lien symbolique « %s » : %m"
+
+#: replication/basebackup.c:660
+#, c-format
+msgid "skipping special file \"%s\""
+msgstr "ignore le fichier spécial « %s »"
+
+#: replication/basebackup.c:733
+#, c-format
+msgid "archive member \"%s\" too large for tar format"
+msgstr "membre « %s » de l'archive trop volumineux pour le format tar"
+
+#: replication/syncrep.c:214
+msgid "canceling the wait for synchronous replication and terminating connection due to administrator command"
+msgstr ""
+"annulation de l'attente pour la réplication synchrone et arrêt des connexions\n"
+"suite à la demande de l'administrateur"
+
+#: replication/syncrep.c:215
+#: replication/syncrep.c:232
+msgid "The transaction has already committed locally, but may not have been replicated to the standby."
+msgstr ""
+"La transaction a déjà enregistré les données localement, mais il se peut que\n"
+"cela n'ait pas été répliqué sur le serveur en standby"
+
+#: replication/syncrep.c:231
+msgid "canceling wait for synchronous replication due to user request"
+msgstr "annulation de l'attente pour la réplication synchrone à la demande de l'utilisateur"
+
+#: replication/syncrep.c:357
+#, c-format
+msgid "standby \"%s\" now has synchronous standby priority %u"
+msgstr ""
+"le serveur « %s » en standby a maintenant une priorité %u en tant que standby\n"
+"synchrone"
+
+#: replication/syncrep.c:450
+#, c-format
+msgid "standby \"%s\" is now the synchronous standby with priority %u"
+msgstr "le serveur « %s » en standby est maintenant le serveur standby synchrone de priorité %u"
+
+#: repl_scanner.l:76
+msgid "invalid streaming start location"
+msgstr "emplacement de démarrage du flux de réplication invalide"
+
+#: repl_scanner.l:107
+#, c-format
+msgid "syntax error: unexpected character \"%s\""
+msgstr "erreur de syntaxe : caractère « %s » inattendu"
+
+#: rewrite/rewriteDefine.c:109
+#: rewrite/rewriteDefine.c:771
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" already exists"
 msgstr "la règle « %s » existe déjà pour la relation « %s »"
 
-#: rewrite/rewriteDefine.c:282
+#: rewrite/rewriteDefine.c:289
 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:283
+#: rewrite/rewriteDefine.c:290
 msgid "Use views or triggers instead."
 msgstr "Utilisez à la place des vues ou des triggers."
 
-#: rewrite/rewriteDefine.c:287
+#: rewrite/rewriteDefine.c:294
 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:288
+#: rewrite/rewriteDefine.c:295
 msgid "Use triggers instead."
 msgstr "Utilisez des triggers à la place."
 
-#: rewrite/rewriteDefine.c:301
+#: rewrite/rewriteDefine.c:308
 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:302
+#: rewrite/rewriteDefine.c:309
 msgid "Use views instead."
 msgstr "Utilisez les vues à la place."
 
-#: rewrite/rewriteDefine.c:310
+#: rewrite/rewriteDefine.c:317
 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:322
+#: rewrite/rewriteDefine.c:329
 msgid "rules on SELECT must have action INSTEAD SELECT"
 msgstr "les règles sur SELECT doivent avoir une action INSTEAD SELECT"
 
-#: rewrite/rewriteDefine.c:330
+#: rewrite/rewriteDefine.c:337
+msgid "rules on SELECT must not contain data-modifying statements in WITH"
+msgstr ""
+"les règles sur SELECT ne doivent pas contenir d'instructions de modification\n"
+"de données avec WITH"
+
+#: rewrite/rewriteDefine.c:345
 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\n"
 "SELECT"
 
-#: rewrite/rewriteDefine.c:355
+#: rewrite/rewriteDefine.c:370
 #, c-format
 msgid "\"%s\" is already a view"
 msgstr "« %s » est déjà une vue"
 
-#: rewrite/rewriteDefine.c:379
+#: rewrite/rewriteDefine.c:394
 #, c-format
 msgid "view rule for \"%s\" must be named \"%s\""
 msgstr "la règle de la vue pour « %s » doit être nommée « %s »"
 
-#: rewrite/rewriteDefine.c:404
+#: rewrite/rewriteDefine.c:419
 #, c-format
 msgid "could not convert table \"%s\" to a view because it is not empty"
 msgstr "n'a pas pu convertir la table « %s » en une vue car elle n'est pas vide"
 
-#: rewrite/rewriteDefine.c:411
+#: rewrite/rewriteDefine.c:426
 #, c-format
 msgid "could not convert table \"%s\" to a view because it has triggers"
 msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des triggers"
 
-#: rewrite/rewriteDefine.c:413
+#: rewrite/rewriteDefine.c:428
 msgid "In particular, the table cannot be involved in any foreign key relationships."
 msgstr ""
 "En particulier, la table ne peut pas être impliquée dans les relations des\n"
 "clés étrangères."
 
-#: rewrite/rewriteDefine.c:418
+#: rewrite/rewriteDefine.c:433
 #, c-format
 msgid "could not convert table \"%s\" to a view because it has indexes"
 msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des index"
 
-#: rewrite/rewriteDefine.c:424
+#: rewrite/rewriteDefine.c:439
 #, c-format
 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/rewriteDefine.c:451
+#: rewrite/rewriteDefine.c:466
 msgid "cannot have multiple RETURNING lists in a rule"
 msgstr "ne peut pas avoir plusieurs listes RETURNING dans une règle"
 
-#: rewrite/rewriteDefine.c:456
+#: rewrite/rewriteDefine.c:471
 msgid "RETURNING lists are not supported in conditional rules"
 msgstr "les listes RETURNING ne sont pas supportés dans des règles conditionnelles"
 
-#: rewrite/rewriteDefine.c:460
+#: rewrite/rewriteDefine.c:475
 msgid "RETURNING lists are not supported in non-INSTEAD rules"
 msgstr "les listes RETURNING ne sont pas supportés dans des règles autres que INSTEAD"
 
-#: rewrite/rewriteDefine.c:539
+#: rewrite/rewriteDefine.c:554
 msgid "SELECT rule's target list has too many entries"
 msgstr "la liste cible de la règle SELECT a trop d'entrées"
 
-#: rewrite/rewriteDefine.c:540
+#: rewrite/rewriteDefine.c:555
 msgid "RETURNING list has too many entries"
 msgstr "la liste RETURNING a trop d'entrées"
 
-#: rewrite/rewriteDefine.c:556
+#: rewrite/rewriteDefine.c:571
 msgid "cannot convert relation containing dropped columns to view"
 msgstr "ne peut pas convertir la relation contenant les colonnes supprimées de la vue"
 
-#: rewrite/rewriteDefine.c:561
+#: rewrite/rewriteDefine.c:576
 #, 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érents à\n"
 "partir de « %s »"
 
-#: rewrite/rewriteDefine.c:567
+#: rewrite/rewriteDefine.c:582
 #, c-format
 msgid "SELECT rule's target entry %d has different type from column \"%s\""
 msgstr "l'entrée cible de la règle SELECT %d a plusieurs types pour la colonne « %s »"
 
-#: rewrite/rewriteDefine.c:569
+#: rewrite/rewriteDefine.c:584
 #, c-format
 msgid "RETURNING list's entry %d has different type from column \"%s\""
 msgstr "l'entrée %d de la liste RETURNING a un type différent de la colonne « %s »"
 
-#: rewrite/rewriteDefine.c:584
+#: rewrite/rewriteDefine.c:599
 #, c-format
 msgid "SELECT rule's target entry %d has different size from column \"%s\""
 msgstr "l'entrée cible de la règle SELECT %d a plusieurs tailles pour la colonne « %s »"
 
-#: rewrite/rewriteDefine.c:586
+#: rewrite/rewriteDefine.c:601
 #, c-format
 msgid "RETURNING list's entry %d has different size from column \"%s\""
 msgstr "l'entrée %d de la liste RETURNING a plusieurs tailles pour la colonne « %s »"
 
-#: rewrite/rewriteDefine.c:594
+#: rewrite/rewriteDefine.c:609
 msgid "SELECT rule's target list has too few entries"
 msgstr "l'entrée cible de la règle SELECT n'a pas assez d'entrées"
 
-#: rewrite/rewriteDefine.c:595
+#: rewrite/rewriteDefine.c:610
 msgid "RETURNING list has too few entries"
 msgstr "la liste RETURNING n'a pas assez d'entrées"
 
-#: rewrite/rewriteHandler.c:495
+#: rewrite/rewriteDefine.c:702
+#: rewrite/rewriteDefine.c:764
+#: rewrite/rewriteRemove.c:62
+#: rewrite/rewriteSupport.c:117
+#, c-format
+msgid "rule \"%s\" for relation \"%s\" does not exist"
+msgstr "la règle « %s » de la relation « %s » n'existe pas"
+
+#: rewrite/rewriteHandler.c:485
+#, c-format
+msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten"
+msgstr ""
+"Le nom de la requête WITH «%s » apparaît à la fois dans l'action d'une règle\n"
+"et la requête en cours de ré-écriture."
+
+#: rewrite/rewriteHandler.c:543
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "ne peut pas avoir des listes RETURNING dans plusieurs règles"
 
-#: rewrite/rewriteHandler.c:796
-#: rewrite/rewriteHandler.c:814
+#: rewrite/rewriteHandler.c:874
+#: rewrite/rewriteHandler.c:892
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "affectations multiples pour la même colonne « %s »"
 
-#: rewrite/rewriteHandler.c:1417
-#: rewrite/rewriteHandler.c:1740
+#: rewrite/rewriteHandler.c:1626
+#: rewrite/rewriteHandler.c:2021
 #, 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:1778
+#: rewrite/rewriteHandler.c:1882
+msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH"
+msgstr ""
+"les règles DO INSTEAD NOTHING ne sont pas supportées par les instructions\n"
+"de modification de données dans WITH"
+
+#: rewrite/rewriteHandler.c:1896
+msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH"
+msgstr ""
+"les règles DO INSTEAD conditionnelles ne sont pas supportées par les\n"
+"instructions de modification de données dans WITH"
+
+#: rewrite/rewriteHandler.c:1900
+msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
+msgstr ""
+"les règles DO ALSO ne sont pas supportées par les instructions de modification\n"
+"de données dans WITH"
+
+#: rewrite/rewriteHandler.c:1905
+msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH"
+msgstr ""
+"les règles DO INSTEAD multi-instructions ne sont pas supportées pour les\n"
+"instructions de modification de données dans WITH"
+
+#: rewrite/rewriteHandler.c:2059
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "ne peut pas exécuter INSERT RETURNING sur la relation « %s »"
 
-#: rewrite/rewriteHandler.c:1780
+#: rewrite/rewriteHandler.c:2061
 msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
 msgstr ""
 "Vous avez besoin d'une règle ON INSERT DO INSTEAD sans condition avec une\n"
 "clause RETURNING."
 
-#: rewrite/rewriteHandler.c:1785
+#: rewrite/rewriteHandler.c:2066
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "ne peut pas exécuter UPDATE RETURNING sur la relation « %s »"
 
-#: rewrite/rewriteHandler.c:1787
+#: rewrite/rewriteHandler.c:2068
 msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
 msgstr ""
 "Vous avez besoin d'une règle ON UPDATE DO INSTEAD sans condition avec une\n"
 "clause RETURNING."
 
-#: rewrite/rewriteHandler.c:1792
+#: rewrite/rewriteHandler.c:2073
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "ne peut pas exécuter DELETE RETURNING sur la relation « %s »"
 
-#: rewrite/rewriteHandler.c:1794
+#: rewrite/rewriteHandler.c:2075
 msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
 msgstr ""
 "Vous avez besoin d'une règle ON DELETE DO INSTEAD sans condition avec une\n"
 "clause RETURNING."
 
-#: rewrite/rewriteHandler.c:1892
-msgid "cannot insert into a view"
-msgstr "ne peut pas insérer dans une vue"
-
-#: rewrite/rewriteHandler.c:1893
-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:1898
-msgid "cannot update a view"
-msgstr "ne peut pas mettre à jour une vue"
-
-#: rewrite/rewriteHandler.c:1899
-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:1904
-msgid "cannot delete from a view"
-msgstr "ne peut pas supprimer à partir d'une vue"
+#: rewrite/rewriteHandler.c:2139
+msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries"
+msgstr "WITH ne peut pas être utilisé dans une requête réécrite par des règles en plusieurs requêtes"
 
-#: rewrite/rewriteHandler.c:1905
-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:1009
+#: rewrite/rewriteManip.c:1012
 msgid "conditional utility statements are not implemented"
 msgstr "les instructions conditionnelles ne sont pas implémentées"
 
-#: rewrite/rewriteManip.c:1174
+#: rewrite/rewriteManip.c:1177
 msgid "WHERE CURRENT OF on a view is not implemented"
 msgstr "WHERE CURRENT OF n'est pas implémenté sur une vue"
 
@@ -13132,156 +14357,128 @@ msgstr "WHERE CURRENT OF n'est pas impl
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "la règle « %s » de la relation « %s » n'existe pas, poursuite du traitement"
 
-#: utils/cache/typcache.c:331
+#: rewrite/rewriteSupport.c:156
 #, c-format
-msgid "type %s is not composite"
-msgstr "le type %s n'est pas un type composite"
+msgid "rule \"%s\" does not exist"
+msgstr "la règle « %s » n'existe pas"
 
-#: utils/cache/typcache.c:345
-msgid "record type has not been registered"
-msgstr "le type d'enregistrement n'a pas été enregistré"
-
-#: utils/cache/lsyscache.c:2234
-#: utils/cache/lsyscache.c:2267
-#: utils/cache/lsyscache.c:2300
-#: utils/cache/lsyscache.c:2333
+#: rewrite/rewriteSupport.c:165
 #, c-format
-msgid "type %s is only a shell"
-msgstr "le type %s est seulement un shell"
+msgid "there are multiple rules named \"%s\""
+msgstr "il existe de nombreuses règles nommées « %s »"
 
-#: utils/cache/lsyscache.c:2239
-#, c-format
-msgid "no input function available for type %s"
-msgstr "aucune fonction en entrée disponible pour le type %s"
+#: rewrite/rewriteSupport.c:166
+msgid "Specify a relation name as well as a rule name."
+msgstr "Spécifier un nom de relation ainsi qu'un nom de règle."
 
-#: utils/cache/lsyscache.c:2272
-#, c-format
-msgid "no output function available for type %s"
-msgstr "aucune fonction en sortie disponible pour le type %s"
+#: utils/error/assert.c:37
+msgid "TRAP: ExceptionalCondition: bad arguments\n"
+msgstr "TRAP : ExceptionalCondition : mauvais arguments\n"
 
-#: utils/cache/lsyscache.c:2305
-#: utils/adt/arrayfuncs.c:1282
+#: utils/error/assert.c:40
 #, c-format
-msgid "no binary input function available for type %s"
-msgstr "aucune fonction d'entrée binaire disponible pour le type %s"
+msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
+msgstr "TRAP : %s(« %s », fichier : « %s », ligne : %d)\n"
 
-#: utils/cache/lsyscache.c:2338
-#: utils/adt/arrayfuncs.c:1504
+#: utils/error/elog.c:1479
 #, c-format
-msgid "no binary output function available for type %s"
-msgstr "aucune fonction de sortie binaire disponible pour le type %s"
-
-#: utils/cache/plancache.c:589
-msgid "cached plan must not change result type"
-msgstr "le plan en cache ne doit pas modifier le type en résultat"
+msgid "could not reopen file \"%s\" as stderr: %m"
+msgstr "n'a pas pu ré-ouvrir le fichier « %s » comme stderr : %m"
 
-#: utils/cache/relcache.c:4299
+#: utils/error/elog.c:1492
 #, c-format
-msgid "could not create relation-cache initialization file \"%s\": %m"
-msgstr "n'a pas pu créer le fichier d'initialisation relation-cache « %s » : %m"
-
-#: utils/cache/relcache.c:4301
-msgid "Continuing anyway, but there's something wrong."
-msgstr "Continue malgré tout, mais quelque chose s'est mal passé."
+msgid "could not reopen file \"%s\" as stdout: %m"
+msgstr "n'a pas pu ré-ouvrir le fichier « %s » comme stdout : %m"
 
-#: utils/cache/relmapper.c:454
-msgid "cannot PREPARE a transaction that modified relation mapping"
-msgstr ""
-"ne peut pas préparer (PREPARE) une transaction qui a modifié la correspondance\n"
-"de relation"
+#: utils/error/elog.c:1882
+#: utils/error/elog.c:1892
+#: utils/error/elog.c:1902
+msgid "[unknown]"
+msgstr "[inconnu]"
 
-#: utils/cache/relmapper.c:596
-#: utils/cache/relmapper.c:702
-#, c-format
-msgid "could not open relation mapping file \"%s\": %m"
-msgstr "n'a pas pu ouvrir le fichier de correspondance des relations « %s » : %m"
+#: utils/error/elog.c:2253
+#: utils/error/elog.c:2533
+#: utils/error/elog.c:2611
+msgid "missing error text"
+msgstr "texte d'erreur manquant"
 
-#: utils/cache/relmapper.c:609
+#: utils/error/elog.c:2256
+#: utils/error/elog.c:2259
+#: utils/error/elog.c:2614
+#: utils/error/elog.c:2617
 #, c-format
-msgid "could not read relation mapping file \"%s\": %m"
-msgstr "n'a pas pu lire le fichier de correspondance des relations « %s » : %m"
+msgid " at character %d"
+msgstr " au caractère %d"
 
-#: utils/cache/relmapper.c:619
-#, c-format
-msgid "relation mapping file \"%s\" contains invalid data"
-msgstr "le fichier de correspondance des relations « %s » contient des données invalides"
+#: utils/error/elog.c:2269
+#: utils/error/elog.c:2276
+msgid "DETAIL:  "
+msgstr "DÉTAIL:  "
 
-#: utils/cache/relmapper.c:629
-#, c-format
-msgid "relation mapping file \"%s\" contains incorrect checksum"
-msgstr ""
-"le fichier de correspondance des relations « %s » contient une somme de\n"
-"contrôle incorrecte"
+#: utils/error/elog.c:2283
+msgid "HINT:  "
+msgstr "ASTUCE :  "
 
-#: utils/cache/relmapper.c:741
-#, c-format
-msgid "could not write to relation mapping file \"%s\": %m"
-msgstr "n'a pas pu écrire le fichier de correspondance des relations « %s » : %m"
+#: utils/error/elog.c:2290
+msgid "QUERY:  "
+msgstr "REQUÊTE :  "
 
-#: utils/cache/relmapper.c:754
-#, c-format
-msgid "could not fsync relation mapping file \"%s\": %m"
-msgstr "n'a pas pu synchroniser (fsync) le fichier de correspondance des relations « %s » : %m"
+#: utils/error/elog.c:2297
+msgid "CONTEXT:  "
+msgstr "CONTEXTE :  "
 
-#: utils/cache/relmapper.c:760
+#: utils/error/elog.c:2307
 #, c-format
-msgid "could not close relation mapping file \"%s\": %m"
-msgstr "n'a pas pu fermer le fichier de correspondance des relations « %s » : %m"
+msgid "LOCATION:  %s, %s:%d\n"
+msgstr "EMPLACEMENT :  %s, %s:%d\n"
 
-#: utils/sort/logtape.c:213
+#: utils/error/elog.c:2314
 #, c-format
-msgid "could not write block %ld of temporary file: %m"
-msgstr "n'a pas pu écrire le bloc %ld du fichier temporaire : %m"
+msgid "LOCATION:  %s:%d\n"
+msgstr "EMPLACEMENT :  %s:%d\n"
 
-#: utils/sort/logtape.c:215
-msgid "Perhaps out of disk space?"
-msgstr "Peut-être manquez-vous de place disque ?"
+#: utils/error/elog.c:2328
+msgid "STATEMENT:  "
+msgstr "INSTRUCTION :  "
 
-#: utils/sort/logtape.c:232
+#. translator: This string will be truncated at 47
+#. characters expanded.
+#: utils/error/elog.c:2726
 #, c-format
-msgid "could not read block %ld of temporary file: %m"
-msgstr "n'a pas pu lire le bloc %ld du fichier temporaire : %m"
+msgid "operating system error %d"
+msgstr "erreur %d du système d'exploitation"
 
-#: utils/sort/tuplesort.c:2806
-#, c-format
-msgid "could not create unique index \"%s\""
-msgstr "n'a pas pu créer l'index unique « %s »"
+#: utils/error/elog.c:2749
+msgid "DEBUG"
+msgstr "DEBUG"
 
-#: utils/sort/tuplesort.c:2808
-#, c-format
-msgid "Key %s is duplicated."
-msgstr "La clé %s est dupliquée."
+#: utils/error/elog.c:2753
+msgid "LOG"
+msgstr "LOG"
 
-#: utils/mmgr/aset.c:409
-#, c-format
-msgid "Failed while creating memory context \"%s\"."
-msgstr "Échec lors de la création du contexte mémoire « %s »."
+#: utils/error/elog.c:2756
+msgid "INFO"
+msgstr "INFO"
 
-#: utils/mmgr/aset.c:588
-#: utils/mmgr/aset.c:771
-#: utils/mmgr/aset.c:977
-#, c-format
-msgid "Failed on request of size %lu."
-msgstr "Échec d'une requête de taille %lu."
+#: utils/error/elog.c:2759
+msgid "NOTICE"
+msgstr "NOTICE"
 
-#: utils/mmgr/portalmem.c:207
-#, c-format
-msgid "cursor \"%s\" already exists"
-msgstr "le curseur « %s » existe déjà"
+#: utils/error/elog.c:2762
+msgid "WARNING"
+msgstr "ATTENTION"
 
-#: utils/mmgr/portalmem.c:211
-#, c-format
-msgid "closing existing cursor \"%s\""
-msgstr "fermeture du curseur existant « %s »"
+#: utils/error/elog.c:2765
+msgid "ERROR"
+msgstr "ERREUR"
 
-#: utils/mmgr/portalmem.c:422
-#, c-format
-msgid "cannot drop active portal \"%s\""
-msgstr "ne peut pas supprimer le portail actif « %s »"
+#: utils/error/elog.c:2768
+msgid "FATAL"
+msgstr "FATAL"
 
-#: utils/mmgr/portalmem.c:627
-msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD"
-msgstr "ne peut pas préparer une transaction qui a créé un curseur WITH HOLD"
+#: utils/error/elog.c:2771
+msgid "PANIC"
+msgstr "PANIC"
 
 #: utils/adt/xml.c:135
 msgid "unsupported XML feature"
@@ -13296,7 +14493,7 @@ msgid "You need to rebuild PostgreSQL using --with-libxml."
 msgstr "Vous devez recompiler PostgreSQL en utilisant --with-libxml."
 
 #: utils/adt/xml.c:156
-#: utils/mb/mbutils.c:476
+#: utils/mb/mbutils.c:515
 #, c-format
 msgid "invalid encoding name \"%s\""
 msgstr "nom d'encodage « %s » invalide"
@@ -13339,56 +14536,56 @@ msgstr ""
 "libxml2 a un type de caractère incompatible : sizeof(char)=%u,\n"
 "sizeof(xmlChar)=%u."
 
-#: utils/adt/xml.c:1417
+#: utils/adt/xml.c:1420
 msgid "Invalid character value."
 msgstr "Valeur invalide pour le caractère."
 
-#: utils/adt/xml.c:1420
+#: utils/adt/xml.c:1423
 msgid "Space required."
 msgstr "Espace requis."
 
-#: utils/adt/xml.c:1423
+#: utils/adt/xml.c:1426
 msgid "standalone accepts only 'yes' or 'no'."
 msgstr "la version autonome accepte seulement 'yes' et 'no'."
 
-#: utils/adt/xml.c:1426
+#: utils/adt/xml.c:1429
 msgid "Malformed declaration: missing version."
 msgstr "Déclaration mal formée : version manquante."
 
-#: utils/adt/xml.c:1429
+#: utils/adt/xml.c:1432
 msgid "Missing encoding in text declaration."
 msgstr "Encodage manquant dans la déclaration du texte."
 
-#: utils/adt/xml.c:1432
+#: utils/adt/xml.c:1435
 msgid "Parsing XML declaration: '?>' expected."
 msgstr "Analyse de la déclaration XML : « ?> » attendu."
 
-#: utils/adt/xml.c:1435
+#: utils/adt/xml.c:1438
 #, c-format
 msgid "Unrecognized libxml error code: %d."
 msgstr "code d'erreur libxml inconnu : %d"
 
-#: utils/adt/xml.c:1688
+#: utils/adt/xml.c:1689
 #: utils/adt/date.c:217
 msgid "date out of range"
 msgstr "date en dehors des limites"
 
-#: utils/adt/xml.c:1689
+#: utils/adt/xml.c:1690
 msgid "XML does not support infinite date values."
 msgstr "XML ne supporte pas les valeurs infinies de date."
 
-#: utils/adt/xml.c:1711
-#: utils/adt/xml.c:1718
-#: utils/adt/xml.c:1738
-#: utils/adt/xml.c:1745
+#: utils/adt/xml.c:1712
+#: utils/adt/xml.c:1719
+#: utils/adt/xml.c:1739
+#: utils/adt/xml.c:1746
 #: utils/adt/date.c:913
 #: utils/adt/date.c:960
 #: utils/adt/date.c:1516
 #: utils/adt/date.c:1553
 #: utils/adt/date.c:2427
-#: utils/adt/formatting.c:2956
-#: utils/adt/formatting.c:2988
-#: utils/adt/formatting.c:3056
+#: utils/adt/formatting.c:3185
+#: utils/adt/formatting.c:3217
+#: utils/adt/formatting.c:3285
 #: utils/adt/nabstime.c:480
 #: utils/adt/nabstime.c:523
 #: utils/adt/nabstime.c:553
@@ -13428,127 +14625,127 @@ msgstr "XML ne supporte pas les valeurs infinies de date."
 msgid "timestamp out of range"
 msgstr "timestamp en dehors des limites"
 
-#: utils/adt/xml.c:1712
-#: utils/adt/xml.c:1739
+#: utils/adt/xml.c:1713
+#: utils/adt/xml.c:1740
 msgid "XML does not support infinite timestamp values."
 msgstr "XML ne supporte pas les valeurs infinies de timestamp."
 
-#: utils/adt/xml.c:2123
+#: utils/adt/xml.c:2125
 msgid "invalid query"
 msgstr "requête invalide"
 
-#: utils/adt/xml.c:3352
+#: utils/adt/xml.c:3349
 msgid "invalid array for XML namespace mapping"
 msgstr "tableau invalide pour la correspondance de l'espace de nom XML"
 
-#: utils/adt/xml.c:3353
+#: utils/adt/xml.c:3350
 msgid "The array must be two-dimensional with length of the second axis equal to 2."
 msgstr ""
 "Le tableau doit avoir deux dimensions avec une longueur de 2 pour le\n"
 "deuxième axe."
 
-#: utils/adt/xml.c:3377
+#: utils/adt/xml.c:3374
 msgid "empty XPath expression"
 msgstr "expression XPath vide"
 
-#: utils/adt/xml.c:3425
+#: utils/adt/xml.c:3422
 msgid "neither namespace name nor URI may be null"
 msgstr "ni le nom de l'espace de noms ni l'URI ne peuvent être NULL"
 
-#: utils/adt/xml.c:3432
+#: utils/adt/xml.c:3429
 #, c-format
 msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
 msgstr "n'a pas pu enregistrer l'espace de noms XML de nom « %s » et d'URI « %s »"
 
-#: utils/adt/acl.c:164
+#: utils/adt/acl.c:166
 #: utils/adt/name.c:87
 msgid "identifier too long"
 msgstr "identifiant trop long"
 
-#: utils/adt/acl.c:165
+#: utils/adt/acl.c:167
 #: utils/adt/name.c:88
 #, c-format
 msgid "Identifier must be less than %d characters."
 msgstr "L'identifiant doit faire moins de %d caractères."
 
-#: utils/adt/acl.c:251
+#: utils/adt/acl.c:253
 #, c-format
 msgid "unrecognized key word: \"%s\""
 msgstr "mot clé non reconnu : « %s »"
 
-#: utils/adt/acl.c:252
+#: utils/adt/acl.c:254
 msgid "ACL key word must be \"group\" or \"user\"."
 msgstr "le mot clé ACL doit être soit « group » soit « user »."
 
-#: utils/adt/acl.c:257
+#: utils/adt/acl.c:259
 msgid "missing name"
 msgstr "nom manquant"
 
-#: utils/adt/acl.c:258
+#: utils/adt/acl.c:260
 msgid "A name must follow the \"group\" or \"user\" key word."
 msgstr "Un nom doit suivre le mot clé « group » ou « user »."
 
-#: utils/adt/acl.c:264
+#: utils/adt/acl.c:266
 msgid "missing \"=\" sign"
 msgstr "signe « = » manquant"
 
-#: utils/adt/acl.c:317
+#: utils/adt/acl.c:319
 #, c-format
 msgid "invalid mode character: must be one of \"%s\""
 msgstr "mode caractère invalide : doit faire partie de « %s »"
 
-#: utils/adt/acl.c:339
+#: utils/adt/acl.c:341
 msgid "a name must follow the \"/\" sign"
 msgstr "un nom doit suivre le signe « / »"
 
-#: utils/adt/acl.c:347
+#: utils/adt/acl.c:349
 #, c-format
 msgid "defaulting grantor to user ID %u"
 msgstr "par défaut, le « donneur de droits » devient l'utilisateur d'identifiant %u"
 
-#: utils/adt/acl.c:538
+#: utils/adt/acl.c:540
 msgid "ACL array contains wrong data type"
 msgstr "le tableau ACL contient un type de données incorrect"
 
-#: utils/adt/acl.c:542
+#: utils/adt/acl.c:544
 msgid "ACL arrays must be one-dimensional"
 msgstr "les tableaux d'ACL doivent avoir une dimension"
 
-#: utils/adt/acl.c:546
+#: utils/adt/acl.c:548
 msgid "ACL arrays must not contain null values"
 msgstr "les tableaux d'ACL ne doivent pas contenir de valeurs NULL"
 
-#: utils/adt/acl.c:570
+#: utils/adt/acl.c:572
 msgid "extra garbage at the end of the ACL specification"
 msgstr "données superflues à la fin de la spécification de l'ACL"
 
-#: utils/adt/acl.c:1127
+#: utils/adt/acl.c:1129
 msgid "grant options cannot be granted back to your own grantor"
 msgstr "les options grant ne peuvent pas être rendues à votre propre donateur"
 
-#: utils/adt/acl.c:1188
+#: utils/adt/acl.c:1190
 msgid "dependent privileges exist"
 msgstr "des privilèges dépendants existent"
 
-#: utils/adt/acl.c:1189
+#: utils/adt/acl.c:1191
 msgid "Use CASCADE to revoke them too."
 msgstr "Utilisez CASCADE pour les révoquer aussi."
 
-#: utils/adt/acl.c:1468
+#: utils/adt/acl.c:1470
 msgid "aclinsert is no longer supported"
 msgstr "aclinsert n'est plus supporté"
 
-#: utils/adt/acl.c:1478
+#: utils/adt/acl.c:1480
 msgid "aclremove is no longer supported"
 msgstr "aclremove n'est plus supporté"
 
-#: utils/adt/acl.c:1564
-#: utils/adt/acl.c:1618
+#: utils/adt/acl.c:1566
+#: utils/adt/acl.c:1620
 #, c-format
 msgid "unrecognized privilege type: \"%s\""
 msgstr "type de droit non reconnu : « %s »"
 
-#: utils/adt/acl.c:3364
+#: utils/adt/acl.c:3359
 #: utils/adt/regproc.c:118
 #: utils/adt/regproc.c:139
 #: utils/adt/regproc.c:289
@@ -13556,7 +14753,7 @@ msgstr "type de droit non reconnu : 
 msgid "function \"%s\" does not exist"
 msgstr "la fonction « %s » n'existe pas"
 
-#: utils/adt/acl.c:4635
+#: utils/adt/acl.c:4608
 #, c-format
 msgid "must be member of role \"%s\""
 msgstr "doit être un membre du rôle « %s »"
@@ -13571,34 +14768,34 @@ msgstr "aucun type de donn
 
 #: utils/adt/array_userfuncs.c:103
 #: utils/adt/array_userfuncs.c:113
-#: utils/adt/arrayfuncs.c:1251
+#: utils/adt/arrayfuncs.c:1276
 #: utils/adt/float.c:1101
 #: utils/adt/float.c:1160
 #: utils/adt/float.c:2711
 #: utils/adt/float.c:2727
-#: utils/adt/int.c:622
-#: utils/adt/int.c:651
-#: utils/adt/int.c:672
-#: utils/adt/int.c:692
-#: utils/adt/int.c:714
-#: utils/adt/int.c:743
-#: utils/adt/int.c:757
-#: utils/adt/int.c:772
-#: utils/adt/int.c:911
-#: utils/adt/int.c:932
-#: utils/adt/int.c:959
-#: utils/adt/int.c:999
-#: utils/adt/int.c:1020
-#: utils/adt/int.c:1047
-#: utils/adt/int.c:1078
-#: utils/adt/int.c:1141
-#: utils/adt/int8.c:1213
-#: utils/adt/numeric.c:2062
-#: utils/adt/numeric.c:2071
-#: utils/adt/varbit.c:1098
-#: utils/adt/varbit.c:1483
-#: utils/adt/varlena.c:942
-#: utils/adt/varlena.c:1915
+#: utils/adt/int.c:623
+#: utils/adt/int.c:652
+#: utils/adt/int.c:673
+#: utils/adt/int.c:693
+#: utils/adt/int.c:715
+#: utils/adt/int.c:744
+#: utils/adt/int.c:758
+#: utils/adt/int.c:773
+#: utils/adt/int.c:912
+#: utils/adt/int.c:933
+#: utils/adt/int.c:960
+#: utils/adt/int.c:1000
+#: utils/adt/int.c:1021
+#: utils/adt/int.c:1048
+#: utils/adt/int.c:1079
+#: utils/adt/int.c:1142
+#: utils/adt/int8.c:1211
+#: utils/adt/numeric.c:2253
+#: utils/adt/numeric.c:2262
+#: utils/adt/varbit.c:1111
+#: utils/adt/varbit.c:1503
+#: utils/adt/varlena.c:950
+#: utils/adt/varlena.c:1968
 msgid "integer out of range"
 msgstr "entier en dehors des limites"
 
@@ -13641,74 +14838,74 @@ msgstr ""
 "Les tableaux de dimensions différentes ne sont pas compatibles pour\n"
 "une concaténation."
 
-#: utils/adt/array_userfuncs.c:424
-#: utils/adt/arrayfuncs.c:1214
-#: utils/adt/arrayfuncs.c:2886
-#: utils/adt/arrayfuncs.c:4566
+#: utils/adt/array_userfuncs.c:426
+#: utils/adt/arrayfuncs.c:1238
+#: utils/adt/arrayfuncs.c:2911
+#: utils/adt/arrayfuncs.c:4936
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "nombre de dimensions invalides : %d"
 
-#: utils/adt/array_userfuncs.c:484
+#: utils/adt/array_userfuncs.c:487
 msgid "could not determine input data type"
 msgstr "n'a pas pu déterminer le type de données date en entrée"
 
-#: utils/adt/arrayfuncs.c:211
-#: utils/adt/arrayfuncs.c:223
+#: utils/adt/arrayfuncs.c:235
+#: utils/adt/arrayfuncs.c:247
 msgid "missing dimension value"
 msgstr "valeur de la dimension manquant"
 
-#: utils/adt/arrayfuncs.c:233
+#: utils/adt/arrayfuncs.c:257
 msgid "missing \"]\" in array dimensions"
 msgstr "« ] » dans les dimensions manquant"
 
-#: utils/adt/arrayfuncs.c:241
-#: utils/adt/arrayfuncs.c:2411
-#: utils/adt/arrayfuncs.c:2439
-#: utils/adt/arrayfuncs.c:2454
+#: utils/adt/arrayfuncs.c:265
+#: utils/adt/arrayfuncs.c:2436
+#: utils/adt/arrayfuncs.c:2464
+#: utils/adt/arrayfuncs.c:2479
 msgid "upper bound cannot be less than lower bound"
 msgstr "la limite supérieure ne peut pas être plus petite que la limite inférieure"
 
-#: utils/adt/arrayfuncs.c:253
-#: utils/adt/arrayfuncs.c:279
+#: utils/adt/arrayfuncs.c:277
+#: utils/adt/arrayfuncs.c:303
 msgid "array value must start with \"{\" or dimension information"
 msgstr ""
 "la valeur du tableau doit commencer avec « { » ou avec l'information de la\n"
 "dimension"
 
-#: utils/adt/arrayfuncs.c:267
+#: utils/adt/arrayfuncs.c:291
 msgid "missing assignment operator"
 msgstr "opérateur d'affectation manquant"
 
-#: utils/adt/arrayfuncs.c:284
-#: utils/adt/arrayfuncs.c:290
+#: utils/adt/arrayfuncs.c:308
+#: utils/adt/arrayfuncs.c:314
 msgid "array dimensions incompatible with array literal"
 msgstr "les dimensions du tableau sont incompatibles avec le tableau litéral"
 
-#: utils/adt/arrayfuncs.c:420
-#: utils/adt/arrayfuncs.c:435
 #: utils/adt/arrayfuncs.c:444
-#: utils/adt/arrayfuncs.c:458
-#: utils/adt/arrayfuncs.c:478
-#: utils/adt/arrayfuncs.c:506
-#: utils/adt/arrayfuncs.c:511
-#: utils/adt/arrayfuncs.c:551
-#: utils/adt/arrayfuncs.c:572
-#: utils/adt/arrayfuncs.c:591
-#: utils/adt/arrayfuncs.c:701
-#: utils/adt/arrayfuncs.c:710
-#: utils/adt/arrayfuncs.c:740
-#: utils/adt/arrayfuncs.c:755
-#: utils/adt/arrayfuncs.c:808
+#: utils/adt/arrayfuncs.c:459
+#: utils/adt/arrayfuncs.c:468
+#: utils/adt/arrayfuncs.c:482
+#: utils/adt/arrayfuncs.c:502
+#: utils/adt/arrayfuncs.c:530
+#: utils/adt/arrayfuncs.c:535
+#: utils/adt/arrayfuncs.c:575
+#: utils/adt/arrayfuncs.c:596
+#: utils/adt/arrayfuncs.c:615
+#: utils/adt/arrayfuncs.c:725
+#: utils/adt/arrayfuncs.c:734
+#: utils/adt/arrayfuncs.c:764
+#: utils/adt/arrayfuncs.c:779
+#: utils/adt/arrayfuncs.c:832
 #, c-format
 msgid "malformed array literal: \"%s\""
 msgstr "tableau litéral mal formé : « %s »"
 
-#: utils/adt/arrayfuncs.c:847
-#: utils/adt/arrayfuncs.c:1448
-#: utils/adt/arrayfuncs.c:2770
-#: utils/adt/arrayfuncs.c:2918
-#: utils/adt/arrayfuncs.c:4666
+#: utils/adt/arrayfuncs.c:871
+#: utils/adt/arrayfuncs.c:1473
+#: utils/adt/arrayfuncs.c:2795
+#: utils/adt/arrayfuncs.c:2943
+#: utils/adt/arrayfuncs.c:5036
 #: utils/adt/arrayutils.c:93
 #: utils/adt/arrayutils.c:102
 #: utils/adt/arrayutils.c:109
@@ -13716,90 +14913,107 @@ msgstr "tableau lit
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "la taille du tableau dépasse le maximum permis (%d)"
 
-#: utils/adt/arrayfuncs.c:1225
+#: utils/adt/arrayfuncs.c:1249
 msgid "invalid array flags"
 msgstr "drapeaux de tableau invalides"
 
-#: utils/adt/arrayfuncs.c:1233
+#: utils/adt/arrayfuncs.c:1257
 msgid "wrong element type"
 msgstr "mauvais type d'élément"
 
-#: utils/adt/arrayfuncs.c:1422
+#: utils/adt/arrayfuncs.c:1307
+#: utils/cache/lsyscache.c:2464
+#, c-format
+msgid "no binary input function available for type %s"
+msgstr "aucune fonction d'entrée binaire disponible pour le type %s"
+
+#: utils/adt/arrayfuncs.c:1447
 #, c-format
 msgid "improper binary format in array element %d"
 msgstr "format binaire mal conçu dans l'élément du tableau %d"
 
-#: utils/adt/arrayfuncs.c:1878
+#: utils/adt/arrayfuncs.c:1529
+#: utils/cache/lsyscache.c:2497
+#, c-format
+msgid "no binary output function available for type %s"
+msgstr "aucune fonction de sortie binaire disponible pour le type %s"
+
+#: utils/adt/arrayfuncs.c:1903
 msgid "slices of fixed-length arrays not implemented"
 msgstr "les morceaux des tableaux à longueur fixe ne sont pas implémentés"
 
-#: utils/adt/arrayfuncs.c:2051
-#: utils/adt/arrayfuncs.c:2073
-#: utils/adt/arrayfuncs.c:2107
-#: utils/adt/arrayfuncs.c:2393
-#: utils/adt/arrayfuncs.c:4546
-#: utils/adt/arrayfuncs.c:4578
-#: utils/adt/arrayfuncs.c:4595
+#: utils/adt/arrayfuncs.c:2076
+#: utils/adt/arrayfuncs.c:2098
+#: utils/adt/arrayfuncs.c:2132
+#: utils/adt/arrayfuncs.c:2418
+#: utils/adt/arrayfuncs.c:4916
+#: utils/adt/arrayfuncs.c:4948
+#: utils/adt/arrayfuncs.c:4965
 msgid "wrong number of array subscripts"
 msgstr "mauvais nombre d'indices du tableau"
 
-#: utils/adt/arrayfuncs.c:2056
-#: utils/adt/arrayfuncs.c:2149
-#: utils/adt/arrayfuncs.c:2444
+#: utils/adt/arrayfuncs.c:2081
+#: utils/adt/arrayfuncs.c:2174
+#: utils/adt/arrayfuncs.c:2469
 msgid "array subscript out of range"
 msgstr "indice du tableau en dehors de l'échelle"
 
-#: utils/adt/arrayfuncs.c:2061
+#: utils/adt/arrayfuncs.c:2086
 msgid "cannot assign null value to an element of a fixed-length array"
 msgstr "ne peut pas affecter une valeur NULL à un élément d'un tableau à longueur fixe"
 
-#: utils/adt/arrayfuncs.c:2347
+#: utils/adt/arrayfuncs.c:2372
 msgid "updates on slices of fixed-length arrays not implemented"
 msgstr ""
 "les mises à jour de morceaux des tableaux à longueur fixe ne sont pas\n"
 "implémentées"
 
-#: utils/adt/arrayfuncs.c:2383
-#: utils/adt/arrayfuncs.c:2470
+#: utils/adt/arrayfuncs.c:2408
+#: utils/adt/arrayfuncs.c:2495
 msgid "source array too small"
 msgstr "tableau source trop petit"
 
-#: utils/adt/arrayfuncs.c:3025
+#: utils/adt/arrayfuncs.c:3050
 msgid "null array element not allowed in this context"
 msgstr "élément NULL de tableau interdit dans ce contexte"
 
-#: utils/adt/arrayfuncs.c:3086
-#: utils/adt/arrayfuncs.c:3293
-#: utils/adt/arrayfuncs.c:3493
+#: utils/adt/arrayfuncs.c:3153
+#: utils/adt/arrayfuncs.c:3361
+#: utils/adt/arrayfuncs.c:3678
 msgid "cannot compare arrays of different element types"
 msgstr "ne peut pas comparer des tableaux ayant des types d'éléments différents"
 
-#: utils/adt/arrayfuncs.c:4444
-#: utils/adt/arrayfuncs.c:4484
-msgid "dimension array or low bound array cannot be NULL"
+#: utils/adt/arrayfuncs.c:3563
+#, c-format
+msgid "could not identify a hash function for type %s"
+msgstr "n'a pas pu identifier une fonction de hachage pour le type %s"
+
+#: utils/adt/arrayfuncs.c:4814
+#: utils/adt/arrayfuncs.c:4854
+msgid "dimension array or low bound array cannot be null"
 msgstr "la dimension ou la limite basse du tableau ne peut pas être NULL"
 
-#: utils/adt/arrayfuncs.c:4547
-#: utils/adt/arrayfuncs.c:4579
+#: utils/adt/arrayfuncs.c:4917
+#: utils/adt/arrayfuncs.c:4949
 msgid "Dimension array must be one dimensional."
 msgstr "le tableau doit avoir une seule dimension"
 
-#: utils/adt/arrayfuncs.c:4552
-#: utils/adt/arrayfuncs.c:4584
+#: utils/adt/arrayfuncs.c:4922
+#: utils/adt/arrayfuncs.c:4954
 msgid "wrong range of array subscripts"
 msgstr "mauvais échelle des indices du tableau"
 
-#: utils/adt/arrayfuncs.c:4553
-#: utils/adt/arrayfuncs.c:4585
+#: utils/adt/arrayfuncs.c:4923
+#: utils/adt/arrayfuncs.c:4955
 msgid "Lower bound of dimension array must be one."
 msgstr "La limite inférieure du tableau doit valoir un."
 
-#: utils/adt/arrayfuncs.c:4558
-#: utils/adt/arrayfuncs.c:4590
+#: utils/adt/arrayfuncs.c:4928
+#: utils/adt/arrayfuncs.c:4960
 msgid "dimension values cannot be null"
 msgstr "les valeurs de dimension ne peuvent pas être NULL"
 
-#: utils/adt/arrayfuncs.c:4596
+#: utils/adt/arrayfuncs.c:4966
 msgid "Low bound array has different size than dimensions array."
 msgstr "La limite basse du tableau a une taille différentes des dimensions du tableau."
 
@@ -13830,30 +15044,31 @@ msgstr "syntaxe en entr
 msgid "invalid input syntax for type money: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type money : « %s »"
 
-#: utils/adt/cash.c:524
-#: utils/adt/cash.c:575
-#: utils/adt/cash.c:624
-#: utils/adt/cash.c:676
-#: utils/adt/cash.c:726
+#: utils/adt/cash.c:493
+#: utils/adt/cash.c:543
+#: utils/adt/cash.c:594
+#: utils/adt/cash.c:643
+#: utils/adt/cash.c:695
+#: utils/adt/cash.c:745
 #: utils/adt/float.c:764
 #: utils/adt/float.c:828
 #: utils/adt/float.c:2470
 #: utils/adt/float.c:2533
-#: utils/adt/geo_ops.c:4128
-#: utils/adt/int.c:729
-#: utils/adt/int.c:874
-#: utils/adt/int.c:973
-#: utils/adt/int.c:1062
-#: utils/adt/int.c:1092
-#: utils/adt/int.c:1116
-#: utils/adt/int8.c:598
-#: utils/adt/int8.c:649
-#: utils/adt/int8.c:830
-#: utils/adt/int8.c:929
-#: utils/adt/int8.c:1018
-#: utils/adt/int8.c:1117
-#: utils/adt/numeric.c:4298
-#: utils/adt/numeric.c:4581
+#: utils/adt/geo_ops.c:4130
+#: utils/adt/int.c:730
+#: utils/adt/int.c:875
+#: utils/adt/int.c:974
+#: utils/adt/int.c:1063
+#: utils/adt/int.c:1093
+#: utils/adt/int.c:1117
+#: utils/adt/int8.c:596
+#: utils/adt/int8.c:647
+#: utils/adt/int8.c:828
+#: utils/adt/int8.c:927
+#: utils/adt/int8.c:1016
+#: utils/adt/int8.c:1115
+#: utils/adt/numeric.c:4507
+#: utils/adt/numeric.c:4790
 #: utils/adt/timestamp.c:2876
 msgid "division by zero"
 msgstr "division par zéro"
@@ -13864,7 +15079,7 @@ msgstr "
 
 #: utils/adt/date.c:66
 #: utils/adt/timestamp.c:92
-#: utils/adt/varbit.c:49
+#: utils/adt/varbit.c:51
 #: utils/adt/varchar.c:43
 msgid "invalid type modifier"
 msgstr "modifieur de type invalide"
@@ -13940,28 +15155,28 @@ msgstr "le fuseau horaire 
 msgid "\"interval\" time zone \"%s\" not valid"
 msgstr "le fuseau horaire « %s » n'est pas valide pour le type « interval »"
 
-#: utils/adt/datetime.c:3529
-#: utils/adt/datetime.c:3536
+#: utils/adt/datetime.c:3532
+#: utils/adt/datetime.c:3539
 #, c-format
 msgid "date/time field value out of range: \"%s\""
 msgstr "valeur du champ date/time en dehors des limites : « %s »"
 
-#: utils/adt/datetime.c:3538
+#: utils/adt/datetime.c:3541
 msgid "Perhaps you need a different \"datestyle\" setting."
 msgstr "Peut-être avez-vous besoin d'un paramètrage « datestyle » différent."
 
-#: utils/adt/datetime.c:3543
+#: utils/adt/datetime.c:3546
 #, c-format
 msgid "interval field value out of range: \"%s\""
 msgstr "valeur du champ interval en dehors des limites : « %s »"
 
-#: utils/adt/datetime.c:3549
+#: utils/adt/datetime.c:3552
 #, c-format
 msgid "time zone displacement out of range: \"%s\""
 msgstr "déplacement du fuseau horaire en dehors des limites : « %s »"
 
 #. translator: first %s is inet or cidr
-#: utils/adt/datetime.c:3556
+#: utils/adt/datetime.c:3559
 #: utils/adt/network.c:107
 #, c-format
 msgid "invalid input syntax for type %s: \"%s\""
@@ -13973,7 +15188,7 @@ msgid "invalid Datum pointer"
 msgstr "pointeur Datum invalide"
 
 #: utils/adt/dbsize.c:105
-#: utils/adt/dbsize.c:195
+#: utils/adt/dbsize.c:189
 #, c-format
 msgid "could not open tablespace directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire du tablespace « %s » : %m"
@@ -14012,32 +15227,39 @@ msgstr "fin de s
 
 #: utils/adt/encode.c:441
 #: utils/adt/encode.c:506
-#: utils/adt/varlena.c:238
-#: utils/adt/varlena.c:279
+#: utils/adt/varlena.c:246
+#: utils/adt/varlena.c:287
 msgid "invalid input syntax for type bytea"
 msgstr "syntaxe en entrée invalide pour le type bytea"
 
-#: utils/adt/enum.c:44
-#: utils/adt/enum.c:54
-#: utils/adt/enum.c:109
-#: utils/adt/enum.c:119
+#: utils/adt/enum.c:48
+#: utils/adt/enum.c:58
+#: utils/adt/enum.c:113
+#: utils/adt/enum.c:123
 #, c-format
 msgid "invalid input value for enum %s: \"%s\""
 msgstr "valeur en entrée invalide pour le enum %s : « %s »"
 
-#: utils/adt/enum.c:81
-#: utils/adt/enum.c:144
+#: utils/adt/enum.c:85
+#: utils/adt/enum.c:148
+#: utils/adt/enum.c:198
 #, c-format
 msgid "invalid internal value for enum: %u"
 msgstr "valeur interne invalide pour le enum : %u"
 
-#: utils/adt/enum.c:264
-#: utils/adt/enum.c:303
-#: utils/adt/enum.c:350
-#: utils/adt/enum.c:370
+#: utils/adt/enum.c:357
+#: utils/adt/enum.c:386
+#: utils/adt/enum.c:426
+#: utils/adt/enum.c:446
 msgid "could not determine actual enum type"
 msgstr "n'a pas pu déterminer le type enum actuel"
 
+#: utils/adt/enum.c:365
+#: utils/adt/enum.c:394
+#, c-format
+msgid "enum %s contains no values"
+msgstr "l'énumération « %s » ne contient aucune valeur"
+
 #: utils/adt/float.c:54
 msgid "value out of range: overflow"
 msgstr "valeur en dehors des limites : dépassement"
@@ -14061,8 +15283,8 @@ msgstr "
 #: utils/adt/float.c:399
 #: utils/adt/float.c:440
 #: utils/adt/float.c:491
-#: utils/adt/numeric.c:3760
-#: utils/adt/numeric.c:3786
+#: utils/adt/numeric.c:3969
+#: utils/adt/numeric.c:3995
 #, c-format
 msgid "invalid input syntax for type double precision: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type double precision : « %s »"
@@ -14074,43 +15296,43 @@ msgstr "
 
 #: utils/adt/float.c:1119
 #: utils/adt/float.c:1177
-#: utils/adt/int.c:348
-#: utils/adt/int.c:788
-#: utils/adt/int.c:817
-#: utils/adt/int.c:838
-#: utils/adt/int.c:858
-#: utils/adt/int.c:890
-#: utils/adt/int.c:1156
-#: utils/adt/int8.c:1238
-#: utils/adt/numeric.c:2163
-#: utils/adt/numeric.c:2174
+#: utils/adt/int.c:349
+#: utils/adt/int.c:789
+#: utils/adt/int.c:818
+#: utils/adt/int.c:839
+#: utils/adt/int.c:859
+#: utils/adt/int.c:891
+#: utils/adt/int.c:1157
+#: utils/adt/int8.c:1236
+#: utils/adt/numeric.c:2354
+#: utils/adt/numeric.c:2365
 msgid "smallint out of range"
 msgstr "smallint en dehors des limites"
 
 #: utils/adt/float.c:1303
-#: utils/adt/numeric.c:4974
+#: utils/adt/numeric.c:5183
 msgid "cannot take square root of a negative number"
 msgstr "ne peut pas calculer la racine carré d'un nombre négatif"
 
 #: utils/adt/float.c:1345
-#: utils/adt/numeric.c:1975
+#: utils/adt/numeric.c:2166
 msgid "zero raised to a negative power is undefined"
 msgstr "zéro à une puissance négative est indéfini"
 
 #: utils/adt/float.c:1349
-#: utils/adt/numeric.c:1981
+#: utils/adt/numeric.c:2172
 msgid "a negative number raised to a non-integer power yields a complex result"
 msgstr "un nombre négatif élevé à une puissance non entière donne un résultat complexe"
 
 #: utils/adt/float.c:1415
 #: utils/adt/float.c:1445
-#: utils/adt/numeric.c:5192
+#: utils/adt/numeric.c:5401
 msgid "cannot take logarithm of zero"
 msgstr "ne peut pas calculer le logarithme de zéro"
 
 #: utils/adt/float.c:1419
 #: utils/adt/float.c:1449
-#: utils/adt/numeric.c:5196
+#: utils/adt/numeric.c:5405
 msgid "cannot take logarithm of a negative number"
 msgstr "ne peut pas calculer le logarithme sur un nombre négatif"
 
@@ -14126,12 +15348,12 @@ msgid "input is out of range"
 msgstr "l'entrée est en dehors des limites"
 
 #: utils/adt/float.c:2687
-#: utils/adt/numeric.c:982
+#: utils/adt/numeric.c:1171
 msgid "count must be greater than zero"
 msgstr "le total doit être supérieur à zéro"
 
 #: utils/adt/float.c:2692
-#: utils/adt/numeric.c:989
+#: utils/adt/numeric.c:1178
 msgid "operand, lower bound and upper bound cannot be NaN"
 msgstr "la limite inférieure et supérieure de l'opérande ne peuvent pas être NaN"
 
@@ -14140,220 +15362,243 @@ msgid "lower and upper bounds must be finite"
 msgstr "les limites basse et haute doivent être finies"
 
 #: utils/adt/float.c:2736
-#: utils/adt/numeric.c:1002
+#: utils/adt/numeric.c:1191
 msgid "lower bound cannot equal upper bound"
 msgstr "la limite inférieure ne peut pas être plus égale à la limite supérieure"
 
-#: utils/adt/formatting.c:491
+#: utils/adt/formatting.c:492
 msgid "invalid format specification for an interval value"
 msgstr "format de spécification invalide pour une valeur intervalle"
 
-#: utils/adt/formatting.c:492
+#: utils/adt/formatting.c:493
 msgid "Intervals are not tied to specific calendar dates."
 msgstr "Les intervalles ne sont pas liés aux dates de calendriers spécifiques."
 
-#: utils/adt/formatting.c:1059
+#: utils/adt/formatting.c:1060
 msgid "\"EEEE\" must be the last pattern used"
 msgstr "« EEEE » doit être le dernier motif utilisé"
 
-#: utils/adt/formatting.c:1067
+#: utils/adt/formatting.c:1068
 msgid "\"9\" must be ahead of \"PR\""
 msgstr "« 9 » doit être avant « PR »"
 
-#: utils/adt/formatting.c:1083
+#: utils/adt/formatting.c:1084
 msgid "\"0\" must be ahead of \"PR\""
 msgstr "« 0 » doit être avant « PR »"
 
-#: utils/adt/formatting.c:1109
+#: utils/adt/formatting.c:1110
 msgid "multiple decimal points"
 msgstr "multiples points décimaux"
 
-#: utils/adt/formatting.c:1113
-#: utils/adt/formatting.c:1196
+#: utils/adt/formatting.c:1114
+#: utils/adt/formatting.c:1197
 msgid "cannot use \"V\" and decimal point together"
 msgstr "ne peut pas utiliser « V » et le point décimal ensemble"
 
-#: utils/adt/formatting.c:1125
+#: utils/adt/formatting.c:1126
 msgid "cannot use \"S\" twice"
 msgstr "ne peut pas utiliser « S » deux fois"
 
-#: utils/adt/formatting.c:1129
+#: utils/adt/formatting.c:1130
 msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
 msgstr "ne peut pas utiliser « S » et « PL »/« MI »/« SG »/« PR » ensemble"
 
-#: utils/adt/formatting.c:1149
+#: utils/adt/formatting.c:1150
 msgid "cannot use \"S\" and \"MI\" together"
 msgstr "ne peut pas utiliser « S » et « MI » ensemble"
 
-#: utils/adt/formatting.c:1159
+#: utils/adt/formatting.c:1160
 msgid "cannot use \"S\" and \"PL\" together"
 msgstr "ne peut pas utiliser « S » et « PL » ensemble"
 
-#: utils/adt/formatting.c:1169
+#: utils/adt/formatting.c:1170
 msgid "cannot use \"S\" and \"SG\" together"
 msgstr "ne peut pas utiliser « S » et « SG » ensemble"
 
-#: utils/adt/formatting.c:1178
+#: utils/adt/formatting.c:1179
 msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
 msgstr "ne peut pas utiliser « PR » et « S »/« PL »/« MI »/« SG » ensemble"
 
-#: utils/adt/formatting.c:1204
+#: utils/adt/formatting.c:1205
 msgid "cannot use \"EEEE\" twice"
 msgstr "ne peut pas utiliser « EEEE » deux fois"
 
-#: utils/adt/formatting.c:1210
+#: utils/adt/formatting.c:1211
 msgid "\"EEEE\" is incompatible with other formats"
 msgstr "« EEEE » est incompatible avec les autres formats"
 
-#: utils/adt/formatting.c:1211
+#: utils/adt/formatting.c:1212
 msgid "\"EEEE\" may only be used together with digit and decimal point patterns."
 msgstr "« EEEE » peut seulement être utilisé avec les motifs de chiffres et de points décimaux."
 
-#: utils/adt/formatting.c:1411
+#: utils/adt/formatting.c:1412
 #, c-format
 msgid "\"%s\" is not a number"
 msgstr "« %s » n'est pas un nombre"
 
-#: utils/adt/formatting.c:1788
+#: utils/adt/formatting.c:1519
+#: utils/adt/formatting.c:1569
+msgid "could not determine which collation to use for lower() function"
+msgstr "n'a pas pu déterminer le collationnement à utiliser pour la fonction lower()"
+
+#: utils/adt/formatting.c:1640
+#: utils/adt/formatting.c:1690
+msgid "could not determine which collation to use for upper() function"
+msgstr "n'a pas pu déterminer le collationnement à utiliser pour la fonction upper()"
+
+#: utils/adt/formatting.c:1773
+#: utils/adt/formatting.c:1835
+msgid "could not determine which collation to use for initcap() function"
+msgstr "n'a pas pu déterminer le collationnement à utiliser pour la fonction initcap()"
+
+#: utils/adt/formatting.c:2017
 msgid "invalid combination of date conventions"
 msgstr "combinaison invalide des conventions de date"
 
-#: utils/adt/formatting.c:1789
+#: utils/adt/formatting.c:2018
 msgid "Do not mix Gregorian and ISO week date conventions in a formatting template."
 msgstr ""
 "Ne pas mixer les conventions de jour de semaine grégorien et ISO dans un\n"
 "modèle de formatage."
 
-#: utils/adt/formatting.c:1806
+#: utils/adt/formatting.c:2035
 #, c-format
 msgid "conflicting values for \"%s\" field in formatting string"
 msgstr "valeur conflictuelle pour le champ « %s » dans la chaîne de formatage"
 
-#: utils/adt/formatting.c:1808
+#: utils/adt/formatting.c:2037
 msgid "This value contradicts a previous setting for the same field type."
 msgstr "Cette valeur contredit une configuration précédente pour le même type de champ."
 
-#: utils/adt/formatting.c:1869
+#: utils/adt/formatting.c:2098
 #, c-format
 msgid "source string too short for \"%s\" formatting field"
 msgstr "chaîne source trop petite pour le champ de formatage « %s »"
 
-#: utils/adt/formatting.c:1871
+#: utils/adt/formatting.c:2100
 #, c-format
 msgid "Field requires %d characters, but only %d remain."
 msgstr "Le champ requiert %d caractères, mais seuls %d restent."
 
-#: utils/adt/formatting.c:1874
-#: utils/adt/formatting.c:1888
+#: utils/adt/formatting.c:2103
+#: utils/adt/formatting.c:2117
 msgid "If your source string is not fixed-width, try using the \"FM\" modifier."
 msgstr ""
 "Si votre chaîne source n'a pas une taille fixe, essayez d'utiliser le\n"
 "modifieur « FM »."
 
-#: utils/adt/formatting.c:1884
-#: utils/adt/formatting.c:1897
-#: utils/adt/formatting.c:2027
+#: utils/adt/formatting.c:2113
+#: utils/adt/formatting.c:2126
+#: utils/adt/formatting.c:2256
 #, c-format
 msgid "invalid value \"%s\" for \"%s\""
 msgstr "valeur « %s » invalide pour « %s »"
 
-#: utils/adt/formatting.c:1886
+#: utils/adt/formatting.c:2115
 #, c-format
 msgid "Field requires %d characters, but only %d could be parsed."
 msgstr "Le champ nécessite %d caractères, mais seulement %d ont pu être analysés."
 
-#: utils/adt/formatting.c:1899
+#: utils/adt/formatting.c:2128
 msgid "Value must be an integer."
 msgstr "La valeur doit être un entier"
 
-#: utils/adt/formatting.c:1904
+#: utils/adt/formatting.c:2133
 #, c-format
 msgid "value for \"%s\" in source string is out of range"
 msgstr "la valeur pour « %s » dans la chaîne source est en dehors des limites"
 
-#: utils/adt/formatting.c:1906
+#: utils/adt/formatting.c:2135
 #, c-format
 msgid "Value must be in the range %d to %d."
 msgstr "La valeur doit être compris entre %d et %d"
 
-#: utils/adt/formatting.c:2029
+#: utils/adt/formatting.c:2258
 msgid "The given value did not match any of the allowed values for this field."
 msgstr "La valeur donnée ne correspond pas aux valeurs autorisées pour ce champ."
 
-#: utils/adt/formatting.c:2585
+#: utils/adt/formatting.c:2814
 msgid "\"TZ\"/\"tz\" format patterns are not supported in to_date"
 msgstr "les motifs de format « TZ »/ « tz » ne sont pas supportés dans to_date"
 
-#: utils/adt/formatting.c:2689
+#: utils/adt/formatting.c:2918
 msgid "invalid input string for \"Y,YYY\""
 msgstr "chaîne invalide en entrée pour « Y,YYY »"
 
-#: utils/adt/formatting.c:3206
+#: utils/adt/formatting.c:3435
 #, c-format
 msgid "hour \"%d\" is invalid for the 12-hour clock"
 msgstr "l'heure « %d » est invalide pour une horloge sur 12 heures"
 
-#: utils/adt/formatting.c:3208
+#: utils/adt/formatting.c:3437
 msgid "Use the 24-hour clock, or give an hour between 1 and 12."
 msgstr "Utilisez une horloge sur 24 heures ou donnez une heure entre 1 et 12."
 
-#: utils/adt/formatting.c:3246
+#: utils/adt/formatting.c:3475
 #, c-format
 msgid "inconsistent use of year %04d and \"BC\""
 msgstr "utilisation non cohérente de l'année %04d et de « BC »"
 
-#: utils/adt/formatting.c:3293
+#: utils/adt/formatting.c:3522
 msgid "cannot calculate day of year without year information"
 msgstr "ne peut pas calculer le jour de l'année sans information sur l'année"
 
-#: utils/adt/formatting.c:4151
+#: utils/adt/formatting.c:4380
 msgid "\"EEEE\" not supported for input"
 msgstr "« EEEE » non supporté en entrée"
 
-#: utils/adt/formatting.c:4163
+#: utils/adt/formatting.c:4392
 msgid "\"RN\" not supported for input"
 msgstr "« RN » non supporté en entrée"
 
-#: utils/adt/genfile.c:58
+#: utils/adt/genfile.c:60
 msgid "reference to parent directory (\"..\") not allowed"
 msgstr "référence non autorisée au répertoire parent (« .. »)"
 
-#: utils/adt/genfile.c:72
+#: utils/adt/genfile.c:71
 msgid "absolute path not allowed"
 msgstr "chemin absolu non autorisé"
 
-#: utils/adt/genfile.c:99
-msgid "must be superuser to read files"
-msgstr "doit être super-utilisateur pour lire des fichiers"
+#: utils/adt/genfile.c:76
+msgid "path must be in or below the current directory"
+msgstr "le chemin doit être dans ou en-dessous du répertoire courant"
 
-#: utils/adt/genfile.c:113
+#: utils/adt/genfile.c:117
+#: utils/adt/oracle_compat.c:184
+#: utils/adt/oracle_compat.c:282
+#: utils/adt/oracle_compat.c:758
+#: utils/adt/oracle_compat.c:1048
+msgid "requested length too large"
+msgstr "longueur demandée trop importante"
+
+#: utils/adt/genfile.c:129
 #, c-format
 msgid "could not seek in file \"%s\": %m"
 msgstr "n'a pas pu parcourir le fichier « %s » : %m"
 
-#: utils/adt/genfile.c:118
+#: utils/adt/genfile.c:179
+#: utils/adt/genfile.c:203
+#: utils/adt/genfile.c:224
+#: utils/adt/genfile.c:248
+msgid "must be superuser to read files"
+msgstr "doit être super-utilisateur pour lire des fichiers"
+
+#: utils/adt/genfile.c:186
+#: utils/adt/genfile.c:231
 msgid "requested length cannot be negative"
 msgstr "la longueur demandée ne peut pas être négative"
 
-#: utils/adt/genfile.c:124
-#: utils/adt/oracle_compat.c:181
-#: utils/adt/oracle_compat.c:279
-#: utils/adt/oracle_compat.c:755
-#: utils/adt/oracle_compat.c:1045
-msgid "requested length too large"
-msgstr "longueur demandée trop importante"
-
-#: utils/adt/genfile.c:163
+#: utils/adt/genfile.c:272
 msgid "must be superuser to get file information"
 msgstr "doit être super-utilisateur pour obtenir des informations sur le fichier"
 
-#: utils/adt/genfile.c:227
+#: utils/adt/genfile.c:336
 msgid "must be superuser to get directory listings"
 msgstr "doit être super-utilisateur pour obtenir le contenu du répertoire"
 
 #: utils/adt/geo_ops.c:294
-#: utils/adt/geo_ops.c:4249
-#: utils/adt/geo_ops.c:5166
+#: utils/adt/geo_ops.c:4251
+#: utils/adt/geo_ops.c:5172
 msgid "too many points requested"
 msgstr "trop de points demandé"
 
@@ -14388,77 +15633,77 @@ msgstr "syntaxe en entr
 msgid "invalid number of points in external \"path\" value"
 msgstr "nombre de points invalide dans la valeur externe de « path »"
 
-#: utils/adt/geo_ops.c:1814
+#: utils/adt/geo_ops.c:1816
 #, c-format
 msgid "invalid input syntax for type point: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type point : « %s »"
 
-#: utils/adt/geo_ops.c:2042
+#: utils/adt/geo_ops.c:2044
 #, c-format
 msgid "invalid input syntax for type lseg: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type lseg : « %s »"
 
-#: utils/adt/geo_ops.c:2646
+#: utils/adt/geo_ops.c:2648
 msgid "function \"dist_lb\" not implemented"
 msgstr "la fonction « dist_lb » n'est pas implémentée"
 
-#: utils/adt/geo_ops.c:3159
+#: utils/adt/geo_ops.c:3161
 msgid "function \"close_lb\" not implemented"
 msgstr "la fonction « close_lb » n'est pas implémentée"
 
-#: utils/adt/geo_ops.c:3448
+#: utils/adt/geo_ops.c:3450
 msgid "cannot create bounding box for empty polygon"
 msgstr "ne peut pas créer une boîte entourée pour un polygône vide"
 
-#: utils/adt/geo_ops.c:3472
-#: utils/adt/geo_ops.c:3484
+#: utils/adt/geo_ops.c:3474
+#: utils/adt/geo_ops.c:3486
 #, c-format
 msgid "invalid input syntax for type polygon: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type polygon : « %s »"
 
-#: utils/adt/geo_ops.c:3524
+#: utils/adt/geo_ops.c:3526
 msgid "invalid number of points in external \"polygon\" value"
 msgstr "nombre de points invalide dans la valeur externe de « polygon »"
 
-#: utils/adt/geo_ops.c:4047
+#: utils/adt/geo_ops.c:4049
 msgid "function \"poly_distance\" not implemented"
 msgstr "la fonction « poly_distance » n'est pas implémentée"
 
-#: utils/adt/geo_ops.c:4359
+#: utils/adt/geo_ops.c:4363
 msgid "function \"path_center\" not implemented"
 msgstr "la fonction « path_center » n'est pas implémentée"
 
-#: utils/adt/geo_ops.c:4376
+#: utils/adt/geo_ops.c:4380
 msgid "open path cannot be converted to polygon"
 msgstr "le chemin ouvert ne peut être converti en polygône"
 
-#: utils/adt/geo_ops.c:4543
-#: utils/adt/geo_ops.c:4553
-#: utils/adt/geo_ops.c:4568
+#: utils/adt/geo_ops.c:4549
+#: utils/adt/geo_ops.c:4559
 #: utils/adt/geo_ops.c:4574
+#: utils/adt/geo_ops.c:4580
 #, c-format
 msgid "invalid input syntax for type circle: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type circle : « %s »"
 
-#: utils/adt/geo_ops.c:4596
-#: utils/adt/geo_ops.c:4604
+#: utils/adt/geo_ops.c:4602
+#: utils/adt/geo_ops.c:4610
 msgid "could not format \"circle\" value"
 msgstr "n'a pas pu formater la valeur « circle »"
 
-#: utils/adt/geo_ops.c:4631
+#: utils/adt/geo_ops.c:4637
 msgid "invalid radius in external \"circle\" value"
 msgstr "diamètre invalide pour la valeur externe de « circle »"
 
-#: utils/adt/geo_ops.c:5152
+#: utils/adt/geo_ops.c:5158
 msgid "cannot convert circle with radius zero to polygon"
 msgstr "ne peut pas convertir le cercle avec un diamètre zéro en un polygône"
 
-#: utils/adt/geo_ops.c:5157
+#: utils/adt/geo_ops.c:5163
 msgid "must request at least 2 points"
 msgstr "doit demander au moins deux points"
 
-#: utils/adt/geo_ops.c:5201
-#: utils/adt/geo_ops.c:5224
+#: utils/adt/geo_ops.c:5207
+#: utils/adt/geo_ops.c:5230
 msgid "cannot convert empty polygon to circle"
 msgstr "ne peut pas convertir un polygône vide en cercle"
 
@@ -14466,82 +15711,87 @@ msgstr "ne peut pas convertir un polyg
 msgid "int2vector has too many elements"
 msgstr "int2vector a trop d'éléments"
 
-#: utils/adt/int.c:236
+#: utils/adt/int.c:237
 msgid "invalid int2vector data"
 msgstr "données int2vector invalide"
 
-#: utils/adt/int.c:242
+#: utils/adt/int.c:243
 #: utils/adt/oid.c:212
-#: utils/adt/oid.c:292
+#: utils/adt/oid.c:293
 msgid "oidvector has too many elements"
 msgstr "oidvector a trop d'éléments"
 
-#: utils/adt/int.c:1344
-#: utils/adt/int8.c:1375
+#: utils/adt/int.c:1345
+#: utils/adt/int8.c:1373
 #: utils/adt/timestamp.c:4712
 #: utils/adt/timestamp.c:4793
 msgid "step size cannot equal zero"
 msgstr "la taille du pas ne peut pas valoir zéro"
 
-#: utils/adt/int8.c:97
-#: utils/adt/int8.c:132
-#: utils/adt/numutils.c:53
-#: utils/adt/numutils.c:63
-#: utils/adt/numutils.c:105
+#: utils/adt/int8.c:98
+#: utils/adt/int8.c:133
+#: utils/adt/numutils.c:51
+#: utils/adt/numutils.c:61
+#: utils/adt/numutils.c:103
 #, c-format
 msgid "invalid input syntax for integer: \"%s\""
 msgstr "syntaxe en entrée invalide pour l'entier : « %s »"
 
-#: utils/adt/int8.c:113
+#: utils/adt/int8.c:114
 #, c-format
 msgid "value \"%s\" is out of range for type bigint"
 msgstr "la valeur « %s » est en dehors des limites du type bigint"
 
-#: utils/adt/int8.c:502
-#: utils/adt/int8.c:531
-#: utils/adt/int8.c:552
-#: utils/adt/int8.c:582
-#: utils/adt/int8.c:614
-#: utils/adt/int8.c:632
-#: utils/adt/int8.c:681
-#: utils/adt/int8.c:698
-#: utils/adt/int8.c:767
-#: utils/adt/int8.c:788
-#: utils/adt/int8.c:815
-#: utils/adt/int8.c:846
-#: utils/adt/int8.c:867
-#: utils/adt/int8.c:888
-#: utils/adt/int8.c:915
-#: utils/adt/int8.c:955
-#: utils/adt/int8.c:976
-#: utils/adt/int8.c:1003
-#: utils/adt/int8.c:1034
-#: utils/adt/int8.c:1055
-#: utils/adt/int8.c:1076
-#: utils/adt/int8.c:1103
-#: utils/adt/int8.c:1276
-#: utils/adt/int8.c:1315
-#: utils/adt/numeric.c:2115
-#: utils/adt/varbit.c:1563
+#: utils/adt/int8.c:500
+#: utils/adt/int8.c:529
+#: utils/adt/int8.c:550
+#: utils/adt/int8.c:580
+#: utils/adt/int8.c:612
+#: utils/adt/int8.c:630
+#: utils/adt/int8.c:679
+#: utils/adt/int8.c:696
+#: utils/adt/int8.c:765
+#: utils/adt/int8.c:786
+#: utils/adt/int8.c:813
+#: utils/adt/int8.c:844
+#: utils/adt/int8.c:865
+#: utils/adt/int8.c:886
+#: utils/adt/int8.c:913
+#: utils/adt/int8.c:953
+#: utils/adt/int8.c:974
+#: utils/adt/int8.c:1001
+#: utils/adt/int8.c:1032
+#: utils/adt/int8.c:1053
+#: utils/adt/int8.c:1074
+#: utils/adt/int8.c:1101
+#: utils/adt/int8.c:1274
+#: utils/adt/int8.c:1313
+#: utils/adt/numeric.c:2306
+#: utils/adt/varbit.c:1583
 msgid "bigint out of range"
 msgstr "bigint en dehors des limites"
 
-#: utils/adt/int8.c:1332
+#: utils/adt/int8.c:1330
 msgid "OID out of range"
 msgstr "OID en dehors des limites"
 
-#: utils/adt/like_match.c:103
-#: utils/adt/like_match.c:163
+#: utils/adt/like.c:211
+#: utils/adt/selfuncs.c:4852
+msgid "could not determine which collation to use for ILIKE"
+msgstr "n'a pas pu déterminer le collationnement à utiliser pour ILIKE"
+
+#: utils/adt/like_match.c:104
+#: utils/adt/like_match.c:164
 msgid "LIKE pattern must not end with escape character"
 msgstr "le motif LIKE ne se termine pas de caractères d'échappement"
 
-#: utils/adt/like_match.c:287
-#: utils/adt/regexp.c:668
+#: utils/adt/like_match.c:289
+#: utils/adt/regexp.c:684
 msgid "invalid escape string"
 msgstr "chaîne d'échappement invalide"
 
-#: utils/adt/like_match.c:288
-#: utils/adt/regexp.c:669
+#: utils/adt/like_match.c:290
+#: utils/adt/regexp.c:685
 msgid "Escape string must be empty or one character."
 msgstr "La chaîne d'échappement doit être vide ou ne contenir qu'un caractère."
 
@@ -14624,7 +15874,7 @@ msgstr "statut invalide dans la valeur externe 
 msgid "cannot convert reltime \"invalid\" to interval"
 msgstr "ne peut pas convertir reltime « invalid » en interval"
 
-#: utils/adt/nabstime.c:1562
+#: utils/adt/nabstime.c:1575
 #, c-format
 msgid "invalid input syntax for type tinterval: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type tinterval : « %s »"
@@ -14701,86 +15951,86 @@ msgstr "le r
 msgid "cannot subtract inet values of different sizes"
 msgstr "ne peut pas soustraire des valeurs inet de tailles différentes"
 
-#: utils/adt/numeric.c:352
-#: utils/adt/numeric.c:379
-#: utils/adt/numeric.c:3083
-#: utils/adt/numeric.c:3106
-#: utils/adt/numeric.c:3130
-#: utils/adt/numeric.c:3137
+#: utils/adt/numeric.c:473
+#: utils/adt/numeric.c:500
+#: utils/adt/numeric.c:3275
+#: utils/adt/numeric.c:3298
+#: utils/adt/numeric.c:3322
+#: utils/adt/numeric.c:3329
 #, c-format
 msgid "invalid input syntax for type numeric: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type numeric : « %s »"
 
-#: utils/adt/numeric.c:482
+#: utils/adt/numeric.c:653
 msgid "invalid length in external \"numeric\" value"
 msgstr "longueur invalide dans la valeur externe « numeric »"
 
-#: utils/adt/numeric.c:493
+#: utils/adt/numeric.c:664
 msgid "invalid sign in external \"numeric\" value"
 msgstr "signe invalide dans la valeur externe « numeric »"
 
-#: utils/adt/numeric.c:503
+#: utils/adt/numeric.c:674
 msgid "invalid digit in external \"numeric\" value"
 msgstr "chiffre invalide dans la valeur externe « numeric »"
 
-#: utils/adt/numeric.c:634
-#: utils/adt/numeric.c:648
+#: utils/adt/numeric.c:814
+#: utils/adt/numeric.c:828
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "la précision NUMERIC %d doit être comprise entre 1 et %d"
 
-#: utils/adt/numeric.c:639
+#: utils/adt/numeric.c:819
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr "l'échelle NUMERIC %d doit être comprise entre 0 et %d"
 
-#: utils/adt/numeric.c:657
+#: utils/adt/numeric.c:837
 msgid "invalid NUMERIC type modifier"
 msgstr "modificateur de type NUMERIC invalide"
 
-#: utils/adt/numeric.c:1690
-#: utils/adt/numeric.c:3545
+#: utils/adt/numeric.c:1881
+#: utils/adt/numeric.c:3754
 msgid "value overflows numeric format"
 msgstr "la valeur dépasse le format numeric"
 
-#: utils/adt/numeric.c:2038
+#: utils/adt/numeric.c:2229
 msgid "cannot convert NaN to integer"
 msgstr "ne peut pas convertir NaN en un entier"
 
-#: utils/adt/numeric.c:2106
+#: utils/adt/numeric.c:2297
 msgid "cannot convert NaN to bigint"
 msgstr "ne peut pas convertir NaN en un entier de type bigint"
 
-#: utils/adt/numeric.c:2154
+#: utils/adt/numeric.c:2345
 msgid "cannot convert NaN to smallint"
 msgstr "ne peut pas convertir NaN en un entier de type smallint"
 
-#: utils/adt/numeric.c:3615
+#: utils/adt/numeric.c:3824
 msgid "numeric field overflow"
 msgstr "champ numérique en dehors des limites"
 
-#: utils/adt/numeric.c:3616
+#: utils/adt/numeric.c:3825
 #, c-format
 msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d."
 msgstr ""
 "Un champ de précision %d et d'échelle %d doit être arrondi à une valeur\n"
 "absolue inférieure à %s%d."
 
-#: utils/adt/numeric.c:5064
+#: utils/adt/numeric.c:5273
 msgid "argument for function \"exp\" too big"
 msgstr "l'argument de la fonction « exp » est trop gros"
 
-#: utils/adt/numutils.c:77
+#: utils/adt/numutils.c:75
 #, c-format
 msgid "value \"%s\" is out of range for type integer"
 msgstr "la valeur « %s » est en dehors des limites du type integer"
 
-#: utils/adt/numutils.c:83
+#: utils/adt/numutils.c:81
 #, c-format
 msgid "value \"%s\" is out of range for type smallint"
 msgstr "la valeur « %s » est en dehors des limites du type smallint"
 
-#: utils/adt/numutils.c:89
+#: utils/adt/numutils.c:87
 #, c-format
 msgid "value \"%s\" is out of range for 8-bit integer"
 msgstr "la valeur « %s » est en dehors des limites des entiers sur 8 bits"
@@ -14799,24 +16049,51 @@ msgstr "syntaxe invalide en entr
 msgid "value \"%s\" is out of range for type oid"
 msgstr "la valeur « %s » est en dehors des limites pour le type oid"
 
-#: utils/adt/oid.c:286
+#: utils/adt/oid.c:287
 msgid "invalid oidvector data"
 msgstr "donnée oidvector invalide"
 
-#: utils/adt/oracle_compat.c:892
+#: utils/adt/oracle_compat.c:895
 msgid "requested character too large"
 msgstr "caractère demandé trop long"
 
-#: utils/adt/oracle_compat.c:938
-#: utils/adt/oracle_compat.c:992
+#: utils/adt/oracle_compat.c:941
+#: utils/adt/oracle_compat.c:995
 #, c-format
 msgid "requested character too large for encoding: %d"
 msgstr "caractère demandé trop long pour l'encodage : %d"
 
-#: utils/adt/oracle_compat.c:985
+#: utils/adt/oracle_compat.c:988
 msgid "null character not permitted"
 msgstr "caractère nul interdit"
 
+#: utils/adt/pg_locale.c:993
+#: utils/adt/pg_locale.c:1006
+#: utils/adt/pg_locale.c:1012
+#, c-format
+msgid "could not create locale \"%s\": %m"
+msgstr "n'a pas pu créer la locale « %s » : %m"
+
+#: utils/adt/pg_locale.c:1023
+msgid "collations with different collate and ctype values are not supported on this platform"
+msgstr ""
+"les collationnements avec des valeurs différents pour le tri et le jeu de\n"
+"caractères ne sont pas supportés sur cette plateforme"
+
+#: utils/adt/pg_locale.c:1038
+msgid "nondefault collations are not supported on this platform"
+msgstr "les collationnements autres que par défaut ne sont pas supportés sur cette plateforme"
+
+#: utils/adt/pg_locale.c:1209
+msgid "invalid multibyte character for locale"
+msgstr "caractère multi-octets invalide pour la locale"
+
+#: utils/adt/pg_locale.c:1210
+msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding."
+msgstr ""
+"La locale LC_CTYPE du serveur est probablement incompatible avec l'encodage\n"
+"de la base de données."
+
 #: utils/adt/pseudotypes.c:94
 msgid "cannot accept a value of type any"
 msgstr "ne peut pas accepter une valeur de type any"
@@ -14834,74 +16111,87 @@ msgstr "ne peut pas accepter une valeur de type anyarray"
 msgid "cannot accept a value of type anyenum"
 msgstr "ne peut pas accepter une valeur de type anyenum"
 
-#: utils/adt/pseudotypes.c:224
+#: utils/adt/pseudotypes.c:252
 msgid "cannot accept a value of type trigger"
 msgstr "ne peut pas accepter une valeur de type trigger"
 
-#: utils/adt/pseudotypes.c:237
+#: utils/adt/pseudotypes.c:265
 msgid "cannot display a value of type trigger"
 msgstr "ne peut pas afficher une valeur de type trigger"
 
-#: utils/adt/pseudotypes.c:251
+#: utils/adt/pseudotypes.c:279
 msgid "cannot accept a value of type language_handler"
 msgstr "ne peut pas accepter une valeur de type language_handler"
 
-#: utils/adt/pseudotypes.c:264
+#: utils/adt/pseudotypes.c:292
 msgid "cannot display a value of type language_handler"
 msgstr "ne peut pas afficher une valeur de type language_handler"
 
-#: utils/adt/pseudotypes.c:278
+#: utils/adt/pseudotypes.c:306
+msgid "cannot accept a value of type fdw_handler"
+msgstr "ne peut pas accepter une valeur de type fdw_handler"
+
+#: utils/adt/pseudotypes.c:319
+msgid "cannot display a value of type fdw_handler"
+msgstr "ne peut pas afficher une valeur de type fdw_handler"
+
+#: utils/adt/pseudotypes.c:333
 msgid "cannot accept a value of type internal"
 msgstr "ne peut pas accepter une valeur de type internal"
 
-#: utils/adt/pseudotypes.c:291
+#: utils/adt/pseudotypes.c:346
 msgid "cannot display a value of type internal"
 msgstr "ne peut pas afficher une valeur de type internal"
 
-#: utils/adt/pseudotypes.c:305
+#: utils/adt/pseudotypes.c:360
 msgid "cannot accept a value of type opaque"
 msgstr "ne peut pas accepter une valeur de type opaque"
 
-#: utils/adt/pseudotypes.c:318
+#: utils/adt/pseudotypes.c:373
 msgid "cannot display a value of type opaque"
 msgstr "ne peut pas afficher une valeur de type opaque"
 
-#: utils/adt/pseudotypes.c:332
+#: utils/adt/pseudotypes.c:387
 msgid "cannot accept a value of type anyelement"
 msgstr "ne peut pas accepter une valeur de type anyelement"
 
-#: utils/adt/pseudotypes.c:345
+#: utils/adt/pseudotypes.c:400
 msgid "cannot display a value of type anyelement"
 msgstr "ne peut pas afficher une valeur de type anyelement"
 
-#: utils/adt/pseudotypes.c:358
+#: utils/adt/pseudotypes.c:413
 msgid "cannot accept a value of type anynonarray"
 msgstr "ne peut pas accepter une valeur de type anynonarray"
 
-#: utils/adt/pseudotypes.c:371
+#: utils/adt/pseudotypes.c:426
 msgid "cannot display a value of type anynonarray"
 msgstr "ne peut pas afficher une valeur de type anynonarray"
 
-#: utils/adt/pseudotypes.c:384
+#: utils/adt/pseudotypes.c:439
 msgid "cannot accept a value of a shell type"
 msgstr "ne peut pas accepter une valeur de type shell"
 
-#: utils/adt/pseudotypes.c:397
+#: utils/adt/pseudotypes.c:452
 msgid "cannot display a value of a shell type"
 msgstr "ne peut pas afficher une valeur de type shell"
 
-#: utils/adt/regexp.c:269
-#: utils/adt/varlena.c:2797
+#: utils/adt/pseudotypes.c:474
+#: utils/adt/pseudotypes.c:498
+msgid "cannot accept a value of type pg_node_tree"
+msgstr "ne peut pas accepter une valeur de type pg_node_tree"
+
+#: utils/adt/regexp.c:275
+#: utils/adt/varlena.c:2866
 #, c-format
 msgid "regular expression failed: %s"
 msgstr "l'expression rationnelle a échoué : %s"
 
-#: utils/adt/regexp.c:404
+#: utils/adt/regexp.c:412
 #, c-format
 msgid "invalid regexp option: \"%c\""
 msgstr "option invalide de l'expression rationnelle : « %c »"
 
-#: utils/adt/regexp.c:865
+#: utils/adt/regexp.c:884
 msgid "regexp_split does not support the global option"
 msgstr "regexp_split ne supporte pas l'option globale"
 
@@ -14919,9 +16209,9 @@ msgstr "il existe plus d'un op
 
 #: utils/adt/regproc.c:635
 #: utils/adt/regproc.c:1485
-#: utils/adt/ruleutils.c:5513
-#: utils/adt/ruleutils.c:5568
-#: utils/adt/ruleutils.c:5605
+#: utils/adt/ruleutils.c:5800
+#: utils/adt/ruleutils.c:5855
+#: utils/adt/ruleutils.c:5892
 msgid "too many arguments"
 msgstr "trop d'arguments"
 
@@ -14931,8 +16221,8 @@ msgstr "Fournit deux types d'argument pour l'op
 
 #: utils/adt/regproc.c:1320
 #: utils/adt/regproc.c:1325
-#: utils/adt/varlena.c:2198
-#: utils/adt/varlena.c:2203
+#: utils/adt/varlena.c:2251
+#: utils/adt/varlena.c:2256
 msgid "invalid name syntax"
 msgstr "syntaxe du nom invalide"
 
@@ -14952,76 +16242,76 @@ msgstr "attendait un nom de type"
 msgid "improper type name"
 msgstr "nom du type invalide"
 
-#: utils/adt/ri_triggers.c:407
-#: utils/adt/ri_triggers.c:2803
-#: utils/adt/ri_triggers.c:3454
-#: utils/adt/ri_triggers.c:3486
+#: utils/adt/ri_triggers.c:409
+#: utils/adt/ri_triggers.c:2839
+#: utils/adt/ri_triggers.c:3537
+#: utils/adt/ri_triggers.c:3569
 #, c-format
 msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\""
 msgstr ""
 "une instruction insert ou update sur la table « %s » viole la contrainte de clé\n"
 "étrangère « %s »"
 
-#: utils/adt/ri_triggers.c:410
-#: utils/adt/ri_triggers.c:2806
+#: utils/adt/ri_triggers.c:412
+#: utils/adt/ri_triggers.c:2842
 msgid "MATCH FULL does not allow mixing of null and nonnull key values."
 msgstr "MATCH FULL n'autorise pas le mixage de valeurs clés NULL et non NULL."
 
-#: utils/adt/ri_triggers.c:3016
+#: utils/adt/ri_triggers.c:3099
 #, c-format
 msgid "function \"%s\" must be fired for INSERT"
 msgstr "la fonction « %s » doit être exécutée pour l'instruction INSERT"
 
-#: utils/adt/ri_triggers.c:3022
+#: utils/adt/ri_triggers.c:3105
 #, c-format
 msgid "function \"%s\" must be fired for UPDATE"
 msgstr "la fonction « %s » doit être exécutée pour l'instruction UPDATE"
 
-#: utils/adt/ri_triggers.c:3036
+#: utils/adt/ri_triggers.c:3119
 #, c-format
 msgid "function \"%s\" must be fired for DELETE"
 msgstr "la fonction « %s » doit être exécutée pour l'instruction DELETE"
 
-#: utils/adt/ri_triggers.c:3065
+#: utils/adt/ri_triggers.c:3148
 #, c-format
 msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\""
 msgstr "aucune entrée pg_constraint pour le trigger « %s » sur la table « %s »"
 
-#: utils/adt/ri_triggers.c:3067
+#: utils/adt/ri_triggers.c:3150
 msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT."
 msgstr ""
 "Supprimez ce trigger sur une intégrité référentielle et ses enfants,\n"
 "puis faites un ALTER TABLE ADD CONSTRAINT."
 
-#: utils/adt/ri_triggers.c:3421
+#: utils/adt/ri_triggers.c:3504
 #, c-format
 msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result"
 msgstr ""
 "la requête d'intégrité référentielle sur « %s » à partir de la contrainte « %s »\n"
 "sur « %s » donne des résultats inattendus"
 
-#: utils/adt/ri_triggers.c:3425
+#: utils/adt/ri_triggers.c:3508
 msgid "This is most likely due to a rule having rewritten the query."
 msgstr "Ceci est certainement dû à une règle qui a ré-écrit la requête."
 
-#: utils/adt/ri_triggers.c:3456
+#: utils/adt/ri_triggers.c:3539
 #, c-format
 msgid "No rows were found in \"%s\"."
 msgstr "Aucune ligne trouvée dans « %s »."
 
-#: utils/adt/ri_triggers.c:3488
+#: utils/adt/ri_triggers.c:3571
 #, c-format
 msgid "Key (%s)=(%s) is not present in table \"%s\"."
 msgstr "La clé (%s)=(%s) n'est pas présente dans la table « %s »."
 
-#: utils/adt/ri_triggers.c:3494
+#: utils/adt/ri_triggers.c:3577
 #, c-format
 msgid "update or delete on table \"%s\" violates foreign key constraint \"%s\" on table \"%s\""
 msgstr ""
 "UPDATE ou DELETE sur la table « %s » viole la contrainte de clé étrangère\n"
 "« %s » de la table « %s »"
 
-#: utils/adt/ri_triggers.c:3497
+#: utils/adt/ri_triggers.c:3580
 #, c-format
 msgid "Key (%s)=(%s) is still referenced from table \"%s\"."
 msgstr "La clé (%s)=(%s) est toujours référencée à partir de la table « %s »."
@@ -15077,33 +16367,33 @@ msgstr "mauvais type de donn
 msgid "improper binary format in record column %d"
 msgstr "format binaire invalide dans l'enregistrement de la colonne %d"
 
-#: utils/adt/rowtypes.c:896
-#: utils/adt/rowtypes.c:1122
+#: utils/adt/rowtypes.c:897
+#: utils/adt/rowtypes.c:1132
 #, c-format
 msgid "cannot compare dissimilar column types %s and %s at record column %d"
 msgstr ""
 "ne peut pas comparer les types de colonnes non similaires %s et %s pour la\n"
 "colonne %d de l'enregistrement"
 
-#: utils/adt/rowtypes.c:974
-#: utils/adt/rowtypes.c:1185
+#: utils/adt/rowtypes.c:983
+#: utils/adt/rowtypes.c:1203
 msgid "cannot compare record types with different numbers of columns"
 msgstr ""
 "ne peut pas comparer les types d'enregistrement avec des numéros différents\n"
 "des colonnes"
 
-#: utils/adt/ruleutils.c:2237
+#: utils/adt/ruleutils.c:2430
 #, c-format
 msgid "rule \"%s\" has unsupported event type %d"
 msgstr "la règle « %s » a un type d'événement %d non supporté"
 
-#: utils/adt/selfuncs.c:4761
-#: utils/adt/selfuncs.c:5190
+#: utils/adt/selfuncs.c:4837
+#: utils/adt/selfuncs.c:5291
 msgid "case insensitive matching not supported on type bytea"
 msgstr "la recherche insensible à la casse n'est pas supportée avec le type bytea"
 
-#: utils/adt/selfuncs.c:4866
-#: utils/adt/selfuncs.c:5350
+#: utils/adt/selfuncs.c:4952
+#: utils/adt/selfuncs.c:5451
 msgid "regular-expression matching not supported on type bytea"
 msgstr "la recherche par expression rationnelle n'est pas supportée sur le type bytea"
 
@@ -15320,43 +16610,43 @@ msgstr "le mot est trop long (%ld octets, max %ld octets)"
 msgid "string is too long for tsvector (%ld bytes, max %ld bytes)"
 msgstr "la chaîne est trop longue pour tsvector (%ld octets, max %ld octets)"
 
-#: utils/adt/tsvector_op.c:1103
+#: utils/adt/tsvector_op.c:1149
 msgid "ts_stat query must return one tsvector column"
 msgstr "la requête ts_stat doit renvoyer une colonne tsvector"
 
-#: utils/adt/tsvector_op.c:1283
+#: utils/adt/tsvector_op.c:1329
 #, c-format
 msgid "tsvector column \"%s\" does not exist"
 msgstr "la colonne tsvector « %s » n'existe pas"
 
-#: utils/adt/tsvector_op.c:1289
+#: utils/adt/tsvector_op.c:1335
 #, c-format
 msgid "column \"%s\" is not of tsvector type"
 msgstr "la colonne « %s » n'est pas de type tsvector"
 
-#: utils/adt/tsvector_op.c:1301
+#: utils/adt/tsvector_op.c:1347
 #, c-format
 msgid "configuration column \"%s\" does not exist"
 msgstr "la colonne de configuration « %s » n'existe pas"
 
-#: utils/adt/tsvector_op.c:1307
+#: utils/adt/tsvector_op.c:1353
 #, c-format
 msgid "column \"%s\" is not of regconfig type"
 msgstr "la colonne « %s » n'est pas de type regconfig"
 
-#: utils/adt/tsvector_op.c:1314
+#: utils/adt/tsvector_op.c:1360
 #, c-format
 msgid "configuration column \"%s\" must not be null"
 msgstr "la colonne de configuration « %s » ne doit pas être NULL"
 
-#: utils/adt/tsvector_op.c:1327
+#: utils/adt/tsvector_op.c:1373
 #, c-format
 msgid "text search configuration name \"%s\" must be schema-qualified"
 msgstr ""
 "le nom de la configuration de la recherche plein texte « %s » doit être\n"
 "qualifié par son schéma"
 
-#: utils/adt/tsvector_op.c:1352
+#: utils/adt/tsvector_op.c:1398
 #, c-format
 msgid "column \"%s\" is not of a character type"
 msgstr "la colonne « %s » n'est pas de type caractère"
@@ -15381,79 +16671,79 @@ msgstr "mauvaise information de position dans tsvector : 
 msgid "invalid input syntax for uuid: \"%s\""
 msgstr "syntaxe invalide en entrée pour l'uuid : « %s »"
 
-#: utils/adt/varbit.c:54
+#: utils/adt/varbit.c:56
 #: utils/adt/varchar.c:48
 #, c-format
 msgid "length for type %s must be at least 1"
 msgstr "la longueur du type %s doit être d'au moins 1"
 
-#: utils/adt/varbit.c:59
+#: utils/adt/varbit.c:61
 #: utils/adt/varchar.c:52
 #, c-format
 msgid "length for type %s cannot exceed %d"
 msgstr "la longueur du type %s ne peut pas excéder %d"
 
-#: utils/adt/varbit.c:162
-#: utils/adt/varbit.c:302
-#: utils/adt/varbit.c:358
+#: utils/adt/varbit.c:166
+#: utils/adt/varbit.c:309
+#: utils/adt/varbit.c:366
 #, c-format
 msgid "bit string length %d does not match type bit(%d)"
 msgstr "la longueur (en bits) de la chaîne %d ne doit pas correspondre au type bit(%d)"
 
-#: utils/adt/varbit.c:184
-#: utils/adt/varbit.c:482
+#: utils/adt/varbit.c:188
+#: utils/adt/varbit.c:490
 #, c-format
 msgid "\"%c\" is not a valid binary digit"
 msgstr "« %c » n'est pas un chiffre binaire valide"
 
-#: utils/adt/varbit.c:209
-#: utils/adt/varbit.c:507
+#: utils/adt/varbit.c:213
+#: utils/adt/varbit.c:515
 #, c-format
 msgid "\"%c\" is not a valid hexadecimal digit"
 msgstr "« %c » n'est pas un chiffre hexadécimal valide"
 
-#: utils/adt/varbit.c:293
-#: utils/adt/varbit.c:594
+#: utils/adt/varbit.c:300
+#: utils/adt/varbit.c:603
 msgid "invalid length in external bit string"
 msgstr "longueur invalide dans la chaîne bit externe"
 
-#: utils/adt/varbit.c:460
-#: utils/adt/varbit.c:603
-#: utils/adt/varbit.c:664
+#: utils/adt/varbit.c:468
+#: utils/adt/varbit.c:612
+#: utils/adt/varbit.c:674
 #, c-format
 msgid "bit string too long for type bit varying(%d)"
 msgstr "la chaîne bit est trop longue pour le type bit varying(%d)"
 
-#: utils/adt/varbit.c:991
-#: utils/adt/varbit.c:1093
-#: utils/adt/varlena.c:729
-#: utils/adt/varlena.c:793
-#: utils/adt/varlena.c:937
-#: utils/adt/varlena.c:1843
-#: utils/adt/varlena.c:1910
+#: utils/adt/varbit.c:1004
+#: utils/adt/varbit.c:1106
+#: utils/adt/varlena.c:737
+#: utils/adt/varlena.c:801
+#: utils/adt/varlena.c:945
+#: utils/adt/varlena.c:1896
+#: utils/adt/varlena.c:1963
 msgid "negative substring length not allowed"
 msgstr "longueur de sous-chaîne négative non autorisée"
 
-#: utils/adt/varbit.c:1149
+#: utils/adt/varbit.c:1164
 msgid "cannot AND bit strings of different sizes"
 msgstr "ne peut pas utiliser l'opérateur AND sur des chaînes bit de tailles différentes"
 
-#: utils/adt/varbit.c:1190
+#: utils/adt/varbit.c:1206
 msgid "cannot OR bit strings of different sizes"
 msgstr "ne peut pas utiliser l'opérateur OR sur des chaînes bit de tailles différentes"
 
-#: utils/adt/varbit.c:1236
+#: utils/adt/varbit.c:1253
 msgid "cannot XOR bit strings of different sizes"
 msgstr "ne peut pas utiliser l'opérateur XOR sur des chaînes bit de tailles différentes"
 
-#: utils/adt/varbit.c:1710
-#: utils/adt/varbit.c:1768
+#: utils/adt/varbit.c:1731
+#: utils/adt/varbit.c:1789
 #, c-format
 msgid "bit index %d out of valid range (0..%d)"
 msgstr "index de bit %d en dehors des limites valides (0..%d)"
 
-#: utils/adt/varbit.c:1719
-#: utils/adt/varlena.c:2110
+#: utils/adt/varbit.c:1740
+#: utils/adt/varlena.c:2163
 msgid "new bit must be 0 or 1"
 msgstr "le nouveau bit doit valoir soit 0 soit 1"
 
@@ -15469,29 +16759,62 @@ msgstr "valeur trop longue pour le type character(%d)"
 msgid "value too long for type character varying(%d)"
 msgstr "valeur trop longue pour le type character varying(%d)"
 
-#: utils/adt/varlena.c:1333
-#: utils/adt/varlena.c:1346
+#: utils/adt/varlena.c:1314
+msgid "could not determine which collation to use for string comparison"
+msgstr "n'a pas pu déterminer le collationnement à utiliser pour la comparaison de chaîne"
+
+#: utils/adt/varlena.c:1358
+#: utils/adt/varlena.c:1371
 #, c-format
 msgid "could not convert string to UTF-16: error %lu"
 msgstr "n'a pas pu convertir la chaîne en UTF16 : erreur %lu"
 
-#: utils/adt/varlena.c:1356
+#: utils/adt/varlena.c:1386
 #, c-format
 msgid "could not compare Unicode strings: %m"
 msgstr "n'a pas pu comparer les chaînes unicode : %m"
 
-#: utils/adt/varlena.c:1988
-#: utils/adt/varlena.c:2019
-#: utils/adt/varlena.c:2055
-#: utils/adt/varlena.c:2098
+#: utils/adt/varlena.c:2041
+#: utils/adt/varlena.c:2072
+#: utils/adt/varlena.c:2108
+#: utils/adt/varlena.c:2151
 #, c-format
 msgid "index %d out of valid range, 0..%d"
 msgstr "index %d en dehors des limites valides, 0..%d"
 
-#: utils/adt/varlena.c:2890
+#: utils/adt/varlena.c:2959
 msgid "field position must be greater than zero"
 msgstr "la position du champ doit être plus grand que zéro"
 
+#: utils/adt/varlena.c:3816
+#: utils/adt/varlena.c:3877
+msgid "unterminated conversion specifier"
+msgstr "spécificateur de conversion non terminé"
+
+#: utils/adt/varlena.c:3840
+#: utils/adt/varlena.c:3856
+msgid "argument number is out of range"
+msgstr "le nombre en argument est en dehors des limites"
+
+#: utils/adt/varlena.c:3883
+msgid "conversion specifies argument 0, but arguments are numbered from 1"
+msgstr ""
+"la conversion spécifie l'argument 0 mais les arguments doivent être numérotés\n"
+"à partir de 1"
+
+#: utils/adt/varlena.c:3890
+msgid "too few arguments for format conversion"
+msgstr "trop peu d'arguments pour la conversion du format"
+
+#: utils/adt/varlena.c:3911
+#, c-format
+msgid "unrecognized conversion specifier: %c"
+msgstr "spécificateur de conversion inconnu : %c"
+
+#: utils/adt/varlena.c:3940
+msgid "NULL cannot be escaped as an SQL identifier"
+msgstr "NULL ne peut pas être échappé comme un identifiant SQL"
+
 #: utils/adt/windowfuncs.c:243
 msgid "argument of ntile must be greater than zero"
 msgstr "l'argument de ntile doit être supérieur à zéro"
@@ -15500,2328 +16823,2408 @@ msgstr "l'argument de ntile doit 
 msgid "argument of nth_value must be greater than zero"
 msgstr "l'argument de nth_value doit être supérieur à zéro"
 
-#: utils/misc/tzparser.c:63
+#: utils/sort/logtape.c:213
 #, c-format
-msgid "time zone abbreviation \"%s\" is too long (maximum %d characters) in time zone file \"%s\", line %d"
-msgstr ""
-"l'abréviation « %s » du fuseau horaire est trop long (maximum %d caractères)\n"
-"dans le fichier de fuseaux horaires « %s », ligne %d"
+msgid "could not write block %ld of temporary file: %m"
+msgstr "n'a pas pu écrire le bloc %ld du fichier temporaire : %m"
 
-#: utils/misc/tzparser.c:72
-#, c-format
-msgid "time zone offset %d is not a multiple of 900 sec (15 min) in time zone file \"%s\", line %d"
-msgstr ""
-"le décalage %d du fuseau horaire n'est pas un multiples de 900 secondes\n"
-"(15 minutes) dans le fichier des fuseaux horaires « %s », ligne %d"
+#: utils/sort/logtape.c:215
+msgid "Perhaps out of disk space?"
+msgstr "Peut-être manquez-vous de place disque ?"
 
-#: utils/misc/tzparser.c:86
+#: utils/sort/logtape.c:232
 #, c-format
-msgid "time zone offset %d is out of range in time zone file \"%s\", line %d"
-msgstr ""
-"le décalage %d du fuseau horaire est en dehors des limites dans le fichier\n"
-"des fuseaux horaires « %s », ligne %d"
+msgid "could not read block %ld of temporary file: %m"
+msgstr "n'a pas pu lire le bloc %ld du fichier temporaire : %m"
 
-#: utils/misc/tzparser.c:123
+#: utils/sort/tuplesort.c:3131
 #, c-format
-msgid "missing time zone abbreviation in time zone file \"%s\", line %d"
-msgstr "abréviation du fuseau horaire manquant dans le fichier « %s », ligne %d"
+msgid "could not create unique index \"%s\""
+msgstr "n'a pas pu créer l'index unique « %s »"
 
-#: utils/misc/tzparser.c:134
+#: utils/sort/tuplesort.c:3133
 #, c-format
-msgid "missing time zone offset in time zone file \"%s\", line %d"
-msgstr "décalage du fuseau horaire manquant dans le fichier « %s », ligne %d"
+msgid "Key %s is duplicated."
+msgstr "La clé %s est dupliquée."
 
-#: utils/misc/tzparser.c:143
+#: utils/cache/typcache.c:629
 #, c-format
-msgid "invalid number for time zone offset in time zone file \"%s\", line %d"
-msgstr ""
-"nombre invalide pour le décalage du fuseau horaire dans le fichier des\n"
-"fuseaux horaires « %s », ligne %d"
+msgid "type %s is not composite"
+msgstr "le type %s n'est pas un type composite"
+
+#: utils/cache/typcache.c:643
+msgid "record type has not been registered"
+msgstr "le type d'enregistrement n'a pas été enregistré"
 
-#: utils/misc/tzparser.c:168
+#: utils/cache/lsyscache.c:2393
+#: utils/cache/lsyscache.c:2426
+#: utils/cache/lsyscache.c:2459
+#: utils/cache/lsyscache.c:2492
 #, c-format
-msgid "invalid syntax in time zone file \"%s\", line %d"
-msgstr "syntaxe invalide dans le fichier des fuseaux horaires « %s », ligne %d"
+msgid "type %s is only a shell"
+msgstr "le type %s est seulement un shell"
 
-#: utils/misc/tzparser.c:234
+#: utils/cache/lsyscache.c:2398
 #, c-format
-msgid "time zone abbreviation \"%s\" is multiply defined"
-msgstr "l'abréviation « %s » du fuseau horaire est définie plusieurs fois"
+msgid "no input function available for type %s"
+msgstr "aucune fonction en entrée disponible pour le type %s"
 
-#: utils/misc/tzparser.c:236
+#: utils/cache/lsyscache.c:2431
 #, c-format
-msgid "Entry in time zone file \"%s\", line %d, conflicts with entry in file \"%s\", line %d."
+msgid "no output function available for type %s"
+msgstr "aucune fonction en sortie disponible pour le type %s"
+
+#: utils/cache/plancache.c:589
+msgid "cached plan must not change result type"
+msgstr "le plan en cache ne doit pas modifier le type en résultat"
+
+#: utils/cache/relcache.c:4274
+#, c-format
+msgid "could not create relation-cache initialization file \"%s\": %m"
+msgstr "n'a pas pu créer le fichier d'initialisation relation-cache « %s » : %m"
+
+#: utils/cache/relcache.c:4276
+msgid "Continuing anyway, but there's something wrong."
+msgstr "Continue malgré tout, mais quelque chose s'est mal passé."
+
+#: utils/cache/relmapper.c:454
+msgid "cannot PREPARE a transaction that modified relation mapping"
 msgstr ""
-"L'entrée dans le fichier des fuseaux horaires « %s », ligne %d, est en\n"
-"conflit avec l'entrée du fichier « %s », ligne %d."
+"ne peut pas préparer (PREPARE) une transaction qui a modifié la correspondance\n"
+"de relation"
 
-#: utils/misc/tzparser.c:303
+#: utils/cache/relmapper.c:596
+#: utils/cache/relmapper.c:702
 #, c-format
-msgid "invalid time zone file name \"%s\""
-msgstr "nom du fichier de fuseaux horaires invalide : « %s »"
+msgid "could not open relation mapping file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier de correspondance des relations « %s » : %m"
 
-#: utils/misc/tzparser.c:318
+#: utils/cache/relmapper.c:609
 #, c-format
-msgid "time zone file recursion limit exceeded in file \"%s\""
-msgstr ""
-"limite de récursion dépassée dans le fichier « %s » (fichier des fuseaux\n"
-"horaires)"
+msgid "could not read relation mapping file \"%s\": %m"
+msgstr "n'a pas pu lire le fichier de correspondance des relations « %s » : %m"
 
-#: utils/misc/tzparser.c:361
-#: utils/misc/tzparser.c:376
+#: utils/cache/relmapper.c:619
 #, c-format
-msgid "could not read time zone file \"%s\": %m"
-msgstr "n'a pas pu lire le fichier des fuseaux horaires « %s » : %m"
+msgid "relation mapping file \"%s\" contains invalid data"
+msgstr "le fichier de correspondance des relations « %s » contient des données invalides"
 
-#: utils/misc/tzparser.c:388
+#: utils/cache/relmapper.c:629
 #, c-format
-msgid "line is too long in time zone file \"%s\", line %d"
+msgid "relation mapping file \"%s\" contains incorrect checksum"
 msgstr ""
-"une ligne est trop longue dans le fichier des fuseaux horaires « %s »,\n"
-"ligne %d"
+"le fichier de correspondance des relations « %s » contient une somme de\n"
+"contrôle incorrecte"
 
-#: utils/misc/tzparser.c:413
+#: utils/cache/relmapper.c:741
 #, c-format
-msgid "@INCLUDE without file name in time zone file \"%s\", line %d"
-msgstr ""
-"@INCLUDE sans nom de fichier dans le fichier des fuseaux horaires « %s »,\n"
-"ligne %d"
+msgid "could not write to relation mapping file \"%s\": %m"
+msgstr "n'a pas pu écrire le fichier de correspondance des relations « %s » : %m"
 
-#: utils/misc/guc.c:476
-msgid "Ungrouped"
-msgstr "Dégroupé"
+#: utils/cache/relmapper.c:754
+#, c-format
+msgid "could not fsync relation mapping file \"%s\": %m"
+msgstr "n'a pas pu synchroniser (fsync) le fichier de correspondance des relations « %s » : %m"
 
-#: utils/misc/guc.c:478
-msgid "File Locations"
-msgstr "Emplacement des fichiers"
+#: utils/cache/relmapper.c:760
+#, c-format
+msgid "could not close relation mapping file \"%s\": %m"
+msgstr "n'a pas pu fermer le fichier de correspondance des relations « %s » : %m"
 
-#: utils/misc/guc.c:480
-msgid "Connections and Authentication"
-msgstr "Connexions et authentification"
+#: utils/mmgr/aset.c:417
+#, c-format
+msgid "Failed while creating memory context \"%s\"."
+msgstr "Échec lors de la création du contexte mémoire « %s »."
 
-#: utils/misc/guc.c:482
-msgid "Connections and Authentication / Connection Settings"
-msgstr "Connexions et authentification / Paramètrages de connexion"
+#: utils/mmgr/aset.c:588
+#: utils/mmgr/aset.c:766
+#: utils/mmgr/aset.c:967
+#, c-format
+msgid "Failed on request of size %lu."
+msgstr "Échec d'une requête de taille %lu."
 
-#: utils/misc/guc.c:484
-msgid "Connections and Authentication / Security and Authentication"
-msgstr "Connexions et authentification / Sécurité et authentification"
+#: utils/mmgr/portalmem.c:207
+#, c-format
+msgid "cursor \"%s\" already exists"
+msgstr "le curseur « %s » existe déjà"
 
-#: utils/misc/guc.c:486
-msgid "Resource Usage"
-msgstr "Utilisation des ressources"
+#: utils/mmgr/portalmem.c:211
+#, c-format
+msgid "closing existing cursor \"%s\""
+msgstr "fermeture du curseur existant « %s »"
 
-#: utils/misc/guc.c:488
-msgid "Resource Usage / Memory"
-msgstr "Utilisation des ressources / Mémoire"
+#: utils/mmgr/portalmem.c:448
+#, c-format
+msgid "cannot drop active portal \"%s\""
+msgstr "ne peut pas supprimer le portail actif « %s »"
 
-#: utils/misc/guc.c:490
-msgid "Resource Usage / Kernel Resources"
-msgstr "Utilisation des ressources / Ressources noyau"
+#: utils/mmgr/portalmem.c:635
+msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD"
+msgstr "ne peut pas préparer une transaction qui a créé un curseur WITH HOLD"
 
-#: utils/misc/guc.c:492
-msgid "Resource Usage / Cost-Based Vacuum Delay"
-msgstr "Utilisation des ressources / Délai du VACUUM basé sur le coût"
+#: utils/fmgr/dfmgr.c:125
+#, c-format
+msgid "could not find function \"%s\" in file \"%s\""
+msgstr "n'a pas pu trouver la fonction « %s » dans le fichier « %s »"
 
-#: utils/misc/guc.c:494
-msgid "Resource Usage / Background Writer"
-msgstr "Utilisation des ressources / Processus d'écriture en tâche de fond"
+#: utils/fmgr/dfmgr.c:204
+#: utils/fmgr/dfmgr.c:413
+#: utils/fmgr/dfmgr.c:461
+#, c-format
+msgid "could not access file \"%s\": %m"
+msgstr "n'a pas pu accéder au fichier « %s » : %m"
 
-#: utils/misc/guc.c:496
-msgid "Resource Usage / Asynchronous Behavior"
-msgstr "Utilisation des ressources / Comportement asynchrone"
+#: utils/fmgr/dfmgr.c:242
+#, c-format
+msgid "could not load library \"%s\": %s"
+msgstr "n'a pas pu charger la bibliothèque « %s » : %s"
 
-#: utils/misc/guc.c:498
-msgid "Write-Ahead Log"
-msgstr "Write-Ahead Log"
+#: utils/fmgr/dfmgr.c:274
+#, c-format
+msgid "incompatible library \"%s\": missing magic block"
+msgstr "bibliothèque « %s » incompatible : bloc magique manquant"
 
-#: utils/misc/guc.c:500
-msgid "Write-Ahead Log / Settings"
-msgstr "Write-Ahead Log / Paramètrages"
+#: utils/fmgr/dfmgr.c:276
+msgid "Extension libraries are required to use the PG_MODULE_MAGIC macro."
+msgstr ""
+"Les bibliothèques étendues nécessitent l'utilisation de la macro\n"
+"PG_MODULE_MAGIC."
 
-#: utils/misc/guc.c:502
-msgid "Write-Ahead Log / Checkpoints"
-msgstr "Write-Ahead Log / Points de vérification (Checkpoints)"
+#: utils/fmgr/dfmgr.c:312
+#, c-format
+msgid "incompatible library \"%s\": version mismatch"
+msgstr "bibliothèque « %s » incompatible : versions différentes"
 
-#: utils/misc/guc.c:504
-msgid "Write-Ahead Log / Archiving"
-msgstr "Write-Ahead Log / Archivage"
+#: utils/fmgr/dfmgr.c:314
+#, c-format
+msgid "Server is version %d.%d, library is version %d.%d."
+msgstr "La version du serveur est %d.%d, celle de la bibliothèque est %d.%d."
 
-#: utils/misc/guc.c:506
-msgid "Write-Ahead Log / Streaming Replication"
-msgstr "Write-Ahead Log / Réplication en flux"
+#: utils/fmgr/dfmgr.c:333
+#, c-format
+msgid "Server has FUNC_MAX_ARGS = %d, library has %d."
+msgstr "Le serveur a FUNC_MAX_ARGS = %d, la bibliothèque a %d."
 
-#: utils/misc/guc.c:508
-msgid "Write-Ahead Log / Standby Servers"
-msgstr "Write-Ahead Log / Serveurs en attente"
+#: utils/fmgr/dfmgr.c:342
+#, c-format
+msgid "Server has INDEX_MAX_KEYS = %d, library has %d."
+msgstr "Le serveur a INDEX_MAX_KEYS = %d, la bibliothèque a %d."
 
-#: utils/misc/guc.c:510
-msgid "Query Tuning"
-msgstr "Optimisation des requêtes"
+#: utils/fmgr/dfmgr.c:351
+#, c-format
+msgid "Server has NAMEDATALEN = %d, library has %d."
+msgstr "Le serveur a NAMEDATALEN = %d, la bibliothèque a %d."
 
-#: utils/misc/guc.c:512
-msgid "Query Tuning / Planner Method Configuration"
-msgstr "Optimisation des requêtes / Configuration de la méthode du planificateur"
+#: utils/fmgr/dfmgr.c:360
+#, c-format
+msgid "Server has FLOAT4PASSBYVAL = %s, library has %s."
+msgstr "Le serveur a FLOAT4PASSBYVAL = %s, la bibliothèque a %s."
 
-#: utils/misc/guc.c:514
-msgid "Query Tuning / Planner Cost Constants"
-msgstr "Optimisation des requêtes / Constantes des coûts du planificateur"
+#: utils/fmgr/dfmgr.c:369
+#, c-format
+msgid "Server has FLOAT8PASSBYVAL = %s, library has %s."
+msgstr "Le serveur a FLOAT8PASSBYVAL = %s, la bibliothèque a %s."
 
-#: utils/misc/guc.c:516
-msgid "Query Tuning / Genetic Query Optimizer"
-msgstr "Optimisation des requêtes / Optimiseur génétique de requêtes"
+#: utils/fmgr/dfmgr.c:376
+msgid "Magic block has unexpected length or padding difference."
+msgstr "Le bloc magique a une longueur inattendue ou une différence de padding."
 
-#: utils/misc/guc.c:518
-msgid "Query Tuning / Other Planner Options"
-msgstr "Optimisation des requêtes / Autres options du planificateur"
+#: utils/fmgr/dfmgr.c:379
+#, c-format
+msgid "incompatible library \"%s\": magic block mismatch"
+msgstr "bibliothèque « %s » incompatible : différences dans le bloc magique"
 
-#: utils/misc/guc.c:520
-msgid "Reporting and Logging"
-msgstr "Rapports et traces"
+#: utils/fmgr/dfmgr.c:545
+#, c-format
+msgid "access to library \"%s\" is not allowed"
+msgstr "l'accès à la bibliothèque « %s » n'est pas autorisé"
 
-#: utils/misc/guc.c:522
-msgid "Reporting and Logging / Where to Log"
-msgstr "Rapports et traces / Où tracer"
+#: utils/fmgr/dfmgr.c:572
+#, c-format
+msgid "invalid macro name in dynamic library path: %s"
+msgstr "nom de macro invalide dans le chemin des bibliothèques partagées : %s"
 
-#: utils/misc/guc.c:524
-msgid "Reporting and Logging / When to Log"
-msgstr "Rapports et traces / Quand tracer"
+#: utils/fmgr/dfmgr.c:617
+msgid "zero-length component in parameter \"dynamic_library_path\""
+msgstr "composant de longueur zéro dans le paramètre « dynamic_library_path »"
 
-#: utils/misc/guc.c:526
-msgid "Reporting and Logging / What to Log"
-msgstr "Rapports et traces / Que tracer"
+#: utils/fmgr/dfmgr.c:636
+msgid "component in parameter \"dynamic_library_path\" is not an absolute path"
+msgstr "Un composant du paramètre « dynamic_library_path » n'est pas un chemin absolu"
 
-#: utils/misc/guc.c:528
-msgid "Statistics"
-msgstr "Statistiques"
+#: utils/fmgr/fmgr.c:270
+#, c-format
+msgid "internal function \"%s\" is not in internal lookup table"
+msgstr "la fonction interne « %s » n'est pas dans une table de recherche interne"
 
-#: utils/misc/guc.c:530
-msgid "Statistics / Monitoring"
-msgstr "Statistiques / Surveillance"
+#: utils/fmgr/fmgr.c:474
+#, c-format
+msgid "unrecognized API version %d reported by info function \"%s\""
+msgstr "version API %d non reconnue mais rapportée par la fonction info « %s »"
 
-#: utils/misc/guc.c:532
-msgid "Statistics / Query and Index Statistics Collector"
-msgstr "Statistiques / Récupérateur des statistiques sur les requêtes et sur les index"
+#: utils/fmgr/fmgr.c:845
+#: utils/fmgr/fmgr.c:2106
+#, c-format
+msgid "function %u has too many arguments (%d, maximum is %d)"
+msgstr "la fonction %u a trop d'arguments (%d, le maximum étant %d)"
 
-#: utils/misc/guc.c:534
-msgid "Autovacuum"
-msgstr "Autovacuum"
+#: utils/fmgr/funcapi.c:354
+#, c-format
+msgid "could not determine actual result type for function \"%s\" declared to return type %s"
+msgstr ""
+"n'a pas pu déterminer le type du résultat actuel pour la fonction « %s »\n"
+"déclarant retourner le type %s"
 
-#: utils/misc/guc.c:536
-msgid "Client Connection Defaults"
-msgstr "Valeurs par défaut pour les connexions client"
+#: utils/fmgr/funcapi.c:1208
+#: utils/fmgr/funcapi.c:1239
+msgid "number of aliases does not match number of columns"
+msgstr "le nombre d'alias ne correspond pas au nombre de colonnes"
 
-#: utils/misc/guc.c:538
-msgid "Client Connection Defaults / Statement Behavior"
-msgstr "Valeurs par défaut pour les connexions client / Comportement des instructions"
+#: utils/fmgr/funcapi.c:1233
+msgid "no column alias was provided"
+msgstr "aucun alias de colonne n'a été fourni"
 
-#: utils/misc/guc.c:540
-msgid "Client Connection Defaults / Locale and Formatting"
-msgstr "Valeurs par défaut pour les connexions client / Locale et formattage"
+#: utils/fmgr/funcapi.c:1257
+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\n"
+"l'enregistrement"
 
-#: utils/misc/guc.c:542
-msgid "Client Connection Defaults / Other Defaults"
-msgstr "Valeurs par défaut pour les connexions client / Autres valeurs par défaut"
+#: utils/init/miscinit.c:115
+#, c-format
+msgid "could not change directory to \"%s\": %m"
+msgstr "n'a pas pu modifier le répertoire par « %s » : %m"
 
-#: utils/misc/guc.c:544
-msgid "Lock Management"
-msgstr "Gestion des verrous"
+#: utils/init/miscinit.c:381
+#: utils/misc/guc.c:5255
+#, c-format
+msgid "cannot set parameter \"%s\" within security-restricted operation"
+msgstr ""
+"ne peut pas configurer le paramètre « %s » à l'intérieur d'une fonction\n"
+"restreinte pour sécurité"
 
-#: utils/misc/guc.c:546
-msgid "Version and Platform Compatibility"
-msgstr "Compatibilité des versions et des plateformes"
+#: utils/init/miscinit.c:460
+#, c-format
+msgid "role \"%s\" is not permitted to log in"
+msgstr "le rôle « %s » n'est pas autorisé à se connecter"
 
-#: utils/misc/guc.c:548
-msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
-msgstr "Compatibilité des versions et des plateformes / Anciennes versions de PostgreSQL"
+#: utils/init/miscinit.c:478
+#, c-format
+msgid "too many connections for role \"%s\""
+msgstr "trop de connexions pour le rôle « %s »"
 
-#: utils/misc/guc.c:550
-msgid "Version and Platform Compatibility / Other Platforms and Clients"
-msgstr "Compatibilité des versions et des plateformes / Anciennes plateformes et anciens clients"
+#: utils/init/miscinit.c:538
+msgid "permission denied to set session authorization"
+msgstr "droit refusé pour initialiser une autorisation de session"
 
-#: utils/misc/guc.c:552
-msgid "Preset Options"
-msgstr "Options pré-configurées"
+#: utils/init/miscinit.c:618
+#, c-format
+msgid "invalid role OID: %u"
+msgstr "OID du rôle invalide : %u"
 
-#: utils/misc/guc.c:554
-msgid "Customized Options"
-msgstr "Options personnalisées"
+#: utils/init/miscinit.c:750
+#, c-format
+msgid "could not create lock file \"%s\": %m"
+msgstr "n'a pas pu créer le fichier verrou « %s » : %m"
 
-#: utils/misc/guc.c:556
-msgid "Developer Options"
-msgstr "Options pour le développeur"
+#: utils/init/miscinit.c:764
+#, c-format
+msgid "could not open lock file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier verrou « %s » : %m"
 
-#: utils/misc/guc.c:610
-msgid "Enables the planner's use of sequential-scan plans."
-msgstr "Active l'utilisation des parcours séquentiels par le planificateur."
+#: utils/init/miscinit.c:770
+#, c-format
+msgid "could not read lock file \"%s\": %m"
+msgstr "n'a pas pu lire le fichier verrou « %s » : %m"
 
-#: utils/misc/guc.c:618
-msgid "Enables the planner's use of index-scan plans."
-msgstr "Active l'utilisation des parcours d'index par le planificateur."
+#: utils/init/miscinit.c:818
+#, c-format
+msgid "lock file \"%s\" already exists"
+msgstr "le fichier verrou « %s » existe déjà"
 
-#: utils/misc/guc.c:626
-msgid "Enables the planner's use of bitmap-scan plans."
-msgstr "Active l'utilisation des parcours de bitmap par le planificateur."
+#: utils/init/miscinit.c:822
+#, c-format
+msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
+msgstr ""
+"Un autre postgres (de PID %d) est-il déjà lancé avec comme répertoire de\n"
+"données « %s » ?"
 
-#: utils/misc/guc.c:634
-msgid "Enables the planner's use of TID scan plans."
-msgstr "Active l'utilisation de plans de parcours TID par le planificateur."
+#: utils/init/miscinit.c:824
+#, c-format
+msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
+msgstr ""
+"Un autre postmaster (de PID %d) est-il déjà lancé avec comme répertoire de\n"
+"données « %s » ?"
 
-#: utils/misc/guc.c:642
-msgid "Enables the planner's use of explicit sort steps."
-msgstr "Active l'utilisation des étapes de tris explicites par le planificateur."
+#: utils/init/miscinit.c:827
+#, c-format
+msgid "Is another postgres (PID %d) using socket file \"%s\"?"
+msgstr "Un autre postgres (de PID %d) est-il déjà lancé en utilisant la socket « %s » ?"
 
-#: utils/misc/guc.c:650
-msgid "Enables the planner's use of hashed aggregation plans."
-msgstr "Active l'utilisation de plans d'agrégats hâchés par le planificateur."
+#: utils/init/miscinit.c:829
+#, c-format
+msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
+msgstr "Un autre postmaster (de PID %d) est-il déjà lancé en utilisant la socket « %s » ?"
 
-#: utils/misc/guc.c:658
-msgid "Enables the planner's use of materialization."
-msgstr "Active l'utilisation de la matérialisation par le planificateur."
+#: utils/init/miscinit.c:865
+#, c-format
+msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
+msgstr ""
+"le bloc de mémoire partagé pré-existant (clé %lu, ID %lu) est en cours\n"
+"d'utilisation"
 
-#: utils/misc/guc.c:666
-msgid "Enables the planner's use of nested-loop join plans."
-msgstr "Active l'utilisation de plans avec des jointures imbriquées par le planificateur."
+#: utils/init/miscinit.c:868
+#, c-format
+msgid "If you're sure there are no old server processes still running, remove the shared memory block or just delete the file \"%s\"."
+msgstr ""
+"Si vous êtes sûr qu'aucun processus serveur n'est toujours en cours\n"
+"d'exécution, supprimez le bloc de mémoire partagée\n"
+"ou supprimez simplement le fichier « %s »."
 
-#: utils/misc/guc.c:674
-msgid "Enables the planner's use of merge join plans."
-msgstr "Active l'utilisation de plans de jointures MERGE par le planificateur."
+#: utils/init/miscinit.c:884
+#, c-format
+msgid "could not remove old lock file \"%s\": %m"
+msgstr "n'a pas pu supprimer le vieux fichier verrou « %s » : %m"
 
-#: utils/misc/guc.c:682
-msgid "Enables the planner's use of hash join plans."
-msgstr "Active l'utilisation de plans de jointures hâchées par le planificateur."
+#: utils/init/miscinit.c:886
+msgid "The file seems accidentally left over, but it could not be removed. Please remove the file by hand and try again."
+msgstr ""
+"Le fichier semble avoir été oublié accidentellement mais il ne peut pas être\n"
+"supprimé. Merci de supprimer ce fichier manuellement et de ré-essayer."
 
-#: utils/misc/guc.c:690
-msgid "Enables genetic query optimization."
-msgstr "Active l'optimisation génétique des requêtes."
+#: utils/init/miscinit.c:920
+#: utils/init/miscinit.c:931
+#: utils/init/miscinit.c:941
+#, c-format
+msgid "could not write lock file \"%s\": %m"
+msgstr "n'a pas pu écrire le fichier verrou « %s » : %m"
 
-#: utils/misc/guc.c:691
-msgid "This algorithm attempts to do planning without exhaustive searching."
-msgstr "Cet algorithme essaie de faire une planification sans recherche exhaustive."
+#: utils/init/miscinit.c:1048
+#: utils/misc/guc.c:7507
+#, c-format
+msgid "could not read from file \"%s\": %m"
+msgstr "n'a pas pu lire à partir du fichier « %s » : %m"
 
-#: utils/misc/guc.c:700
-msgid "Shows whether the current user is a superuser."
-msgstr "Affiche si l'utilisateur actuel est un super-utilisateur."
+#: utils/init/miscinit.c:1147
+#: utils/init/miscinit.c:1160
+#, c-format
+msgid "\"%s\" is not a valid data directory"
+msgstr "« %s » n'est pas un répertoire de données valide"
 
-#: utils/misc/guc.c:709
-msgid "Enables advertising the server via Bonjour."
-msgstr "Active la publication du serveur via Bonjour."
+#: utils/init/miscinit.c:1149
+#, c-format
+msgid "File \"%s\" is missing."
+msgstr "le fichier « %s » est manquant."
 
-#: utils/misc/guc.c:717
-msgid "Enables SSL connections."
-msgstr "Active les connexions SSL."
+#: utils/init/miscinit.c:1162
+#, c-format
+msgid "File \"%s\" does not contain valid data."
+msgstr "le fichier « %s » ne contient aucune données valides."
 
-#: utils/misc/guc.c:725
-msgid "Forces synchronization of updates to disk."
-msgstr "Force la synchronisation des mises à jour sur le disque."
+#: utils/init/miscinit.c:1164
+msgid "You might need to initdb."
+msgstr "Vous pouvez avoir besoin d'exécuter initdb."
 
-#: utils/misc/guc.c:726
-msgid "The server will use the fsync() system call in several places to make sure that updates are physically written to disk. This insures that a database cluster will recover to a consistent state after an operating system or hardware crash."
+#: utils/init/miscinit.c:1172
+#, c-format
+msgid "The data directory was initialized by PostgreSQL version %ld.%ld, which is not compatible with this version %s."
 msgstr ""
-"Le serveur utilisera l'appel système fsync() à différents endroits pour\n"
-"s'assurer que les mises à jour sont écrites physiquement sur le disque. Ceci\n"
-"nous assure qu'un groupe de bases de données se retrouvera dans un état\n"
-"cohérent après un arrêt brutal dû au système d'exploitation ou au matériel."
-
-#: utils/misc/guc.c:736
-msgid "Sets immediate fsync at commit."
-msgstr "Configure un fsync immédiat lors du commit."
-
-#: utils/misc/guc.c:744
-msgid "Continues processing past damaged page headers."
-msgstr "Continue le travail après les en-têtes de page endommagés."
+"Le répertoire des données a été initialisé avec PostgreSQL version %ld.%ld,\n"
+"qui est non compatible avec cette version %s."
 
-#: utils/misc/guc.c:745
-msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting zero_damaged_pages to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page."
-msgstr ""
-"La détection d'une en-tête de page endommagée cause normalement le rapport\n"
-"d'une erreur par PostgreSQL, l'annulation de la transaction en cours.\n"
-"Initialiser zero_damaged_pages à true fait que le système ne rapporte qu'un\n"
-"message d'attention et continue à travailler. Ce comportement détruira des\n"
-"données, notamment toutes les lignes de la page endommagée."
+#: utils/init/miscinit.c:1220
+#, c-format
+msgid "invalid list syntax in parameter \"%s\""
+msgstr "syntaxe de liste invalide pour le paramètre « %s »"
 
-#: utils/misc/guc.c:757
-msgid "Writes full pages to WAL when first modified after a checkpoint."
-msgstr ""
-"Écrit des pages complètes dans les WAL lors d'une première modification après\n"
-"un point de vérification."
+#: utils/init/miscinit.c:1257
+#, c-format
+msgid "loaded library \"%s\""
+msgstr "bibliothèque « %s » chargée"
 
-#: utils/misc/guc.c:758
-msgid "A page write in process during an operating system crash might be only partially written to disk.  During recovery, the row changes stored in WAL are not enough to recover.  This option writes pages when first modified after a checkpoint to WAL so full recovery is possible."
-msgstr ""
-"Une page écrite au moment d'un arrêt brutal du système d'exploitation\n"
-"pourrait être seulement partiellement écrite sur le disque. Lors de la\n"
-"récupération, les modifications de la ligne, stockées dans le journal de\n"
-"transaction, ne seront pas suffisantes pour terminer la récupération. Cette\n"
-"option écrit les pages lors de la première modification après un point de\n"
-"vérification des journaux de transaction pour que la récupération complète\n"
-"soit possible."
+#: utils/init/postinit.c:225
+#, c-format
+msgid "replication connection authorized: user=%s"
+msgstr "connexion de réplication autorisée : utilisateur=%s"
 
-#: utils/misc/guc.c:769
-msgid "Runs the server silently."
-msgstr "Lance le serveur de manière silencieuse."
+#: utils/init/postinit.c:229
+#, c-format
+msgid "connection authorized: user=%s database=%s"
+msgstr "connexion autorisée : utilisateur=%s, base de données=%s"
 
-#: utils/misc/guc.c:770
-msgid "If this parameter is set, the server will automatically run in the background and any controlling terminals are dissociated."
-msgstr ""
-"Si ce paramètre est initialisé, le serveur sera exécuté automatiquement en\n"
-"tâche de fond et les terminaux de contrôles seront dés-associés."
+#: utils/init/postinit.c:260
+#, c-format
+msgid "database \"%s\" has disappeared from pg_database"
+msgstr "la base de données « %s » a disparu de pg_database"
 
-#: utils/misc/guc.c:778
-msgid "Logs each checkpoint."
-msgstr "Trace tous les points de vérification."
+#: utils/init/postinit.c:262
+#, c-format
+msgid "Database OID %u now seems to belong to \"%s\"."
+msgstr "La base de données d'OID %u semble maintenant appartenir à « %s »."
 
-#: utils/misc/guc.c:786
-msgid "Logs each successful connection."
-msgstr "Trace toutes les connexions réussies."
+#: utils/init/postinit.c:282
+#, c-format
+msgid "database \"%s\" is not currently accepting connections"
+msgstr "la base de données « %s » n'accepte plus les connexions"
 
-#: utils/misc/guc.c:794
-msgid "Logs end of a session, including duration."
-msgstr "Trace la fin d'une session, avec sa durée."
+#: utils/init/postinit.c:295
+#, c-format
+msgid "permission denied for database \"%s\""
+msgstr "droit refusé pour la base de données « %s »"
 
-#: utils/misc/guc.c:802
-msgid "Turns on various assertion checks."
-msgstr "Active les différentes vérifications des assertions."
+#: utils/init/postinit.c:296
+msgid "User does not have CONNECT privilege."
+msgstr "L'utilisateur n'a pas le droit CONNECT."
 
-#: utils/misc/guc.c:803
-msgid "This is a debugging aid."
-msgstr "C'est une aide de débogage."
+#: utils/init/postinit.c:313
+#, c-format
+msgid "too many connections for database \"%s\""
+msgstr "trop de connexions pour la base de données « %s »"
 
-#: utils/misc/guc.c:817
-#: utils/misc/guc.c:899
-#: utils/misc/guc.c:958
-#: utils/misc/guc.c:967
-#: utils/misc/guc.c:976
-#: utils/misc/guc.c:985
-#: utils/misc/guc.c:1587
-#: utils/misc/guc.c:1596
-msgid "No description available."
-msgstr "Aucune description disponible."
+#: utils/init/postinit.c:335
+#: utils/init/postinit.c:342
+msgid "database locale is incompatible with operating system"
+msgstr "la locale de la base de données est incompatible avec le système d'exploitation"
 
-#: utils/misc/guc.c:826
-msgid "Logs the duration of each completed SQL statement."
-msgstr "Trace la durée de chaque instruction SQL terminée."
+#: utils/init/postinit.c:336
+#, c-format
+msgid "The database was initialized with LC_COLLATE \"%s\",  which is not recognized by setlocale()."
+msgstr ""
+"La base de données a été initialisée avec un LC_COLLATE à « %s »,\n"
+"qui n'est pas reconnu par setlocale()."
 
-#: utils/misc/guc.c:834
-msgid "Logs each query's parse tree."
-msgstr "Trace l'arbre d'analyse de chaque requête."
+#: utils/init/postinit.c:338
+#: utils/init/postinit.c:345
+msgid "Recreate the database with another locale or install the missing locale."
+msgstr ""
+"Recréez la base de données avec une autre locale ou installez la locale\n"
+"manquante."
 
-#: utils/misc/guc.c:842
-msgid "Logs each query's rewritten parse tree."
-msgstr "Trace l'arbre d'analyse réécrit de chaque requête."
+#: utils/init/postinit.c:343
+#, c-format
+msgid "The database was initialized with LC_CTYPE \"%s\",  which is not recognized by setlocale()."
+msgstr ""
+"La base de données a été initialisée avec un LC_CTYPE à « %s »,\n"
+"qui n'est pas reconnu par setlocale()."
 
-#: utils/misc/guc.c:850
-msgid "Logs each query's execution plan."
-msgstr "Trace le plan d'exécution de chaque requête."
+#: utils/init/postinit.c:597
+msgid "no roles are defined in this database system"
+msgstr "aucun rôle n'est défini dans le système de bases de données"
 
-#: utils/misc/guc.c:858
-msgid "Indents parse and plan tree displays."
-msgstr "Indente l'affichage des arbres d'analyse et de planification."
+#: utils/init/postinit.c:598
+#, c-format
+msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
+msgstr "Vous devez immédiatement exécuter « CREATE USER \"%s\" CREATEUSER; »."
 
-#: utils/misc/guc.c:866
-msgid "Writes parser performance statistics to the server log."
+#: utils/init/postinit.c:621
+msgid "new replication connections are not allowed during database shutdown"
 msgstr ""
-"Écrit les statistiques de performance de l'analyseur dans les journaux applicatifs\n"
-"du serveur."
+"les nouvelles connexions pour la réplication ne sont pas autorisées pendant\n"
+"l'arrêt du serveur de base de données"
 
-#: utils/misc/guc.c:874
-msgid "Writes planner performance statistics to the server log."
+#: utils/init/postinit.c:625
+msgid "must be superuser to connect during database shutdown"
 msgstr ""
-"Écrit les statistiques de performance de planification dans les journaux\n"
-"applicatifs du serveur."
+"doit être super-utilisateur pour se connecter pendant un arrêt de la base de\n"
+"données"
 
-#: utils/misc/guc.c:882
-msgid "Writes executor performance statistics to the server log."
-msgstr ""
-"Écrit les statistiques de performance de l'exécuteur dans les journaux applicatifs\n"
-"du serveur."
+#: utils/init/postinit.c:635
+msgid "must be superuser to connect in binary upgrade mode"
+msgstr "doit être super-utilisateur pour se connecter en mode de mise à jour binaire"
 
-#: utils/misc/guc.c:890
-msgid "Writes cumulative performance statistics to the server log."
+#: utils/init/postinit.c:649
+msgid "remaining connection slots are reserved for non-replication superuser connections"
 msgstr ""
-"Écrit les statistiques de performance cumulatives dans les journaux applicatifs\n"
-"du serveur."
+"les emplacements de connexions restants sont réservés pour les connexion\n"
+"superutilisateur non relatif à la réplication"
 
-#: utils/misc/guc.c:910
-msgid "Collects information about executing commands."
-msgstr "Récupère les statistiques sur les commandes en exécution."
+#: utils/init/postinit.c:664
+msgid "must be replication role to start walsender"
+msgstr "doit être un rôle ayant l'attribut de réplication pour exécuter walsender"
 
-#: utils/misc/guc.c:911
-msgid "Enables the collection of information on the currently executing command of each session, along with the time at which that command began execution."
-msgstr ""
-"Active la récupération d'informations sur la commande en cours d'exécution\n"
-"pour chaque session, avec l'heure de début de l'exécution de la commande."
+#: utils/init/postinit.c:724
+#, c-format
+msgid "database %u does not exist"
+msgstr "la base de données « %u » n'existe pas"
 
-#: utils/misc/guc.c:920
-msgid "Collects statistics on database activity."
-msgstr "Récupère les statistiques sur l'activité de la base de données."
+#: utils/init/postinit.c:776
+msgid "It seems to have just been dropped or renamed."
+msgstr "Cet objet semble avoir été tout juste supprimé ou renommé."
 
-#: utils/misc/guc.c:929
-msgid "Updates the process title to show the active SQL command."
-msgstr ""
-"Met à jour le titre du processus pour indiquer la commande SQL en cours\n"
-"d'exécution."
+#: utils/init/postinit.c:794
+#, c-format
+msgid "The database subdirectory \"%s\" is missing."
+msgstr "Le sous-répertoire de la base de données « %s » est manquant."
 
-#: utils/misc/guc.c:930
-msgid "Enables updating of the process title every time a new SQL command is received by the server."
-msgstr ""
-"Active la mise à jour du titre du processus chaque fois qu'une nouvelle\n"
-"commande SQL est reçue par le serveur."
+#: utils/init/postinit.c:799
+#, c-format
+msgid "could not access directory \"%s\": %m"
+msgstr "n'a pas pu accéder au répertoire « %s » : %m"
 
-#: utils/misc/guc.c:938
-msgid "Starts the autovacuum subprocess."
-msgstr "Exécute le sous-processus de l'autovacuum."
+#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:136
+#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:163
+#, c-format
+msgid "unexpected encoding ID %d for ISO 8859 character sets"
+msgstr "identifiant d'encodage %d inattendu pour les jeux de caractères ISO-8859"
 
-#: utils/misc/guc.c:947
-msgid "Generates debugging output for LISTEN and NOTIFY."
-msgstr "Génère une sortie de débogage pour LISTEN et NOTIFY."
+#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:126
+#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:153
+#, c-format
+msgid "unexpected encoding ID %d for WIN character sets"
+msgstr "identifiant d'encodage %d inattendu pour les jeux de caractères WIN"
 
-#: utils/misc/guc.c:996
-msgid "Logs long lock waits."
-msgstr "Trace les attentes longues de verrou."
+#: utils/mb/conv.c:509
+#, c-format
+msgid "invalid encoding number: %d"
+msgstr "numéro d'encodage invalide : %d"
 
-#: utils/misc/guc.c:1005
-msgid "Logs the host name in the connection logs."
-msgstr "Trace le nom d'hôte dans les traces de connexion."
+#: utils/mb/encnames.c:485
+msgid "encoding name too long"
+msgstr "nom d'encodage trop long"
 
-#: utils/misc/guc.c:1006
-msgid "By default, connection logs only show the IP address of the connecting host. If you want them to show the host name you can turn this on, but depending on your host name resolution setup it might impose a non-negligible performance penalty."
-msgstr ""
-"Par défaut, les traces de connexion n'affichent que l'adresse IP de l'hôte\n"
-"se connectant. Si vous voulez que s'affiche le nom de l'hôte, vous devez\n"
-"activer cette option mais suivant la configuration de la résolution de noms\n"
-"pour votre hôte, cela pourrait imposer des dégradations de performances non\n"
-"négligeables."
+#: utils/mb/mbutils.c:281
+#, c-format
+msgid "conversion between %s and %s is not supported"
+msgstr "la conversion entre %s et %s n'est pas supportée"
 
-#: utils/misc/guc.c:1016
-msgid "Causes subtables to be included by default in various commands."
+#: utils/mb/mbutils.c:351
+#, c-format
+msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist"
 msgstr ""
-"Fait que les sous-tables soient incluses par défaut dans les différentes\n"
-"commandes."
+"la fonction de conversion par défaut pour l'encodage de « %s » en « %s »\n"
+"n'existe pas"
 
-#: utils/misc/guc.c:1024
-msgid "Encrypt passwords."
-msgstr "Chiffre les mots de passe."
+#: utils/mb/mbutils.c:375
+#: utils/mb/mbutils.c:676
+#, c-format
+msgid "String of %d bytes is too long for encoding conversion."
+msgstr "Une chaîne de %d octets est trop longue pour la conversion d'encodage."
 
-#: utils/misc/guc.c:1025
-msgid "When a password is specified in CREATE USER or ALTER USER without writing either ENCRYPTED or UNENCRYPTED, this parameter determines whether the password is to be encrypted."
-msgstr ""
-"Lorsqu'un mot de passe est spécifié dans CREATE USER ou ALTER USER sans\n"
-"indiquer ENCRYPTED ou UNENCRYPTED, ce paramètre détermine si le mot de passe\n"
-"doit être chiffré."
+#: utils/mb/mbutils.c:462
+#, c-format
+msgid "invalid source encoding name \"%s\""
+msgstr "nom de l'encodage source « %s » invalide"
 
-#: utils/misc/guc.c:1034
-msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
-msgstr "Traite « expr=NULL » comme « expr IS NULL »."
+#: utils/mb/mbutils.c:467
+#, c-format
+msgid "invalid destination encoding name \"%s\""
+msgstr "nom de l'encodage destination « %s » invalide"
 
-#: utils/misc/guc.c:1035
-msgid "When turned on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL, that is, they return true if expr evaluates to the null value, and false otherwise. The correct behavior of expr = NULL is to always return null (unknown)."
-msgstr ""
-"Une fois activé, les expressions de la forme expr = NULL (ou NULL = expr)\n"
-"sont traitées comme expr IS NULL, c'est-à-dire qu'elles renvoient true si\n"
-"l'expression est évaluée comme étant NULL et false sinon. Le comportement\n"
-"correct de expr = NULL est de toujours renvoyer NULL (inconnu)."
+#: utils/mb/mbutils.c:589
+#, c-format
+msgid "invalid byte value for encoding \"%s\": 0x%02x"
+msgstr "valeur d'octet invalide pour l'encodage « %s » : 0x%02x"
 
-#: utils/misc/guc.c:1046
-msgid "Enables per-database user names."
-msgstr "Active les noms d'utilisateur par base de données."
+#: utils/mb/wchar.c:1611
+#, c-format
+msgid "invalid byte sequence for encoding \"%s\": 0x%s"
+msgstr "séquence d'octets invalide pour l'encodage « %s » : 0x%s"
 
-#: utils/misc/guc.c:1055
-msgid "This parameter doesn't do anything."
-msgstr "Ce paramètre ne fait rien."
+#: utils/mb/wchar.c:1640
+#, c-format
+msgid "character 0x%s of encoding \"%s\" has no equivalent in \"%s\""
+msgstr "le caractère 0x%s du codage « %s » n'a pas d'équivalent dans « %s »"
 
-#: utils/misc/guc.c:1056
-msgid "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients."
+#: utils/misc/tzparser.c:61
+#, c-format
+msgid "time zone abbreviation \"%s\" is too long (maximum %d characters) in time zone file \"%s\", line %d"
 msgstr ""
-"C'est ici uniquement pour ne pas avoir de problèmes avec le SET AUTOCOMMIT\n"
-"TO ON des clients 7.3."
+"l'abréviation « %s » du fuseau horaire est trop long (maximum %d caractères)\n"
+"dans le fichier de fuseaux horaires « %s », ligne %d"
 
-#: utils/misc/guc.c:1064
-msgid "Sets the default read-only status of new transactions."
-msgstr "Initialise le statut de lecture seule par défaut des nouvelles transactions."
+#: utils/misc/tzparser.c:68
+#, c-format
+msgid "time zone offset %d is not a multiple of 900 sec (15 min) in time zone file \"%s\", line %d"
+msgstr ""
+"le décalage %d du fuseau horaire n'est pas un multiples de 900 secondes\n"
+"(15 minutes) dans le fichier des fuseaux horaires « %s », ligne %d"
 
-#: utils/misc/guc.c:1072
-msgid "Sets the current transaction's read-only status."
-msgstr "Affiche le statut de lecture seule de la transaction actuelle."
+#: utils/misc/tzparser.c:80
+#, c-format
+msgid "time zone offset %d is out of range in time zone file \"%s\", line %d"
+msgstr ""
+"le décalage %d du fuseau horaire est en dehors des limites dans le fichier\n"
+"des fuseaux horaires « %s », ligne %d"
 
-#: utils/misc/guc.c:1081
-msgid "Check function bodies during CREATE FUNCTION."
-msgstr "Vérifie les corps de fonction lors du CREATE FUNCTION."
+#: utils/misc/tzparser.c:115
+#, c-format
+msgid "missing time zone abbreviation in time zone file \"%s\", line %d"
+msgstr "abréviation du fuseau horaire manquant dans le fichier « %s », ligne %d"
 
-#: utils/misc/guc.c:1089
-msgid "Enable input of NULL elements in arrays."
-msgstr "Active la saisie d'éléments NULL dans les tableaux."
+#: utils/misc/tzparser.c:124
+#, c-format
+msgid "missing time zone offset in time zone file \"%s\", line %d"
+msgstr "décalage du fuseau horaire manquant dans le fichier « %s », ligne %d"
 
-#: utils/misc/guc.c:1090
-msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally."
+#: utils/misc/tzparser.c:131
+#, c-format
+msgid "invalid number for time zone offset in time zone file \"%s\", line %d"
 msgstr ""
-"Si activé, un NULL sans guillemets en tant que valeur d'entrée dans un\n"
-"tableau signifie une valeur NULL ; sinon, il sera pris littéralement."
-
-#: utils/misc/guc.c:1099
-msgid "Create new tables with OIDs by default."
-msgstr "Crée des nouvelles tables avec des OID par défaut."
+"nombre invalide pour le décalage du fuseau horaire dans le fichier des\n"
+"fuseaux horaires « %s », ligne %d"
 
-#: utils/misc/guc.c:1107
-msgid "Start a subprocess to capture stderr output and/or csvlogs into log files."
-msgstr ""
-"Lance un sous-processus pour capturer la sortie d'erreurs (stderr) et/ou\n"
-"csvlogs dans des journaux applicatifs."
+#: utils/misc/tzparser.c:154
+#, c-format
+msgid "invalid syntax in time zone file \"%s\", line %d"
+msgstr "syntaxe invalide dans le fichier des fuseaux horaires « %s », ligne %d"
 
-#: utils/misc/guc.c:1115
-msgid "Truncate existing log files of same name during log rotation."
-msgstr ""
-"Tronque les journaux applicatifs existants du même nom lors de la rotation\n"
-"des journaux applicatifs."
+#: utils/misc/tzparser.c:218
+#, c-format
+msgid "time zone abbreviation \"%s\" is multiply defined"
+msgstr "l'abréviation « %s » du fuseau horaire est définie plusieurs fois"
 
-#: utils/misc/guc.c:1125
-msgid "Emit information about resource usage in sorting."
-msgstr "Émet des informations sur l'utilisation des ressources lors d'un tri."
+#: utils/misc/tzparser.c:220
+#, c-format
+msgid "Entry in time zone file \"%s\", line %d, conflicts with entry in file \"%s\", line %d."
+msgstr ""
+"L'entrée dans le fichier des fuseaux horaires « %s », ligne %d, est en\n"
+"conflit avec l'entrée du fichier « %s », ligne %d."
 
-#: utils/misc/guc.c:1138
-msgid "Generate debugging output for synchronized scanning."
-msgstr "Génère une sortie de débogage pour les parcours synchronisés."
+#: utils/misc/tzparser.c:285
+#, c-format
+msgid "invalid time zone file name \"%s\""
+msgstr "nom du fichier de fuseaux horaires invalide : « %s »"
 
-#: utils/misc/guc.c:1152
-msgid "Enable bounded sorting using heap sort."
-msgstr "Active le tri limité en utilisant le tri de heap."
+#: utils/misc/tzparser.c:298
+#, c-format
+msgid "time zone file recursion limit exceeded in file \"%s\""
+msgstr ""
+"limite de récursion dépassée dans le fichier « %s » (fichier des fuseaux\n"
+"horaires)"
 
-#: utils/misc/guc.c:1164
-msgid "Emit WAL-related debugging output."
-msgstr "Émet une sortie de débogage concernant les journaux de transactions."
+#: utils/misc/tzparser.c:337
+#: utils/misc/tzparser.c:350
+#, c-format
+msgid "could not read time zone file \"%s\": %m"
+msgstr "n'a pas pu lire le fichier des fuseaux horaires « %s » : %m"
 
-#: utils/misc/guc.c:1175
-msgid "Datetimes are integer based."
-msgstr "Les types datetime sont basés sur des entiers"
+#: utils/misc/tzparser.c:360
+#, c-format
+msgid "line is too long in time zone file \"%s\", line %d"
+msgstr ""
+"une ligne est trop longue dans le fichier des fuseaux horaires « %s »,\n"
+"ligne %d"
 
-#: utils/misc/guc.c:1189
-msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive."
+#: utils/misc/tzparser.c:383
+#, c-format
+msgid "@INCLUDE without file name in time zone file \"%s\", line %d"
 msgstr ""
-"Indique si les noms d'utilisateurs Kerberos et GSSAPI devraient être traités\n"
-"sans se soucier de la casse."
+"@INCLUDE sans nom de fichier dans le fichier des fuseaux horaires « %s »,\n"
+"ligne %d"
 
-#: utils/misc/guc.c:1198
-msgid "Warn about backslash escapes in ordinary string literals."
-msgstr "Avertie sur les échappements par antislash dans les chaînes ordinaires."
+#: utils/misc/guc.c:525
+msgid "Ungrouped"
+msgstr "Dégroupé"
 
-#: utils/misc/guc.c:1207
-msgid "Causes '...' strings to treat backslashes literally."
-msgstr "Fait que les chaînes '...' traitent les antislashs littéralement."
+#: utils/misc/guc.c:527
+msgid "File Locations"
+msgstr "Emplacement des fichiers"
 
-#: utils/misc/guc.c:1217
-msgid "Enable synchronized sequential scans."
-msgstr "Active l'utilisation des parcours séquentiels synchronisés."
+#: utils/misc/guc.c:529
+msgid "Connections and Authentication"
+msgstr "Connexions et authentification"
 
-#: utils/misc/guc.c:1226
-msgid "Allows archiving of WAL files using archive_command."
-msgstr "Autorise l'archivage des journaux de transactions en utilisant archive_command."
+#: utils/misc/guc.c:531
+msgid "Connections and Authentication / Connection Settings"
+msgstr "Connexions et authentification / Paramètrages de connexion"
 
-#: utils/misc/guc.c:1235
-msgid "Allows connections and queries during recovery."
-msgstr "Autorise les connexions et les requêtes pendant la restauration."
+#: utils/misc/guc.c:533
+msgid "Connections and Authentication / Security and Authentication"
+msgstr "Connexions et authentification / Sécurité et authentification"
 
-#: utils/misc/guc.c:1244
-msgid "Allows modifications of the structure of system tables."
-msgstr "Permet les modifications de la structure des tables systèmes."
+#: utils/misc/guc.c:535
+msgid "Resource Usage"
+msgstr "Utilisation des ressources"
 
-#: utils/misc/guc.c:1254
-msgid "Disables reading from system indexes."
-msgstr "Désactive la lecture des index système."
+#: utils/misc/guc.c:537
+msgid "Resource Usage / Memory"
+msgstr "Utilisation des ressources / Mémoire"
 
-#: utils/misc/guc.c:1255
-msgid "It does not prevent updating the indexes, so it is safe to use.  The worst consequence is slowness."
-msgstr ""
-"Cela n'empêche pas la mise à jour des index, donc vous pouvez l'utiliser en\n"
-"toute sécurité. La pire conséquence est la lenteur."
+#: utils/misc/guc.c:539
+msgid "Resource Usage / Kernel Resources"
+msgstr "Utilisation des ressources / Ressources noyau"
 
-#: utils/misc/guc.c:1265
-msgid "Enables backward compatibility mode for privilege checks on large objects."
-msgstr ""
-"Active la compatibilité ascendante pour la vérification des droits sur les\n"
-"Large Objects."
+#: utils/misc/guc.c:541
+msgid "Resource Usage / Cost-Based Vacuum Delay"
+msgstr "Utilisation des ressources / Délai du VACUUM basé sur le coût"
 
-#: utils/misc/guc.c:1266
-msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0."
-msgstr ""
-"Ignore la vérification des droits lors de la lecture et de la modification\n"
-"des Larges Objects, pour la compatibilité avec les versions antérieures à la\n"
-"9.0."
+#: utils/misc/guc.c:543
+msgid "Resource Usage / Background Writer"
+msgstr "Utilisation des ressources / Processus d'écriture en tâche de fond"
 
-#: utils/misc/guc.c:1284
-msgid "Forces a switch to the next xlog file if a new file has not been started within N seconds."
-msgstr ""
-"Force un changement du journal de transaction si un nouveau fichier n'a pas\n"
-"été créé depuis N secondes."
+#: utils/misc/guc.c:545
+msgid "Resource Usage / Asynchronous Behavior"
+msgstr "Utilisation des ressources / Comportement asynchrone"
 
-#: utils/misc/guc.c:1294
-msgid "Waits N seconds on connection startup after authentication."
-msgstr "Attends N secondes après l'authentification."
+#: utils/misc/guc.c:547
+msgid "Write-Ahead Log"
+msgstr "Write-Ahead Log"
 
-#: utils/misc/guc.c:1295
-#: utils/misc/guc.c:1670
-msgid "This allows attaching a debugger to the process."
-msgstr "Ceci permet d'attacher un débogueur au processus."
+#: utils/misc/guc.c:549
+msgid "Write-Ahead Log / Settings"
+msgstr "Write-Ahead Log / Paramètrages"
 
-#: utils/misc/guc.c:1303
-msgid "Sets the default statistics target."
-msgstr "Initialise la cible par défaut des statistiques."
+#: utils/misc/guc.c:551
+msgid "Write-Ahead Log / Checkpoints"
+msgstr "Write-Ahead Log / Points de vérification (Checkpoints)"
 
-#: utils/misc/guc.c:1304
-msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS."
-msgstr ""
-"Ceci s'applique aux colonnes de tables qui n'ont pas de cible spécifique\n"
-"pour la colonne initialisée via ALTER TABLE SET STATISTICS."
+#: utils/misc/guc.c:553
+msgid "Write-Ahead Log / Archiving"
+msgstr "Write-Ahead Log / Archivage"
 
-#: utils/misc/guc.c:1312
-msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
-msgstr ""
-"Initialise la taille de la liste FROM en dehors de laquelle les\n"
-"sous-requêtes ne sont pas rassemblées."
+#: utils/misc/guc.c:555
+msgid "Write-Ahead Log / Streaming Replication"
+msgstr "Write-Ahead Log / Réplication en flux"
 
-#: utils/misc/guc.c:1314
-msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items."
-msgstr ""
-"Le planificateur fusionne les sous-requêtes dans des requêtes supérieures\n"
-"si la liste FROM résultante n'a pas plus de ce nombre d'éléments."
+#: utils/misc/guc.c:557
+msgid "Write-Ahead Log / Standby Servers"
+msgstr "Write-Ahead Log / Serveurs en attente"
 
-#: utils/misc/guc.c:1323
-msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
-msgstr ""
-"Initialise la taille de la liste FROM en dehors de laquelle les contructions\n"
-"JOIN ne sont pas aplanies."
+#: utils/misc/guc.c:559
+msgid "Query Tuning"
+msgstr "Optimisation des requêtes"
 
-#: utils/misc/guc.c:1325
-msgid "The planner will flatten explicit JOIN constructs into lists of FROM items whenever a list of no more than this many items would result."
-msgstr ""
-"La planificateur applanira les constructions JOIN explicites dans des listes\n"
-"d'éléments FROM lorsqu'une liste d'au plus ce nombre d'éléments en\n"
-"résulterait."
+#: utils/misc/guc.c:561
+msgid "Query Tuning / Planner Method Configuration"
+msgstr "Optimisation des requêtes / Configuration de la méthode du planificateur"
 
-#: utils/misc/guc.c:1334
-msgid "Sets the threshold of FROM items beyond which GEQO is used."
-msgstr "Initialise la limite des éléments FROM en dehors de laquelle GEQO est utilisé."
+#: utils/misc/guc.c:563
+msgid "Query Tuning / Planner Cost Constants"
+msgstr "Optimisation des requêtes / Constantes des coûts du planificateur"
 
-#: utils/misc/guc.c:1342
-msgid "GEQO: effort is used to set the default for other GEQO parameters."
-msgstr ""
-"GEQO : l'effort est utilisé pour initialiser une valeur par défaut pour les\n"
-"autres paramètres GEQO."
+#: utils/misc/guc.c:565
+msgid "Query Tuning / Genetic Query Optimizer"
+msgstr "Optimisation des requêtes / Optimiseur génétique de requêtes"
 
-#: utils/misc/guc.c:1350
-msgid "GEQO: number of individuals in the population."
-msgstr "GEQO : nombre d'individus dans une population."
+#: utils/misc/guc.c:567
+msgid "Query Tuning / Other Planner Options"
+msgstr "Optimisation des requêtes / Autres options du planificateur"
 
-#: utils/misc/guc.c:1351
-#: utils/misc/guc.c:1359
-msgid "Zero selects a suitable default value."
-msgstr "Zéro sélectionne une valeur par défaut convenable."
+#: utils/misc/guc.c:569
+msgid "Reporting and Logging"
+msgstr "Rapports et traces"
 
-#: utils/misc/guc.c:1358
-msgid "GEQO: number of iterations of the algorithm."
-msgstr "GEQO : nombre d'itérations dans l'algorithme."
+#: utils/misc/guc.c:571
+msgid "Reporting and Logging / Where to Log"
+msgstr "Rapports et traces / Où tracer"
 
-#: utils/misc/guc.c:1368
-msgid "Sets the time to wait on a lock before checking for deadlock."
-msgstr "Temps d'attente du verrou avant de vérifier les verrous bloqués."
+#: utils/misc/guc.c:573
+msgid "Reporting and Logging / When to Log"
+msgstr "Rapports et traces / Quand tracer"
 
-#: utils/misc/guc.c:1378
-msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data."
-msgstr ""
-"Initialise le délai maximum avant d'annuler les requêtes lorsqu'un serveur en\n"
-"hotstandby traite les données des journaux de transactions archivés"
+#: utils/misc/guc.c:575
+msgid "Reporting and Logging / What to Log"
+msgstr "Rapports et traces / Que tracer"
 
-#: utils/misc/guc.c:1388
-msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data."
-msgstr ""
-"Initialise le délai maximum avant d'annuler les requêtes lorsqu'un serveur en\n"
-"hotstandby traite les données des journaux de transactions envoyés en flux."
+#: utils/misc/guc.c:577
+msgid "Statistics"
+msgstr "Statistiques"
 
-#: utils/misc/guc.c:1408
-msgid "Sets the maximum number of concurrent connections."
-msgstr "Nombre maximum de connexions simultanées."
+#: utils/misc/guc.c:579
+msgid "Statistics / Monitoring"
+msgstr "Statistiques / Surveillance"
 
-#: utils/misc/guc.c:1417
-msgid "Sets the number of connection slots reserved for superusers."
-msgstr "Nombre de connexions réservées aux super-utilisateurs."
+#: utils/misc/guc.c:581
+msgid "Statistics / Query and Index Statistics Collector"
+msgstr "Statistiques / Récupérateur des statistiques sur les requêtes et sur les index"
 
-#: utils/misc/guc.c:1426
-msgid "Sets the number of shared memory buffers used by the server."
-msgstr "Nombre de tampons en mémoire partagée utilisé par le serveur."
+#: utils/misc/guc.c:583
+msgid "Autovacuum"
+msgstr "Autovacuum"
 
-#: utils/misc/guc.c:1436
-msgid "Sets the maximum number of temporary buffers used by each session."
-msgstr "Nombre maximum de tampons en mémoire partagée utilisés par chaque session."
+#: utils/misc/guc.c:585
+msgid "Client Connection Defaults"
+msgstr "Valeurs par défaut pour les connexions client"
 
-#: utils/misc/guc.c:1446
-msgid "Sets the TCP port the server listens on."
-msgstr "Port TCP sur lequel le serveur écoutera."
+#: utils/misc/guc.c:587
+msgid "Client Connection Defaults / Statement Behavior"
+msgstr "Valeurs par défaut pour les connexions client / Comportement des instructions"
 
-#: utils/misc/guc.c:1455
-msgid "Sets the access permissions of the Unix-domain socket."
-msgstr "Droits d'accès au socket domaine Unix."
+#: utils/misc/guc.c:589
+msgid "Client Connection Defaults / Locale and Formatting"
+msgstr "Valeurs par défaut pour les connexions client / Locale et formattage"
 
-#: utils/misc/guc.c:1456
-msgid "Unix-domain sockets use the usual Unix file system permission set. The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
-msgstr ""
-"Les sockets de domaine Unix utilise l'ensemble des droits habituels du système\n"
-"de fichiers Unix. La valeur de ce paramètre doit être une spécification en\n"
-"mode numérique de la forme acceptée par les appels système chmod et umask\n"
-"(pour utiliser le format octal, le nombre doit commencer avec un zéro)."
+#: utils/misc/guc.c:591
+msgid "Client Connection Defaults / Other Defaults"
+msgstr "Valeurs par défaut pour les connexions client / Autres valeurs par défaut"
 
-#: utils/misc/guc.c:1468
-msgid "Sets the maximum memory to be used for query workspaces."
-msgstr "Initialise la mémoire maximum utilisée pour les espaces de travail des requêtes."
+#: utils/misc/guc.c:593
+msgid "Lock Management"
+msgstr "Gestion des verrous"
 
-#: utils/misc/guc.c:1469
-msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files."
-msgstr ""
-"Spécifie la mémoire à utiliser par les opérations de tris internes et par\n"
-"les tables de hachage avant de passer sur des fichiers temporaires sur disque."
+#: utils/misc/guc.c:595
+msgid "Version and Platform Compatibility"
+msgstr "Compatibilité des versions et des plateformes"
 
-#: utils/misc/guc.c:1480
-msgid "Sets the maximum memory to be used for maintenance operations."
-msgstr "Initialise la mémoire maximum utilisée pour les opérations de maintenance."
+#: utils/misc/guc.c:597
+msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
+msgstr "Compatibilité des versions et des plateformes / Anciennes versions de PostgreSQL"
 
-#: utils/misc/guc.c:1481
-msgid "This includes operations such as VACUUM and CREATE INDEX."
-msgstr "Ceci inclut les opérations comme VACUUM et CREATE INDEX."
+#: utils/misc/guc.c:599
+msgid "Version and Platform Compatibility / Other Platforms and Clients"
+msgstr "Compatibilité des versions et des plateformes / Anciennes plateformes et anciens clients"
 
-#: utils/misc/guc.c:1490
-msgid "Sets the maximum stack depth, in kilobytes."
-msgstr "Initialise la profondeur maximale de la pile, en Ko."
+#: utils/misc/guc.c:601
+msgid "Error Handling"
+msgstr "Gestion des erreurs"
 
-#: utils/misc/guc.c:1500
-msgid "Vacuum cost for a page found in the buffer cache."
-msgstr "Coût d'un VACUUM pour une page trouvée dans le cache du tampon."
+#: utils/misc/guc.c:603
+msgid "Preset Options"
+msgstr "Options pré-configurées"
 
-#: utils/misc/guc.c:1509
-msgid "Vacuum cost for a page not found in the buffer cache."
-msgstr "Coût d'un VACUUM pour une page introuvable dans le cache du tampon."
+#: utils/misc/guc.c:605
+msgid "Customized Options"
+msgstr "Options personnalisées"
 
-#: utils/misc/guc.c:1518
-msgid "Vacuum cost for a page dirtied by vacuum."
-msgstr "Coût d'un VACUUM pour une page modifiée par VACUUM."
+#: utils/misc/guc.c:607
+msgid "Developer Options"
+msgstr "Options pour le développeur"
 
-#: utils/misc/guc.c:1527
-msgid "Vacuum cost amount available before napping."
-msgstr "Coût du VACUUM disponible avant un repos."
+#: utils/misc/guc.c:661
+msgid "Enables the planner's use of sequential-scan plans."
+msgstr "Active l'utilisation des parcours séquentiels par le planificateur."
 
-#: utils/misc/guc.c:1536
-msgid "Vacuum cost delay in milliseconds."
-msgstr "Délai d'un coût de VACUUM en millisecondes."
+#: utils/misc/guc.c:670
+msgid "Enables the planner's use of index-scan plans."
+msgstr "Active l'utilisation des parcours d'index par le planificateur."
 
-#: utils/misc/guc.c:1546
-msgid "Vacuum cost delay in milliseconds, for autovacuum."
-msgstr "Délai d'un coût de VACUUM en millisecondes, pour autovacuum."
+#: utils/misc/guc.c:679
+msgid "Enables the planner's use of bitmap-scan plans."
+msgstr "Active l'utilisation des parcours de bitmap par le planificateur."
 
-#: utils/misc/guc.c:1556
-msgid "Vacuum cost amount available before napping, for autovacuum."
-msgstr "Coût du VACUUM disponible avant un repos, pour autovacuum."
+#: utils/misc/guc.c:688
+msgid "Enables the planner's use of TID scan plans."
+msgstr "Active l'utilisation de plans de parcours TID par le planificateur."
 
-#: utils/misc/guc.c:1565
-msgid "Sets the maximum number of simultaneously open files for each server process."
-msgstr ""
-"Initialise le nombre maximum de fichiers ouverts simultanément pour chaque\n"
-"processus serveur."
+#: utils/misc/guc.c:697
+msgid "Enables the planner's use of explicit sort steps."
+msgstr "Active l'utilisation des étapes de tris explicites par le planificateur."
 
-#: utils/misc/guc.c:1577
-msgid "Sets the maximum number of simultaneously prepared transactions."
-msgstr "Initialise le nombre maximum de transactions préparées simultanément."
+#: utils/misc/guc.c:706
+msgid "Enables the planner's use of hashed aggregation plans."
+msgstr "Active l'utilisation de plans d'agrégats hâchés par le planificateur."
 
-#: utils/misc/guc.c:1607
-msgid "Sets the maximum allowed duration of any statement."
-msgstr "Initialise la durée maximum permise pour toute instruction."
+#: utils/misc/guc.c:715
+msgid "Enables the planner's use of materialization."
+msgstr "Active l'utilisation de la matérialisation par le planificateur."
 
-#: utils/misc/guc.c:1608
-msgid "A value of 0 turns off the timeout."
-msgstr "Une valeur de 0 désactive le timeout."
+#: utils/misc/guc.c:724
+msgid "Enables the planner's use of nested-loop join plans."
+msgstr "Active l'utilisation de plans avec des jointures imbriquées par le planificateur."
 
-#: utils/misc/guc.c:1617
-msgid "Minimum age at which VACUUM should freeze a table row."
-msgstr "Âge minimum à partir duquel VACUUM devra geler une ligne de table."
+#: utils/misc/guc.c:733
+msgid "Enables the planner's use of merge join plans."
+msgstr "Active l'utilisation de plans de jointures MERGE par le planificateur."
 
-#: utils/misc/guc.c:1626
-msgid "Age at which VACUUM should scan whole table to freeze tuples."
-msgstr ""
-"Âge à partir duquel VACUUM devra parcourir une table complète pour geler les\n"
-"lignes."
+#: utils/misc/guc.c:742
+msgid "Enables the planner's use of hash join plans."
+msgstr "Active l'utilisation de plans de jointures hâchées par le planificateur."
 
-#: utils/misc/guc.c:1635
-msgid "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any."
-msgstr "Nombre de transactions à partir duquel les nettoyages VACUUM et HOT doivent être déferrés."
+#: utils/misc/guc.c:751
+msgid "Enables genetic query optimization."
+msgstr "Active l'optimisation génétique des requêtes."
 
-#: utils/misc/guc.c:1647
-msgid "Sets the maximum number of locks per transaction."
-msgstr "Initialise le nombre maximum de verrous par transaction."
+#: utils/misc/guc.c:752
+msgid "This algorithm attempts to do planning without exhaustive searching."
+msgstr "Cet algorithme essaie de faire une planification sans recherche exhaustive."
 
-#: utils/misc/guc.c:1648
-msgid "The shared lock table is sized on the assumption that at most max_locks_per_transaction * max_connections distinct objects will need to be locked at any one time."
-msgstr ""
-"La table des verrous partagés est dimensionnée sur l'idée qu'au plus\n"
-"max_locks_per_transaction * max_connections objets distincts auront besoin\n"
-"d'être verrouillés à tout moment."
+#: utils/misc/guc.c:762
+msgid "Shows whether the current user is a superuser."
+msgstr "Affiche si l'utilisateur actuel est un super-utilisateur."
 
-#: utils/misc/guc.c:1658
-msgid "Sets the maximum allowed time to complete client authentication."
-msgstr ""
-"Initialise le temps maximum en secondes pour terminer l'authentification du\n"
-"client."
+#: utils/misc/guc.c:772
+msgid "Enables advertising the server via Bonjour."
+msgstr "Active la publication du serveur via Bonjour."
 
-#: utils/misc/guc.c:1669
-msgid "Waits N seconds on connection startup before authentication."
-msgstr "Attends N secondes au lancement de la connexion avant l'authentification."
+#: utils/misc/guc.c:781
+msgid "Enables SSL connections."
+msgstr "Active les connexions SSL."
 
-#: utils/misc/guc.c:1679
-msgid "Sets the number of WAL files held for standby servers."
-msgstr "Initialise le nombre de journaux de transactions conservés tenus par les seveurs en attente."
+#: utils/misc/guc.c:790
+msgid "Forces synchronization of updates to disk."
+msgstr "Force la synchronisation des mises à jour sur le disque."
 
-#: utils/misc/guc.c:1688
-msgid "Sets the maximum distance in log segments between automatic WAL checkpoints."
+#: utils/misc/guc.c:791
+msgid "The server will use the fsync() system call in several places to make sure that updates are physically written to disk. This insures that a database cluster will recover to a consistent state after an operating system or hardware crash."
 msgstr ""
-"Initialise la distance maximale dans les journaux de transaction entre chaque\n"
-"point de vérification (checkpoints) des journaux."
+"Le serveur utilisera l'appel système fsync() à différents endroits pour\n"
+"s'assurer que les mises à jour sont écrites physiquement sur le disque. Ceci\n"
+"nous assure qu'un groupe de bases de données se retrouvera dans un état\n"
+"cohérent après un arrêt brutal dû au système d'exploitation ou au matériel."
 
-#: utils/misc/guc.c:1697
-msgid "Sets the maximum time between automatic WAL checkpoints."
-msgstr ""
-"Initialise le temps maximum entre des points de vérification (checkpoints)\n"
-"pour les journaux de transactions."
+#: utils/misc/guc.c:802
+msgid "Continues processing past damaged page headers."
+msgstr "Continue le travail après les en-têtes de page endommagés."
 
-#: utils/misc/guc.c:1707
-msgid "Enables warnings if checkpoint segments are filled more frequently than this."
+#: utils/misc/guc.c:803
+msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting zero_damaged_pages to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page."
 msgstr ""
-"Active des messages d'avertissement si les segments des points de\n"
-"vérifications se remplissent plus fréquemment que cette durée."
+"La détection d'une en-tête de page endommagée cause normalement le rapport\n"
+"d'une erreur par PostgreSQL, l'annulation de la transaction en cours.\n"
+"Initialiser zero_damaged_pages à true fait que le système ne rapporte qu'un\n"
+"message d'attention et continue à travailler. Ce comportement détruira des\n"
+"données, notamment toutes les lignes de la page endommagée."
 
-#: utils/misc/guc.c:1709
-msgid "Write a message to the server log if checkpoints caused by the filling of checkpoint segment files happens more frequently than this number of seconds. Zero turns off the warning."
+#: utils/misc/guc.c:816
+msgid "Writes full pages to WAL when first modified after a checkpoint."
 msgstr ""
-"Écrit un message dans les journaux applicatifs du serveur si les points de\n"
-"vérifications causées par le remplissage des journaux de transaction avec\n"
-"des points de vérification qui arrivent plus fréquemment que ce nombre de\n"
-"secondes. Une valeur 0 désactive l'avertissement."
+"Écrit des pages complètes dans les WAL lors d'une première modification après\n"
+"un point de vérification."
 
-#: utils/misc/guc.c:1720
-msgid "Sets the number of disk-page buffers in shared memory for WAL."
+#: utils/misc/guc.c:817
+msgid "A page write in process during an operating system crash might be only partially written to disk.  During recovery, the row changes stored in WAL are not enough to recover.  This option writes pages when first modified after a checkpoint to WAL so full recovery is possible."
 msgstr ""
-"Initialise le nombre de tampons de pages disque dans la mémoire partagée\n"
-"pour les journaux de transactions."
+"Une page écrite au moment d'un arrêt brutal du système d'exploitation\n"
+"pourrait être seulement partiellement écrite sur le disque. Lors de la\n"
+"récupération, les modifications de la ligne, stockées dans le journal de\n"
+"transaction, ne seront pas suffisantes pour terminer la récupération. Cette\n"
+"option écrit les pages lors de la première modification après un point de\n"
+"vérification des journaux de transaction pour que la récupération complète\n"
+"soit possible."
 
-#: utils/misc/guc.c:1730
-msgid "WAL writer sleep time between WAL flushes."
-msgstr ""
-"Temps d'endormissement du processus d'écriture pendant le vidage des\n"
-"journaux de transactions en millisecondes."
+#: utils/misc/guc.c:829
+msgid "Runs the server silently."
+msgstr "Lance le serveur de manière silencieuse."
 
-#: utils/misc/guc.c:1741
-msgid "Sets the maximum number of simultaneously running WAL sender processes."
+#: utils/misc/guc.c:830
+msgid "If this parameter is set, the server will automatically run in the background and any controlling terminals are dissociated."
 msgstr ""
-"Initialise le nombre maximum de processus d'envoi des journaux de transactions\n"
-"exécutés simultanément."
+"Si ce paramètre est initialisé, le serveur sera exécuté automatiquement en\n"
+"tâche de fond et les terminaux de contrôles seront dés-associés."
 
-#: utils/misc/guc.c:1750
-msgid "WAL sender sleep time between WAL replications."
-msgstr ""
-"Temps d'endormissement du processus d'envoi des journaux de transactions entre\n"
-"les réplications des journaux de transactions."
+#: utils/misc/guc.c:839
+msgid "Logs each checkpoint."
+msgstr "Trace tous les points de vérification."
 
-#: utils/misc/guc.c:1760
-msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk."
-msgstr ""
-"Initialise le délai en microsecondes entre l'acceptation de la transaction\n"
-"et le vidage du journal de transaction sur disque."
+#: utils/misc/guc.c:848
+msgid "Logs each successful connection."
+msgstr "Trace toutes les connexions réussies."
 
-#: utils/misc/guc.c:1770
-msgid "Sets the minimum concurrent open transactions before performing commit_delay."
-msgstr ""
-"Initialise le nombre minimum de transactions ouvertes simultanément avant le\n"
-"commit_delay."
+#: utils/misc/guc.c:857
+msgid "Logs end of a session, including duration."
+msgstr "Trace la fin d'une session, avec sa durée."
 
-#: utils/misc/guc.c:1780
-msgid "Sets the number of digits displayed for floating-point values."
-msgstr "Initialise le nombre de chiffres affichés pour les valeurs à virgule flottante."
+#: utils/misc/guc.c:866
+msgid "Turns on various assertion checks."
+msgstr "Active les différentes vérifications des assertions."
 
-#: utils/misc/guc.c:1781
-msgid "This affects real, double precision, and geometric data types. The parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate)."
-msgstr ""
-"Ceci affecte les types de données real, double precision et géométriques.\n"
-"La valeur du paramètre est ajoutée au nombre standard de chiffres (FLT_DIG\n"
-"ou DBL_DIG comme approprié)."
+#: utils/misc/guc.c:867
+msgid "This is a debugging aid."
+msgstr "C'est une aide de débogage."
 
-#: utils/misc/guc.c:1791
-msgid "Sets the minimum execution time above which statements will be logged."
-msgstr ""
-"Initialise le temps d'exécution minimum au-dessus de lequel les instructions\n"
-"seront tracées."
+#: utils/misc/guc.c:881
+msgid "Terminate session on any error."
+msgstr "Termine la session sans erreur."
 
-#: utils/misc/guc.c:1793
-msgid "Zero prints all queries. -1 turns this feature off."
-msgstr "Zéro affiche toutes les requêtes. -1 désactive cette fonctionnalité."
+#: utils/misc/guc.c:890
+msgid "Reinitialize after backend crash."
+msgstr "Réinitialisation après arrêt brutal du serveur."
 
-#: utils/misc/guc.c:1802
-msgid "Sets the minimum execution time above which autovacuum actions will be logged."
-msgstr ""
-"Initialise le temps d'exécution minimum au-dessus duquel les actions\n"
-"autovacuum seront tracées."
+#: utils/misc/guc.c:900
+msgid "Logs the duration of each completed SQL statement."
+msgstr "Trace la durée de chaque instruction SQL terminée."
 
-#: utils/misc/guc.c:1804
-msgid "Zero prints all actions. -1 turns autovacuum logging off."
-msgstr "Zéro affiche toutes les requêtes. -1 désactive cette fonctionnalité."
+#: utils/misc/guc.c:909
+msgid "Logs each query's parse tree."
+msgstr "Trace l'arbre d'analyse de chaque requête."
 
-#: utils/misc/guc.c:1813
-msgid "Background writer sleep time between rounds."
-msgstr ""
-"Temps d'endormissement du processus d'écriture en tâche de fond en\n"
-"millisecondes."
+#: utils/misc/guc.c:918
+msgid "Logs each query's rewritten parse tree."
+msgstr "Trace l'arbre d'analyse réécrit de chaque requête."
 
-#: utils/misc/guc.c:1823
-msgid "Background writer maximum number of LRU pages to flush per round."
-msgstr ""
-"Nombre de pages LRU maximum à nettoyer par le processus d'écriture en\n"
-"tâche de fond."
+#: utils/misc/guc.c:927
+msgid "Logs each query's execution plan."
+msgstr "Trace le plan d'exécution de chaque requête."
 
-#: utils/misc/guc.c:1838
-msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem."
-msgstr "Nombre de requêtes simultanées pouvant être gérées efficacement par le sous-système disque."
+#: utils/misc/guc.c:936
+msgid "Indents parse and plan tree displays."
+msgstr "Indente l'affichage des arbres d'analyse et de planification."
 
-#: utils/misc/guc.c:1839
-msgid "For RAID arrays, this should be approximately the number of drive spindles in the array."
+#: utils/misc/guc.c:945
+msgid "Writes parser performance statistics to the server log."
 msgstr ""
-"Pour les systèmes RAID, cela devrait être approximativement le nombre de\n"
-"têtes de lecture du système."
+"Écrit les statistiques de performance de l'analyseur dans les journaux applicatifs\n"
+"du serveur."
 
-#: utils/misc/guc.c:1852
-msgid "Automatic log file rotation will occur after N minutes."
+#: utils/misc/guc.c:954
+msgid "Writes planner performance statistics to the server log."
 msgstr ""
-"La rotation automatique des journaux applicatifs s'effectue toutes les N\n"
-"minutes."
-
-#: utils/misc/guc.c:1862
-msgid "Automatic log file rotation will occur after N kilobytes."
-msgstr "La rotation automatique des journaux applicatifs s'effectue après N Ko."
+"Écrit les statistiques de performance de planification dans les journaux\n"
+"applicatifs du serveur."
 
-#: utils/misc/guc.c:1872
-msgid "Shows the maximum number of function arguments."
-msgstr "Affiche le nombre maximum d'arguments de fonction."
+#: utils/misc/guc.c:963
+msgid "Writes executor performance statistics to the server log."
+msgstr ""
+"Écrit les statistiques de performance de l'exécuteur dans les journaux applicatifs\n"
+"du serveur."
 
-#: utils/misc/guc.c:1882
-msgid "Shows the maximum number of index keys."
-msgstr "Affiche le nombre maximum de clés d'index."
+#: utils/misc/guc.c:972
+msgid "Writes cumulative performance statistics to the server log."
+msgstr ""
+"Écrit les statistiques de performance cumulatives dans les journaux applicatifs\n"
+"du serveur."
 
-#: utils/misc/guc.c:1892
-msgid "Shows the maximum identifier length."
-msgstr "Affiche la longueur maximum d'un identifiant"
+#: utils/misc/guc.c:982
+#: utils/misc/guc.c:1047
+#: utils/misc/guc.c:1057
+#: utils/misc/guc.c:1067
+#: utils/misc/guc.c:1077
+#: utils/misc/guc.c:1802
+#: utils/misc/guc.c:1812
+msgid "No description available."
+msgstr "Aucune description disponible."
 
-#: utils/misc/guc.c:1902
-msgid "Shows the size of a disk block."
-msgstr "Affiche la taille d'un bloc de disque."
+#: utils/misc/guc.c:994
+msgid "Collects information about executing commands."
+msgstr "Récupère les statistiques sur les commandes en exécution."
 
-#: utils/misc/guc.c:1912
-msgid "Shows the number of pages per disk file."
-msgstr "Affiche le nombre de pages par fichier."
+#: utils/misc/guc.c:995
+msgid "Enables the collection of information on the currently executing command of each session, along with the time at which that command began execution."
+msgstr ""
+"Active la récupération d'informations sur la commande en cours d'exécution\n"
+"pour chaque session, avec l'heure de début de l'exécution de la commande."
 
-#: utils/misc/guc.c:1922
-msgid "Shows the block size in the write ahead log."
-msgstr "Affiche la taille du bloc dans les journaux de transactions."
+#: utils/misc/guc.c:1005
+msgid "Collects statistics on database activity."
+msgstr "Récupère les statistiques sur l'activité de la base de données."
 
-#: utils/misc/guc.c:1932
-msgid "Shows the number of pages per write ahead log segment."
-msgstr "Affiche le nombre de pages par journal de transactions."
+#: utils/misc/guc.c:1015
+msgid "Updates the process title to show the active SQL command."
+msgstr ""
+"Met à jour le titre du processus pour indiquer la commande SQL en cours\n"
+"d'exécution."
 
-#: utils/misc/guc.c:1945
-msgid "Time to sleep between autovacuum runs."
-msgstr "Durée d'endormissement entre deux exécutions d'autovacuum."
+#: utils/misc/guc.c:1016
+msgid "Enables updating of the process title every time a new SQL command is received by the server."
+msgstr ""
+"Active la mise à jour du titre du processus chaque fois qu'une nouvelle\n"
+"commande SQL est reçue par le serveur."
 
-#: utils/misc/guc.c:1954
-msgid "Minimum number of tuple updates or deletes prior to vacuum."
-msgstr "Nombre minimum de lignes mises à jour ou supprimées avant le VACUUM."
+#: utils/misc/guc.c:1025
+msgid "Starts the autovacuum subprocess."
+msgstr "Exécute le sous-processus de l'autovacuum."
 
-#: utils/misc/guc.c:1962
-msgid "Minimum number of tuple inserts, updates or deletes prior to analyze."
-msgstr "Nombre minimum de lignes insérées, mises à jour ou supprimées avant un ANALYZE."
+#: utils/misc/guc.c:1035
+msgid "Generates debugging output for LISTEN and NOTIFY."
+msgstr "Génère une sortie de débogage pour LISTEN et NOTIFY."
 
-#: utils/misc/guc.c:1971
-msgid "Age at which to autovacuum a table to prevent transaction ID wraparound."
-msgstr ""
-"Âge à partir duquel l'autovacuum se déclenche sur une table pour empêcher la\n"
-"réinitialisation de l'identifiant de transaction"
+#: utils/misc/guc.c:1089
+msgid "Logs long lock waits."
+msgstr "Trace les attentes longues de verrou."
 
-#: utils/misc/guc.c:1981
-msgid "Sets the maximum number of simultaneously running autovacuum worker processes."
-msgstr "Initialise le nombre maximum de processus autovacuum exécutés simultanément."
+#: utils/misc/guc.c:1099
+msgid "Logs the host name in the connection logs."
+msgstr "Trace le nom d'hôte dans les traces de connexion."
 
-#: utils/misc/guc.c:1990
-msgid "Time between issuing TCP keepalives."
-msgstr "Secondes entre l'exécution de « TCP keepalives »."
+#: utils/misc/guc.c:1100
+msgid "By default, connection logs only show the IP address of the connecting host. If you want them to show the host name you can turn this on, but depending on your host name resolution setup it might impose a non-negligible performance penalty."
+msgstr ""
+"Par défaut, les traces de connexion n'affichent que l'adresse IP de l'hôte\n"
+"se connectant. Si vous voulez que s'affiche le nom de l'hôte, vous devez\n"
+"activer cette option mais suivant la configuration de la résolution de noms\n"
+"pour votre hôte, cela pourrait imposer des dégradations de performances non\n"
+"négligeables."
 
-#: utils/misc/guc.c:1991
-#: utils/misc/guc.c:2001
-msgid "A value of 0 uses the system default."
-msgstr "Une valeur de 0 désactive la valeur système par défaut."
+#: utils/misc/guc.c:1111
+msgid "Causes subtables to be included by default in various commands."
+msgstr ""
+"Fait que les sous-tables soient incluses par défaut dans les différentes\n"
+"commandes."
 
-#: utils/misc/guc.c:2000
-msgid "Time between TCP keepalive retransmits."
-msgstr "Secondes entre les retransmissions de « TCP keepalive »."
+#: utils/misc/guc.c:1120
+msgid "Encrypt passwords."
+msgstr "Chiffre les mots de passe."
 
-#: utils/misc/guc.c:2010
-msgid "Set the amount of traffic to send and receive before renegotiating the encryption keys."
+#: utils/misc/guc.c:1121
+msgid "When a password is specified in CREATE USER or ALTER USER without writing either ENCRYPTED or UNENCRYPTED, this parameter determines whether the password is to be encrypted."
 msgstr ""
-"Configure la quantité de trafic à envoyer et recevoir avant la renégotiation\n"
-"des clés d'enchiffrement."
+"Lorsqu'un mot de passe est spécifié dans CREATE USER ou ALTER USER sans\n"
+"indiquer ENCRYPTED ou UNENCRYPTED, ce paramètre détermine si le mot de passe\n"
+"doit être chiffré."
 
-#: utils/misc/guc.c:2020
-msgid "Maximum number of TCP keepalive retransmits."
-msgstr "Nombre maximum de retransmissions de « TCP keepalive »."
+#: utils/misc/guc.c:1131
+msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
+msgstr "Traite « expr=NULL » comme « expr IS NULL »."
 
-#: utils/misc/guc.c:2021
-msgid "This controls the number of consecutive keepalive retransmits that can be lost before a connection is considered dead. A value of 0 uses the system default."
+#: utils/misc/guc.c:1132
+msgid "When turned on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL, that is, they return true if expr evaluates to the null value, and false otherwise. The correct behavior of expr = NULL is to always return null (unknown)."
 msgstr ""
-"Ceci contrôle le nombre de retransmissions keepalive consécutives qui\n"
-"peuvent être perdues avant qu'une connexion ne soit considérée morte. Une\n"
-"valeur de 0 utilise la valeur par défaut du système."
+"Une fois activé, les expressions de la forme expr = NULL (ou NULL = expr)\n"
+"sont traitées comme expr IS NULL, c'est-à-dire qu'elles renvoient true si\n"
+"l'expression est évaluée comme étant NULL et false sinon. Le comportement\n"
+"correct de expr = NULL est de toujours renvoyer NULL (inconnu)."
 
-#: utils/misc/guc.c:2031
-msgid "Sets the maximum allowed result for exact search by GIN."
-msgstr "Configure le nombre maximum de résultats lors d'une recherche par GIN."
+#: utils/misc/guc.c:1144
+msgid "Enables per-database user names."
+msgstr "Active les noms d'utilisateur par base de données."
 
-#: utils/misc/guc.c:2041
-msgid "Sets the planner's assumption about the size of the disk cache."
-msgstr "Initialise le sentiment du planificateur sur la taille du cache disque."
+#: utils/misc/guc.c:1154
+msgid "This parameter doesn't do anything."
+msgstr "Ce paramètre ne fait rien."
 
-#: utils/misc/guc.c:2042
-msgid "That is, the portion of the kernel's disk cache that will be used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each."
+#: utils/misc/guc.c:1155
+msgid "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients."
 msgstr ""
-"C'est-à-dire, la portion du cache disque du noyau qui sera utilisé pour les\n"
-"fichiers de données de PostgreSQL. C'est mesuré en pages disque, qui font\n"
-"normalement 8 Ko chaque."
+"C'est ici uniquement pour ne pas avoir de problèmes avec le SET AUTOCOMMIT\n"
+"TO ON des clients 7.3."
 
-#: utils/misc/guc.c:2054
-msgid "Shows the server version as an integer."
-msgstr "Affiche la version du serveur sous la forme d'un entier."
+#: utils/misc/guc.c:1164
+msgid "Sets the default read-only status of new transactions."
+msgstr "Initialise le statut de lecture seule par défaut des nouvelles transactions."
 
-#: utils/misc/guc.c:2064
-msgid "Log the use of temporary files larger than this number of kilobytes."
-msgstr ""
-"Trace l'utilisation de fichiers temporaires plus gros que ce nombre de\n"
-"kilooctets."
+#: utils/misc/guc.c:1173
+msgid "Sets the current transaction's read-only status."
+msgstr "Affiche le statut de lecture seule de la transaction actuelle."
 
-#: utils/misc/guc.c:2065
-msgid "Zero logs all files. The default is -1 (turning this feature off)."
+#: utils/misc/guc.c:1183
+msgid "Sets the default deferrable status of new transactions."
+msgstr "Initialise le statut déferrable par défaut des nouvelles transactions."
+
+#: utils/misc/guc.c:1192
+msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures."
 msgstr ""
-"Zéro trace toutes les requêtes. La valeur par défaut est -1 (désactivant\n"
-"cette fonctionnalité)."
 
-#: utils/misc/guc.c:2074
-msgid "Sets the size reserved for pg_stat_activity.current_query, in bytes."
-msgstr "Configure la taille réservée pour pg_stat_activity.current_query, en octets."
+#: utils/misc/guc.c:1202
+msgid "Check function bodies during CREATE FUNCTION."
+msgstr "Vérifie les corps de fonction lors du CREATE FUNCTION."
 
-#: utils/misc/guc.c:2092
-msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page."
-msgstr ""
-"Initialise l'estimation du planificateur pour le coût d'une page disque\n"
-"récupérée séquentiellement."
+#: utils/misc/guc.c:1211
+msgid "Enable input of NULL elements in arrays."
+msgstr "Active la saisie d'éléments NULL dans les tableaux."
 
-#: utils/misc/guc.c:2101
-msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page."
+#: utils/misc/guc.c:1212
+msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally."
 msgstr ""
-"Initialise l'estimation du plnnificateur pour le coût d'une page disque\n"
-"récupérée non séquentiellement."
+"Si activé, un NULL sans guillemets en tant que valeur d'entrée dans un\n"
+"tableau signifie une valeur NULL ; sinon, il sera pris littéralement."
 
-#: utils/misc/guc.c:2110
-msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
-msgstr ""
-"Initialise l'estimation du planificateur pour le coût d'exécution sur chaque\n"
-"ligne."
+#: utils/misc/guc.c:1222
+msgid "Create new tables with OIDs by default."
+msgstr "Crée des nouvelles tables avec des OID par défaut."
 
-#: utils/misc/guc.c:2119
-msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan."
+#: utils/misc/guc.c:1231
+msgid "Start a subprocess to capture stderr output and/or csvlogs into log files."
 msgstr ""
-"Initialise l'estimation du planificateur pour le coût de traitement de\n"
-"chaque ligne indexée lors d'un parcours d'index."
+"Lance un sous-processus pour capturer la sortie d'erreurs (stderr) et/ou\n"
+"csvlogs dans des journaux applicatifs."
 
-#: utils/misc/guc.c:2128
-msgid "Sets the planner's estimate of the cost of processing each operator or function call."
+#: utils/misc/guc.c:1240
+msgid "Truncate existing log files of same name during log rotation."
 msgstr ""
-"Initialise l'estimation du planificateur pour le coût de traitement de\n"
-"chaque opérateur ou appel de fonction."
+"Tronque les journaux applicatifs existants du même nom lors de la rotation\n"
+"des journaux applicatifs."
 
-#: utils/misc/guc.c:2138
-msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved."
-msgstr "Initialise l'estimation du planificateur de la fraction des lignes d'un curseur à récupérer."
+#: utils/misc/guc.c:1251
+msgid "Emit information about resource usage in sorting."
+msgstr "Émet des informations sur l'utilisation des ressources lors d'un tri."
 
-#: utils/misc/guc.c:2148
-msgid "GEQO: selective pressure within the population."
-msgstr "GEQO : pression sélective dans la population."
+#: utils/misc/guc.c:1265
+msgid "Generate debugging output for synchronized scanning."
+msgstr "Génère une sortie de débogage pour les parcours synchronisés."
 
-#: utils/misc/guc.c:2157
-msgid "GEQO: seed for random path selection."
-msgstr "GEQO : graine pour la sélection du chemin aléatoire."
+#: utils/misc/guc.c:1280
+msgid "Enable bounded sorting using heap sort."
+msgstr "Active le tri limité en utilisant le tri de heap."
 
-#: utils/misc/guc.c:2166
-msgid "Multiple of the average buffer usage to free per round."
-msgstr "Multiplede l'utilisation moyenne des tampons à libérer à chaque tour."
+#: utils/misc/guc.c:1293
+msgid "Emit WAL-related debugging output."
+msgstr "Émet une sortie de débogage concernant les journaux de transactions."
 
-#: utils/misc/guc.c:2175
-msgid "Sets the seed for random-number generation."
-msgstr "Initialise la clé pour la génération de nombres aléatoires."
+#: utils/misc/guc.c:1305
+msgid "Datetimes are integer based."
+msgstr "Les types datetime sont basés sur des entiers"
 
-#: utils/misc/guc.c:2185
-msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples."
+#: utils/misc/guc.c:1320
+msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive."
 msgstr ""
-"Nombre de lignes modifiées ou supprimées avant d'exécuter un VACUUM\n"
-"(fraction de reltuples)."
+"Indique si les noms d'utilisateurs Kerberos et GSSAPI devraient être traités\n"
+"sans se soucier de la casse."
 
-#: utils/misc/guc.c:2193
-msgid "Number of tuple inserts, updates or deletes prior to analyze as a fraction of reltuples."
-msgstr ""
-"Nombre de lignes insérées, mises à jour ou supprimées avant d'analyser\n"
-"(fraction de reltuples)."
+#: utils/misc/guc.c:1330
+msgid "Warn about backslash escapes in ordinary string literals."
+msgstr "Avertie sur les échappements par antislash dans les chaînes ordinaires."
 
-#: utils/misc/guc.c:2202
-msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval."
-msgstr ""
-"Temps passé à vider les tampons lors du point de vérification, en tant que\n"
-"fraction de l'intervalle du point de vérification."
+#: utils/misc/guc.c:1340
+msgid "Causes '...' strings to treat backslashes literally."
+msgstr "Fait que les chaînes '...' traitent les antislashs littéralement."
 
-#: utils/misc/guc.c:2220
-msgid "Sets the shell command that will be called to archive a WAL file."
-msgstr "La commande shell qui sera appelée pour archiver un journal de transaction."
+#: utils/misc/guc.c:1351
+msgid "Enable synchronized sequential scans."
+msgstr "Active l'utilisation des parcours séquentiels synchronisés."
 
-#: utils/misc/guc.c:2229
-msgid "Sets the client's character set encoding."
-msgstr "Initialise l'encodage du client."
+#: utils/misc/guc.c:1361
+msgid "Allows archiving of WAL files using archive_command."
+msgstr "Autorise l'archivage des journaux de transactions en utilisant archive_command."
 
-#: utils/misc/guc.c:2239
-msgid "Controls information prefixed to each log line."
-msgstr "Contrôle l'information préfixée sur chaque ligne de trace."
+#: utils/misc/guc.c:1371
+msgid "Allows connections and queries during recovery."
+msgstr "Autorise les connexions et les requêtes pendant la restauration."
 
-#: utils/misc/guc.c:2240
-msgid "If blank, no prefix is used."
-msgstr "Si vide, aucun préfixe n'est utilisé."
+#: utils/misc/guc.c:1381
+msgid "Allows feedback from a hot standby primary that will avoid query conflicts."
+msgstr ""
+"Permet l'envoi d'informations d'un serveur Hot Standby principal pour éviter\n"
+"les conflits de requêtes."
 
-#: utils/misc/guc.c:2248
-msgid "Sets the time zone to use in log messages."
-msgstr "Initialise le fuseau horaire à utiliser pour les journaux applicatifs."
+#: utils/misc/guc.c:1391
+msgid "Allows modifications of the structure of system tables."
+msgstr "Permet les modifications de la structure des tables systèmes."
 
-#: utils/misc/guc.c:2257
-msgid "Sets the display format for date and time values."
-msgstr "Initialise le format d'affichage des valeurs date et time."
+#: utils/misc/guc.c:1402
+msgid "Disables reading from system indexes."
+msgstr "Désactive la lecture des index système."
 
-#: utils/misc/guc.c:2258
-msgid "Also controls interpretation of ambiguous date inputs."
-msgstr "Contrôle aussi l'interprétation des dates ambigues en entrée."
+#: utils/misc/guc.c:1403
+msgid "It does not prevent updating the indexes, so it is safe to use.  The worst consequence is slowness."
+msgstr ""
+"Cela n'empêche pas la mise à jour des index, donc vous pouvez l'utiliser en\n"
+"toute sécurité. La pire conséquence est la lenteur."
 
-#: utils/misc/guc.c:2268
-msgid "Sets the default tablespace to create tables and indexes in."
-msgstr "Initialise le tablespace par défaut pour créer les tables et index."
+#: utils/misc/guc.c:1414
+msgid "Enables backward compatibility mode for privilege checks on large objects."
+msgstr ""
+"Active la compatibilité ascendante pour la vérification des droits sur les\n"
+"Large Objects."
 
-#: utils/misc/guc.c:2269
-msgid "An empty string selects the database's default tablespace."
-msgstr "Une chaîne vide sélectionne le tablespace par défaut de la base de données."
+#: utils/misc/guc.c:1415
+msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0."
+msgstr ""
+"Ignore la vérification des droits lors de la lecture et de la modification\n"
+"des Larges Objects, pour la compatibilité avec les versions antérieures à la\n"
+"9.0."
 
-#: utils/misc/guc.c:2278
-msgid "Sets the tablespace(s) to use for temporary tables and sort files."
+#: utils/misc/guc.c:1425
+msgid "When generating SQL fragments, quote all identifiers."
+msgstr "Lors de la génération des rragments SQL, mettre entre guillemets tous les identifiants."
+
+#: utils/misc/guc.c:1444
+msgid "Forces a switch to the next xlog file if a new file has not been started within N seconds."
 msgstr ""
-"Initialise le(s) tablespace(s) à utiliser pour les tables temporaires et les\n"
-"fichiers de tri."
+"Force un changement du journal de transaction si un nouveau fichier n'a pas\n"
+"été créé depuis N secondes."
 
-#: utils/misc/guc.c:2288
-msgid "Sets the path for dynamically loadable modules."
-msgstr "Initialise le chemin des modules chargeables dynamiquement."
+#: utils/misc/guc.c:1455
+msgid "Waits N seconds on connection startup after authentication."
+msgstr "Attends N secondes après l'authentification."
 
-#: utils/misc/guc.c:2289
-msgid "If a dynamically loadable module needs to be opened and the specified name does not have a directory component (i.e., the name does not contain a slash), the system will search this path for the specified file."
+#: utils/misc/guc.c:1456
+#: utils/misc/guc.c:1905
+msgid "This allows attaching a debugger to the process."
+msgstr "Ceci permet d'attacher un débogueur au processus."
+
+#: utils/misc/guc.c:1465
+msgid "Sets the default statistics target."
+msgstr "Initialise la cible par défaut des statistiques."
+
+#: utils/misc/guc.c:1466
+msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS."
 msgstr ""
-"Si un module chargeable dynamiquement a besoin d'être ouvert et que le nom\n"
-"spécifié n'a pas une composante répertoire (c'est-à-dire que le nom ne\n"
-"contient pas un '/'), le système cherche le fichier spécifié sur ce chemin."
+"Ceci s'applique aux colonnes de tables qui n'ont pas de cible spécifique\n"
+"pour la colonne initialisée via ALTER TABLE SET STATISTICS."
 
-#: utils/misc/guc.c:2301
-msgid "Sets the location of the Kerberos server key file."
-msgstr "Initalise l'emplacement du fichier de la clé serveur pour Kerberos."
+#: utils/misc/guc.c:1475
+msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
+msgstr ""
+"Initialise la taille de la liste FROM en dehors de laquelle les\n"
+"sous-requêtes ne sont pas rassemblées."
 
-#: utils/misc/guc.c:2311
-msgid "Sets the name of the Kerberos service."
-msgstr "Initialise le nom du service Kerberos."
+#: utils/misc/guc.c:1477
+msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items."
+msgstr ""
+"Le planificateur fusionne les sous-requêtes dans des requêtes supérieures\n"
+"si la liste FROM résultante n'a pas plus de ce nombre d'éléments."
 
-#: utils/misc/guc.c:2320
-msgid "Sets the Bonjour service name."
-msgstr "Initialise le nom du service Bonjour."
+#: utils/misc/guc.c:1487
+msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
+msgstr ""
+"Initialise la taille de la liste FROM en dehors de laquelle les contructions\n"
+"JOIN ne sont pas aplanies."
 
-#: utils/misc/guc.c:2331
-msgid "Shows the collation order locale."
-msgstr "Affiche la locale de tri et de groupement."
+#: utils/misc/guc.c:1489
+msgid "The planner will flatten explicit JOIN constructs into lists of FROM items whenever a list of no more than this many items would result."
+msgstr ""
+"La planificateur applanira les constructions JOIN explicites dans des listes\n"
+"d'éléments FROM lorsqu'une liste d'au plus ce nombre d'éléments en\n"
+"résulterait."
 
-#: utils/misc/guc.c:2341
-msgid "Shows the character classification and case conversion locale."
-msgstr "Affiche la classification des caractères et la locale de conversions."
+#: utils/misc/guc.c:1499
+msgid "Sets the threshold of FROM items beyond which GEQO is used."
+msgstr "Initialise la limite des éléments FROM en dehors de laquelle GEQO est utilisé."
 
-#: utils/misc/guc.c:2351
-msgid "Sets the language in which messages are displayed."
-msgstr "Initialise le langage dans lequel les messages sont affichés."
+#: utils/misc/guc.c:1508
+msgid "GEQO: effort is used to set the default for other GEQO parameters."
+msgstr ""
+"GEQO : l'effort est utilisé pour initialiser une valeur par défaut pour les\n"
+"autres paramètres GEQO."
 
-#: utils/misc/guc.c:2360
-msgid "Sets the locale for formatting monetary amounts."
-msgstr "Initialise la locale pour le formattage des montants monétaires."
+#: utils/misc/guc.c:1517
+msgid "GEQO: number of individuals in the population."
+msgstr "GEQO : nombre d'individus dans une population."
 
-#: utils/misc/guc.c:2369
-msgid "Sets the locale for formatting numbers."
-msgstr "Initialise la locale pour formater les nombres."
+#: utils/misc/guc.c:1518
+#: utils/misc/guc.c:1527
+msgid "Zero selects a suitable default value."
+msgstr "Zéro sélectionne une valeur par défaut convenable."
 
-#: utils/misc/guc.c:2378
-msgid "Sets the locale for formatting date and time values."
-msgstr "Initialise la locale pour formater les valeurs date et time."
+#: utils/misc/guc.c:1526
+msgid "GEQO: number of iterations of the algorithm."
+msgstr "GEQO : nombre d'itérations dans l'algorithme."
 
-#: utils/misc/guc.c:2387
-msgid "Lists shared libraries to preload into server."
-msgstr "Liste les bibliothèques partagées à précharger dans le serveur."
+#: utils/misc/guc.c:1537
+msgid "Sets the time to wait on a lock before checking for deadlock."
+msgstr "Temps d'attente du verrou avant de vérifier les verrous bloqués."
 
-#: utils/misc/guc.c:2397
-msgid "Lists shared libraries to preload into each backend."
-msgstr "Liste les bibliothèques partagées à précharger dans chaque processus serveur."
+#: utils/misc/guc.c:1548
+msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data."
+msgstr ""
+"Initialise le délai maximum avant d'annuler les requêtes lorsqu'un serveur en\n"
+"hotstandby traite les données des journaux de transactions archivés"
 
-#: utils/misc/guc.c:2407
-msgid "Sets the schema search order for names that are not schema-qualified."
+#: utils/misc/guc.c:1559
+msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data."
 msgstr ""
-"Initialise l'ordre de recherche des schémas pour les noms qui ne précisent\n"
-"pas le schéma."
+"Initialise le délai maximum avant d'annuler les requêtes lorsqu'un serveur en\n"
+"hotstandby traite les données des journaux de transactions envoyés en flux."
 
-#: utils/misc/guc.c:2418
-msgid "Sets the server (database) character set encoding."
-msgstr "Initialise le codage des caractères pour le serveur (base de données)."
+#: utils/misc/guc.c:1570
+msgid "Sets the maximum interval between WAL receiver status reports to the master."
+msgstr "Configure l'intervalle maximum entre chaque envoi d'un rapport de statut du walreceiver vers le serveur maître."
 
-#: utils/misc/guc.c:2429
-msgid "Shows the server version."
-msgstr "Affiche la version du serveur."
+#: utils/misc/guc.c:1581
+msgid "Sets the maximum number of concurrent connections."
+msgstr "Nombre maximum de connexions simultanées."
 
-#: utils/misc/guc.c:2440
-msgid "Sets the current role."
-msgstr "Initialise le rôle courant."
+#: utils/misc/guc.c:1591
+msgid "Sets the number of connection slots reserved for superusers."
+msgstr "Nombre de connexions réservées aux super-utilisateurs."
 
-#: utils/misc/guc.c:2451
-msgid "Sets the session user name."
-msgstr "Initialise le nom de l'utilisateur de la session."
+#: utils/misc/guc.c:1605
+msgid "Sets the number of shared memory buffers used by the server."
+msgstr "Nombre de tampons en mémoire partagée utilisé par le serveur."
 
-#: utils/misc/guc.c:2461
-msgid "Sets the destination for server log output."
-msgstr "Initialise la destination des journaux applicatifs du serveur."
+#: utils/misc/guc.c:1616
+msgid "Sets the maximum number of temporary buffers used by each session."
+msgstr "Nombre maximum de tampons en mémoire partagée utilisés par chaque session."
 
-#: utils/misc/guc.c:2462
-msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and \"eventlog\", depending on the platform."
-msgstr ""
-"Les valeurs valides sont une combinaison de « stderr », « syslog »,\n"
-"« csvlog » et « eventlog », suivant la plateforme."
+#: utils/misc/guc.c:1627
+msgid "Sets the TCP port the server listens on."
+msgstr "Port TCP sur lequel le serveur écoutera."
 
-#: utils/misc/guc.c:2472
-msgid "Sets the destination directory for log files."
-msgstr "Initialise le répertoire de destination pour les journaux applicatifs."
+#: utils/misc/guc.c:1637
+msgid "Sets the access permissions of the Unix-domain socket."
+msgstr "Droits d'accès au socket domaine Unix."
 
-#: utils/misc/guc.c:2473
-msgid "Can be specified as relative to the data directory or as absolute path."
-msgstr "Accepte un chemin relatif ou absolu pour le répertoire des données."
+#: utils/misc/guc.c:1638
+msgid "Unix-domain sockets use the usual Unix file system permission set. The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
+msgstr ""
+"Les sockets de domaine Unix utilise l'ensemble des droits habituels du système\n"
+"de fichiers Unix. La valeur de ce paramètre doit être une spécification en\n"
+"mode numérique de la forme acceptée par les appels système chmod et umask\n"
+"(pour utiliser le format octal, le nombre doit commencer avec un zéro)."
 
-#: utils/misc/guc.c:2482
-msgid "Sets the file name pattern for log files."
-msgstr "Initialise le modèle de nom de fichiers pour les journaux applicatifs."
+#: utils/misc/guc.c:1652
+msgid "Sets the file permissions for log files."
+msgstr "Initialise les droits des fichiers de trace."
 
-#: utils/misc/guc.c:2493
-msgid "Sets the program name used to identify PostgreSQL messages in syslog."
+#: utils/misc/guc.c:1653
+msgid "The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
 msgstr ""
-"Initialise le nom du programme utilisé pour identifier les messages de\n"
-"PostgreSQL dans syslog."
+"La valeur du paramètre est attendue dans le format numérique du mode accepté\n"
+"par les appels système chmod et umask (pour utiliser le format octal\n"
+"personnalisé, le numéro doit commencer avec un zéro)."
 
-#: utils/misc/guc.c:2504
-msgid "Sets the time zone for displaying and interpreting time stamps."
-msgstr "Initialise la zone horaire pour afficher et interpréter les dates/heures."
+#: utils/misc/guc.c:1666
+msgid "Sets the maximum memory to be used for query workspaces."
+msgstr "Initialise la mémoire maximum utilisée pour les espaces de travail des requêtes."
 
-#: utils/misc/guc.c:2513
-msgid "Selects a file of time zone abbreviations."
-msgstr "Sélectionne un fichier contenant les abréviations des fuseaux horaires."
+#: utils/misc/guc.c:1667
+msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files."
+msgstr ""
+"Spécifie la mémoire à utiliser par les opérations de tris internes et par\n"
+"les tables de hachage avant de passer sur des fichiers temporaires sur disque."
 
-#: utils/misc/guc.c:2522
-msgid "Sets the current transaction's isolation level."
-msgstr "Initialise le niveau d'isolation de la transaction courante."
+#: utils/misc/guc.c:1679
+msgid "Sets the maximum memory to be used for maintenance operations."
+msgstr "Initialise la mémoire maximum utilisée pour les opérations de maintenance."
 
-#: utils/misc/guc.c:2532
-msgid "Sets the owning group of the Unix-domain socket."
-msgstr "Initialise le groupe d'appartenance du socket domaine Unix."
+#: utils/misc/guc.c:1680
+msgid "This includes operations such as VACUUM and CREATE INDEX."
+msgstr "Ceci inclut les opérations comme VACUUM et CREATE INDEX."
 
-#: utils/misc/guc.c:2533
-msgid "The owning user of the socket is always the user that starts the server."
-msgstr "Le propriétaire du socket est toujours l'utilisateur qui a lancé le serveur."
+#: utils/misc/guc.c:1695
+msgid "Sets the maximum stack depth, in kilobytes."
+msgstr "Initialise la profondeur maximale de la pile, en Ko."
 
-#: utils/misc/guc.c:2542
-msgid "Sets the directory where the Unix-domain socket will be created."
-msgstr "Initialise le répertoire où le socket domaine Unix sera créé."
+#: utils/misc/guc.c:1706
+msgid "Vacuum cost for a page found in the buffer cache."
+msgstr "Coût d'un VACUUM pour une page trouvée dans le cache du tampon."
 
-#: utils/misc/guc.c:2552
-msgid "Sets the host name or IP address(es) to listen to."
-msgstr "Initialise le nom de l'hôte ou l'adresse IP à écouter."
+#: utils/misc/guc.c:1716
+msgid "Vacuum cost for a page not found in the buffer cache."
+msgstr "Coût d'un VACUUM pour une page introuvable dans le cache du tampon."
 
-#: utils/misc/guc.c:2562
-msgid "Sets the list of known custom variable classes."
-msgstr "Initialise la liste des classes variables personnalisées connues."
+#: utils/misc/guc.c:1726
+msgid "Vacuum cost for a page dirtied by vacuum."
+msgstr "Coût d'un VACUUM pour une page modifiée par VACUUM."
 
-#: utils/misc/guc.c:2572
-msgid "Sets the server's data directory."
-msgstr "Initialise le répertoire des données du serveur."
+#: utils/misc/guc.c:1736
+msgid "Vacuum cost amount available before napping."
+msgstr "Coût du VACUUM disponible avant un repos."
 
-#: utils/misc/guc.c:2582
-msgid "Sets the server's main configuration file."
-msgstr "Voir le fichier de configuration principal du serveur."
+#: utils/misc/guc.c:1746
+msgid "Vacuum cost delay in milliseconds."
+msgstr "Délai d'un coût de VACUUM en millisecondes."
 
-#: utils/misc/guc.c:2592
-msgid "Sets the server's \"hba\" configuration file."
-msgstr "Initialise le fichier de configuration « hba » du serveur."
+#: utils/misc/guc.c:1757
+msgid "Vacuum cost delay in milliseconds, for autovacuum."
+msgstr "Délai d'un coût de VACUUM en millisecondes, pour autovacuum."
 
-#: utils/misc/guc.c:2602
-msgid "Sets the server's \"ident\" configuration file."
-msgstr "Initialise le fichier de configuration « ident » du serveur."
+#: utils/misc/guc.c:1768
+msgid "Vacuum cost amount available before napping, for autovacuum."
+msgstr "Coût du VACUUM disponible avant un repos, pour autovacuum."
 
-#: utils/misc/guc.c:2612
-msgid "Writes the postmaster PID to the specified file."
-msgstr "Écrit le PID du postmaster PID dans le fichier spécifié."
+#: utils/misc/guc.c:1778
+msgid "Sets the maximum number of simultaneously open files for each server process."
+msgstr ""
+"Initialise le nombre maximum de fichiers ouverts simultanément pour chaque\n"
+"processus serveur."
 
-#: utils/misc/guc.c:2622
-msgid "Writes temporary statistics files to the specified directory."
-msgstr "Écrit les fichiers statistiques temporaires dans le répertoire indiqué."
+#: utils/misc/guc.c:1791
+msgid "Sets the maximum number of simultaneously prepared transactions."
+msgstr "Initialise le nombre maximum de transactions préparées simultanément."
 
-#: utils/misc/guc.c:2632
-msgid "Sets default text search configuration."
-msgstr "Initialise le configuration par défaut de la recherche plein texte"
+#: utils/misc/guc.c:1824
+msgid "Sets the maximum allowed duration of any statement."
+msgstr "Initialise la durée maximum permise pour toute instruction."
 
-#: utils/misc/guc.c:2642
-msgid "Sets the list of allowed SSL ciphers."
-msgstr "Initialise la liste des chiffrements SSL autorisés."
+#: utils/misc/guc.c:1825
+msgid "A value of 0 turns off the timeout."
+msgstr "Une valeur de 0 désactive le timeout."
 
-#: utils/misc/guc.c:2653
-msgid "Sets the application name to be reported in statistics and logs."
-msgstr "Configure le nom de l'application à indiquer dans les statistiques et les journaux."
+#: utils/misc/guc.c:1835
+msgid "Minimum age at which VACUUM should freeze a table row."
+msgstr "Âge minimum à partir duquel VACUUM devra geler une ligne de table."
 
-#: utils/misc/guc.c:2672
-msgid "Sets whether \"\\'\" is allowed in string literals."
-msgstr "Indique si « \\' » est autorisé dans une constante de chaîne."
+#: utils/misc/guc.c:1845
+msgid "Age at which VACUUM should scan whole table to freeze tuples."
+msgstr ""
+"Âge à partir duquel VACUUM devra parcourir une table complète pour geler les\n"
+"lignes."
 
-#: utils/misc/guc.c:2681
-msgid "Sets the output format for bytea."
-msgstr "Initialise le format de sortie pour bytea."
+#: utils/misc/guc.c:1855
+msgid "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any."
+msgstr "Nombre de transactions à partir duquel les nettoyages VACUUM et HOT doivent être déferrés."
 
-#: utils/misc/guc.c:2690
-msgid "Sets the message levels that are sent to the client."
-msgstr "Initialise les niveaux de message envoyés au client."
+#: utils/misc/guc.c:1868
+msgid "Sets the maximum number of locks per transaction."
+msgstr "Initialise le nombre maximum de verrous par transaction."
 
-#: utils/misc/guc.c:2691
-#: utils/misc/guc.c:2740
-#: utils/misc/guc.c:2750
-#: utils/misc/guc.c:2790
-msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent."
+#: utils/misc/guc.c:1869
+msgid "The shared lock table is sized on the assumption that at most max_locks_per_transaction * max_connections distinct objects will need to be locked at any one time."
 msgstr ""
-"Chaque niveau inclut les niveaux qui suivent. Plus loin sera le niveau,\n"
-"moindre sera le nombre de messages envoyés."
+"La table des verrous partagés est dimensionnée sur l'idée qu'au plus\n"
+"max_locks_per_transaction * max_connections objets distincts auront besoin\n"
+"d'être verrouillés à tout moment."
 
-#: utils/misc/guc.c:2700
-msgid "Enables the planner to use constraints to optimize queries."
-msgstr "Active l'utilisation des contraintes par le planificateur pour optimiser les requêtes."
+#: utils/misc/guc.c:1880
+msgid "Sets the maximum number of predicate locks per transaction."
+msgstr "Initialise le nombre maximum de verrous prédicats par transaction."
 
-#: utils/misc/guc.c:2701
-msgid "Table scans will be skipped if their constraints guarantee that no rows match the query."
+#: utils/misc/guc.c:1881
+#, fuzzy
+msgid "The shared predicate lock table is sized on the assumption that at most max_pred_locks_per_transaction * max_connections distinct objects will need to be locked at any one time."
 msgstr ""
-"Les parcours de tables seront ignorés si leur contraintes garantissent\n"
-"qu'aucune ligne ne correspond à la requête."
-
-#: utils/misc/guc.c:2711
-msgid "Sets the transaction isolation level of each new transaction."
-msgstr "Initialise le niveau d'isolation des transactions pour chaque nouvelle transaction."
+"La table des verrous partagés est dimensionnée sur l'idée qu'au plus\n"
+"max_locks_per_transaction * max_connections objets distincts auront besoin\n"
+"d'être verrouillés à tout moment."
 
-#: utils/misc/guc.c:2720
-msgid "Sets the display format for interval values."
-msgstr "Initialise le format d'affichage des valeurs interval."
+#: utils/misc/guc.c:1892
+msgid "Sets the maximum allowed time to complete client authentication."
+msgstr ""
+"Initialise le temps maximum en secondes pour terminer l'authentification du\n"
+"client."
 
-#: utils/misc/guc.c:2730
-msgid "Sets the verbosity of logged messages."
-msgstr "Initialise la verbosité des messages tracés."
+#: utils/misc/guc.c:1904
+msgid "Waits N seconds on connection startup before authentication."
+msgstr "Attends N secondes au lancement de la connexion avant l'authentification."
 
-#: utils/misc/guc.c:2739
-msgid "Sets the message levels that are logged."
-msgstr "Initialise les niveaux de messages tracés."
+#: utils/misc/guc.c:1915
+msgid "Sets the number of WAL files held for standby servers."
+msgstr "Initialise le nombre de journaux de transactions conservés tenus par les seveurs en attente."
 
-#: utils/misc/guc.c:2749
-msgid "Causes all statements generating error at or above this level to be logged."
+#: utils/misc/guc.c:1925
+msgid "Sets the maximum distance in log segments between automatic WAL checkpoints."
 msgstr ""
-"Génère une trace pour toutes les instructions qui produisent une erreur de\n"
-"ce niveau ou de niveaux plus importants."
+"Initialise la distance maximale dans les journaux de transaction entre chaque\n"
+"point de vérification (checkpoints) des journaux."
 
-#: utils/misc/guc.c:2759
-msgid "Sets the type of statements logged."
-msgstr "Initialise le type d'instructions tracées."
+#: utils/misc/guc.c:1935
+msgid "Sets the maximum time between automatic WAL checkpoints."
+msgstr ""
+"Initialise le temps maximum entre des points de vérification (checkpoints)\n"
+"pour les journaux de transactions."
 
-#: utils/misc/guc.c:2769
-msgid "Sets the syslog \"facility\" to be used when syslog enabled."
+#: utils/misc/guc.c:1946
+msgid "Enables warnings if checkpoint segments are filled more frequently than this."
 msgstr ""
-"Initialise le niveau (« facility ») de syslog à utilisé lors de l'activation\n"
-"de syslog."
+"Active des messages d'avertissement si les segments des points de\n"
+"vérifications se remplissent plus fréquemment que cette durée."
 
-#: utils/misc/guc.c:2779
-msgid "Sets the session's behavior for triggers and rewrite rules."
+#: utils/misc/guc.c:1948
+msgid "Write a message to the server log if checkpoints caused by the filling of checkpoint segment files happens more frequently than this number of seconds. Zero turns off the warning."
 msgstr ""
-"Configure le comportement des sessions pour les triggers et les règles de\n"
-"ré-écriture."
+"Écrit un message dans les journaux applicatifs du serveur si les points de\n"
+"vérifications causées par le remplissage des journaux de transaction avec\n"
+"des points de vérification qui arrivent plus fréquemment que ce nombre de\n"
+"secondes. Une valeur 0 désactive l'avertissement."
 
-#: utils/misc/guc.c:2789
-msgid "Enables logging of recovery-related debugging information."
-msgstr "Active les traces sur les informations de débogage relatives à la restauration."
+#: utils/misc/guc.c:1960
+msgid "Sets the number of disk-page buffers in shared memory for WAL."
+msgstr ""
+"Initialise le nombre de tampons de pages disque dans la mémoire partagée\n"
+"pour les journaux de transactions."
 
-#: utils/misc/guc.c:2803
-msgid "Collects function-level statistics on database activity."
-msgstr "Récupère les statistiques niveau fonction sur l'activité de la base de données."
+#: utils/misc/guc.c:1971
+msgid "WAL writer sleep time between WAL flushes."
+msgstr ""
+"Temps d'endormissement du processus d'écriture pendant le vidage des\n"
+"journaux de transactions en millisecondes."
 
-#: utils/misc/guc.c:2812
-msgid "Set the level of information written to the WAL."
-msgstr "Configure le niveau des informations écrites dans les journaux de transactions."
+#: utils/misc/guc.c:1983
+msgid "Sets the maximum number of simultaneously running WAL sender processes."
+msgstr ""
+"Initialise le nombre maximum de processus d'envoi des journaux de transactions\n"
+"exécutés simultanément."
 
-#: utils/misc/guc.c:2821
-msgid "Selects the method used for forcing WAL updates to disk."
+#: utils/misc/guc.c:1993
+msgid "WAL sender sleep time between WAL replications."
 msgstr ""
-"Sélectionne la méthode utilisée pour forcer la mise à jour des journaux de\n"
-"transactions sur le disque."
+"Temps d'endormissement du processus d'envoi des journaux de transactions entre\n"
+"les réplications des journaux de transactions."
 
-#: utils/misc/guc.c:2831
-msgid "Sets how binary values are to be encoded in XML."
-msgstr "Configure comment les valeurs binaires seront codées en XML."
+#: utils/misc/guc.c:2004
+msgid "Sets the maximum time to wait for WAL replication."
+msgstr "Initialise le temps maximum à attendre pour la réplication des WAL."
 
-#: utils/misc/guc.c:2840
-msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments."
+#: utils/misc/guc.c:2015
+msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk."
 msgstr ""
-"Configure si les données XML dans des opérations d'analyse et de\n"
-"sérialisation implicite doivent être considérées comme des documents\n"
-"ou des fragments de contenu."
+"Initialise le délai en microsecondes entre l'acceptation de la transaction\n"
+"et le vidage du journal de transaction sur disque."
 
-#: utils/misc/guc.c:3612
-#, c-format
-msgid ""
-"%s does not know where to find the server configuration file.\n"
-"You must specify the --config-file or -D invocation option or set the PGDATA environment variable.\n"
+#: utils/misc/guc.c:2026
+msgid "Sets the minimum concurrent open transactions before performing commit_delay."
 msgstr ""
-"%s ne sait pas où trouver le fichier de configuration du serveur.\n"
-"Vous devez soit spécifier l'option --config-file soit spécifier l'option -D\n"
-"soit initialiser la variable d'environnement.\n"
+"Initialise le nombre minimum de transactions ouvertes simultanément avant le\n"
+"commit_delay."
 
-#: utils/misc/guc.c:3631
-#, c-format
-msgid "%s cannot access the server configuration file \"%s\": %s\n"
-msgstr "%s ne peut pas accéder au fichier de configuration « %s » : %s\n"
+#: utils/misc/guc.c:2037
+msgid "Sets the number of digits displayed for floating-point values."
+msgstr "Initialise le nombre de chiffres affichés pour les valeurs à virgule flottante."
 
-#: utils/misc/guc.c:3651
-#, c-format
-msgid ""
-"%s does not know where to find the database system data.\n"
-"This can be specified as \"data_directory\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n"
+#: utils/misc/guc.c:2038
+msgid "This affects real, double precision, and geometric data types. The parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate)."
 msgstr ""
-"%s ne sait pas où trouver les données du système de bases de données.\n"
-"Il est configurable avec « data_directory » dans « %s » ou avec l'option -D\n"
-"ou encore avec la variable d'environnement PGDATA.\n"
+"Ceci affecte les types de données real, double precision et géométriques.\n"
+"La valeur du paramètre est ajoutée au nombre standard de chiffres (FLT_DIG\n"
+"ou DBL_DIG comme approprié)."
 
-#: utils/misc/guc.c:3682
-#, c-format
-msgid ""
-"%s does not know where to find the \"hba\" configuration file.\n"
-"This can be specified as \"hba_file\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n"
+#: utils/misc/guc.c:2049
+msgid "Sets the minimum execution time above which statements will be logged."
 msgstr ""
-"%s ne sait pas où trouver le fichier de configuration « hba ».\n"
-"Il est configurable avec « hba_file » dans « %s » ou avec l'option -D ou\n"
-"encore avec la variable d'environnement PGDATA.\n"
+"Initialise le temps d'exécution minimum au-dessus de lequel les instructions\n"
+"seront tracées."
 
-#: utils/misc/guc.c:3705
-#, c-format
-msgid ""
-"%s does not know where to find the \"ident\" configuration file.\n"
-"This can be specified as \"ident_file\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n"
+#: utils/misc/guc.c:2051
+msgid "Zero prints all queries. -1 turns this feature off."
+msgstr "Zéro affiche toutes les requêtes. -1 désactive cette fonctionnalité."
+
+#: utils/misc/guc.c:2061
+msgid "Sets the minimum execution time above which autovacuum actions will be logged."
 msgstr ""
-"%s ne sait pas où trouver le fichier de configuration « hba ».\n"
-"Il est configurable avec « ident_file » dans « %s » ou avec l'option -D ou\n"
-"encore avec la variable d'environnement PGDATA.\n"
+"Initialise le temps d'exécution minimum au-dessus duquel les actions\n"
+"autovacuum seront tracées."
 
-#: utils/misc/guc.c:4310
-#: utils/misc/guc.c:4474
-msgid "Value exceeds integer range."
-msgstr "La valeur dépasse l'échelle des entiers."
+#: utils/misc/guc.c:2063
+msgid "Zero prints all actions. -1 turns autovacuum logging off."
+msgstr "Zéro affiche toutes les requêtes. -1 désactive cette fonctionnalité."
 
-#: utils/misc/guc.c:4329
-msgid "Valid units for this parameter are \"kB\", \"MB\", and \"GB\"."
-msgstr "Les unités valides pour ce paramètre sont « kB », « MB » et « GB »."
+#: utils/misc/guc.c:2073
+msgid "Background writer sleep time between rounds."
+msgstr ""
+"Temps d'endormissement du processus d'écriture en tâche de fond en\n"
+"millisecondes."
 
-#: utils/misc/guc.c:4388
-msgid "Valid units for this parameter are \"ms\", \"s\", \"min\", \"h\", and \"d\"."
+#: utils/misc/guc.c:2084
+msgid "Background writer maximum number of LRU pages to flush per round."
 msgstr ""
-"Les unités valides pour ce paramètre sont « ms », « s », « min », « h » et\n"
-"« d »."
+"Nombre de pages LRU maximum à nettoyer par le processus d'écriture en\n"
+"tâche de fond."
 
-#: utils/misc/guc.c:4697
-#: utils/misc/guc.c:5361
-#: utils/misc/guc.c:5411
-#: utils/misc/guc.c:6115
-#: utils/misc/guc.c:6274
-#: utils/misc/guc.c:7496
-#: guc-file.l:217
-#, c-format
-msgid "unrecognized configuration parameter \"%s\""
-msgstr "paramètre de configuration « %s » non reconnu"
+#: utils/misc/guc.c:2100
+msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem."
+msgstr "Nombre de requêtes simultanées pouvant être gérées efficacement par le sous-système disque."
 
-#: utils/misc/guc.c:4724
-#, c-format
-msgid "parameter \"%s\" cannot be changed"
-msgstr "le paramètre « %s » ne peut pas être changé"
+#: utils/misc/guc.c:2101
+msgid "For RAID arrays, this should be approximately the number of drive spindles in the array."
+msgstr ""
+"Pour les systèmes RAID, cela devrait être approximativement le nombre de\n"
+"têtes de lecture du système."
 
-#: utils/misc/guc.c:4741
-#: utils/misc/guc.c:4749
-#: guc-file.l:264
-#, c-format
-msgid "parameter \"%s\" cannot be changed without restarting the server"
-msgstr "le paramètre « %s » ne peut pas être modifié sans redémarrer le serveur"
+#: utils/misc/guc.c:2114
+msgid "Automatic log file rotation will occur after N minutes."
+msgstr ""
+"La rotation automatique des journaux applicatifs s'effectue toutes les N\n"
+"minutes."
 
-#: utils/misc/guc.c:4759
-#, c-format
-msgid "parameter \"%s\" cannot be changed now"
-msgstr "le paramètre « %s » ne peut pas être modifié maintenant"
+#: utils/misc/guc.c:2125
+msgid "Automatic log file rotation will occur after N kilobytes."
+msgstr "La rotation automatique des journaux applicatifs s'effectue après N Ko."
 
-#: utils/misc/guc.c:4790
-#, c-format
-msgid "parameter \"%s\" cannot be set after connection start"
-msgstr "le paramètre « %s » ne peut pas être initialisé après le lancement du serveur"
+#: utils/misc/guc.c:2136
+msgid "Shows the maximum number of function arguments."
+msgstr "Affiche le nombre maximum d'arguments de fonction."
 
-#: utils/misc/guc.c:4800
-#: utils/misc/guc.c:7511
-#, c-format
-msgid "permission denied to set parameter \"%s\""
-msgstr "droit refusé pour initialiser le paramètre « %s »"
+#: utils/misc/guc.c:2147
+msgid "Shows the maximum number of index keys."
+msgstr "Affiche le nombre maximum de clés d'index."
 
-#: utils/misc/guc.c:4838
-#, c-format
-msgid "cannot set parameter \"%s\" within security-definer function"
-msgstr ""
-"ne peut pas configurer le paramètre « %s » à l'intérieur d'une fonction\n"
-"SECURITY DEFINER"
+#: utils/misc/guc.c:2158
+msgid "Shows the maximum identifier length."
+msgstr "Affiche la longueur maximum d'un identifiant"
 
-#: utils/misc/guc.c:4846
-#: utils/init/miscinit.c:380
-#, c-format
-msgid "cannot set parameter \"%s\" within security-restricted operation"
-msgstr ""
-"ne peut pas configurer le paramètre « %s » à l'intérieur d'une fonction\n"
-"restreinte pour sécurité"
+#: utils/misc/guc.c:2169
+msgid "Shows the size of a disk block."
+msgstr "Affiche la taille d'un bloc de disque."
 
-#: utils/misc/guc.c:4917
-#: utils/misc/guc.c:4992
-#, c-format
-msgid "invalid value for parameter \"%s\": %d"
-msgstr "valeur invalide pour le paramètre « %s » : %d"
+#: utils/misc/guc.c:2180
+msgid "Shows the number of pages per disk file."
+msgstr "Affiche le nombre de pages par fichier."
 
-#: utils/misc/guc.c:4961
-#: utils/misc/guc.c:5163
-#: utils/misc/guc.c:5229
-#: utils/misc/guc.c:5255
-#: guc-file.l:178
-#, c-format
-msgid "invalid value for parameter \"%s\": \"%s\""
-msgstr "valeur invalide pour le paramètre « %s » : « %s »"
+#: utils/misc/guc.c:2191
+msgid "Shows the block size in the write ahead log."
+msgstr "Affiche la taille du bloc dans les journaux de transactions."
 
-#: utils/misc/guc.c:4970
-#, c-format
-msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
-msgstr "%d est en dehors des limites valides pour le paramètre « %s » (%d .. %d)"
+#: utils/misc/guc.c:2202
+msgid "Shows the number of pages per write ahead log segment."
+msgstr "Affiche le nombre de pages par journal de transactions."
 
-#: utils/misc/guc.c:5034
-#, c-format
-msgid "parameter \"%s\" requires a numeric value"
-msgstr "le paramètre « %s » requiert une valeur numérique"
+#: utils/misc/guc.c:2215
+msgid "Time to sleep between autovacuum runs."
+msgstr "Durée d'endormissement entre deux exécutions d'autovacuum."
 
-#: utils/misc/guc.c:5042
-#, c-format
-msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)"
-msgstr "%g est en dehors des limites valides pour le paramètre « %s » (%g .. %g)"
+#: utils/misc/guc.c:2225
+msgid "Minimum number of tuple updates or deletes prior to vacuum."
+msgstr "Nombre minimum de lignes mises à jour ou supprimées avant le VACUUM."
 
-#: utils/misc/guc.c:5064
-#, c-format
-msgid "invalid value for parameter \"%s\": %g"
-msgstr "valeur invalide pour le paramètre « %s » : %g"
+#: utils/misc/guc.c:2234
+msgid "Minimum number of tuple inserts, updates or deletes prior to analyze."
+msgstr "Nombre minimum de lignes insérées, mises à jour ou supprimées avant un ANALYZE."
 
-#: utils/misc/guc.c:5367
-#: utils/misc/guc.c:5415
-#: utils/misc/guc.c:6278
-#, c-format
-msgid "must be superuser to examine \"%s\""
-msgstr "doit être super-utilisateur pour examiner « %s »"
+#: utils/misc/guc.c:2244
+msgid "Age at which to autovacuum a table to prevent transaction ID wraparound."
+msgstr ""
+"Âge à partir duquel l'autovacuum se déclenche sur une table pour empêcher la\n"
+"réinitialisation de l'identifiant de transaction"
 
-#: utils/misc/guc.c:5526
-#, c-format
-msgid "SET %s takes only one argument"
-msgstr "SET %s prend un seul argument"
+#: utils/misc/guc.c:2255
+msgid "Sets the maximum number of simultaneously running autovacuum worker processes."
+msgstr "Initialise le nombre maximum de processus autovacuum exécutés simultanément."
 
-#: utils/misc/guc.c:5753
-msgid "SET requires parameter name"
-msgstr "SET requiert le nom du paramètre"
+#: utils/misc/guc.c:2265
+msgid "Time between issuing TCP keepalives."
+msgstr "Secondes entre l'exécution de « TCP keepalives »."
 
-#: utils/misc/guc.c:5868
-#, c-format
-msgid "attempt to redefine parameter \"%s\""
-msgstr "tentative de redéfinition du paramètre « %s »"
+#: utils/misc/guc.c:2266
+#: utils/misc/guc.c:2277
+msgid "A value of 0 uses the system default."
+msgstr "Une valeur de 0 désactive la valeur système par défaut."
 
-#: utils/misc/guc.c:7212
-#, c-format
-msgid "could not parse setting for parameter \"%s\""
-msgstr "n'a pas pu analyser la configuration du paramètre « %s »"
+#: utils/misc/guc.c:2276
+msgid "Time between TCP keepalive retransmits."
+msgstr "Secondes entre les retransmissions de « TCP keepalive »."
 
-#: utils/misc/guc.c:7555
-msgid "invalid list syntax for parameter \"log_destination\""
-msgstr "syntaxe de liste invalide pour le paramètre « log_destination »"
+#: utils/misc/guc.c:2287
+msgid "Set the amount of traffic to send and receive before renegotiating the encryption keys."
+msgstr ""
+"Configure la quantité de trafic à envoyer et recevoir avant la renégotiation\n"
+"des clés d'enchiffrement."
 
-#: utils/misc/guc.c:7579
-#, c-format
-msgid "unrecognized \"log_destination\" key word: \"%s\""
-msgstr "mot clé « log_destination » non reconnu : « %s »"
+#: utils/misc/guc.c:2298
+msgid "Maximum number of TCP keepalive retransmits."
+msgstr "Nombre maximum de retransmissions de « TCP keepalive »."
 
-#: utils/misc/guc.c:7654
-msgid "SET AUTOCOMMIT TO OFF is no longer supported"
-msgstr "SET AUTOCOMMIT TO OFF n'est plus supporté"
+#: utils/misc/guc.c:2299
+msgid "This controls the number of consecutive keepalive retransmits that can be lost before a connection is considered dead. A value of 0 uses the system default."
+msgstr ""
+"Ceci contrôle le nombre de retransmissions keepalive consécutives qui\n"
+"peuvent être perdues avant qu'une connexion ne soit considérée morte. Une\n"
+"valeur de 0 utilise la valeur par défaut du système."
 
-#: utils/misc/guc.c:7726
-msgid "assertion checking is not supported by this build"
-msgstr "la vérification de l'assertion n'a pas été intégrée lors de la compilation"
+#: utils/misc/guc.c:2310
+msgid "Sets the maximum allowed result for exact search by GIN."
+msgstr "Configure le nombre maximum de résultats lors d'une recherche par GIN."
 
-#: utils/misc/guc.c:7741
-msgid "Bonjour is not supported by this build"
-msgstr "Bonjour n'est pas supporté dans cette installation"
+#: utils/misc/guc.c:2321
+msgid "Sets the planner's assumption about the size of the disk cache."
+msgstr "Initialise le sentiment du planificateur sur la taille du cache disque."
 
-#: utils/misc/guc.c:7756
-msgid "SSL is not supported by this build"
-msgstr "SSL n'est pas supporté dans cette installation"
+#: utils/misc/guc.c:2322
+msgid "That is, the portion of the kernel's disk cache that will be used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each."
+msgstr ""
+"C'est-à-dire, la portion du cache disque du noyau qui sera utilisé pour les\n"
+"fichiers de données de PostgreSQL. C'est mesuré en pages disque, qui font\n"
+"normalement 8 Ko chaque."
 
-#: utils/misc/guc.c:7770
-msgid "cannot enable parameter when \"log_statement_stats\" is true"
-msgstr "ne peut pas activer le paramètre avec « log_statement_stats » à true"
+#: utils/misc/guc.c:2335
+msgid "Shows the server version as an integer."
+msgstr "Affiche la version du serveur sous la forme d'un entier."
 
-#: utils/misc/guc.c:7786
-msgid "cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true"
+#: utils/misc/guc.c:2346
+msgid "Log the use of temporary files larger than this number of kilobytes."
 msgstr ""
-"ne peut pas activer « log_statement_stats » lorsque « log_parser_stats »,\n"
-"« log_planner_stats » ou « log_executor_stats » est true"
+"Trace l'utilisation de fichiers temporaires plus gros que ce nombre de\n"
+"kilooctets."
 
-#: utils/misc/guc.c:7804
-msgid "cannot set transaction read-write mode inside a read-only transaction"
+#: utils/misc/guc.c:2347
+msgid "Zero logs all files. The default is -1 (turning this feature off)."
 msgstr ""
-"ne peut pas initialiser le mode lecture-écriture de la transaction à\n"
-"l'intérieur d'une transaction en lecture seule"
+"Zéro trace toutes les requêtes. La valeur par défaut est -1 (désactivant\n"
+"cette fonctionnalité)."
 
-#: utils/misc/guc.c:7815
-msgid "cannot set transaction read-write mode during recovery"
+#: utils/misc/guc.c:2357
+msgid "Sets the size reserved for pg_stat_activity.current_query, in bytes."
+msgstr "Configure la taille réservée pour pg_stat_activity.current_query, en octets."
+
+#: utils/misc/guc.c:2376
+msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page."
 msgstr ""
-"ne peut pas initialiser le mode lecture-écriture des transactions lors de la\n"
-"restauration"
+"Initialise l'estimation du planificateur pour le coût d'une page disque\n"
+"récupérée séquentiellement."
 
-#: utils/misc/help_config.c:131
-msgid "internal error: unrecognized run-time parameter type\n"
-msgstr "erreur interne : type de paramètre d'exécution non reconnu\n"
+#: utils/misc/guc.c:2386
+msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page."
+msgstr ""
+"Initialise l'estimation du plnnificateur pour le coût d'une page disque\n"
+"récupérée non séquentiellement."
 
-#: guc-file.l:288
-#, c-format
-msgid "parameter \"%s\" removed from configuration file, reset to default"
+#: utils/misc/guc.c:2396
+msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgstr ""
-"paramètre « %s » supprimé du fichier de configuration ;\n"
-"réinitialisation à la valeur par défaut"
+"Initialise l'estimation du planificateur pour le coût d'exécution sur chaque\n"
+"ligne."
 
-#: guc-file.l:344
-#, c-format
-msgid "parameter \"%s\" changed to \"%s\""
-msgstr "paramètre « %s » modifié par « %s »"
+#: utils/misc/guc.c:2406
+msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan."
+msgstr ""
+"Initialise l'estimation du planificateur pour le coût de traitement de\n"
+"chaque ligne indexée lors d'un parcours d'index."
 
-#: guc-file.l:412
-#, c-format
-msgid "could not open configuration file \"%s\": maximum nesting depth exceeded"
+#: utils/misc/guc.c:2416
+msgid "Sets the planner's estimate of the cost of processing each operator or function call."
 msgstr ""
-"n'a pas pu ouvrir le fichier de configuration « %s » : profondeur\n"
-"d'imbrication dépassé"
+"Initialise l'estimation du planificateur pour le coût de traitement de\n"
+"chaque opérateur ou appel de fonction."
 
-#: guc-file.l:575
-#, c-format
-msgid "syntax error in file \"%s\" line %u, near end of line"
-msgstr "erreur de syntaxe dans le fichier « %s », ligne %u, près de la fin de ligne"
+#: utils/misc/guc.c:2427
+msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved."
+msgstr "Initialise l'estimation du planificateur de la fraction des lignes d'un curseur à récupérer."
 
-#: guc-file.l:580
-#, c-format
-msgid "syntax error in file \"%s\" line %u, near token \"%s\""
-msgstr "erreur de syntaxe dans le fichier « %s », ligne %u, près du mot clé « %s »"
+#: utils/misc/guc.c:2438
+msgid "GEQO: selective pressure within the population."
+msgstr "GEQO : pression sélective dans la population."
 
-#: utils/error/assert.c:37
-msgid "TRAP: ExceptionalCondition: bad arguments\n"
-msgstr "TRAP : ExceptionalCondition : mauvais arguments\n"
+#: utils/misc/guc.c:2448
+msgid "GEQO: seed for random path selection."
+msgstr "GEQO : graine pour la sélection du chemin aléatoire."
 
-#: utils/error/assert.c:40
-#, c-format
-msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
-msgstr "TRAP : %s(« %s », fichier : « %s », ligne : %d)\n"
+#: utils/misc/guc.c:2458
+msgid "Multiple of the average buffer usage to free per round."
+msgstr "Multiplede l'utilisation moyenne des tampons à libérer à chaque tour."
 
-#: utils/error/elog.c:1413
-#, c-format
-msgid "could not reopen file \"%s\" as stderr: %m"
-msgstr "n'a pas pu ré-ouvrir le fichier « %s » comme stderr : %m"
+#: utils/misc/guc.c:2468
+msgid "Sets the seed for random-number generation."
+msgstr "Initialise la clé pour la génération de nombres aléatoires."
 
-#: utils/error/elog.c:1426
-#, c-format
-msgid "could not reopen file \"%s\" as stdout: %m"
-msgstr "n'a pas pu ré-ouvrir le fichier « %s » comme stdout : %m"
+#: utils/misc/guc.c:2479
+msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples."
+msgstr ""
+"Nombre de lignes modifiées ou supprimées avant d'exécuter un VACUUM\n"
+"(fraction de reltuples)."
 
-#: utils/error/elog.c:1815
-#: utils/error/elog.c:1825
-#: utils/error/elog.c:1835
-msgid "[unknown]"
-msgstr "[inconnu]"
+#: utils/misc/guc.c:2488
+msgid "Number of tuple inserts, updates or deletes prior to analyze as a fraction of reltuples."
+msgstr ""
+"Nombre de lignes insérées, mises à jour ou supprimées avant d'analyser\n"
+"(fraction de reltuples)."
 
-#: utils/error/elog.c:2183
-#: utils/error/elog.c:2463
-#: utils/error/elog.c:2541
-msgid "missing error text"
-msgstr "texte d'erreur manquant"
+#: utils/misc/guc.c:2498
+msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval."
+msgstr ""
+"Temps passé à vider les tampons lors du point de vérification, en tant que\n"
+"fraction de l'intervalle du point de vérification."
 
-#: utils/error/elog.c:2186
-#: utils/error/elog.c:2189
-#: utils/error/elog.c:2544
-#: utils/error/elog.c:2547
-#, c-format
-msgid " at character %d"
-msgstr " au caractère %d"
+#: utils/misc/guc.c:2517
+msgid "Sets the shell command that will be called to archive a WAL file."
+msgstr "La commande shell qui sera appelée pour archiver un journal de transaction."
 
-#: utils/error/elog.c:2199
-#: utils/error/elog.c:2206
-msgid "DETAIL:  "
-msgstr "DÉTAIL:  "
+#: utils/misc/guc.c:2527
+msgid "Sets the client's character set encoding."
+msgstr "Initialise l'encodage du client."
 
-#: utils/error/elog.c:2213
-msgid "HINT:  "
-msgstr "ASTUCE :  "
+#: utils/misc/guc.c:2538
+msgid "Controls information prefixed to each log line."
+msgstr "Contrôle l'information préfixée sur chaque ligne de trace."
 
-#: utils/error/elog.c:2220
-msgid "QUERY:  "
-msgstr "REQUÊTE :  "
+#: utils/misc/guc.c:2539
+msgid "If blank, no prefix is used."
+msgstr "Si vide, aucun préfixe n'est utilisé."
 
-#: utils/error/elog.c:2227
-msgid "CONTEXT:  "
-msgstr "CONTEXTE :  "
+#: utils/misc/guc.c:2548
+msgid "Sets the time zone to use in log messages."
+msgstr "Initialise le fuseau horaire à utiliser pour les journaux applicatifs."
 
-#: utils/error/elog.c:2237
-#, c-format
-msgid "LOCATION:  %s, %s:%d\n"
-msgstr "EMPLACEMENT :  %s, %s:%d\n"
+#: utils/misc/guc.c:2558
+msgid "Sets the display format for date and time values."
+msgstr "Initialise le format d'affichage des valeurs date et time."
 
-#: utils/error/elog.c:2244
-#, c-format
-msgid "LOCATION:  %s:%d\n"
-msgstr "EMPLACEMENT :  %s:%d\n"
+#: utils/misc/guc.c:2559
+msgid "Also controls interpretation of ambiguous date inputs."
+msgstr "Contrôle aussi l'interprétation des dates ambigues en entrée."
 
-#: utils/error/elog.c:2258
-msgid "STATEMENT:  "
-msgstr "INSTRUCTION :  "
+#: utils/misc/guc.c:2570
+msgid "Sets the default tablespace to create tables and indexes in."
+msgstr "Initialise le tablespace par défaut pour créer les tables et index."
 
-#. translator: This string will be truncated at 47
-#. characters expanded.
-#: utils/error/elog.c:2656
-#, c-format
-msgid "operating system error %d"
-msgstr "erreur %d du système d'exploitation"
+#: utils/misc/guc.c:2571
+msgid "An empty string selects the database's default tablespace."
+msgstr "Une chaîne vide sélectionne le tablespace par défaut de la base de données."
 
-#: utils/error/elog.c:2679
-msgid "DEBUG"
-msgstr "DEBUG"
+#: utils/misc/guc.c:2581
+msgid "Sets the tablespace(s) to use for temporary tables and sort files."
+msgstr ""
+"Initialise le(s) tablespace(s) à utiliser pour les tables temporaires et les\n"
+"fichiers de tri."
 
-#: utils/error/elog.c:2683
-msgid "LOG"
-msgstr "LOG"
+#: utils/misc/guc.c:2592
+msgid "Sets the path for dynamically loadable modules."
+msgstr "Initialise le chemin des modules chargeables dynamiquement."
 
-#: utils/error/elog.c:2686
-msgid "INFO"
-msgstr "INFO"
+#: utils/misc/guc.c:2593
+msgid "If a dynamically loadable module needs to be opened and the specified name does not have a directory component (i.e., the name does not contain a slash), the system will search this path for the specified file."
+msgstr ""
+"Si un module chargeable dynamiquement a besoin d'être ouvert et que le nom\n"
+"spécifié n'a pas une composante répertoire (c'est-à-dire que le nom ne\n"
+"contient pas un '/'), le système cherche le fichier spécifié sur ce chemin."
 
-#: utils/error/elog.c:2689
-msgid "NOTICE"
-msgstr "NOTICE"
+#: utils/misc/guc.c:2606
+msgid "Sets the location of the Kerberos server key file."
+msgstr "Initalise l'emplacement du fichier de la clé serveur pour Kerberos."
 
-#: utils/error/elog.c:2692
-msgid "WARNING"
-msgstr "ATTENTION"
+#: utils/misc/guc.c:2617
+msgid "Sets the name of the Kerberos service."
+msgstr "Initialise le nom du service Kerberos."
 
-#: utils/error/elog.c:2695
-msgid "ERROR"
-msgstr "ERREUR"
+#: utils/misc/guc.c:2627
+msgid "Sets the Bonjour service name."
+msgstr "Initialise le nom du service Bonjour."
 
-#: utils/error/elog.c:2698
-msgid "FATAL"
-msgstr "FATAL"
+#: utils/misc/guc.c:2639
+msgid "Shows the collation order locale."
+msgstr "Affiche la locale de tri et de groupement."
 
-#: utils/error/elog.c:2701
-msgid "PANIC"
-msgstr "PANIC"
+#: utils/misc/guc.c:2650
+msgid "Shows the character classification and case conversion locale."
+msgstr "Affiche la classification des caractères et la locale de conversions."
 
-#: utils/fmgr/dfmgr.c:125
-#, c-format
-msgid "could not find function \"%s\" in file \"%s\""
-msgstr "n'a pas pu trouver la fonction « %s » dans le fichier « %s »"
+#: utils/misc/guc.c:2661
+msgid "Sets the language in which messages are displayed."
+msgstr "Initialise le langage dans lequel les messages sont affichés."
 
-#: utils/fmgr/dfmgr.c:204
-#: utils/fmgr/dfmgr.c:413
-#: utils/fmgr/dfmgr.c:461
-#, c-format
-msgid "could not access file \"%s\": %m"
-msgstr "n'a pas pu accéder au fichier « %s » : %m"
+#: utils/misc/guc.c:2671
+msgid "Sets the locale for formatting monetary amounts."
+msgstr "Initialise la locale pour le formattage des montants monétaires."
 
-#: utils/fmgr/dfmgr.c:242
-#, c-format
-msgid "could not load library \"%s\": %s"
-msgstr "n'a pas pu charger la bibliothèque « %s » : %s"
+#: utils/misc/guc.c:2681
+msgid "Sets the locale for formatting numbers."
+msgstr "Initialise la locale pour formater les nombres."
 
-#: utils/fmgr/dfmgr.c:274
-#, c-format
-msgid "incompatible library \"%s\": missing magic block"
-msgstr "bibliothèque « %s » incompatible : bloc magique manquant"
+#: utils/misc/guc.c:2691
+msgid "Sets the locale for formatting date and time values."
+msgstr "Initialise la locale pour formater les valeurs date et time."
 
-#: utils/fmgr/dfmgr.c:276
-msgid "Extension libraries are required to use the PG_MODULE_MAGIC macro."
+#: utils/misc/guc.c:2701
+msgid "Lists shared libraries to preload into server."
+msgstr "Liste les bibliothèques partagées à précharger dans le serveur."
+
+#: utils/misc/guc.c:2712
+msgid "Lists shared libraries to preload into each backend."
+msgstr "Liste les bibliothèques partagées à précharger dans chaque processus serveur."
+
+#: utils/misc/guc.c:2723
+msgid "Sets the schema search order for names that are not schema-qualified."
 msgstr ""
-"Les bibliothèques étendues nécessitent l'utilisation de la macro\n"
-"PG_MODULE_MAGIC."
+"Initialise l'ordre de recherche des schémas pour les noms qui ne précisent\n"
+"pas le schéma."
 
-#: utils/fmgr/dfmgr.c:312
-#, c-format
-msgid "incompatible library \"%s\": version mismatch"
-msgstr "bibliothèque « %s » incompatible : versions différentes"
+#: utils/misc/guc.c:2735
+msgid "Sets the server (database) character set encoding."
+msgstr "Initialise le codage des caractères pour le serveur (base de données)."
 
-#: utils/fmgr/dfmgr.c:314
-#, c-format
-msgid "Server is version %d.%d, library is version %d.%d."
-msgstr "La version du serveur est %d.%d, celle de la bibliothèque est %d.%d."
+#: utils/misc/guc.c:2747
+msgid "Shows the server version."
+msgstr "Affiche la version du serveur."
 
-#: utils/fmgr/dfmgr.c:333
-#, c-format
-msgid "Server has FUNC_MAX_ARGS = %d, library has %d."
-msgstr "Le serveur a FUNC_MAX_ARGS = %d, la bibliothèque a %d."
+#: utils/misc/guc.c:2759
+msgid "Sets the current role."
+msgstr "Initialise le rôle courant."
 
-#: utils/fmgr/dfmgr.c:342
-#, c-format
-msgid "Server has INDEX_MAX_KEYS = %d, library has %d."
-msgstr "Le serveur a INDEX_MAX_KEYS = %d, la bibliothèque a %d."
+#: utils/misc/guc.c:2771
+msgid "Sets the session user name."
+msgstr "Initialise le nom de l'utilisateur de la session."
 
-#: utils/fmgr/dfmgr.c:351
-#, c-format
-msgid "Server has NAMEDATALEN = %d, library has %d."
-msgstr "Le serveur a NAMEDATALEN = %d, la bibliothèque a %d."
+#: utils/misc/guc.c:2782
+msgid "Sets the destination for server log output."
+msgstr "Initialise la destination des journaux applicatifs du serveur."
 
-#: utils/fmgr/dfmgr.c:360
-#, c-format
-msgid "Server has FLOAT4PASSBYVAL = %s, library has %s."
-msgstr "Le serveur a FLOAT4PASSBYVAL = %s, la bibliothèque a %s."
+#: utils/misc/guc.c:2783
+msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and \"eventlog\", depending on the platform."
+msgstr ""
+"Les valeurs valides sont une combinaison de « stderr », « syslog »,\n"
+"« csvlog » et « eventlog », suivant la plateforme."
 
-#: utils/fmgr/dfmgr.c:369
-#, c-format
-msgid "Server has FLOAT8PASSBYVAL = %s, library has %s."
-msgstr "Le serveur a FLOAT8PASSBYVAL = %s, la bibliothèque a %s."
+#: utils/misc/guc.c:2794
+msgid "Sets the destination directory for log files."
+msgstr "Initialise le répertoire de destination pour les journaux applicatifs."
 
-#: utils/fmgr/dfmgr.c:376
-msgid "Magic block has unexpected length or padding difference."
-msgstr "Le bloc magique a une longueur inattendue ou une différence de padding."
+#: utils/misc/guc.c:2795
+msgid "Can be specified as relative to the data directory or as absolute path."
+msgstr "Accepte un chemin relatif ou absolu pour le répertoire des données."
 
-#: utils/fmgr/dfmgr.c:379
-#, c-format
-msgid "incompatible library \"%s\": magic block mismatch"
-msgstr "bibliothèque « %s » incompatible : différences dans le bloc magique"
+#: utils/misc/guc.c:2805
+msgid "Sets the file name pattern for log files."
+msgstr "Initialise le modèle de nom de fichiers pour les journaux applicatifs."
 
-#: utils/fmgr/dfmgr.c:545
-#, c-format
-msgid "access to library \"%s\" is not allowed"
-msgstr "l'accès à la bibliothèque « %s » n'est pas autorisé"
+#: utils/misc/guc.c:2816
+msgid "Sets the program name used to identify PostgreSQL messages in syslog."
+msgstr ""
+"Initialise le nom du programme utilisé pour identifier les messages de\n"
+"PostgreSQL dans syslog."
 
-#: utils/fmgr/dfmgr.c:572
-#, c-format
-msgid "invalid macro name in dynamic library path: %s"
-msgstr "nom de macro invalide dans le chemin des bibliothèques partagées : %s"
+#: utils/misc/guc.c:2827
+msgid "Sets the time zone for displaying and interpreting time stamps."
+msgstr "Initialise la zone horaire pour afficher et interpréter les dates/heures."
 
-#: utils/fmgr/dfmgr.c:617
-msgid "zero-length component in parameter \"dynamic_library_path\""
-msgstr "composant de longueur zéro dans le paramètre « dynamic_library_path »"
+#: utils/misc/guc.c:2837
+msgid "Selects a file of time zone abbreviations."
+msgstr "Sélectionne un fichier contenant les abréviations des fuseaux horaires."
 
-#: utils/fmgr/dfmgr.c:636
-msgid "component in parameter \"dynamic_library_path\" is not an absolute path"
-msgstr "Un composant du paramètre « dynamic_library_path » n'est pas un chemin absolu"
+#: utils/misc/guc.c:2847
+msgid "Sets the current transaction's isolation level."
+msgstr "Initialise le niveau d'isolation de la transaction courante."
+
+#: utils/misc/guc.c:2858
+msgid "Sets the owning group of the Unix-domain socket."
+msgstr "Initialise le groupe d'appartenance du socket domaine Unix."
 
-#: utils/fmgr/fmgr.c:264
-#, c-format
-msgid "internal function \"%s\" is not in internal lookup table"
-msgstr "la fonction interne « %s » n'est pas dans une table de recherche interne"
+#: utils/misc/guc.c:2859
+msgid "The owning user of the socket is always the user that starts the server."
+msgstr "Le propriétaire du socket est toujours l'utilisateur qui a lancé le serveur."
 
-#: utils/fmgr/fmgr.c:468
-#, c-format
-msgid "unrecognized API version %d reported by info function \"%s\""
-msgstr "version API %d non reconnue mais rapportée par la fonction info « %s »"
+#: utils/misc/guc.c:2869
+msgid "Sets the directory where the Unix-domain socket will be created."
+msgstr "Initialise le répertoire où le socket domaine Unix sera créé."
 
-#: utils/fmgr/fmgr.c:839
-#: utils/fmgr/fmgr.c:2071
-#, c-format
-msgid "function %u has too many arguments (%d, maximum is %d)"
-msgstr "la fonction %u a trop d'arguments (%d, le maximum étant %d)"
+#: utils/misc/guc.c:2880
+msgid "Sets the host name or IP address(es) to listen to."
+msgstr "Initialise le nom de l'hôte ou l'adresse IP à écouter."
 
-#: utils/fmgr/funcapi.c:354
-#, c-format
-msgid "could not determine actual result type for function \"%s\" declared to return type %s"
-msgstr ""
-"n'a pas pu déterminer le type du résultat actuel pour la fonction « %s »\n"
-"déclarant retourner le type %s"
+#: utils/misc/guc.c:2891
+msgid "Sets the list of known custom variable classes."
+msgstr "Initialise la liste des classes variables personnalisées connues."
 
-#: utils/fmgr/funcapi.c:1187
-#: utils/fmgr/funcapi.c:1218
-msgid "number of aliases does not match number of columns"
-msgstr "le nombre d'alias ne correspond pas au nombre de colonnes"
+#: utils/misc/guc.c:2902
+msgid "Sets the server's data directory."
+msgstr "Initialise le répertoire des données du serveur."
 
-#: utils/fmgr/funcapi.c:1212
-msgid "no column alias was provided"
-msgstr "aucun alias de colonne n'a été fourni"
+#: utils/misc/guc.c:2913
+msgid "Sets the server's main configuration file."
+msgstr "Voir le fichier de configuration principal du serveur."
 
-#: utils/fmgr/funcapi.c:1236
-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\n"
-"l'enregistrement"
+#: utils/misc/guc.c:2924
+msgid "Sets the server's \"hba\" configuration file."
+msgstr "Initialise le fichier de configuration « hba » du serveur."
 
-#: utils/init/miscinit.c:114
-#, c-format
-msgid "could not change directory to \"%s\": %m"
-msgstr "n'a pas pu modifier le répertoire par « %s » : %m"
+#: utils/misc/guc.c:2935
+msgid "Sets the server's \"ident\" configuration file."
+msgstr "Initialise le fichier de configuration « ident » du serveur."
 
-#: utils/init/miscinit.c:441
-#, c-format
-msgid "role \"%s\" is not permitted to log in"
-msgstr "le rôle « %s » n'est pas autorisé à se connecter"
+#: utils/misc/guc.c:2946
+msgid "Writes the postmaster PID to the specified file."
+msgstr "Écrit le PID du postmaster PID dans le fichier spécifié."
 
-#: utils/init/miscinit.c:459
-#, c-format
-msgid "too many connections for role \"%s\""
-msgstr "trop de connexions pour le rôle « %s »"
+#: utils/misc/guc.c:2957
+msgid "Writes temporary statistics files to the specified directory."
+msgstr "Écrit les fichiers statistiques temporaires dans le répertoire indiqué."
 
-#: utils/init/miscinit.c:519
-msgid "permission denied to set session authorization"
-msgstr "droit refusé pour initialiser une autorisation de session"
+#: utils/misc/guc.c:2968
+msgid "List of potential standby names to synchronise with."
+msgstr "Liste de noms de serveurs standbys potentiels pour la synchronisation."
 
-#: utils/init/miscinit.c:599
-#, c-format
-msgid "invalid role OID: %u"
-msgstr "OID du rôle invalide : %u"
+#: utils/misc/guc.c:2979
+msgid "Sets default text search configuration."
+msgstr "Initialise le configuration par défaut de la recherche plein texte"
 
-#: utils/init/miscinit.c:731
-#, c-format
-msgid "could not create lock file \"%s\": %m"
-msgstr "n'a pas pu créer le fichier verrou « %s » : %m"
+#: utils/misc/guc.c:2989
+msgid "Sets the list of allowed SSL ciphers."
+msgstr "Initialise la liste des chiffrements SSL autorisés."
 
-#: utils/init/miscinit.c:745
-#, c-format
-msgid "could not open lock file \"%s\": %m"
-msgstr "n'a pas pu ouvrir le fichier verrou « %s » : %m"
+#: utils/misc/guc.c:3004
+msgid "Sets the application name to be reported in statistics and logs."
+msgstr "Configure le nom de l'application à indiquer dans les statistiques et les journaux."
 
-#: utils/init/miscinit.c:751
-#, c-format
-msgid "could not read lock file \"%s\": %m"
-msgstr "n'a pas pu lire le fichier verrou « %s » : %m"
+#: utils/misc/guc.c:3024
+msgid "Sets whether \"\\'\" is allowed in string literals."
+msgstr "Indique si « \\' » est autorisé dans une constante de chaîne."
 
-#: utils/init/miscinit.c:799
-#, c-format
-msgid "lock file \"%s\" already exists"
-msgstr "le fichier verrou « %s » existe déjà"
+#: utils/misc/guc.c:3034
+msgid "Sets the output format for bytea."
+msgstr "Initialise le format de sortie pour bytea."
 
-#: utils/init/miscinit.c:803
-#, c-format
-msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
+#: utils/misc/guc.c:3044
+msgid "Sets the message levels that are sent to the client."
+msgstr "Initialise les niveaux de message envoyés au client."
+
+#: utils/misc/guc.c:3045
+#: utils/misc/guc.c:3098
+#: utils/misc/guc.c:3109
+#: utils/misc/guc.c:3165
+msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent."
 msgstr ""
-"Un autre postgres (de PID %d) est-il déjà lancé avec comme répertoire de\n"
-"données « %s » ?"
+"Chaque niveau inclut les niveaux qui suivent. Plus loin sera le niveau,\n"
+"moindre sera le nombre de messages envoyés."
 
-#: utils/init/miscinit.c:805
-#, c-format
-msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
+#: utils/misc/guc.c:3055
+msgid "Enables the planner to use constraints to optimize queries."
+msgstr "Active l'utilisation des contraintes par le planificateur pour optimiser les requêtes."
+
+#: utils/misc/guc.c:3056
+msgid "Table scans will be skipped if their constraints guarantee that no rows match the query."
 msgstr ""
-"Un autre postmaster (de PID %d) est-il déjà lancé avec comme répertoire de\n"
-"données « %s » ?"
+"Les parcours de tables seront ignorés si leur contraintes garantissent\n"
+"qu'aucune ligne ne correspond à la requête."
 
-#: utils/init/miscinit.c:808
-#, c-format
-msgid "Is another postgres (PID %d) using socket file \"%s\"?"
-msgstr "Un autre postgres (de PID %d) est-il déjà lancé en utilisant la socket « %s » ?"
+#: utils/misc/guc.c:3066
+msgid "Sets the transaction isolation level of each new transaction."
+msgstr "Initialise le niveau d'isolation des transactions pour chaque nouvelle transaction."
 
-#: utils/init/miscinit.c:810
-#, c-format
-msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
-msgstr "Un autre postmaster (de PID %d) est-il déjà lancé en utilisant la socket « %s » ?"
+#: utils/misc/guc.c:3076
+msgid "Sets the display format for interval values."
+msgstr "Initialise le format d'affichage des valeurs interval."
 
-#: utils/init/miscinit.c:841
-#, c-format
-msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
-msgstr ""
-"le bloc de mémoire partagé pré-existant (clé %lu, ID %lu) est en cours\n"
-"d'utilisation"
+#: utils/misc/guc.c:3087
+msgid "Sets the verbosity of logged messages."
+msgstr "Initialise la verbosité des messages tracés."
 
-#: utils/init/miscinit.c:844
-#, c-format
-msgid "If you're sure there are no old server processes still running, remove the shared memory block or just delete the file \"%s\"."
+#: utils/misc/guc.c:3097
+msgid "Sets the message levels that are logged."
+msgstr "Initialise les niveaux de messages tracés."
+
+#: utils/misc/guc.c:3108
+msgid "Causes all statements generating error at or above this level to be logged."
 msgstr ""
-"Si vous êtes sûr qu'aucun processus serveur n'est toujours en cours\n"
-"d'exécution, supprimez le bloc de mémoire partagée\n"
-"ou supprimez simplement le fichier « %s »."
+"Génère une trace pour toutes les instructions qui produisent une erreur de\n"
+"ce niveau ou de niveaux plus importants."
 
-#: utils/init/miscinit.c:861
-#, c-format
-msgid "could not remove old lock file \"%s\": %m"
-msgstr "n'a pas pu supprimer le vieux fichier verrou « %s » : %m"
+#: utils/misc/guc.c:3119
+msgid "Sets the type of statements logged."
+msgstr "Initialise le type d'instructions tracées."
 
-#: utils/init/miscinit.c:863
-msgid "The file seems accidentally left over, but it could not be removed. Please remove the file by hand and try again."
+#: utils/misc/guc.c:3129
+msgid "Sets the syslog \"facility\" to be used when syslog enabled."
 msgstr ""
-"Le fichier semble avoir été oublié accidentellement mais il ne peut pas être\n"
-"supprimé. Merci de supprimer ce fichier manuellement et de ré-essayer."
+"Initialise le niveau (« facility ») de syslog à utilisé lors de l'activation\n"
+"de syslog."
 
-#: utils/init/miscinit.c:885
-#: utils/init/miscinit.c:896
-#: utils/init/miscinit.c:906
-#, c-format
-msgid "could not write lock file \"%s\": %m"
-msgstr "n'a pas pu écrire le fichier verrou « %s » : %m"
+#: utils/misc/guc.c:3144
+msgid "Sets the session's behavior for triggers and rewrite rules."
+msgstr ""
+"Configure le comportement des sessions pour les triggers et les règles de\n"
+"ré-écriture."
 
-#: utils/init/miscinit.c:1112
-#: utils/init/miscinit.c:1125
-#, c-format
-msgid "\"%s\" is not a valid data directory"
-msgstr "« %s » n'est pas un répertoire de données valide"
+#: utils/misc/guc.c:3154
+msgid "Sets the current transaction's synchronization level."
+msgstr "Initialise le niveau d'isolation de la transaction courante."
 
-#: utils/init/miscinit.c:1114
-#, c-format
-msgid "File \"%s\" is missing."
-msgstr "le fichier « %s » est manquant."
+#: utils/misc/guc.c:3164
+msgid "Enables logging of recovery-related debugging information."
+msgstr "Active les traces sur les informations de débogage relatives à la restauration."
 
-#: utils/init/miscinit.c:1127
-#, c-format
-msgid "File \"%s\" does not contain valid data."
-msgstr "le fichier « %s » ne contient aucune données valides."
+#: utils/misc/guc.c:3180
+msgid "Collects function-level statistics on database activity."
+msgstr "Récupère les statistiques niveau fonction sur l'activité de la base de données."
 
-#: utils/init/miscinit.c:1129
-msgid "You might need to initdb."
-msgstr "Vous pouvez avoir besoin d'exécuter initdb."
+#: utils/misc/guc.c:3190
+msgid "Set the level of information written to the WAL."
+msgstr "Configure le niveau des informations écrites dans les journaux de transactions."
 
-#: utils/init/miscinit.c:1137
-#, c-format
-msgid "The data directory was initialized by PostgreSQL version %ld.%ld, which is not compatible with this version %s."
+#: utils/misc/guc.c:3200
+msgid "Selects the method used for forcing WAL updates to disk."
 msgstr ""
-"Le répertoire des données a été initialisé avec PostgreSQL version %ld.%ld,\n"
-"qui est non compatible avec cette version %s."
+"Sélectionne la méthode utilisée pour forcer la mise à jour des journaux de\n"
+"transactions sur le disque."
 
-#: utils/init/miscinit.c:1185
-#, c-format
-msgid "invalid list syntax in parameter \"%s\""
-msgstr "syntaxe de liste invalide pour le paramètre « %s »"
+#: utils/misc/guc.c:3210
+msgid "Sets how binary values are to be encoded in XML."
+msgstr "Configure comment les valeurs binaires seront codées en XML."
 
-#: utils/init/miscinit.c:1222
-#, c-format
-msgid "loaded library \"%s\""
-msgstr "bibliothèque « %s » chargée"
+#: utils/misc/guc.c:3220
+msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments."
+msgstr ""
+"Configure si les données XML dans des opérations d'analyse et de\n"
+"sérialisation implicite doivent être considérées comme des documents\n"
+"ou des fragments de contenu."
 
-#: utils/init/postinit.c:229
+#: utils/misc/guc.c:4062
 #, c-format
-msgid "replication connection authorized: user=%s host=%s port=%s"
-msgstr "connexion de réplication autorisée : utilisateur=%s, base de données=%s, port=%s"
+msgid ""
+"%s does not know where to find the server configuration file.\n"
+"You must specify the --config-file or -D invocation option or set the PGDATA environment variable.\n"
+msgstr ""
+"%s ne sait pas où trouver le fichier de configuration du serveur.\n"
+"Vous devez soit spécifier l'option --config-file soit spécifier l'option -D\n"
+"soit initialiser la variable d'environnement.\n"
 
-#: utils/init/postinit.c:235
+#: utils/misc/guc.c:4081
 #, c-format
-msgid "replication connection authorized: user=%s host=%s"
-msgstr "connexion de réplication autorisée : utilisateur=%s, base de données=%s"
+msgid "%s cannot access the server configuration file \"%s\": %s\n"
+msgstr "%s ne peut pas accéder au fichier de configuration « %s » : %s\n"
 
-#: utils/init/postinit.c:241
+#: utils/misc/guc.c:4101
 #, c-format
-msgid "connection authorized: user=%s database=%s"
-msgstr "connexion autorisée : utilisateur=%s, base de données=%s"
+msgid ""
+"%s does not know where to find the database system data.\n"
+"This can be specified as \"data_directory\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n"
+msgstr ""
+"%s ne sait pas où trouver les données du système de bases de données.\n"
+"Il est configurable avec « data_directory » dans « %s » ou avec l'option -D\n"
+"ou encore avec la variable d'environnement PGDATA.\n"
 
-#: utils/init/postinit.c:271
+#: utils/misc/guc.c:4132
 #, c-format
-msgid "database \"%s\" has disappeared from pg_database"
-msgstr "la base de données « %s » a disparu de pg_database"
+msgid ""
+"%s does not know where to find the \"hba\" configuration file.\n"
+"This can be specified as \"hba_file\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n"
+msgstr ""
+"%s ne sait pas où trouver le fichier de configuration « hba ».\n"
+"Il est configurable avec « hba_file » dans « %s » ou avec l'option -D ou\n"
+"encore avec la variable d'environnement PGDATA.\n"
 
-#: utils/init/postinit.c:273
+#: utils/misc/guc.c:4155
 #, c-format
-msgid "Database OID %u now seems to belong to \"%s\"."
-msgstr "La base de données d'OID %u semble maintenant appartenir à « %s »."
+msgid ""
+"%s does not know where to find the \"ident\" configuration file.\n"
+"This can be specified as \"ident_file\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n"
+msgstr ""
+"%s ne sait pas où trouver le fichier de configuration « hba ».\n"
+"Il est configurable avec « ident_file » dans « %s » ou avec l'option -D ou\n"
+"encore avec la variable d'environnement PGDATA.\n"
 
-#: utils/init/postinit.c:293
-#, c-format
-msgid "database \"%s\" is not currently accepting connections"
-msgstr "la base de données « %s » n'accepte plus les connexions"
+#: utils/misc/guc.c:4735
+#: utils/misc/guc.c:4899
+msgid "Value exceeds integer range."
+msgstr "La valeur dépasse l'échelle des entiers."
 
-#: utils/init/postinit.c:306
-#, c-format
-msgid "permission denied for database \"%s\""
-msgstr "droit refusé pour la base de données « %s »"
+#: utils/misc/guc.c:4754
+msgid "Valid units for this parameter are \"kB\", \"MB\", and \"GB\"."
+msgstr "Les unités valides pour ce paramètre sont « kB », « MB » et « GB »."
 
-#: utils/init/postinit.c:307
-msgid "User does not have CONNECT privilege."
-msgstr "L'utilisateur n'a pas le droit CONNECT."
+#: utils/misc/guc.c:4813
+msgid "Valid units for this parameter are \"ms\", \"s\", \"min\", \"h\", and \"d\"."
+msgstr ""
+"Les unités valides pour ce paramètre sont « ms », « s », « min », « h » et\n"
+"« d »."
 
-#: utils/init/postinit.c:324
+#: utils/misc/guc.c:5096
+#: utils/misc/guc.c:5859
+#: utils/misc/guc.c:5909
+#: utils/misc/guc.c:6582
+#: utils/misc/guc.c:6741
+#: utils/misc/guc.c:7902
+#: guc-file.l:203
 #, c-format
-msgid "too many connections for database \"%s\""
-msgstr "trop de connexions pour la base de données « %s »"
-
-#: utils/init/postinit.c:346
-#: utils/init/postinit.c:353
-msgid "database locale is incompatible with operating system"
-msgstr "la locale de la base de données est incompatible avec le système d'exploitation"
+msgid "unrecognized configuration parameter \"%s\""
+msgstr "paramètre de configuration « %s » non reconnu"
 
-#: utils/init/postinit.c:347
+#: utils/misc/guc.c:5129
 #, c-format
-msgid "The database was initialized with LC_COLLATE \"%s\",  which is not recognized by setlocale()."
-msgstr ""
-"La base de données a été initialisée avec un LC_COLLATE à « %s »,\n"
-"qui n'est pas reconnu par setlocale()."
+msgid "parameter \"%s\" cannot be changed"
+msgstr "le paramètre « %s » ne peut pas être changé"
 
-#: utils/init/postinit.c:349
-#: utils/init/postinit.c:356
-msgid "Recreate the database with another locale or install the missing locale."
-msgstr ""
-"Recréez la base de données avec une autre locale ou installez la locale\n"
-"manquante."
+#: utils/misc/guc.c:5158
+#: utils/misc/guc.c:5332
+#: utils/misc/guc.c:5429
+#: utils/misc/guc.c:5523
+#: utils/misc/guc.c:5637
+#: utils/misc/guc.c:5738
+#: guc-file.l:250
+#, c-format
+msgid "parameter \"%s\" cannot be changed without restarting the server"
+msgstr "le paramètre « %s » ne peut pas être modifié sans redémarrer le serveur"
 
-#: utils/init/postinit.c:354
+#: utils/misc/guc.c:5168
 #, c-format
-msgid "The database was initialized with LC_CTYPE \"%s\",  which is not recognized by setlocale()."
-msgstr ""
-"La base de données a été initialisée avec un LC_CTYPE à « %s »,\n"
-"qui n'est pas reconnu par setlocale()."
+msgid "parameter \"%s\" cannot be changed now"
+msgstr "le paramètre « %s » ne peut pas être modifié maintenant"
 
-#: utils/init/postinit.c:608
-msgid "no roles are defined in this database system"
-msgstr "aucun rôle n'est défini dans le système de bases de données"
+#: utils/misc/guc.c:5199
+#, c-format
+msgid "parameter \"%s\" cannot be set after connection start"
+msgstr "le paramètre « %s » ne peut pas être initialisé après le lancement du serveur"
 
-#: utils/init/postinit.c:609
+#: utils/misc/guc.c:5209
+#: utils/misc/guc.c:7917
 #, c-format
-msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
-msgstr "Vous devez immédiatement exécuter « CREATE USER \"%s\" CREATEUSER; »."
+msgid "permission denied to set parameter \"%s\""
+msgstr "droit refusé pour initialiser le paramètre « %s »"
 
-#: utils/init/postinit.c:632
-msgid "new replication connections are not allowed during database shutdown"
+#: utils/misc/guc.c:5247
+#, c-format
+msgid "cannot set parameter \"%s\" within security-definer function"
 msgstr ""
-"les nouvelles connexions pour la réplication ne sont pas autorisées pendant\n"
-"l'arrêt du serveur de base de données"
+"ne peut pas configurer le paramètre « %s » à l'intérieur d'une fonction\n"
+"SECURITY DEFINER"
 
-#: utils/init/postinit.c:636
-msgid "must be superuser to connect during database shutdown"
-msgstr ""
-"doit être super-utilisateur pour se connecter pendant un arrêt de la base de\n"
-"données"
+#: utils/misc/guc.c:5393
+#: utils/misc/guc.c:5707
+#: utils/misc/guc.c:8081
+#: utils/misc/guc.c:8115
+#, c-format
+msgid "invalid value for parameter \"%s\": \"%s\""
+msgstr "valeur invalide pour le paramètre « %s » : « %s »"
 
-#: utils/init/postinit.c:650
-msgid "remaining connection slots are reserved for non-replication superuser connections"
-msgstr ""
-"les emplacements de connexions restants sont réservés pour les connexion\n"
-"superutilisateur non relatif à la réplication"
+#: utils/misc/guc.c:5402
+#, c-format
+msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
+msgstr "%d est en dehors des limites valides pour le paramètre « %s » (%d .. %d)"
 
-#: utils/init/postinit.c:665
-msgid "must be superuser to start walsender"
-msgstr "doit être super-utilisateur pour exécuter walsender"
+#: utils/misc/guc.c:5488
+#, c-format
+msgid "parameter \"%s\" requires a numeric value"
+msgstr "le paramètre « %s » requiert une valeur numérique"
 
-#: utils/init/postinit.c:725
+#: utils/misc/guc.c:5496
 #, c-format
-msgid "database %u does not exist"
-msgstr "la base de données « %u » n'existe pas"
+msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)"
+msgstr "%g est en dehors des limites valides pour le paramètre « %s » (%g .. %g)"
 
-#: utils/init/postinit.c:777
-msgid "It seems to have just been dropped or renamed."
-msgstr "Cet objet semble avoir été tout juste supprimé ou renommé."
+#: utils/misc/guc.c:5865
+#: utils/misc/guc.c:5913
+#: utils/misc/guc.c:6745
+#, c-format
+msgid "must be superuser to examine \"%s\""
+msgstr "doit être super-utilisateur pour examiner « %s »"
 
-#: utils/init/postinit.c:795
+#: utils/misc/guc.c:5979
 #, c-format
-msgid "The database subdirectory \"%s\" is missing."
-msgstr "Le sous-répertoire de la base de données « %s » est manquant."
+msgid "SET %s takes only one argument"
+msgstr "SET %s prend un seul argument"
+
+#: utils/misc/guc.c:6212
+msgid "SET requires parameter name"
+msgstr "SET requiert le nom du paramètre"
 
-#: utils/init/postinit.c:800
+#: utils/misc/guc.c:6327
 #, c-format
-msgid "could not access directory \"%s\": %m"
-msgstr "n'a pas pu accéder au répertoire « %s » : %m"
+msgid "attempt to redefine parameter \"%s\""
+msgstr "tentative de redéfinition du paramètre « %s »"
 
-#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:136
-#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:163
+#: utils/misc/guc.c:7618
 #, c-format
-msgid "unexpected encoding ID %d for ISO 8859 character sets"
-msgstr "identifiant d'encodage %d inattendu pour les jeux de caractères ISO-8859"
+msgid "could not parse setting for parameter \"%s\""
+msgstr "n'a pas pu analyser la configuration du paramètre « %s »"
 
-#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:126
-#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:153
+#: utils/misc/guc.c:7979
+#: utils/misc/guc.c:8013
 #, c-format
-msgid "unexpected encoding ID %d for WIN character sets"
-msgstr "identifiant d'encodage %d inattendu pour les jeux de caractères WIN"
+msgid "invalid value for parameter \"%s\": %d"
+msgstr "valeur invalide pour le paramètre « %s » : %d"
 
-#: utils/mb/conv.c:509
+#: utils/misc/guc.c:8047
 #, c-format
-msgid "invalid encoding number: %d"
-msgstr "numéro d'encodage invalide : %d"
+msgid "invalid value for parameter \"%s\": %g"
+msgstr "valeur invalide pour le paramètre « %s » : %g"
 
-#: utils/mb/encnames.c:485
-msgid "encoding name too long"
-msgstr "nom d'encodage trop long"
+#: utils/misc/guc.c:8237
+msgid "\"temp_buffers\" cannot be changed after any temp tables have been accessed in the session."
+msgstr ""
 
-#: utils/mb/mbutils.c:311
-#, c-format
-msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist"
+#: utils/misc/guc.c:8249
+msgid "SET AUTOCOMMIT TO OFF is no longer supported"
+msgstr "SET AUTOCOMMIT TO OFF n'est plus supporté"
+
+#: utils/misc/guc.c:8324
+msgid "assertion checking is not supported by this build"
+msgstr "la vérification de l'assertion n'a pas été intégrée lors de la compilation"
+
+#: utils/misc/guc.c:8337
+msgid "Bonjour is not supported by this build"
+msgstr "Bonjour n'est pas supporté dans cette installation"
+
+#: utils/misc/guc.c:8350
+msgid "SSL is not supported by this build"
+msgstr "SSL n'est pas supporté dans cette installation"
+
+#: utils/misc/guc.c:8362
+msgid "Cannot enable parameter when \"log_statement_stats\" is true."
+msgstr "Ne peut pas activer le paramètre avec « log_statement_stats » à true."
+
+#: utils/misc/guc.c:8374
+msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true."
 msgstr ""
-"la fonction de conversion par défaut pour l'encodage de « %s » en « %s »\n"
-"n'existe pas"
+"Ne peut pas activer « log_statement_stats » lorsque « log_parser_stats »,\n"
+"« log_planner_stats » ou « log_executor_stats » est true."
 
-#: utils/mb/mbutils.c:335
-#: utils/mb/mbutils.c:607
-#, c-format
-msgid "String of %d bytes is too long for encoding conversion."
-msgstr "Une chaîne de %d octets est trop longue pour la conversion d'encodage."
+#: utils/misc/help_config.c:131
+msgid "internal error: unrecognized run-time parameter type\n"
+msgstr "erreur interne : type de paramètre d'exécution non reconnu\n"
 
-#: utils/mb/mbutils.c:422
+#: guc-file.l:274
 #, c-format
-msgid "invalid source encoding name \"%s\""
-msgstr "nom de l'encodage source « %s » invalide"
+msgid "parameter \"%s\" removed from configuration file, reset to default"
+msgstr ""
+"paramètre « %s » supprimé du fichier de configuration ;\n"
+"réinitialisation à la valeur par défaut"
 
-#: utils/mb/mbutils.c:427
+#: guc-file.l:333
 #, c-format
-msgid "invalid destination encoding name \"%s\""
-msgstr "nom de l'encodage destination « %s » invalide"
+msgid "parameter \"%s\" changed to \"%s\""
+msgstr "paramètre « %s » modifié par « %s »"
 
-#: utils/mb/mbutils.c:539
+#: guc-file.l:374
 #, c-format
-msgid "invalid byte value for encoding \"%s\": 0x%02x"
-msgstr "valeur d'octet invalide pour l'encodage « %s » : 0x%02x"
-
-#: utils/mb/mbutils.c:734
-msgid "invalid multibyte character for locale"
-msgstr "caractère multi-octets invalide pour la locale"
-
-#: utils/mb/mbutils.c:735
-msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding."
+msgid "could not open configuration file \"%s\": maximum nesting depth exceeded"
 msgstr ""
-"La locale LC_CTYPE du serveur est probablement incompatible avec l'encodage\n"
-"de la base de données."
+"n'a pas pu ouvrir le fichier de configuration « %s » : profondeur\n"
+"d'imbrication dépassé"
 
-#: utils/mb/wchar.c:1609
+#: guc-file.l:589
 #, c-format
-msgid "invalid byte sequence for encoding \"%s\": 0x%s"
-msgstr "séquence d'octets invalide pour l'encodage « %s » : 0x%s"
+msgid "syntax error in file \"%s\" line %u, near end of line"
+msgstr "erreur de syntaxe dans le fichier « %s », ligne %u, près de la fin de ligne"
 
-#: utils/mb/wchar.c:1638
+#: guc-file.l:594
 #, c-format
-msgid "character 0x%s of encoding \"%s\" has no equivalent in \"%s\""
-msgstr "le caractère 0x%s du codage « %s » n'a pas d'équivalent dans « %s »"
+msgid "syntax error in file \"%s\" line %u, near token \"%s\""
+msgstr "erreur de syntaxe dans le fichier « %s », ligne %u, près du mot clé « %s »"
 
-#: ../port/chklocale.c:326
-#: ../port/chklocale.c:332
+#: ../port/chklocale.c:328
+#: ../port/chklocale.c:334
 #, c-format
 msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
 msgstr "n'a pas pu déterminer l'encodage pour la locale « %s » : le codeset vaut « %s »"
 
-#: ../port/chklocale.c:334
+#: ../port/chklocale.c:336
 msgid "Please report this to <pgsql-bugs@postgresql.org>."
 msgstr "Veuillez rapporter ceci à <pgsql-bugs@postgresql.org>."
 
@@ -17842,25 +19245,35 @@ msgstr "n'a pas pu configurer la jonction pour 
 msgid "could not set junction for \"%s\": %s\n"
 msgstr "n'a pas pu configurer la jonction pour « %s » : %s\n"
 
-#: ../port/dirmod.c:325
+#: ../port/dirmod.c:358
+#, c-format
+msgid "could not get junction for \"%s\": %s"
+msgstr "n'a pas pu obtenir la jonction pour « %s » : %s"
+
+#: ../port/dirmod.c:361
+#, c-format
+msgid "could not get junction for \"%s\": %s\n"
+msgstr "n'a pas pu obtenir la jonction pour « %s » : %s\n"
+
+#: ../port/dirmod.c:443
 #, c-format
 msgid "could not open directory \"%s\": %s\n"
 msgstr "n'a pas pu ouvrir le répertoire « %s » : %s\n"
 
-#: ../port/dirmod.c:362
+#: ../port/dirmod.c:480
 #, c-format
 msgid "could not read directory \"%s\": %s\n"
 msgstr "n'a pas pu lire le répertoire « %s » : %s\n"
 
-#: ../port/dirmod.c:445
+#: ../port/dirmod.c:563
 #, c-format
 msgid "could not stat file or directory \"%s\": %s\n"
 msgstr ""
 "n'a pas pu récupérer les informations sur le fichier ou répertoire\n"
 "« %s » : %s\n"
 
-#: ../port/dirmod.c:472
-#: ../port/dirmod.c:489
+#: ../port/dirmod.c:590
+#: ../port/dirmod.c:607
 #, c-format
 msgid "could not remove file or directory \"%s\": %s\n"
 msgstr "n'a pas pu supprimer le fichier ou répertoire « %s » : %s\n"
@@ -17882,84 +19295,260 @@ msgstr "binaire 
 msgid "could not read binary \"%s\""
 msgstr "n'a pas pu lire le binaire « %s »"
 
-#: ../port/exec.c:200
-#, c-format
-msgid "could not find a \"%s\" to execute"
-msgstr "n'a pas pu trouver un « %s » à exécuter"
+#: ../port/exec.c:200
+#, c-format
+msgid "could not find a \"%s\" to execute"
+msgstr "n'a pas pu trouver un « %s » à exécuter"
+
+#: ../port/exec.c:255
+#: ../port/exec.c:291
+#, c-format
+msgid "could not change directory to \"%s\""
+msgstr "n'a pas pu accéder au répertoire « %s »"
+
+#: ../port/exec.c:270
+#, c-format
+msgid "could not read symbolic link \"%s\""
+msgstr "n'a pas pu lire le lien symbolique « %s »"
+
+#: ../port/exec.c:517
+#, c-format
+msgid "child process exited with exit code %d"
+msgstr "le processus fils a quitté avec le code de sortie %d"
+
+#: ../port/exec.c:521
+#, c-format
+msgid "child process was terminated by exception 0x%X"
+msgstr "le processus fils a été terminé par l'exception 0x%X"
+
+#: ../port/exec.c:530
+#, c-format
+msgid "child process was terminated by signal %s"
+msgstr "le processus fils a été terminé par le signal %s"
+
+#: ../port/exec.c:533
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "le processus fils a été terminé par le signal %d"
+
+#: ../port/exec.c:537
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "le processus fils a quitté avec un statut %d non reconnu"
+
+#: ../port/open.c:113
+msgid "sharing violation"
+msgstr "violation du partage"
+
+#: ../port/open.c:113
+msgid "lock violation"
+msgstr "violation du verrou"
+
+#: ../port/open.c:112
+#, c-format
+msgid "could not open file \"%s\": %s"
+msgstr "n'a pas pu ouvrir le fichier « %s » : %s"
+
+#: ../port/open.c:114
+msgid "Continuing to retry for 30 seconds."
+msgstr "Continue à tenter pendant 30 secondes."
+
+#: ../port/open.c:115
+msgid "You might have antivirus, backup, or similar software interfering with the database system."
+msgstr ""
+"Vous pouvez avoir un antivirus, un outil de sauvegarde ou un logiciel\n"
+"similaire interférant avec le système de bases de données."
+
+#: ../port/strerror.c:25
+#, c-format
+msgid "unrecognized error %d"
+msgstr "erreur %d non reconnue"
+
+#: ../port/win32error.c:188
+#, c-format
+msgid "mapped win32 error code %lu to %d"
+msgstr "correspondance du code d'erreur win32 %lu en %d"
+
+#: ../port/win32error.c:199
+#, c-format
+msgid "unrecognized win32 error code: %lu"
+msgstr "code d'erreur win32 non reconnu : %lu"
+
+#~ msgid "syntax error in recovery command file: %s"
+#~ msgstr "erreur de syntaxe dans le fichier de restauration : %s"
+
+#~ msgid "Lines should have the format parameter = 'value'."
+#~ msgstr "Les lignes devraient avoir le format paramètre = 'valeur'"
+
+#~ msgid "array must not contain null values"
+#~ msgstr "le tableau ne doit pas contenir de valeurs NULL"
+
+#~ msgid "index %u/%u/%u needs VACUUM FULL or REINDEX to finish crash recovery"
+#~ msgstr ""
+#~ "l'index  %u/%u/%u a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer "
+#~ "la\n"
+#~ "récupération suite à un arrêt brutal"
+
+#~ msgid "Incomplete insertion detected during crash replay."
+#~ msgstr ""
+#~ "Insertion incomplète détectée lors de la ré-exécution des requêtes suite "
+#~ "à\n"
+#~ "l'arrêt brutal."
+
+#~ 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\n"
+#~ "récupération suite à un arrêt brutal"
+
+#~ msgid "index \"%s\" needs VACUUM FULL or REINDEX to finish crash recovery"
+#~ msgstr ""
+#~ "l'index  « %s » a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer "
+#~ "la\n"
+#~ "récupération suite à un arrêt brutal"
+
+#~ msgid "EnumValuesCreate() can only set a single OID"
+#~ msgstr "EnumValuesCreate() peut seulement initialiser un seul OID"
+
+#~ msgid "clustering \"%s.%s\""
+#~ msgstr "exécution de CLUSTER sur « %s.%s »"
+
+#~ msgid ""
+#~ "cannot cluster on index \"%s\" because access method does not handle null "
+#~ "values"
+#~ msgstr ""
+#~ "ne peut pas créer un cluster sur l'index « %s » car la méthode d'accès "
+#~ "de\n"
+#~ "l'index ne gère pas les valeurs NULL"
+
+#~ msgid ""
+#~ "You might be able to work around this by marking column \"%s\" NOT NULL, "
+#~ "or use ALTER TABLE ... SET WITHOUT CLUSTER to remove the cluster "
+#~ "specification from the table."
+#~ msgstr ""
+#~ "Vous pourriez contourner ceci en marquant la colonne « %s » avec la\n"
+#~ "contrainte NOT NULL ou en utilisant ALTER TABLE ... SET WITHOUT CLUSTER "
+#~ "pour\n"
+#~ "supprimer la spécification CLUSTER de la table."
+
+#~ msgid ""
+#~ "You might be able to work around this by marking column \"%s\" NOT NULL."
+#~ msgstr ""
+#~ "Vous pouvez contourner ceci en marquant la colonne « %s » comme NOT NULL."
+
+#~ msgid ""
+#~ "cannot cluster on expressional index \"%s\" because its index access "
+#~ "method does not handle null values"
+#~ msgstr ""
+#~ "ne peut pas exécuter CLUSTER sur l'index à expression « %s » car sa "
+#~ "méthode\n"
+#~ "d'accès ne gère pas les valeurs NULL"
+
+#~ msgid "\"%s\" is not a table, view, or composite type"
+#~ msgstr "« %s » n'est pas une table, une vue ou un type composite"
+
+#~ msgid "must be member of role \"%s\" to comment upon it"
+#~ msgstr "doit être un membre du rôle « %s » pour le commenter"
+
+#~ msgid "must be superuser to comment on procedural language"
+#~ msgstr ""
+#~ "doit être super-utilisateur pour ajouter un commentaire sur un langage "
+#~ "de\n"
+#~ "procédures"
+
+#~ msgid "must be superuser to comment on text search parser"
+#~ msgstr ""
+#~ "doit être super-utilisateur pour ajouter un commentaire sur l'analyseur "
+#~ "de\n"
+#~ "recherche plein texte"
+
+#~ msgid "must be superuser to comment on text search template"
+#~ msgstr ""
+#~ "doit être super-utilisateur pour ajouter un commentaire sur un modèle de\n"
+#~ "recherche plein texte"
+
+#~ msgid "function \"%s\" is already in schema \"%s\""
+#~ msgstr "la fonction « %s » existe déjà dans le schéma « %s »"
+
+#~ msgid "cannot reference temporary table from permanent table constraint"
+#~ msgstr ""
+#~ "ne peut pas référencer une table temporaire à partir d'une contrainte de\n"
+#~ "table permanente"
+
+#~ msgid "cannot reference permanent table from temporary table constraint"
+#~ msgstr ""
+#~ "ne peut pas référencer une table permanente à partir de la contrainte de\n"
+#~ "table temporaire"
+
+#~ msgid "composite type must have at least one attribute"
+#~ msgstr "le type composite doit avoir au moins un attribut"
+
+#~ msgid "database \"%s\" not found"
+#~ msgstr "base de données « %s » non trouvée"
+
+#~ msgid "invalid list syntax for parameter \"datestyle\""
+#~ msgstr "syntaxe de liste invalide pour le paramètre « datestyle »"
+
+#~ msgid "unrecognized \"datestyle\" key word: \"%s\""
+#~ msgstr "mot clé « datestyle » non reconnu : « %s »"
 
-#: ../port/exec.c:255
-#: ../port/exec.c:291
-#, c-format
-msgid "could not change directory to \"%s\""
-msgstr "n'a pas pu accéder au répertoire « %s »"
+#~ msgid "invalid interval value for time zone: month not allowed"
+#~ msgstr ""
+#~ "valeur d'intervalle invalide pour le fuseau horaire : les mois ne sont "
+#~ "pas autorisés"
 
-#: ../port/exec.c:270
-#, c-format
-msgid "could not read symbolic link \"%s\""
-msgstr "n'a pas pu lire le lien symbolique « %s »"
+#~ msgid "invalid interval value for time zone: day not allowed"
+#~ msgstr ""
+#~ "valeur d'intervalle invalide pour le fuseau horaire : jour non autorisé"
 
-#: ../port/exec.c:516
-#, c-format
-msgid "child process exited with exit code %d"
-msgstr "le processus fils a quitté avec le code de sortie %d"
+#~ msgid "unrecognized time zone name: \"%s\""
+#~ msgstr "nom de fuseau horaire non reconnu : « %s »"
 
-#: ../port/exec.c:520
-#, c-format
-msgid "child process was terminated by exception 0x%X"
-msgstr "le processus fils a été terminé par l'exception 0x%X"
+#~ msgid "argument to pg_get_expr() must come from system catalogs"
+#~ msgstr "l'argument de pg_get_expr() doit provenir des catalogues systèmes"
 
-#: ../port/exec.c:529
-#, c-format
-msgid "child process was terminated by signal %s"
-msgstr "le processus fils a été terminé par le signal %s"
+#~ msgid "cannot change view \"%s\""
+#~ msgstr "ne peut pas modifier la vue « %s »"
 
-#: ../port/exec.c:532
-#, c-format
-msgid "child process was terminated by signal %d"
-msgstr "le processus fils a été terminé par le signal %d"
+#~ msgid "could not enable credential reception: %m"
+#~ msgstr "n'a pas pu activer la réception de lettres de créance : %m"
 
-#: ../port/exec.c:536
-#, c-format
-msgid "child process exited with unrecognized status %d"
-msgstr "le processus fils a quitté avec un statut %d non reconnu"
+#~ msgid "could not get effective UID from peer credentials: %m"
+#~ msgstr ""
+#~ "n'a pas pu obtenir l'UID réel à partir des pièces d'identité de l'autre : "
+#~ "%m"
 
-#: ../port/open.c:113
-msgid "sharing violation"
-msgstr "violation du partage"
+#~ msgid ""
+#~ "Ident authentication is not supported on local connections on this "
+#~ "platform"
+#~ msgstr ""
+#~ "l'authentification Ident n'est pas supportée sur les connexions locales "
+#~ "sur cette plateforme"
 
-#: ../port/open.c:113
-msgid "lock violation"
-msgstr "violation du verrou"
+#~ msgid "hostssl not supported on this platform"
+#~ msgstr "hostssl non supporté sur cette plateforme"
 
-#: ../port/open.c:112
-#, c-format
-msgid "could not open file \"%s\": %s"
-msgstr "n'a pas pu ouvrir le fichier « %s » : %s"
+#~ 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"
 
-#: ../port/open.c:114
-msgid "Continuing to retry for 30 seconds."
-msgstr "Continue à tenter pendant 30 secondes."
+#~ msgid "could not create log file \"%s\": %m"
+#~ msgstr "n'a pas pu créer le journal applicatif « %s » : %m"
 
-#: ../port/open.c:115
-msgid "You might have antivirus, backup, or similar software interfering with the database system."
-msgstr ""
-"Vous pouvez avoir un antivirus, un outil de sauvegarde ou un logiciel\n"
-"similaire interférant avec le système de bases de données."
+#~ msgid "could not open new log file \"%s\": %m"
+#~ msgstr "n'a pas pu ouvrir le nouveau journal applicatif « %s » : %m"
 
-#: ../port/strerror.c:25
-#, c-format
-msgid "unrecognized error %d"
-msgstr "erreur %d non reconnue"
+#~ msgid "Sets immediate fsync at commit."
+#~ msgstr "Configure un fsync immédiat lors du commit."
 
-#: ../port/win32error.c:184
-#, c-format
-msgid "mapped win32 error code %lu to %d"
-msgstr "correspondance du code d'erreur win32 %lu en %d"
+#~ msgid "invalid list syntax for parameter \"log_destination\""
+#~ msgstr "syntaxe de liste invalide pour le paramètre « log_destination »"
 
-#: ../port/win32error.c:195
-#, c-format
-msgid "unrecognized win32 error code: %lu"
-msgstr "code d'erreur win32 non reconnu : %lu"
+#~ msgid "unrecognized \"log_destination\" key word: \"%s\""
+#~ msgstr "mot clé « log_destination » non reconnu : « %s »"
+
+#~ msgid "replication connection authorized: user=%s host=%s port=%s"
+#~ msgstr ""
+#~ "connexion de réplication autorisée : utilisateur=%s, base de données=%s, "
+#~ "port=%s"
 
 #~ msgid ""
 #~ "cannot drop \"%s\" because it is being used by active queries in this "
@@ -17968,37 +19557,49 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "ne peut pas supprimer « %s » car cet objet est en cours d'utilisation "
 #~ "par\n"
 #~ "des requêtes actives dans cette session"
+
 #~ msgid "parameter \"recovery_target_inclusive\" requires a Boolean value"
 #~ msgstr ""
 #~ "le paramètre « recovery_target_inclusive » requiert une valeur booléenne"
+
 #~ msgid "parameter \"standby_mode\" requires a Boolean value"
 #~ msgstr "le paramètre « standby_mode » requiert une valeur booléenne"
+
 #~ msgid "access to %s"
 #~ msgstr "accès à %s"
+
 #~ msgid "Sets the message levels that are logged during recovery."
 #~ msgstr ""
 #~ "Initialise les niveaux de messages qui sont tracés lors de la "
 #~ "restauration."
+
 #~ msgid "Not safe to send CSV data\n"
 #~ msgstr "Envoi non sûr des données CSV\n"
+
 #~ msgid "recovery restart point at %X/%X with latest known log time %s"
 #~ msgstr ""
 #~ "point de relancement de la restauration sur %X/%X avec %s comme dernière\n"
 #~ "date connue du journal"
+
 #~ msgid "restartpoint_command = '%s'"
 #~ msgstr "restartpoint_command = '%s'"
+
 #~ msgid "usermap \"%s\""
 #~ msgstr "correspondance utilisateur « %s »"
+
 #~ msgid "WAL archiving is not active"
 #~ msgstr "l'archivage des journaux de transactions n'est pas actif"
+
 #~ msgid "archive_mode must be enabled at server start."
 #~ msgstr "archive_mode doit être activé au lancement du serveur."
+
 #~ msgid ""
 #~ "archive_command must be defined before online backups can be made safely."
 #~ msgstr ""
 #~ "archive_command doit être défini avant que les sauvegardes à chaud "
 #~ "puissent\n"
 #~ "s'effectuer correctement."
+
 #~ msgid ""
 #~ "During recovery, allows connections and queries.  During normal running, "
 #~ "causes additional info to be written to WAL to enable hot standby mode on "
@@ -18011,23 +19612,29 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "les journaux de transactions pour activer le mode Hot Standby sur les "
 #~ "n½uds\n"
 #~ "en attente."
+
 #~ msgid "unlogged operation performed, data may be missing"
 #~ msgstr "opération réalisée non tracée, les données pourraient manquer"
+
 #~ msgid "not enough shared memory for walsender"
 #~ msgstr ""
 #~ "pas assez de mémoire partagée pour le processus d'envoi des journaux de "
 #~ "transactions"
+
 #~ msgid "not enough shared memory for walreceiver"
 #~ msgstr ""
 #~ "pas assez de mémoire partagée pour le processus de réception des journaux "
 #~ "de\n"
 #~ "transactions"
+
 #~ msgid "connection limit exceeded for non-superusers"
 #~ msgstr "limite de connexions dépassée pour les utilisateurs standards"
+
 #~ msgid "not enough shared memory for background writer"
 #~ msgstr ""
 #~ "pas assez de mémoire partagée pour le processus d'écriture en tâche de "
 #~ "fond"
+
 #~ msgid "could not allocate shared memory segment \"%s\""
 #~ msgstr "n'a pas pu allouer un segment de mémoire partagée « %s »"
 
@@ -18038,6 +19645,7 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #, fuzzy
 #~ msgid "couldn't put socket to blocking mode: %m"
 #~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %s\n"
+
 #~ msgid "WAL file SYSID is %s, pg_control SYSID is %s"
 #~ msgstr ""
 #~ "le SYSID du journal de transactions WAL est %s, celui de pg_control est %s"
@@ -18053,14 +19661,19 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #, fuzzy
 #~ msgid "invalid replication message type %d"
 #~ msgstr "type %d du message de l'interface invalide"
+
 #~ msgid "PID %d is among the slowest backends."
 #~ msgstr "Le PID %d est parmi les processus serveur les plus lents."
+
 #~ msgid "transaction is read-only"
 #~ msgstr "la transaction est en lecture seule"
+
 #~ msgid "binary value is out of range for type bigint"
 #~ msgstr "la valeur binaire est en dehors des limites du type bigint"
+
 #~ msgid "redo starts at %X/%X, consistency will be reached at %X/%X"
 #~ msgstr "la restauration comme à %X/%X, la cohérence sera atteinte à %X/%X"
+
 #~ msgid ""
 #~ "This error can also happen if the byte sequence does not match the "
 #~ "encoding expected by the server, which is controlled by \"client_encoding"
@@ -18070,31 +19683,40 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "pas\n"
 #~ "au jeu de caractères attendu par le serveur, le jeu étant contrôlé par\n"
 #~ "« client_encoding »."
+
 #~ msgid "Sets the language used in DO statement if LANGUAGE is not specified."
 #~ msgstr ""
 #~ "Configure le langage utilisé dans une instruction DO si la clause "
 #~ "LANGUAGE n'est\n"
 #~ "pas spécifiée."
+
 #~ msgid "shared index \"%s\" can only be reindexed in stand-alone mode"
 #~ msgstr ""
 #~ "un index partagé « %s » peut seulement être réindexé en mode autonome"
+
 #~ msgid "\"%s\" is a system catalog"
 #~ msgstr "« %s » est un catalogue système"
+
 #~ msgid "shared table \"%s\" can only be reindexed in stand-alone mode"
 #~ msgstr ""
 #~ "la table partagée « %s » peut seulement être réindexé en mode autonome"
+
 #~ msgid "cannot truncate system relation \"%s\""
 #~ msgstr "ne peut pas tronquer la relation système « %s »"
+
 #~ msgid "number of distinct values %g is too low"
 #~ msgstr "le nombre de valeurs distinctes %g est trop basse"
+
 #~ msgid "directory \"%s\" is not empty"
 #~ msgstr "le répertoire « %s » n'est pas vide"
+
 #~ msgid ""
 #~ "relation \"%s\" TID %u/%u: XMIN_COMMITTED not set for transaction %u --- "
 #~ "cannot shrink relation"
 #~ msgstr ""
 #~ "relation « %s », TID %u/%u : XMIN_COMMITTED non configuré pour la\n"
 #~ "transaction %u --- n'a pas pu diminuer la taille de la relation"
+
 #~ msgid ""
 #~ "relation \"%s\" TID %u/%u: dead HOT-updated tuple --- cannot shrink "
 #~ "relation"
@@ -18102,6 +19724,7 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "relation « %s », TID %u/%u : ligne morte mise à jour par HOT --- n'a pas "
 #~ "pu\n"
 #~ "diminuer la taille de la relation"
+
 #~ msgid ""
 #~ "relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- cannot "
 #~ "shrink relation"
@@ -18109,6 +19732,7 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "relation « %s », TID %u/%u : InsertTransactionInProgress %u --- n'a pas "
 #~ "pu\n"
 #~ "diminuer la taille de la relation"
+
 #~ msgid ""
 #~ "relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- cannot "
 #~ "shrink relation"
@@ -18116,11 +19740,7 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "relation « %s », TID %u/%u : DeleteTransactionInProgress %u --- n'a pas "
 #~ "pu\n"
 #~ "diminuer la taille de la relation"
-#~ msgid ""
-#~ "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
-#~ msgstr ""
-#~ "« %s » : %.0f versions de ligne supprimables, %.0f non supprimables\n"
-#~ "parmi %u pages"
+
 #~ msgid ""
 #~ "%.0f dead row versions cannot be removed yet.\n"
 #~ "Nonremovable row versions range from %lu to %lu bytes long.\n"
@@ -18142,14 +19762,17 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "déplacement\n"
 #~ "disponibles.\n"
 #~ "%s."
+
 #~ msgid "\"%s\": moved %u row versions, truncated %u to %u pages"
 #~ msgstr "« %s » : %u versions de ligne déplacées, %u pages tronquées sur %u"
+
 #~ msgid ""
 #~ "%u index pages have been deleted, %u are currently reusable.\n"
 #~ "%s."
 #~ msgstr ""
 #~ "%u pages d'index ont été supprimées, %u sont actuellement réutilisables.\n"
 #~ "%s."
+
 #~ msgid ""
 #~ "index \"%s\" contains %.0f row versions, but table contains %.0f row "
 #~ "versions"
@@ -18157,43 +19780,59 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "l'index « %s » contient %.0f versions de ligne, mais la table contient "
 #~ "%.0f\n"
 #~ "versions de ligne"
+
 #~ msgid "Rebuild the index with REINDEX."
 #~ msgstr "Reconstruisez l'index avec REINDEX."
+
 #~ msgid "frame start at CURRENT ROW is not implemented"
 #~ msgstr "début du frame à CURRENT ROW n'est pas implémenté"
+
 #~ msgid "database system is in consistent recovery mode"
 #~ msgstr ""
 #~ "le système de bases de données est dans un mode de restauration cohérent"
+
 #~ msgid "DISTINCT is supported only for single-argument aggregates"
 #~ msgstr ""
 #~ "DISTINCT est seulement supporté pour les agrégats à un seul argument"
+
 #~ msgid "index row size %lu exceeds btree maximum, %lu"
 #~ msgstr "la taille de la ligne index %lu dépasse le maximum de btree, %lu"
+
 #~ msgid "Table contains duplicated values."
 #~ msgstr "La table contient des valeurs dupliquées."
+
 #~ msgid "Automatically adds missing table references to FROM clauses."
 #~ msgstr ""
 #~ "Ajoute automatiquement les références à la table manquant dans les "
 #~ "clauses\n"
 #~ "FROM."
+
 #~ msgid "Sets the regular expression \"flavor\"."
 #~ msgstr "Initialise l'expression rationnelle « flavor »."
+
 #~ msgid "attempted change of parameter \"%s\" ignored"
 #~ msgstr "tentative de modification du paramètre « %s » ignoré"
+
 #~ msgid "This parameter cannot be changed after server start."
 #~ msgstr "Ce paramètre ne peut pas être modifié après le lancement du serveur"
+
 #~ msgid "invalid database name \"%s\""
 #~ msgstr "nom de base de données « %s » invalide"
+
 #~ msgid "invalid role name \"%s\""
 #~ msgstr "nom de rôle « %s » invalide"
+
 #~ msgid "invalid role password \"%s\""
 #~ msgstr "mot de passe « %s » de l'utilisateur invalide"
+
 #~ msgid "cannot specify CSV in BINARY mode"
 #~ msgstr "ne peut pas spécifier CSV en mode binaire (BINARY)"
+
 #~ msgid "cannot set session authorization within security-definer function"
 #~ msgstr ""
 #~ "ne peut pas exécuter SESSION AUTHORIZATION sur la fonction SECURITY "
 #~ "DEFINER"
+
 #~ msgid ""
 #~ "SELECT FOR UPDATE/SHARE is not supported within a query with multiple "
 #~ "result relations"
@@ -18201,68 +19840,94 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "SELECT FOR UPDATE/SHARE n'est pas supporté dans une requête avec "
 #~ "plusieurs\n"
 #~ "relations"
+
 #~ msgid "could not remove relation %s: %m"
 #~ msgstr "n'a pas pu supprimer la relation %s : %m"
+
 #~ msgid "could not remove segment %u of relation %s: %m"
 #~ msgstr "n'a pas pu supprimer le segment %u de la relation %s : %m"
+
 #~ msgid "could not seek to block %u of relation %s: %m"
 #~ msgstr "n'a pas pu se positionner sur le bloc %u de la relation %s : %m"
+
 #~ msgid "could not extend relation %s: %m"
 #~ msgstr "n'a pas pu étendre la relation %s : %m"
+
 #~ msgid "could not open relation %s: %m"
 #~ msgstr "n'a pas pu ouvrir la relation %s : %m"
+
 #~ msgid "could not read block %u of relation %s: %m"
 #~ msgstr "n'a pas pu lire le bloc %u de la relation %s : %m"
+
 #~ msgid "could not write block %u of relation %s: %m"
 #~ msgstr "n'a pas pu écrire le bloc %u de la relation %s : %m"
+
 #~ msgid "could not open segment %u of relation %s: %m"
 #~ msgstr "n'a pas pu ouvrir le segment %u de la relation %s : %m"
+
 #~ msgid "could not fsync segment %u of relation %s: %m"
 #~ msgstr ""
 #~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n"
 #~ "%s : %m"
+
 #~ msgid "could not fsync segment %u of relation %s but retrying: %m"
 #~ msgstr ""
 #~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n"
 #~ "%s, nouvelle tentative : %m"
+
 #~ msgid "could not seek to end of segment %u of relation %s: %m"
 #~ msgstr ""
 #~ "n'a pas pu se déplacer à la fin du segment %u de la relation %s : %m"
+
 #~ msgid "unsupported PAM conversation %d/%s"
 #~ msgstr "conversation PAM %d/%s non supportée"
+
 #~ msgid "SELECT FOR UPDATE/SHARE is not allowed in subqueries"
 #~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé dans les sous-requêtes"
+
 #~ msgid "adding missing FROM-clause entry for table \"%s\""
 #~ msgstr "ajout d'une entrée manquante dans FROM (table « %s »)"
+
 #~ msgid "OLD used in query that is not in a rule"
 #~ msgstr "OLD utilisé dans une requête qui n'est pas une règle"
+
 #~ msgid "NEW used in query that is not in a rule"
 #~ msgstr "NEW utilisé dans une requête qui ne fait pas partie d'une règle"
+
 #~ msgid "hurrying in-progress restartpoint"
 #~ msgstr "accélération du restartpoint en cours"
+
 #~ msgid "multiple DELETE events specified"
 #~ msgstr "multiples événements DELETE spécifiés"
+
 #~ msgid "multiple UPDATE events specified"
 #~ msgstr "multiples événements UPDATE spécifiés"
+
 #~ msgid "multiple TRUNCATE events specified"
 #~ msgstr "multiples événements TRUNCATE spécifiés"
+
 #~ msgid "could not create XPath object"
 #~ msgstr "n'a pas pu créer l'objet XPath"
 
 #, fuzzy
 #~ msgid "wrong number of array_subscripts"
 #~ msgstr "mauvais nombre d'indices du tableau"
+
 #~ msgid "fillfactor=%d is out of range (should be between %d and 100)"
 #~ msgstr ""
 #~ "le facteur de remplissage (%d) est en dehors des limites (il devrait être "
 #~ "entre %d et 100)"
+
 #~ msgid "GIN index does not support search with void query"
 #~ msgstr ""
 #~ "les index GIN ne supportent pas la recherche avec des requêtes vides"
+
 #~ msgid "invalid LC_COLLATE setting"
 #~ msgstr "paramètre LC_COLLATE invalide"
+
 #~ msgid "invalid LC_CTYPE setting"
 #~ msgstr "paramètre LC_CTYPE invalide"
+
 #~ msgid ""
 #~ "The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the "
 #~ "server was compiled with LOCALE_NAME_BUFLEN %d."
@@ -18270,40 +19935,47 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "Le cluster de bases de données a été initialisé avec un "
 #~ "LOCALE_NAME_BUFLEN\n"
 #~ "à %d alors que le serveur a été compilé avec un LOCALE_NAME_BUFLEN à %d."
+
 #~ msgid "It looks like you need to initdb or install locale support."
 #~ msgstr ""
 #~ "Il semble que vous avez besoin d'exécuter initdb ou d'installer le "
 #~ "support\n"
 #~ "des locales."
+
 #~ msgid "log_restartpoints = %s"
 #~ msgstr "log_restartpoints = %s"
-#~ msgid "WAL ends before end time of backup dump"
-#~ msgstr ""
-#~ "le journal de transactions se termine avant l'heure de fin de la "
-#~ "sauvegarde"
+
 #~ msgid "syntax error: cannot back up"
 #~ msgstr "erreur de syntaxe : n'a pas pu revenir"
+
 #~ msgid "syntax error; also virtual memory exhausted"
 #~ msgstr "erreur de syntaxe ; de plus, mémoire virtuelle saturée"
+
 #~ msgid "parser stack overflow"
 #~ msgstr "saturation de la pile de l'analyseur"
+
 #~ msgid "failed to drop all objects depending on %s"
 #~ msgstr "échec lors de la suppression de tous les objets dépendant de %s"
+
 #~ msgid "there are objects dependent on %s"
 #~ msgstr "des objets dépendent de %s"
+
 #~ msgid "multiple constraints named \"%s\" were dropped"
 #~ msgstr "les contraintes multiples nommées « %s » ont été supprimées"
+
 #~ msgid "constraint definition for check constraint \"%s\" does not match"
 #~ msgstr ""
 #~ "la définition de la contrainte « %s » pour la contrainte de vérification "
 #~ "ne\n"
 #~ "correspond pas"
+
 #~ msgid ""
 #~ "relation \"%s.%s\" contains more than \"max_fsm_pages\" pages with useful "
 #~ "free space"
 #~ msgstr ""
 #~ "la relation « %s.%s » contient plus de « max_fsm_pages » pages d'espace\n"
 #~ "libre utile"
+
 #~ msgid ""
 #~ "Consider using VACUUM FULL on this relation or increasing the "
 #~ "configuration parameter \"max_fsm_pages\"."
@@ -18311,11 +19983,14 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "Pensez à compacter cette relation en utilisant VACUUM FULL ou à augmenter "
 #~ "le\n"
 #~ "paramètre de configuration « max_fsm_pages »."
+
 #~ msgid "Consider increasing the configuration parameter \"max_fsm_pages\"."
 #~ msgstr ""
 #~ "Considérez l'augmentation du paramètre de configuration « max_fsm_pages »."
+
 #~ msgid "cannot change number of columns in view"
 #~ msgstr "ne peut pas modifier le nombre de colonnes dans la vue"
+
 #~ msgid ""
 #~ "unexpected Kerberos user name received from client (received \"%s\", "
 #~ "expected \"%s\")"
@@ -18323,14 +19998,19 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "nom d'utilisateur Kerberos inattendu reçu à partir du client (reçu « %s "
 #~ "»,\n"
 #~ "attendu « %s »)"
+
 #~ msgid "Kerberos 5 not implemented on this server"
 #~ msgstr "Kerberos 5 non implémenté sur ce serveur"
+
 #~ msgid "GSSAPI not implemented on this server"
 #~ msgstr "GSSAPI non implémenté sur ce serveur"
+
 #~ msgid "could not get security token from context"
 #~ msgstr "n'a pas pu récupérer le jeton de sécurité à partir du contexte"
+
 #~ msgid "unsafe permissions on private key file \"%s\""
 #~ msgstr "droits non sûrs sur le fichier de la clé privée « %s »"
+
 #~ msgid ""
 #~ "File must be owned by the database user and must have no permissions for "
 #~ "\"group\" or \"other\"."
@@ -18338,6 +20018,7 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "Le fichier doit appartenir au propriétaire de la base de données et ne "
 #~ "doit\n"
 #~ "pas avoir de droits pour un groupe ou pour les autres."
+
 #~ msgid ""
 #~ "cannot use authentication method \"crypt\" because password is MD5-"
 #~ "encrypted"
@@ -18345,38 +20026,51 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "n'a pas pu utiliser la méthode d'authentification « crypt » car le mot "
 #~ "de\n"
 #~ "passe est chiffré avec MD5"
+
 #~ msgid "invalid entry in file \"%s\" at line %d, token \"%s\""
 #~ msgstr "entrée invalide dans le fichier « %s » à la ligne %d, jeton « %s »"
+
 #~ msgid "missing field in file \"%s\" at end of line %d"
 #~ msgstr "champ manquant dans le fichier « %s » à la fin de la ligne %d"
+
 #~ msgid "cannot use Ident authentication without usermap field"
 #~ msgstr "n'a pas pu utiliser l'authentication Ident sans le champ usermap"
+
 #~ msgid "Ident protocol identifies remote user as \"%s\""
 #~ msgstr "le protocole Ident identifie l'utilisateur distant comme « %s »"
+
 #~ msgid "SELECT FOR UPDATE/SHARE is not supported for inheritance queries"
 #~ msgstr ""
 #~ "SELECT FOR UPDATE/SHARE n'est pas supporté pour les requêtes d'héritage"
+
 #~ msgid "missing FROM-clause entry in subquery for table \"%s\""
 #~ msgstr ""
 #~ "entrée manquante de la clause FROM dans la sous-requête de la table « %s »"
+
 #~ msgid "adding missing FROM-clause entry in subquery for table \"%s\""
 #~ msgstr ""
 #~ "entrée manquante de la clause FROM dans la sous-requête pour la table « "
 #~ "%s »"
+
 #~ msgid ""
 #~ "%s: the number of buffers (-B) must be at least twice the number of "
 #~ "allowed connections (-N) and at least 16\n"
 #~ msgstr ""
 #~ "%s : le nombre de tampons (-B) doit être au moins deux fois le nombre de\n"
 #~ "connexions disponibles (-N) et au moins 16\n"
+
 #~ msgid "could not set statistics collector timer: %m"
 #~ msgstr "n'a pas pu configurer le timer du récupérateur de statistiques : %m"
+
 #~ msgid "insufficient shared memory for free space map"
 #~ msgstr "mémoire partagée insuffisante pour la structure FSM"
+
 #~ msgid "max_fsm_pages must exceed max_fsm_relations * %d"
 #~ msgstr "max_fsm_pages doit excéder max_fsm_relations * %d"
+
 #~ msgid "free space map contains %d pages in %d relations"
 #~ msgstr "la structure FSM contient %d pages dans %d relations"
+
 #~ msgid ""
 #~ "A total of %.0f page slots are in use (including overhead).\n"
 #~ "%.0f page slots are required to track all free space.\n"
@@ -18387,8 +20081,10 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "%.0f emplacements de pages sont requis pour tracer tout l'espace libre.\n"
 #~ "Les limites actuelles sont : %d emplacements de pages, %d relations,\n"
 #~ "utilisant %.0f Ko."
+
 #~ msgid "max_fsm_relations(%d) equals the number of relations checked"
 #~ msgstr "max_fsm_relations(%d) équivaut au nombre de relations tracées"
+
 #~ msgid ""
 #~ "You have at least %d relations.  Consider increasing the configuration "
 #~ "parameter \"max_fsm_relations\"."
@@ -18396,10 +20092,12 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "Vous avez au moins %d relations.Considèrez l'augmentation du paramètre "
 #~ "de\n"
 #~ "configuration « max_fsm_relations »."
+
 #~ msgid "number of page slots needed (%.0f) exceeds max_fsm_pages (%d)"
 #~ msgstr ""
 #~ "le nombre d'emplacements de pages nécessaires (%.0f) dépasse "
 #~ "max_fsm_pages (%d)"
+
 #~ msgid ""
 #~ "Consider increasing the configuration parameter \"max_fsm_pages\" to a "
 #~ "value over %.0f."
@@ -18407,19 +20105,25 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "Considérez l'augmentation du paramètre de configuration « max_fsm_pages "
 #~ "»\n"
 #~ "à une valeur supérieure à %.0f."
+
 #~ msgid "string is too long for tsvector"
 #~ msgstr "la chaîne est trop longue pour un tsvector"
+
 #~ msgid "Prints the parse tree to the server log."
 #~ msgstr "Affiche l'arbre d'analyse dans les journaux applicatifs du serveur."
+
 #~ msgid "Prints the parse tree after rewriting to server log."
 #~ msgstr ""
 #~ "Affiche l'arbre d'analyse après ré-écriture dans les journaux applicatifs "
 #~ "du serveur."
+
 #~ msgid "Prints the execution plan to server log."
 #~ msgstr ""
 #~ "Affiche le plan d'exécution dans les journaux applicatifs du serveur."
+
 #~ msgid "Uses the indented output format for EXPLAIN VERBOSE."
 #~ msgstr "Utilise le format de sortie indenté pour EXPLAIN VERBOSE."
+
 #~ msgid ""
 #~ "Sets the maximum number of tables and indexes for which free space is "
 #~ "tracked."
@@ -18427,14 +20131,17 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "Initialise le nombre maximum de tables et index pour lesquels l'espace "
 #~ "libre\n"
 #~ "est tracé."
+
 #~ msgid ""
 #~ "Sets the maximum number of disk pages for which free space is tracked."
 #~ msgstr ""
 #~ "Initialise le nombre maximum de pages disque pour lesquelles l'espace "
 #~ "libre\n"
 #~ "est tracé."
+
 #~ msgid "Valid values are ON, OFF, and SAFE_ENCODING."
 #~ msgstr "Les valeurs valides sont ON, OFF et SAFE_ENCODING."
+
 #~ msgid ""
 #~ "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, "
 #~ "WARNING, ERROR, LOG, FATAL, and PANIC. Each level includes all the levels "
@@ -18444,6 +20151,7 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "NOTICE, WARNING, ERROR, LOG, FATAL et PANIC. Chaque niveau incut tous "
 #~ "les\n"
 #~ "niveaux qui le suit."
+
 #~ msgid ""
 #~ "All SQL statements that cause an error of the specified level or a higher "
 #~ "level are logged."
@@ -18451,6 +20159,7 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "Toutes les instructions SQL causant une erreur du niveau spécifié ou "
 #~ "d'un\n"
 #~ "niveau supérieur sont tracées."
+
 #~ msgid ""
 #~ "Each SQL transaction has an isolation level, which can be either \"read "
 #~ "uncommitted\", \"read committed\", \"repeatable read\", or \"serializable"
@@ -18459,127 +20168,181 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "Chaque transaction SQL a un niveau d'isolation qui peut être soit « read\n"
 #~ "uncommitted », soit « read committed », soit « repeatable read », soit\n"
 #~ "« serializable »."
+
 #~ msgid "Each session can be either \"origin\", \"replica\", or \"local\"."
 #~ msgstr ""
 #~ "Chaque session peut valoir soit « origin » soit « replica » soit « local "
 #~ "»."
+
 #~ msgid "Sets realm to match Kerberos and GSSAPI users against."
 #~ msgstr ""
 #~ "Indique le royaume pour l'authentification des utilisateurs via Kerberos "
 #~ "et\n"
 #~ "GSSAPI."
+
 #~ msgid "Sets the hostname of the Kerberos server."
 #~ msgstr "Initalise le nom d'hôte du serveur Kerberos."
+
 #~ msgid "This can be set to advanced, extended, or basic."
 #~ msgstr ""
 #~ "Ceci peut être initialisé avec advanced (avancé), extended (étendu) ou\n"
 #~ "basic (basique)."
+
 #~ msgid ""
 #~ "Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, "
 #~ "LOCAL7."
 #~ msgstr ""
 #~ "Les valeurs valides sont LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5,\n"
 #~ "LOCAL6, LOCAL7."
+
 #~ msgid "Valid values are BASE64 and HEX."
 #~ msgstr "Les valeurs valides sont BASE64 et HEX."
+
 #~ msgid "Valid values are DOCUMENT and CONTENT."
 #~ msgstr "Les valeurs valides sont DOCUMENT et CONTENT."
+
 #~ msgid "invalid argument for power function"
 #~ msgstr "argument invalide pour la fonction puissance (power)"
+
 #~ msgid "not unique \"S\""
 #~ msgstr "« S » non unique"
+
 #~ msgid "invalid AM/PM string"
 #~ msgstr "chaîne AM/PM invalide"
+
 #~ msgid "\"TZ\"/\"tz\" not supported"
 #~ msgstr "« TZ »/« tz » non supporté"
+
 #~ msgid "January"
 #~ msgstr "Janvier"
+
 #~ msgid "February"
 #~ msgstr "Février"
+
 #~ msgid "March"
 #~ msgstr "Mars"
+
 #~ msgid "April"
 #~ msgstr "Avril"
+
 #~ msgid "May"
 #~ msgstr "Mai"
+
 #~ msgid "June"
 #~ msgstr "Juin"
+
 #~ msgid "July"
 #~ msgstr "Juillet"
+
 #~ msgid "August"
 #~ msgstr "Août"
+
 #~ msgid "September"
 #~ msgstr "Septembre"
+
 #~ msgid "October"
 #~ msgstr "Octobre"
+
 #~ msgid "November"
 #~ msgstr "Novembre"
+
 #~ msgid "December"
 #~ msgstr "Décembre"
+
 #~ msgid "Jan"
 #~ msgstr "Jan"
+
 #~ msgid "Feb"
 #~ msgstr "Fév"
+
 #~ msgid "Mar"
 #~ msgstr "Mar"
+
 #~ msgid "Apr"
 #~ msgstr "Avr"
+
 #~ msgid "S:May"
 #~ msgstr "S:Mai"
+
 #~ msgid "Jun"
 #~ msgstr "Juin"
+
 #~ msgid "Jul"
 #~ msgstr "Juil"
+
 #~ msgid "Aug"
 #~ msgstr "Aoû"
+
 #~ msgid "Sep"
 #~ msgstr "Sep"
+
 #~ msgid "Oct"
 #~ msgstr "Oct"
+
 #~ msgid "Nov"
 #~ msgstr "Nov"
+
 #~ msgid "Dec"
 #~ msgstr "Déc"
+
 #~ msgid "Sunday"
 #~ msgstr "Dimanche"
+
 #~ msgid "Monday"
 #~ msgstr "Lundi"
+
 #~ msgid "Tuesday"
 #~ msgstr "Mardi"
+
 #~ msgid "Wednesday"
 #~ msgstr "Mercredi"
+
 #~ msgid "Thursday"
 #~ msgstr "Jeudi"
+
 #~ msgid "Friday"
 #~ msgstr "Vendredi"
+
 #~ msgid "Saturday"
 #~ msgstr "Samedi"
+
 #~ msgid "Sun"
 #~ msgstr "Dim"
+
 #~ msgid "Mon"
 #~ msgstr "Lun"
+
 #~ msgid "Tue"
 #~ msgstr "Mar"
+
 #~ msgid "Wed"
 #~ msgstr "Mer"
+
 #~ msgid "Thu"
 #~ msgstr "Jeu"
+
 #~ msgid "Fri"
 #~ msgstr "Ven"
+
 #~ msgid "Sat"
 #~ msgstr "Sam"
+
 #~ msgid "AM/PM hour must be between 1 and 12"
 #~ msgstr "l'heure AM/PM doit être compris entre 1 et 12"
+
 #~ msgid "UTF-16 to UTF-8 translation failed: %lu"
 #~ msgstr "échec de la conversion d'UTF16 vers UTF8 : %lu"
+
 #~ msgid "cannot calculate week number without year information"
 #~ msgstr ""
 #~ "ne peut pas calculer le numéro de la semaine sans informations sur l'année"
+
 #~ msgid "query requires full scan, which is not supported by GIN indexes"
 #~ msgstr ""
 #~ "la requête nécessite un parcours complet, ce qui n'est pas supporté par "
 #~ "les\n"
 #~ "index GIN"
+
 #~ msgid ""
 #~ "@@ operator does not support lexeme weight restrictions in GIN index "
 #~ "searches"
@@ -18587,17 +20350,22 @@ msgstr "code d'erreur win32 non reconnu : %lu"
 #~ "l'opérateur @@ ne supporte pas les restrictions de poids de lexeme dans "
 #~ "les\n"
 #~ "recherches par index GIN"
+
 #~ msgid "Use the @@@ operator instead."
 #~ msgstr "Utilisez à la place l'opérateur @@@."
+
 #~ msgid "unexpected delimiter at line %d of thesaurus file \"%s\""
 #~ msgstr "délimiteur inattendu sur la ligne %d du thesaurus « %s »"
+
 #~ msgid "unexpected end of line or lexeme at line %d of thesaurus file \"%s\""
 #~ msgstr ""
 #~ "fin de ligne ou de lexeme inattendu sur la ligne %d du thesaurus « %s »"
+
 #~ msgid "unexpected end of line at line %d of thesaurus file \"%s\""
 #~ msgstr "fin de ligne inattendue à la ligne %d du thésaurus « %s »"
+
 #~ msgid "syntax error at line %d of affix file \"%s\""
 #~ msgstr "erreur de syntaxe à la ligne %d du fichier affixe « %s »"
+
 #~ msgid "could not remove database directory \"%s\""
 #~ msgstr "n'a pas pu supprimer le répertoire de bases de données « %s »"
-