Translation updates
authorPeter Eisentraut
Mon, 3 Aug 2015 18:10:33 +0000 (14:10 -0400)
committerPeter Eisentraut
Mon, 3 Aug 2015 18:10:33 +0000 (14:10 -0400)
Source-Git-URL: git://git.postgresql.org/git/pgtranslation/messages.git
Source-Git-Hash: 01a9485e7f9d18e1195250ec68634f1d3c9497f6

32 files changed:
src/backend/po/es.po
src/backend/po/it.po
src/backend/po/ru.po
src/bin/initdb/po/it.po
src/bin/initdb/po/ru.po
src/bin/pg_basebackup/po/de.po
src/bin/pg_basebackup/po/it.po
src/bin/pg_basebackup/po/ru.po
src/bin/pg_controldata/po/de.po
src/bin/pg_controldata/po/it.po
src/bin/pg_controldata/po/ru.po
src/bin/pg_ctl/po/de.po
src/bin/pg_ctl/po/it.po
src/bin/pg_ctl/po/ru.po
src/bin/pg_dump/po/it.po
src/bin/pg_dump/po/ru.po
src/bin/pg_resetxlog/po/de.po
src/bin/pg_resetxlog/po/it.po
src/bin/pg_resetxlog/po/ru.po
src/bin/pg_rewind/nls.mk
src/bin/pg_rewind/po/it.po [new file with mode: 0644]
src/bin/pg_rewind/po/ru.po [new file with mode: 0644]
src/bin/psql/po/it.po
src/bin/psql/po/ru.po
src/bin/scripts/po/it.po
src/bin/scripts/po/ru.po
src/interfaces/libpq/po/de.po
src/interfaces/libpq/po/it.po
src/interfaces/libpq/po/ru.po
src/pl/plpgsql/src/po/it.po
src/pl/plpgsql/src/po/ru.po
src/pl/plpython/po/it.po

index 6cc7deb2ce8dab19b0cc904995aeb41ca08db2d3..55217d68ec55c60ae539bc318f0f177c06a25467 100644 (file)
@@ -59,7 +59,7 @@ msgstr ""
 "Project-Id-Version: PostgreSQL server 9.4\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
 "POT-Creation-Date: 2014-12-15 05:38+0000\n"
-"PO-Revision-Date: 2014-12-18 18:58-0300\n"
+"PO-Revision-Date: 2015-07-06 17:44-0300\n"
 "Last-Translator: Álvaro Herrera \n"
 "Language-Team: PgSQL Español \n"
 "Language: es\n"
@@ -14652,7 +14652,7 @@ msgstr "el proceso %d detectó un deadlock mientras esperaba %s en %s después d
 #: storage/lmgr/proc.c:1317
 #, c-format
 msgid "process %d still waiting for %s on %s after %ld.%03d ms"
-msgstr "el proceso %d está aún espera %s en %s después de %ld.%03d ms"
+msgstr "el proceso %d aún espera %s en %s después de %ld.%03d ms"
 
 #: storage/lmgr/proc.c:1324
 #, c-format
index 5fbc1a2f008ebf51cf6e79fac0d8cff1437a344d..bf80b3e13630388e8c9488d2b3f3ca569ca2e954 100644 (file)
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: postgres (PostgreSQL) 9.4\n"
+"Project-Id-Version: postgres (PostgreSQL) 9.5\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2014-12-06 18:08+0000\n"
-"PO-Revision-Date: 2014-12-06 18:26+0100\n"
+"POT-Creation-Date: 2015-07-07 02:38+0000\n"
+"PO-Revision-Date: 2015-07-07 00:01+0100\n"
 "Last-Translator: Daniele Varrazzo \n"
 "Language-Team: Gruppo traduzioni ITPUG \n"
 "Language: it\n"
@@ -63,14 +63,14 @@ msgstr "lettura del link simbolico \"%s\" fallita"
 msgid "pclose failed: %s"
 msgstr "pclose fallita: %s"
 
-#: ../common/fe_memutils.c:33 ../common/fe_memutils.c:60
-#: ../common/fe_memutils.c:83 ../common/psprintf.c:181 ../port/path.c:598
+#: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
+#: ../common/fe_memutils.c:98 ../common/psprintf.c:181 ../port/path.c:598
 #: ../port/path.c:636 ../port/path.c:653
 #, c-format
 msgid "out of memory\n"
 msgstr "memoria esaurita\n"
 
-#: ../common/fe_memutils.c:77
+#: ../common/fe_memutils.c:92
 #, c-format
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "impossibile duplicare il puntatore nullo (errore interno)\n"
@@ -91,24 +91,27 @@ msgid "could not close directory \"%s\": %s\n"
 msgstr "chiusura della directory \"%s\" fallita: %s\n"
 
 #: ../common/psprintf.c:179 ../port/path.c:596 ../port/path.c:634
-#: ../port/path.c:651 access/transam/xlog.c:6123 lib/stringinfo.c:258
-#: libpq/auth.c:823 libpq/auth.c:1179 libpq/auth.c:1247 libpq/auth.c:1647
-#: postmaster/bgworker.c:267 postmaster/bgworker.c:783
-#: postmaster/postmaster.c:2173 postmaster/postmaster.c:2204
-#: postmaster/postmaster.c:3740 postmaster/postmaster.c:4441
-#: postmaster/postmaster.c:4526 postmaster/postmaster.c:5218
-#: postmaster/postmaster.c:5450 storage/buffer/buf_init.c:154
-#: storage/buffer/localbuf.c:396 storage/file/fd.c:458 storage/file/fd.c:855
-#: storage/file/fd.c:973 storage/file/fd.c:1586 storage/ipc/procarray.c:909
-#: storage/ipc/procarray.c:1395 storage/ipc/procarray.c:1402
-#: storage/ipc/procarray.c:1751 storage/ipc/procarray.c:2335
-#: utils/adt/formatting.c:1519 utils/adt/formatting.c:1639
-#: utils/adt/formatting.c:1760 utils/adt/regexp.c:219 utils/adt/varlena.c:3653
-#: utils/adt/varlena.c:3674 utils/fmgr/dfmgr.c:224 utils/hash/dynahash.c:379
-#: utils/hash/dynahash.c:456 utils/hash/dynahash.c:970 utils/mb/mbutils.c:376
-#: utils/mb/mbutils.c:709 utils/misc/guc.c:3571 utils/misc/guc.c:3587
-#: utils/misc/guc.c:3600 utils/misc/tzparser.c:470 utils/mmgr/aset.c:499
-#: utils/mmgr/aset.c:678 utils/mmgr/aset.c:872 utils/mmgr/aset.c:1114
+#: ../port/path.c:651 access/transam/xlog.c:6024 lib/stringinfo.c:258
+#: libpq/auth.c:821 libpq/auth.c:1182 libpq/auth.c:1250 libpq/auth.c:1659
+#: postmaster/bgworker.c:289 postmaster/bgworker.c:796
+#: postmaster/postmaster.c:2210 postmaster/postmaster.c:2241
+#: postmaster/postmaster.c:3789 postmaster/postmaster.c:4477
+#: postmaster/postmaster.c:4545 postmaster/postmaster.c:5259
+#: postmaster/postmaster.c:5513 replication/logical/logical.c:170
+#: storage/buffer/localbuf.c:396 storage/file/fd.c:481 storage/file/fd.c:878
+#: storage/file/fd.c:996 storage/file/fd.c:1609 storage/ipc/procarray.c:907
+#: storage/ipc/procarray.c:1393 storage/ipc/procarray.c:1400
+#: storage/ipc/procarray.c:1793 storage/ipc/procarray.c:2377
+#: utils/adt/formatting.c:1523 utils/adt/formatting.c:1643
+#: utils/adt/formatting.c:1764 utils/adt/regexp.c:219 utils/adt/varlena.c:4199
+#: utils/adt/varlena.c:4220 utils/fmgr/dfmgr.c:220 utils/hash/dynahash.c:411
+#: utils/hash/dynahash.c:488 utils/hash/dynahash.c:1002 utils/mb/mbutils.c:376
+#: utils/mb/mbutils.c:709 utils/misc/guc.c:3732 utils/misc/guc.c:3748
+#: utils/misc/guc.c:3761 utils/misc/guc.c:6695 utils/misc/tzparser.c:470
+#: utils/mmgr/aset.c:499 utils/mmgr/mcxt.c:688 utils/mmgr/mcxt.c:723
+#: utils/mmgr/mcxt.c:760 utils/mmgr/mcxt.c:797 utils/mmgr/mcxt.c:831
+#: utils/mmgr/mcxt.c:860 utils/mmgr/mcxt.c:894 utils/mmgr/mcxt.c:974
+#: utils/mmgr/mcxt.c:1007 utils/mmgr/mcxt.c:1054
 #, c-format
 msgid "out of memory"
 msgstr "memoria esaurita"
@@ -123,6 +126,41 @@ msgstr "Nome del fork non valido"
 msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"."
 msgstr "Nomi di fork validi sono \"main\", \"fsm\", \"vm\" e \"init\"."
 
+#: ../common/restricted_token.c:68
+#, c-format
+msgid "%s: WARNING: cannot create restricted tokens on this platform\n"
+msgstr "%s: ATTENZIONE: non è possibile creare token ristretti su questa piattaforma\n"
+
+#: ../common/restricted_token.c:77
+#, c-format
+msgid "%s: could not open process token: error code %lu\n"
+msgstr "%s: apertura del token di processo fallita: codice di errore %lu\n"
+
+#: ../common/restricted_token.c:90
+#, c-format
+msgid "%s: could not allocate SIDs: error code %lu\n"
+msgstr "%s: allocazione dei SID fallita: codice di errore: %lu\n"
+
+#: ../common/restricted_token.c:110
+#, c-format
+msgid "%s: could not create restricted token: error code %lu\n"
+msgstr "%s: creazione del token ristretto fallita: codice di errore %lu\n"
+
+#: ../common/restricted_token.c:132
+#, c-format
+msgid "%s: could not start process for command \"%s\": error code %lu\n"
+msgstr "%s: avvio del processo fallito per il comando \"%s\": codice di errore %lu\n"
+
+#: ../common/restricted_token.c:170
+#, c-format
+msgid "%s: could not re-execute with restricted token: error code %lu\n"
+msgstr "%s: ri-esecuzione con token ristretto fallita: codice di errore %lu\n"
+
+#: ../common/restricted_token.c:186
+#, c-format
+msgid "%s: could not get exit code from subprocess: error code %lu\n"
+msgstr "%s: lettura del codice di uscita del sottoprocesso fallita: codice di errore %lu\n"
+
 #: ../common/rmtree.c:77
 #, c-format
 msgid "could not stat file or directory \"%s\": %s\n"
@@ -138,14 +176,14 @@ msgstr "rimozione del file o directory \"%s\" fallita: %s\n"
 msgid "could not look up effective user ID %ld: %s"
 msgstr "ID utente effettivo %ld non trovato: %s"
 
-#: ../common/username.c:47 libpq/auth.c:1594
+#: ../common/username.c:47 libpq/auth.c:1606
 msgid "user does not exist"
 msgstr "l'utente non esiste"
 
-#: ../common/username.c:61
+#: ../common/username.c:62
 #, c-format
-msgid "user name lookup failure: %s"
-msgstr "errore nella ricerca del nome: %s"
+msgid "user name lookup failure: error code %lu"
+msgstr "ricerca del nome utente fallita: codice di errore %lu"
 
 #: ../common/wait_error.c:47
 #, c-format
@@ -188,6 +226,7 @@ msgid "could not determine encoding for codeset \"%s\""
 msgstr "determinazione della codifica per il codeset \"%s\" fallita"
 
 #: ../port/chklocale.c:260 ../port/chklocale.c:389
+#: postmaster/postmaster.c:4774
 #, c-format
 msgid "Please report this to ."
 msgstr "Per favore segnala questo problema a ."
@@ -260,78 +299,93 @@ msgstr "codice di errore win32 %lu mappato su %d"
 msgid "unrecognized win32 error code: %lu"
 msgstr "codice di errore win32 sconosciuto: %lu"
 
-#: access/common/heaptuple.c:679 access/common/heaptuple.c:1419
+#: access/brin/brin.c:1082
+#, c-format
+msgid "brin_summarize_new_values() cannot run in a transaction that has already obtained a snapshot"
+msgstr "brin_summarize_new_values() non può essere eseguita in una transazione che ha già ottenuto uno snapshot"
+
+#: access/brin/brin_pageops.c:645
+#, c-format
+msgid "index row size %lu exceeds maximum %lu for index \"%s\""
+msgstr "la dimensione %lu della riga dell'indice supera il massimo %lu per l'indice \"%s\""
+
+#: access/brin/brin_revmap.c:448
+#, c-format
+msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u"
+msgstr "tipo di pagina inaspettato 0x%04X nell'indice BRIN \"%s\" blocco %u"
+
+#: access/common/heaptuple.c:708 access/common/heaptuple.c:1339
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "il numero di colonne (%d) eccede il limite (%d)"
 
-#: access/common/indextuple.c:57
+#: access/common/indextuple.c:60
 #, c-format
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "il numero delle colonne dell'indice (%d) eccede il limite (%d)"
 
-#: access/common/indextuple.c:173 access/spgist/spgutils.c:605
+#: access/common/indextuple.c:176 access/spgist/spgutils.c:605
 #, c-format
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "la riga dell'indice richiede %zu byte, la dimensione massima è %zu"
 
-#: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:571
-#: tcop/postgres.c:1672
+#: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:544
+#: tcop/postgres.c:1730
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "codice di formato non supportato: %d"
 
-#: access/common/reloptions.c:396
+#: access/common/reloptions.c:419
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "è stato superato il limite per i tipi di parametro per la relazione definita dall'utente"
 
-#: access/common/reloptions.c:680
+#: access/common/reloptions.c:701
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "RESET non deve contenere valori per i parametri"
 
-#: access/common/reloptions.c:713
+#: access/common/reloptions.c:734
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "parametro del namespace \"%s\" sconosciuto"
 
-#: access/common/reloptions.c:959 parser/parse_clause.c:268
+#: access/common/reloptions.c:974 parser/parse_clause.c:277
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "parametro \"%s\" non identificato"
 
-#: access/common/reloptions.c:984
+#: access/common/reloptions.c:1004
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "parametro \"%s\" specificato più di una volta"
 
-#: access/common/reloptions.c:999
+#: access/common/reloptions.c:1019
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "valore non valido per l'opzione booleana \"%s\": %s"
 
-#: access/common/reloptions.c:1010
+#: access/common/reloptions.c:1030
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "valore non valido per l'opzione intera \"%s\": %s"
 
-#: access/common/reloptions.c:1015 access/common/reloptions.c:1033
+#: access/common/reloptions.c:1035 access/common/reloptions.c:1053
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "il valore %s non rientra nei limiti previsti per l'opzione \"%s\""
 
-#: access/common/reloptions.c:1017
+#: access/common/reloptions.c:1037
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "I valori validi sono quelli compresi fra \"%d\" e \"%d\"."
 
-#: access/common/reloptions.c:1028
+#: access/common/reloptions.c:1048
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "valore non valido per l'opzione in virgola mobile \"%s\": %s"
 
-#: access/common/reloptions.c:1035
+#: access/common/reloptions.c:1055
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "I valori validi sono quelli compresi fra \"%f\" e \"%f\"."
@@ -356,58 +410,58 @@ msgstr "L'attributo \"%s\" di tipo %s non combacia con l'attributo corrispondent
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "L'attributo \"%s\" di tipo %s non esiste nel tipo %s."
 
-#: access/common/tupdesc.c:635 parser/parse_relation.c:1339
+#: access/common/tupdesc.c:635 parser/parse_relation.c:1511
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "la colonna \"%s\" non può essere dichiarata SETOF"
 
-#: access/gin/ginentrypage.c:108 access/gist/gist.c:1281
-#: access/nbtree/nbtinsert.c:545 access/nbtree/nbtsort.c:485
-#: access/spgist/spgdoinsert.c:1880
+#: access/gin/ginentrypage.c:109 access/gist/gist.c:1289
+#: access/nbtree/nbtinsert.c:567 access/nbtree/nbtsort.c:488
+#: access/spgist/spgdoinsert.c:1888
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr "la dimensione %zu della riga dell'indice supera il massimo %zu per l'indice \"%s\""
 
-#: access/gin/ginscan.c:402
+#: access/gin/ginscan.c:410
 #, c-format
 msgid "old GIN indexes do not support whole-index scans nor searches for nulls"
 msgstr "i vecchi indici GIN non supportano le scansioni sull'intero indice né le ricerche di null"
 
-#: access/gin/ginscan.c:403
+#: access/gin/ginscan.c:411
 #, c-format
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Per correggere questo problema esegui REINDEX INDEX \"%s\"."
 
-#: access/gist/gist.c:624 access/gist/gistvacuum.c:266
+#: access/gist/gist.c:632 access/gist/gistvacuum.c:266
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "l'indice \"%s\" contiene una tupla interna marcata come invalida"
 
-#: access/gist/gist.c:626 access/gist/gistvacuum.c:268
+#: access/gist/gist.c:634 access/gist/gistvacuum.c:268
 #, c-format
 msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1."
 msgstr "Ciò è causato da una separazione di pagina incompleta al ripristino del crash prima dell'aggiornamento a PostgreSQL 9.1."
 
-#: access/gist/gist.c:627 access/gist/gistutil.c:693
-#: access/gist/gistutil.c:704 access/gist/gistvacuum.c:269
+#: access/gist/gist.c:635 access/gist/gistutil.c:735
+#: access/gist/gistutil.c:746 access/gist/gistvacuum.c:269
 #: access/hash/hashutil.c:172 access/hash/hashutil.c:183
 #: access/hash/hashutil.c:195 access/hash/hashutil.c:216
-#: access/nbtree/nbtpage.c:509 access/nbtree/nbtpage.c:520
+#: access/nbtree/nbtpage.c:518 access/nbtree/nbtpage.c:529
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Si richiede l'esecuzione di REINDEX."
 
-#: access/gist/gistbuild.c:254
+#: access/gist/gistbuild.c:252
 #, c-format
 msgid "invalid value for \"buffering\" option"
 msgstr "valore non valido per l'opzione \"buffering\""
 
-#: access/gist/gistbuild.c:255
+#: access/gist/gistbuild.c:253
 #, c-format
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "I valori validi sono \"on\", \"off\" ed \"auto\"."
 
-#: access/gist/gistbuildbuffers.c:780 utils/sort/logtape.c:212
+#: access/gist/gistbuildbuffers.c:778 utils/sort/logtape.c:209
 #, c-format
 msgid "could not write block %ld of temporary file: %m"
 msgstr "scrittura del blocco %ld del file temporaneo fallita: %m"
@@ -422,14 +476,14 @@ msgstr "il metodo picksplit per la colonna %d dell'indice \"%s\" è fallito"
 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'indice non è ottimale. Per ottimizzarlo si contatti uno sviluppatore o si usi la colonna ponendola in seconda posizione nel comando CREATE INDEX."
 
-#: access/gist/gistutil.c:690 access/hash/hashutil.c:169
-#: access/nbtree/nbtpage.c:506
+#: access/gist/gistutil.c:732 access/hash/hashutil.c:169
+#: access/nbtree/nbtpage.c:515
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "l'indice \"%s\" contiene una pagina inaspettata completamente a zero al blocco %u"
 
-#: access/gist/gistutil.c:701 access/hash/hashutil.c:180
-#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:517
+#: access/gist/gistutil.c:743 access/hash/hashutil.c:180
+#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:526
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "l'indice \"%s\" contiene una pagina corrotta al blocco %u"
@@ -439,7 +493,7 @@ msgstr "l'indice \"%s\" contiene una pagina corrotta al blocco %u"
 msgid "index row size %zu exceeds hash maximum %zu"
 msgstr "la dimensione %zu della riga dell'indice supera il massimo dell'hash %zu"
 
-#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1884
+#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1892
 #: access/spgist/spgutils.c:666
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
@@ -465,138 +519,163 @@ msgstr "l'indice \"%s\" non è un indice hash"
 msgid "index \"%s\" has wrong hash version"
 msgstr "l'indice \"%s\" ha una versione errata dell'hash"
 
-#: access/heap/heapam.c:1199 access/heap/heapam.c:1227
-#: access/heap/heapam.c:1259 catalog/aclchk.c:1742
+#: access/heap/heapam.c:1061 access/heap/heapam.c:1113
+#, c-format
+msgid "cannot access temporary tables during a parallel operation"
+msgstr "non è possibile accedere alle tabelle temporanee durante un'operazione parallela"
+
+#: access/heap/heapam.c:1230 access/heap/heapam.c:1258
+#: access/heap/heapam.c:1290 catalog/aclchk.c:1733
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "\"%s\" è un indice"
 
-#: access/heap/heapam.c:1204 access/heap/heapam.c:1232
-#: access/heap/heapam.c:1264 catalog/aclchk.c:1749 commands/tablecmds.c:8495
-#: commands/tablecmds.c:11279
+#: access/heap/heapam.c:1235 access/heap/heapam.c:1263
+#: access/heap/heapam.c:1295 catalog/aclchk.c:1740 commands/tablecmds.c:8866
+#: commands/tablecmds.c:11866
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "\"%s\" è un tipo composito"
 
-#: access/heap/heapam.c:4223 access/heap/heapam.c:4436
-#: access/heap/heapam.c:4493 executor/execMain.c:1992
+#: access/heap/heapam.c:2294
+#, c-format
+msgid "cannot insert tuples during a parallel operation"
+msgstr "non è possibile inserire tuple durante un'operazione parallela"
+
+#: access/heap/heapam.c:2715
+#, c-format
+msgid "cannot delete tuples during a parallel operation"
+msgstr "non è possibile eliminare tuple durante un'operazione parallela"
+
+#: access/heap/heapam.c:3181 access/heap/heapam.c:5730
+#, c-format
+msgid "cannot update tuples during a parallel operation"
+msgstr "non è possibile aggiornare tuple durante un'operazione parallela"
+
+#: access/heap/heapam.c:4552 access/heap/heapam.c:4590
+#: access/heap/heapam.c:4813 executor/execMain.c:2267
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "lock di riga nella relazione \"%s\" fallito"
 
-#: access/heap/hio.c:240 access/heap/rewriteheap.c:666
+#: access/heap/hio.c:253 access/heap/rewriteheap.c:666
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "la riga è troppo grande: la dimensione %zu supera il massimo %zu"
 
-#: access/heap/rewriteheap.c:932
+#: access/heap/rewriteheap.c:925
 #, c-format
 msgid "could not write to file \"%s\", wrote %d of %d: %m"
 msgstr "scrittura nel file \"%s\" fallita, scritti %d di %d: %m"
 
-#: access/heap/rewriteheap.c:973 access/heap/rewriteheap.c:1185
-#: access/heap/rewriteheap.c:1282 access/transam/timeline.c:407
-#: access/transam/timeline.c:497 access/transam/xlog.c:3185
-#: access/transam/xlog.c:3315 replication/logical/snapbuild.c:1592
-#: replication/slot.c:1042 replication/slot.c:1131 storage/file/fd.c:436
-#: storage/smgr/md.c:966 storage/smgr/md.c:1197 storage/smgr/md.c:1370
-#: utils/misc/guc.c:6599
+#: access/heap/rewriteheap.c:965 access/heap/rewriteheap.c:1177
+#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:407
+#: access/transam/timeline.c:497 access/transam/xlog.c:2986
+#: access/transam/xlog.c:3148 replication/logical/origin.c:609
+#: replication/logical/snapbuild.c:1592 replication/slot.c:1026
+#: replication/slot.c:1115 storage/file/fd.c:459 storage/file/fd.c:2718
+#: storage/smgr/md.c:982 storage/smgr/md.c:1213 storage/smgr/md.c:1386
+#: utils/misc/guc.c:6717
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "fsync del file \"%s\" fallito: %m"
 
-#: access/heap/rewriteheap.c:1028 access/heap/rewriteheap.c:1148
+#: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1140
 #: access/transam/timeline.c:315 access/transam/timeline.c:475
-#: access/transam/xlog.c:3141 access/transam/xlog.c:3276
-#: access/transam/xlog.c:9915 access/transam/xlog.c:10230
-#: postmaster/postmaster.c:4216 replication/slot.c:999
-#: storage/file/copydir.c:162 storage/smgr/md.c:304 utils/time/snapmgr.c:976
+#: access/transam/xlog.c:2942 access/transam/xlog.c:3091
+#: access/transam/xlog.c:10096 access/transam/xlog.c:10132
+#: access/transam/xlog.c:10454 postmaster/postmaster.c:4252
+#: replication/logical/origin.c:538 replication/slot.c:983
+#: storage/file/copydir.c:162 storage/smgr/md.c:320 utils/time/snapmgr.c:1071
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "creazione del file \"%s\" fallita: %m"
 
-#: access/heap/rewriteheap.c:1157
+#: access/heap/rewriteheap.c:1149
 #, c-format
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "troncamento del file \"%s\" a %u fallito: %m"
 
-#: access/heap/rewriteheap.c:1164 replication/walsender.c:465
-#: storage/smgr/md.c:1782
+#: access/heap/rewriteheap.c:1156 replication/walsender.c:465
+#: storage/smgr/md.c:1798
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "non è stato possibile spostarsi alla fine del file \"%s\": %m"
 
-#: access/heap/rewriteheap.c:1175 access/transam/timeline.c:367
+#: access/heap/rewriteheap.c:1167 access/transam/timeline.c:367
 #: access/transam/timeline.c:401 access/transam/timeline.c:491
-#: access/transam/xlog.c:3176 access/transam/xlog.c:3308
-#: postmaster/postmaster.c:4226 postmaster/postmaster.c:4236
-#: replication/logical/snapbuild.c:1576 replication/slot.c:1028
-#: storage/file/copydir.c:187 utils/init/miscinit.c:1057
-#: utils/init/miscinit.c:1066 utils/init/miscinit.c:1073 utils/misc/guc.c:6567
-#: utils/misc/guc.c:6592 utils/misc/guc.c:8290 utils/misc/guc.c:8304
-#: utils/time/snapmgr.c:981 utils/time/snapmgr.c:988
+#: access/transam/xlog.c:2977 access/transam/xlog.c:3141
+#: postmaster/postmaster.c:4262 postmaster/postmaster.c:4272
+#: replication/logical/origin.c:547 replication/logical/origin.c:583
+#: replication/logical/origin.c:599 replication/logical/snapbuild.c:1576
+#: replication/slot.c:1012 storage/file/copydir.c:187
+#: utils/init/miscinit.c:1179 utils/init/miscinit.c:1188
+#: utils/init/miscinit.c:1195 utils/misc/guc.c:6678 utils/misc/guc.c:6709
+#: utils/misc/guc.c:8527 utils/misc/guc.c:8541 utils/time/snapmgr.c:1076
+#: utils/time/snapmgr.c:1083
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "scrittura nel file \"%s\" fallita: %m"
 
-#: access/heap/rewriteheap.c:1258 access/transam/xlog.c:10099
-#: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:467
-#: replication/logical/reorderbuffer.c:2352
-#: replication/logical/reorderbuffer.c:2409
+#: access/heap/rewriteheap.c:1250 access/transam/xlog.c:10321
+#: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:468
+#: replication/logical/origin.c:525 replication/logical/reorderbuffer.c:2421
+#: replication/logical/reorderbuffer.c:2478
 #: replication/logical/snapbuild.c:1520 replication/logical/snapbuild.c:1895
-#: replication/slot.c:1105 storage/ipc/dsm.c:326 storage/smgr/md.c:404
-#: storage/smgr/md.c:453 storage/smgr/md.c:1317
+#: replication/slot.c:1089 storage/ipc/dsm.c:326 storage/smgr/md.c:420
+#: storage/smgr/md.c:469 storage/smgr/md.c:1333
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "rimozione del file \"%s\" fallita: %m"
 
-#: access/heap/rewriteheap.c:1272 access/transam/timeline.c:111
+#: access/heap/rewriteheap.c:1264 access/transam/timeline.c:111
 #: access/transam/timeline.c:236 access/transam/timeline.c:334
-#: access/transam/xlog.c:3117 access/transam/xlog.c:3224
-#: access/transam/xlog.c:3261 access/transam/xlog.c:3536
-#: access/transam/xlog.c:3614 replication/basebackup.c:458
-#: replication/basebackup.c:1167 replication/logical/logicalfuncs.c:152
-#: replication/logical/reorderbuffer.c:1965
-#: replication/logical/reorderbuffer.c:2172
-#: replication/logical/reorderbuffer.c:2801
+#: access/transam/xlog.c:2918 access/transam/xlog.c:3035
+#: access/transam/xlog.c:3076 access/transam/xlog.c:3367
+#: access/transam/xlog.c:3445 replication/basebackup.c:398
+#: replication/basebackup.c:1158 replication/logical/logicalfuncs.c:154
+#: replication/logical/origin.c:673 replication/logical/reorderbuffer.c:2038
+#: replication/logical/reorderbuffer.c:2242
+#: replication/logical/reorderbuffer.c:2869
 #: replication/logical/snapbuild.c:1569 replication/logical/snapbuild.c:1653
-#: replication/slot.c:1120 replication/walsender.c:458
-#: replication/walsender.c:2094 storage/file/copydir.c:155
-#: storage/file/fd.c:422 storage/smgr/md.c:586 storage/smgr/md.c:844
-#: utils/error/elog.c:1797 utils/init/miscinit.c:992
-#: utils/init/miscinit.c:1121 utils/misc/guc.c:6795 utils/misc/guc.c:6813
+#: replication/slot.c:1104 replication/walsender.c:458
+#: replication/walsender.c:2080 storage/file/copydir.c:155
+#: storage/file/fd.c:445 storage/file/fd.c:2653 storage/file/fd.c:2705
+#: storage/smgr/md.c:602 storage/smgr/md.c:860 utils/error/elog.c:1854
+#: utils/init/miscinit.c:1114 utils/init/miscinit.c:1243 utils/misc/guc.c:6921
+#: utils/misc/guc.c:6953
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "apertura del file \"%s\" fallita: %m"
 
-#: access/index/indexam.c:172 catalog/objectaddress.c:855
-#: commands/indexcmds.c:1725 commands/tablecmds.c:232
-#: commands/tablecmds.c:11270
+#: access/index/indexam.c:172 catalog/objectaddress.c:1144
+#: commands/indexcmds.c:1754 commands/tablecmds.c:238
+#: commands/tablecmds.c:11857
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "\"%s\" non è un indice"
 
-#: access/nbtree/nbtinsert.c:396
+#: access/nbtree/nbtinsert.c:419
 #, c-format
 msgid "duplicate key value violates unique constraint \"%s\""
 msgstr "un valore chiave duplicato viola il vincolo univoco \"%s\""
 
-#: access/nbtree/nbtinsert.c:398
+#: access/nbtree/nbtinsert.c:421
 #, c-format
 msgid "Key %s already exists."
 msgstr "La chiave %s esiste già."
 
-#: access/nbtree/nbtinsert.c:466
+#: access/nbtree/nbtinsert.c:488
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "non ho ritrovato la tupla nell'indice \"%s\""
 
-#: access/nbtree/nbtinsert.c:468
+#: access/nbtree/nbtinsert.c:490
 #, c-format
 msgid "This may be because of a non-immutable index expression."
 msgstr "Ciò potrebbe essere causato da un'espressione dell'indice non immutabile."
 
-#: access/nbtree/nbtinsert.c:548 access/nbtree/nbtsort.c:488
+#: access/nbtree/nbtinsert.c:570 access/nbtree/nbtsort.c:491
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -605,24 +684,24 @@ msgstr ""
 "Non si possono indicizzare valori più grandi di 1/3 di pagina di buffer.\n"
 "Si consiglia un indice funzionale su un hash MD5 del valore o l'uso del full text indexing."
 
-#: access/nbtree/nbtpage.c:166 access/nbtree/nbtpage.c:362
-#: access/nbtree/nbtpage.c:449 parser/parse_utilcmd.c:1620
+#: access/nbtree/nbtpage.c:168 access/nbtree/nbtpage.c:371
+#: access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1665
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "l'indice \"%s\" non è un btree"
 
-#: access/nbtree/nbtpage.c:172 access/nbtree/nbtpage.c:368
-#: access/nbtree/nbtpage.c:455
+#: access/nbtree/nbtpage.c:174 access/nbtree/nbtpage.c:377
+#: access/nbtree/nbtpage.c:464
 #, c-format
 msgid "version mismatch in index \"%s\": file version %d, code version %d"
 msgstr "le versioni non corrispondono per l'indice \"%s\": la versione sul file è %d, quella del codice %d"
 
-#: access/nbtree/nbtpage.c:1187
+#: access/nbtree/nbtpage.c:1152
 #, c-format
 msgid "index \"%s\" contains a half-dead internal page"
 msgstr "l'indice \"%s\" contiene una pagina interna mezza morta"
 
-#: access/nbtree/nbtpage.c:1189
+#: access/nbtree/nbtpage.c:1154
 #, c-format
 msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it."
 msgstr "Ciò può essere causato da un VACUUM interrotto in una versione 9.3 o precedente, prima dell'aggiornamento. Si consiglia un REINDEX."
@@ -632,13 +711,44 @@ msgstr "Ciò può essere causato da un VACUUM interrotto in una versione 9.3 o p
 msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
 msgstr "La dimensione %zu della tupla interna SP-GiST supera il massimo %zu"
 
-#: access/transam/multixact.c:990
+#: access/tablesample/bernoulli.c:56 access/tablesample/system.c:56
+#, c-format
+msgid "invalid sample size"
+msgstr "dimensione del campione non valida"
+
+#: access/tablesample/bernoulli.c:57 access/tablesample/system.c:57
+#, c-format
+msgid "Sample size must be numeric value between 0 and 100 (inclusive)."
+msgstr "La dimensione del campione dev'essere un valore numerico tra 0 e 100 (inclusi)."
+
+#: access/tablesample/tablesample.c:98 parser/parse_func.c:855
+#, c-format
+msgid "REPEATABLE clause must be NOT NULL numeric value"
+msgstr "la clausola REPEATABLE dev'essere un valore numerico NON NULL"
+
+#: access/transam/commit_ts.c:273 access/transam/commit_ts.c:359
+#, c-format
+msgid "could not get commit timestamp data"
+msgstr "non è stato possibile ottenere i dati dell'ora di commit"
+
+#: access/transam/commit_ts.c:274 access/transam/commit_ts.c:360
+#: libpq/hba.c:1424
+#, c-format
+msgid "Make sure the configuration parameter \"%s\" is set."
+msgstr "Assicurati che il parametro di configurazione \"%s\" sia impostato."
+
+#: access/transam/commit_ts.c:281
+#, c-format
+msgid "cannot retrieve commit timestamp for transaction %u"
+msgstr "non è stato possibile ottenere l'ora di commit per la transazione %u"
+
+#: access/transam/multixact.c:1011
 #, c-format
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\""
 msgstr "il database non sta accettando comandi che generano nuovi MultiXactIds per evitare perdite di dati per wraparound nel database \"%s\""
 
-#: access/transam/multixact.c:992 access/transam/multixact.c:999
-#: access/transam/multixact.c:1014 access/transam/multixact.c:1023
+#: access/transam/multixact.c:1013 access/transam/multixact.c:1020
+#: access/transam/multixact.c:1044 access/transam/multixact.c:1053
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
@@ -647,43 +757,70 @@ msgstr ""
 "Esegui un VACUUM sull'intero database.\n"
 "Potresti anche dover eseguire il commit o il rollback di vecchie transazioni preparate."
 
-#: access/transam/multixact.c:997
+#: access/transam/multixact.c:1018
 #, c-format
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
 msgstr "il database non sta accettando comandi che generano nuovi MultiXactIds per evitare perdite di dati per wraparound nel database con OID %u"
 
-#: access/transam/multixact.c:1009 access/transam/multixact.c:2201
+#: access/transam/multixact.c:1039 access/transam/multixact.c:2303
 #, c-format
 msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
 msgid_plural "database \"%s\" must be vacuumed before %u more MultiXactIds are used"
 msgstr[0] "il database \"%s\" deve ricevere un vacuum prima che altri %u MultiXactIds siano usati"
 msgstr[1] "il database \"%s\" deve ricevere un vacuum prima che altri %u MultiXactIds siano usati"
 
-#: access/transam/multixact.c:1018 access/transam/multixact.c:2210
+#: access/transam/multixact.c:1048 access/transam/multixact.c:2312
 #, c-format
 msgid "database with OID %u must be vacuumed before %u more MultiXactId is used"
 msgid_plural "database with OID %u must be vacuumed before %u more MultiXactIds are used"
 msgstr[0] "il database con OID %u deve ricevere un vacuum prima che altri %u MultiXactIds siano usati"
 msgstr[1] "il database con OID %u deve ricevere un vacuum prima che altri %u MultiXactIds siano usati"
 
-#: access/transam/multixact.c:1169
+#: access/transam/multixact.c:1109
+#, c-format
+msgid "multixact \"members\" limit exceeded"
+msgstr "limite \"membri\" multixact superato"
+
+#: access/transam/multixact.c:1110
+#, c-format
+msgid "This command would create a multixact with %u members, but the remaining space is only enough for %u member."
+msgid_plural "This command would create a multixact with %u members, but the remaining space is only enough for %u members."
+msgstr[0] "Questo comando creerebbe un multixact con %u membri, ma lo spazio restante è sufficiente solo per %u membro."
+msgstr[1] "Questo comando creerebbe un multixact con %u membri, ma lo spazio restante è sufficiente solo per %u membri."
+
+#: access/transam/multixact.c:1115
+#, c-format
+msgid "Execute a database-wide VACUUM in database with OID %u with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."
+msgstr "Esegui un VACUUM su tutto il database con OID %u con impostazioni di vacuum_multixact_freeze_min_age e vacuum_multixact_freeze_table_age ridotte."
+
+#: access/transam/multixact.c:1146
+#, c-format
+msgid "database with OID %u must be vacuumed before %d more multixact members are used"
+msgstr "il database con OID %u deve ricevere un vacuum prima che altri %d membri multixact possano essere usati"
+
+#: access/transam/multixact.c:1149
+#, c-format
+msgid "Execute a database-wide VACUUM in that database with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."
+msgstr "Esegui un VACUUM su quel database intero con impostazioni di vacuum_multixact_freeze_min_age e vacuum_multixact_freeze_table_age ridotte."
+
+#: access/transam/multixact.c:1287
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "il MultiXactId %u non esiste più -- sembra ci sia stato un wraparound"
 
-#: access/transam/multixact.c:1177
+#: access/transam/multixact.c:1295
 #, c-format
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "il MultiXactId %u non è stato ancora creato -- sembra ci sia stato un wraparound"
 
-#: access/transam/multixact.c:2166
+#: access/transam/multixact.c:2265
 #, c-format
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr "il limite di wrap di MultiXactId è %u, limitato dal database con OID %u"
 
-#: access/transam/multixact.c:2206 access/transam/multixact.c:2215
-#: access/transam/varsup.c:137 access/transam/varsup.c:144
-#: access/transam/varsup.c:374 access/transam/varsup.c:381
+#: access/transam/multixact.c:2308 access/transam/multixact.c:2317
+#: access/transam/varsup.c:146 access/transam/varsup.c:153
+#: access/transam/varsup.c:384 access/transam/varsup.c:391
 #, c-format
 msgid ""
 "To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
@@ -692,11 +829,71 @@ msgstr ""
 "Per evitare lo spegnimento del database, si deve eseguire un VACUUM su tutto il database.\n"
 "Potrebbe essere necessario inoltre effettuare il COMMIT o il ROLLBACK di vecchie transazioni preparate."
 
-#: access/transam/multixact.c:2799
+#: access/transam/multixact.c:2576
+#, c-format
+msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk"
+msgstr "le protezioni di wraparound dei membri MultiXact sono disabilitate perché il il MultiXact più vecchio che abbia ricevuto un checkpoint %u non esiste sul disco"
+
+#: access/transam/multixact.c:2599
+#, c-format
+msgid "MultiXact member wraparound protections are now enabled"
+msgstr "le protezioni di wraparound dei membri MultiXact ora sono abilitate"
+
+#: access/transam/multixact.c:2601
+#, c-format
+msgid "MultiXact member stop limit is now %u based on MultiXact %u"
+msgstr "il limite di arresto dei membri MultiXact è ora %u basato sul MultiXact %u"
+
+#: access/transam/multixact.c:2688
+#, c-format
+msgid "oldest MultiXactId member is at offset %u"
+msgstr "il membro MultiXactId più vecchio è all'offset %u"
+
+#: access/transam/multixact.c:2692
+#, c-format
+msgid "oldest MultiXactId member offset unknown"
+msgstr "il membro MultiXactId più vecchio è ad un offset sconosciuto"
+
+#: access/transam/multixact.c:3041
+#, c-format
+msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation"
+msgstr "MultiXact più vecchio %u non trovato, il primo è il MultiXact %u, troncamento non eseguito"
+
+#: access/transam/multixact.c:3268
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "MultiXactId non valido: %u"
 
+#: access/transam/parallel.c:574
+#, c-format
+msgid "postmaster exited during a parallel transaction"
+msgstr "il postmaster è terminato durante una transazione parallela"
+
+#: access/transam/parallel.c:665
+#, c-format
+msgid "lost connection to parallel worker"
+msgstr "connessione al worker parallelo perduta"
+
+#: access/transam/parallel.c:835
+#, c-format
+msgid "unable to map dynamic shared memory segment"
+msgstr "mappatura del segmento di memoria dinamica condivisa non riuscito"
+
+#: access/transam/parallel.c:840
+#, c-format
+msgid "bad magic number in dynamic shared memory segment"
+msgstr "numero magico sbagliato nel segmento di memoria dinamica condivisa"
+
+#: access/transam/parallel.c:853
+#, c-format
+msgid "too many parallel workers already attached"
+msgstr "troppi lavoratori in parallelo già attaccati"
+
+#: access/transam/parallel.c:993
+#, c-format
+msgid "parallel worker, pid %d"
+msgstr "lavoratore parallelo, pid %d"
+
 #: access/transam/slru.c:651
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
@@ -784,19 +981,22 @@ msgstr "dati non validi nel file dello storico \"%s\""
 msgid "Timeline IDs must be less than child timeline's ID."
 msgstr "Gli ID della timeline devono avere valori inferiori degli ID della timeline figlia"
 
-#: access/transam/timeline.c:346 access/transam/xlog.c:3289
-#: access/transam/xlog.c:10081 access/transam/xlog.c:10094
-#: access/transam/xlog.c:10462 access/transam/xlog.c:10505
-#: access/transam/xlogfuncs.c:468 access/transam/xlogfuncs.c:487
-#: replication/logical/reorderbuffer.c:2819 replication/walsender.c:483
-#: storage/file/copydir.c:176 utils/adt/genfile.c:139
+#: access/transam/timeline.c:346 access/transam/xlog.c:3119
+#: access/transam/xlog.c:10303 access/transam/xlog.c:10316
+#: access/transam/xlog.c:10679 access/transam/xlog.c:10722
+#: access/transam/xlog.c:10761 access/transam/xlog.c:10804
+#: access/transam/xlogfuncs.c:478 access/transam/xlogfuncs.c:497
+#: commands/extension.c:3047 replication/logical/origin.c:680
+#: replication/logical/origin.c:710 replication/logical/reorderbuffer.c:2887
+#: replication/walsender.c:483 storage/file/copydir.c:176
+#: utils/adt/genfile.c:151
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "lettura de file \"%s\" fallita: %m"
 
 #: access/transam/timeline.c:412 access/transam/timeline.c:502
-#: access/transam/xlog.c:3191 access/transam/xlog.c:3320
-#: access/transam/xlogfuncs.c:493 commands/copy.c:1518
+#: access/transam/xlog.c:2992 access/transam/xlog.c:3153
+#: access/transam/xlogfuncs.c:503 commands/copy.c:1620
 #: storage/file/copydir.c:201
 #, c-format
 msgid "could not close file \"%s\": %m"
@@ -808,12 +1008,13 @@ msgid "could not link file \"%s\" to \"%s\": %m"
 msgstr "creazione del collegamento il file \"%s\" a \"%s\" fallita: %m"
 
 #: access/transam/timeline.c:436 access/transam/timeline.c:526
-#: access/transam/xlog.c:5403 access/transam/xlog.c:6496
-#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:475
-#: access/transam/xlogarchive.c:582 postmaster/pgarch.c:759
-#: replication/logical/snapbuild.c:1606 replication/slot.c:468
-#: replication/slot.c:942 replication/slot.c:1054 utils/misc/guc.c:6843
-#: utils/time/snapmgr.c:999
+#: access/transam/xlog.c:5274 access/transam/xlog.c:6463
+#: access/transam/xlog.c:6480 access/transam/xlog.c:7262
+#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:476
+#: access/transam/xlogarchive.c:586 postmaster/pgarch.c:734
+#: replication/logical/origin.c:620 replication/logical/snapbuild.c:1606
+#: replication/slot.c:470 replication/slot.c:926 replication/slot.c:1038
+#: utils/misc/guc.c:6977 utils/time/snapmgr.c:1094
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "non è stato possibile rinominare il file \"%s\" in \"%s\": %m"
@@ -823,166 +1024,166 @@ msgstr "non è stato possibile rinominare il file \"%s\" in \"%s\": %m"
 msgid "requested timeline %u is not in this server's history"
 msgstr "la timeline richiesta %u non è nella storia di questo server"
 
-#: access/transam/twophase.c:330
+#: access/transam/twophase.c:328
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "l'identificativo di transazione \"%s\" è troppo lungo"
 
-#: access/transam/twophase.c:337
+#: access/transam/twophase.c:335
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "le transazione preparate sono disabilitate"
 
-#: access/transam/twophase.c:338
+#: access/transam/twophase.c:336
 #, c-format
 msgid "Set max_prepared_transactions to a nonzero value."
 msgstr "Imposta max_prepared_transactions ad un valore non nullo."
 
-#: access/transam/twophase.c:357
+#: access/transam/twophase.c:355
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "l'identificativo di transazione \"%s\" è già in uso"
 
-#: access/transam/twophase.c:366
+#: access/transam/twophase.c:364
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "è stato raggiunto il numero massimo di transazioni preparate"
 
-#: access/transam/twophase.c:367
+#: access/transam/twophase.c:365
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Incrementa il valore di max_prepared_transactions (il valore attuale è %d)"
 
-#: access/transam/twophase.c:505
+#: access/transam/twophase.c:502
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "la transazione preparata con identificativo \"%s\" è in uso"
 
-#: access/transam/twophase.c:511
+#: access/transam/twophase.c:508
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "non è consentito portare a termine la transazione preparata"
 
-#: access/transam/twophase.c:512
+#: access/transam/twophase.c:509
 #, c-format
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr "È consentito solo a un superutente o all'utente che ha preparato la transazione."
 
-#: access/transam/twophase.c:523
+#: access/transam/twophase.c:520
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "la transazione preparata appartiene ad un altro database"
 
-#: access/transam/twophase.c:524
+#: access/transam/twophase.c:521
 #, c-format
 msgid "Connect to the database where the transaction was prepared to finish it."
 msgstr "Connettersi al database in cui la transazione è stata preparata per portarla a termine."
 
-#: access/transam/twophase.c:539
+#: access/transam/twophase.c:536
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "la transazione preparata con identificativo \"%s\" non esiste"
 
-#: access/transam/twophase.c:1042
+#: access/transam/twophase.c:1046
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr "è stata superata la lunghezza massima del file dello stato a due fasi"
 
-#: access/transam/twophase.c:1055
+#: access/transam/twophase.c:1059
 #, c-format
 msgid "could not create two-phase state file \"%s\": %m"
 msgstr "creazione del file dello stato a due fasi \"%s\" fallito: %m"
 
-#: access/transam/twophase.c:1069 access/transam/twophase.c:1086
-#: access/transam/twophase.c:1135 access/transam/twophase.c:1564
-#: access/transam/twophase.c:1571
+#: access/transam/twophase.c:1073 access/transam/twophase.c:1090
+#: access/transam/twophase.c:1143 access/transam/twophase.c:1573
+#: access/transam/twophase.c:1580
 #, c-format
 msgid "could not write two-phase state file: %m"
 msgstr "scrittura nel file dello stato a due fasi fallito: %m"
 
-#: access/transam/twophase.c:1095
+#: access/transam/twophase.c:1099
 #, c-format
 msgid "could not seek in two-phase state file: %m"
 msgstr "spostamento nel file dello stato a due fasi %m fallito"
 
-#: access/transam/twophase.c:1141 access/transam/twophase.c:1589
+#: access/transam/twophase.c:1149 access/transam/twophase.c:1598
 #, c-format
 msgid "could not close two-phase state file: %m"
 msgstr "chiusura del file dello stato a due fasi fallita: %m"
 
-#: access/transam/twophase.c:1228 access/transam/twophase.c:1670
+#: access/transam/twophase.c:1237 access/transam/twophase.c:1679
 #, c-format
 msgid "could not open two-phase state file \"%s\": %m"
 msgstr "apertura del file dello stato a due fasi \"%s\" fallita: %m"
 
-#: access/transam/twophase.c:1245
+#: access/transam/twophase.c:1254
 #, c-format
 msgid "could not stat two-phase state file \"%s\": %m"
 msgstr "non è stato possibile ottenere informazioni sul file dello stato a due fasi \"%s\": %m"
 
-#: access/transam/twophase.c:1277
+#: access/transam/twophase.c:1286
 #, c-format
 msgid "could not read two-phase state file \"%s\": %m"
 msgstr "lettura del file dello stato a due fasi \"%s\" fallita: %m"
 
-#: access/transam/twophase.c:1373
+#: access/transam/twophase.c:1382
 #, c-format
 msgid "two-phase state file for transaction %u is corrupt"
 msgstr "il file dello stato a due fasi per la transazione %u è corrotto"
 
-#: access/transam/twophase.c:1526
+#: access/transam/twophase.c:1535
 #, c-format
 msgid "could not remove two-phase state file \"%s\": %m"
 msgstr "rimozione del file dello stato a due fasi \"%s\" fallita: %m"
 
-#: access/transam/twophase.c:1555
+#: access/transam/twophase.c:1564
 #, c-format
 msgid "could not recreate two-phase state file \"%s\": %m"
 msgstr "ricreazione del file dello stato a due fasi \"%s\" fallita: %m"
 
-#: access/transam/twophase.c:1583
+#: access/transam/twophase.c:1592
 #, c-format
 msgid "could not fsync two-phase state file: %m"
 msgstr "fsync del file dello stato a due fasi: %m"
 
-#: access/transam/twophase.c:1679
+#: access/transam/twophase.c:1688
 #, c-format
 msgid "could not fsync two-phase state file \"%s\": %m"
 msgstr "fsync del file dello stato a due fasi \"%s\" fallito: %m"
 
-#: access/transam/twophase.c:1686
+#: access/transam/twophase.c:1695
 #, c-format
 msgid "could not close two-phase state file \"%s\": %m"
 msgstr "chiusura del file dello stato a due fasi \"%s\" fallita: %m"
 
-#: access/transam/twophase.c:1751
+#: access/transam/twophase.c:1760
 #, c-format
 msgid "removing future two-phase state file \"%s\""
 msgstr "rimozione del file dello stato a due fasi nel futuro \"%s\""
 
-#: access/transam/twophase.c:1767 access/transam/twophase.c:1778
-#: access/transam/twophase.c:1897 access/transam/twophase.c:1908
-#: access/transam/twophase.c:1981
+#: access/transam/twophase.c:1776 access/transam/twophase.c:1787
+#: access/transam/twophase.c:1906 access/transam/twophase.c:1917
+#: access/transam/twophase.c:1990
 #, c-format
 msgid "removing corrupt two-phase state file \"%s\""
 msgstr "rimozione del file dello stato a due fasi corrotto \"%s\""
 
-#: access/transam/twophase.c:1886 access/transam/twophase.c:1970
+#: access/transam/twophase.c:1895 access/transam/twophase.c:1979
 #, c-format
 msgid "removing stale two-phase state file \"%s\""
 msgstr "rimozione del file dello stato a due fasi obsoleto \"%s\""
 
-#: access/transam/twophase.c:1988
+#: access/transam/twophase.c:1997
 #, c-format
 msgid "recovering prepared transaction %u"
 msgstr "recupero della transazione preparata %u"
 
-#: access/transam/varsup.c:115
+#: access/transam/varsup.c:124
 #, c-format
 msgid "database is not accepting commands to avoid wraparound data loss in database \"%s\""
 msgstr "il database non accetta comandi per evitare perdita di dati per wraparound \"%s\""
 
-#: access/transam/varsup.c:117 access/transam/varsup.c:124
+#: access/transam/varsup.c:126 access/transam/varsup.c:133
 #, c-format
 msgid ""
 "Stop the postmaster and vacuum that database in single-user mode.\n"
@@ -991,1112 +1192,1194 @@ msgstr ""
 "Arresta il processo postmaster ed effettua un VACUUM su quel database in modalità a singolo utente.\n"
 "Potrebbe essere necessario inoltre effettuare il COMMIT o il ROLLBACK di vecchie transazioni preparate."
 
-#: access/transam/varsup.c:122
+#: access/transam/varsup.c:131
 #, c-format
 msgid "database is not accepting commands to avoid wraparound data loss in database with OID %u"
 msgstr "il database non accetta comandi per evitare perdita di dati per wraparound nel database con OID %u"
 
-#: access/transam/varsup.c:134 access/transam/varsup.c:371
+#: access/transam/varsup.c:143 access/transam/varsup.c:381
 #, c-format
 msgid "database \"%s\" must be vacuumed within %u transactions"
 msgstr "è necessario eseguire il VACUUM sul database \"%s\" entro %u transazioni"
 
-#: access/transam/varsup.c:141 access/transam/varsup.c:378
+#: access/transam/varsup.c:150 access/transam/varsup.c:388
 #, c-format
 msgid "database with OID %u must be vacuumed within %u transactions"
 msgstr "è necessario eseguire il VACUUM sul database con OID %u entro %u transazioni"
 
-#: access/transam/varsup.c:336
+#: access/transam/varsup.c:346
 #, c-format
 msgid "transaction ID wrap limit is %u, limited by database with OID %u"
 msgstr "il limite di sovrascrittura degli ID di transazione è %u, definito dal database con OID %u"
 
-#: access/transam/xact.c:814
+#: access/transam/xact.c:943
 #, c-format
 msgid "cannot have more than 2^32-2 commands in a transaction"
 msgstr "non è possibile effettuare più di 2^32-2 comandi in una transazione"
 
-#: access/transam/xact.c:1370
+#: access/transam/xact.c:1441
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "il numero massimo di sottotransazioni committed (%d) è stato superato"
 
-#: access/transam/xact.c:2151
+#: access/transam/xact.c:2235
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary tables"
 msgstr "non è possibile eseguire PREPARE in una transazione che ha operato su tabelle temporanee"
 
-#: access/transam/xact.c:2161
+#: access/transam/xact.c:2245
 #, c-format
 msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "non è possibile eseguire PREPARE in una transazione che ha esportato snapshot"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3000
+#: access/transam/xact.c:3123
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "non è possibile eseguire %s all'interno di un blocco di transazione"
 
 #  translator: %s represents an SQL statement name
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3010
+#: access/transam/xact.c:3133
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "non è possibile eseguire %s all'interno di una sottotransazione"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3020
+#: access/transam/xact.c:3143
 #, c-format
 msgid "%s cannot be executed from a function or multi-command string"
 msgstr "una funzione o una stringa multi-comando non può eseguire %s"
 
 #  translator: %s represents an SQL statement name
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3091
+#: access/transam/xact.c:3214
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "si può usare %s solo entro blocchi di transazione"
 
-#: access/transam/xact.c:3274
+#: access/transam/xact.c:3398
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "c'è già una transazione in corso"
 
-#: access/transam/xact.c:3442 access/transam/xact.c:3535
+#: access/transam/xact.c:3566 access/transam/xact.c:3669
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "non c'è alcuna transazione in corso"
 
-#: access/transam/xact.c:3631 access/transam/xact.c:3682
-#: access/transam/xact.c:3688 access/transam/xact.c:3732
-#: access/transam/xact.c:3781 access/transam/xact.c:3787
+#: access/transam/xact.c:3577
+#, c-format
+msgid "cannot commit during a parallel operation"
+msgstr "non è possibile effettuare un commit durante un'operazione parallela"
+
+#: access/transam/xact.c:3680
+#, c-format
+msgid "cannot abort during a parallel operation"
+msgstr "non è possibile interrompere durante un'operazione parallela"
+
+#: access/transam/xact.c:3722
+#, c-format
+msgid "cannot define savepoints during a parallel operation"
+msgstr "non è possibile definire un punto di salvataggio durante un'operazione parallela"
+
+#: access/transam/xact.c:3789
+#, c-format
+msgid "cannot release savepoints during a parallel operation"
+msgstr "non è possibile rilasciare un punto di salvataggio durante un'operazione parallela"
+
+#: access/transam/xact.c:3800 access/transam/xact.c:3852
+#: access/transam/xact.c:3858 access/transam/xact.c:3914
+#: access/transam/xact.c:3964 access/transam/xact.c:3970
 #, c-format
 msgid "no such savepoint"
 msgstr "punto di salvataggio inesistente"
 
-#: access/transam/xact.c:4464
+#: access/transam/xact.c:3902
+#, c-format
+msgid "cannot rollback to savepoints during a parallel operation"
+msgstr "non è possibile effettuare un rollback durante un'operazione parallela"
+
+#: access/transam/xact.c:4030
+#, c-format
+msgid "cannot start subtransactions during a parallel operation"
+msgstr "non è possibile iniziare una sub-transazione durante un'operazione parallela"
+
+#: access/transam/xact.c:4097
+#, c-format
+msgid "cannot commit subtransactions during a parallel operation"
+msgstr "non è possibile effettuare il commit di una sub-transazione durante un'operazione parallela"
+
+#: access/transam/xact.c:4702
 #, c-format
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "non è possibile avere più di 2^32-1 comandi in una sottotransazione"
 
-#: access/transam/xlog.c:2416
+#: access/transam/xlog.c:2245
 #, c-format
 msgid "could not seek in log file %s to offset %u: %m"
 msgstr "spostamento nel file di log %s alla posizione %u fallito: %m"
 
-#: access/transam/xlog.c:2436
+#: access/transam/xlog.c:2265
 #, c-format
 msgid "could not write to log file %s at offset %u, length %zu: %m"
 msgstr "scrittura nel file di log %s in posizione %u, lunghezza %zu fallita: %m"
 
-#: access/transam/xlog.c:2712
+#: access/transam/xlog.c:2528
 #, c-format
 msgid "updated min recovery point to %X/%X on timeline %u"
 msgstr "punto di recupero minimo aggiornato a %X/%X sulla timeline %u"
 
-#: access/transam/xlog.c:3292
+#: access/transam/xlog.c:3123
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "il file \"%s\" non contiene abbastanza dati"
 
-#: access/transam/xlog.c:3411
+#: access/transam/xlog.c:3242
 #, c-format
 msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m"
 msgstr "collegamento del file \"%s\" a \"%s\" (inizializzazione del file di log) fallito: %m"
 
-#: access/transam/xlog.c:3423
+#: access/transam/xlog.c:3254
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m"
 msgstr "non è stato possibile rinominare il file \"%s\" in \"%s\" (inizializzazione del file di log): %m"
 
-#: access/transam/xlog.c:3451
+#: access/transam/xlog.c:3282
 #, c-format
 msgid "could not open transaction log file \"%s\": %m"
 msgstr "apertura del file di log delle transazioni \"%s\" fallita: %m"
 
-#: access/transam/xlog.c:3640
+#: access/transam/xlog.c:3471 access/transam/xlog.c:5244
 #, c-format
 msgid "could not close log file %s: %m"
 msgstr "chiusura del file di log %s fallita: %m"
 
-#: access/transam/xlog.c:3699 replication/logical/logicalfuncs.c:147
-#: replication/walsender.c:2089
+#: access/transam/xlog.c:3528 replication/logical/logicalfuncs.c:149
+#: replication/walsender.c:2075
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "il segmento WAL richiesto %s è stato già rimosso"
 
 # da non tradursi
 # DV: perché? (trovato tradotto, tra l'altro)
-#: access/transam/xlog.c:3777 access/transam/xlog.c:3954
+#: access/transam/xlog.c:3588 access/transam/xlog.c:3663
+#: access/transam/xlog.c:3861
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "apertura della directory dei log delle transazioni \"%s\" fallita: %m"
 
-#: access/transam/xlog.c:3825
+#: access/transam/xlog.c:3744
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "il file di log delle transazioni \"%s\" è stato riciclato"
 
-#: access/transam/xlog.c:3841
+#: access/transam/xlog.c:3756
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "eliminazione del file di log delle transazioni \"%s\""
 
-#: access/transam/xlog.c:3864
+#: access/transam/xlog.c:3776
 #, c-format
 msgid "could not rename old transaction log file \"%s\": %m"
 msgstr "non è stato possibile rinominare il vecchio file di log delle transazioni \"%s\": %m"
 
-#: access/transam/xlog.c:3876
+#: access/transam/xlog.c:3788
 #, c-format
 msgid "could not remove old transaction log file \"%s\": %m"
 msgstr "chiusura del vecchio file di log delle transazioni \"%s\" fallita: %m"
 
-#: access/transam/xlog.c:3914 access/transam/xlog.c:3924
+#: access/transam/xlog.c:3821 access/transam/xlog.c:3831
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "la directory dei file WAL \"%s\" necessaria non esiste"
 
-#: access/transam/xlog.c:3930
+#: access/transam/xlog.c:3837
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "creazione della directory dei file WAL mancante \"%s\""
 
-#: access/transam/xlog.c:3933
+#: access/transam/xlog.c:3840
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "creazione della directory mancante \"%s\" fallita: %m"
 
-#: access/transam/xlog.c:3967
+#: access/transam/xlog.c:3871
 #, c-format
 msgid "removing transaction log backup history file \"%s\""
 msgstr "rimozione del file storico di backup del log delle transazioni \"%s\""
 
-#: access/transam/xlog.c:4159
+#: access/transam/xlog.c:3952
 #, c-format
 msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgstr "ID di timeline %u inatteso nel segmento di log %s, offset %u"
 
-#: access/transam/xlog.c:4281
+#: access/transam/xlog.c:4074
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr "la nuova timeline %u non è figlia della timeline %u del database"
 
-#: access/transam/xlog.c:4295
+#: access/transam/xlog.c:4088
 #, c-format
 msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
 msgstr "la nuova timeline %u si è staccata dalla timeline attuale %u prima del punto di recupero corrente %X/%X"
 
-#: access/transam/xlog.c:4314
+#: access/transam/xlog.c:4107
 #, c-format
 msgid "new target timeline is %u"
 msgstr "la nuova timeline di destinazione %u"
 
-#: access/transam/xlog.c:4394
+#: access/transam/xlog.c:4187
 #, c-format
 msgid "could not create control file \"%s\": %m"
 msgstr "creazione del file di controllo \"%s\" fallita: %m"
 
-#: access/transam/xlog.c:4405 access/transam/xlog.c:4641
+#: access/transam/xlog.c:4198 access/transam/xlog.c:4434
 #, c-format
 msgid "could not write to control file: %m"
 msgstr "scrittura nel file di controllo fallita: %m"
 
-#: access/transam/xlog.c:4411 access/transam/xlog.c:4647
+#: access/transam/xlog.c:4204 access/transam/xlog.c:4440
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "fsync del file di controllo fallito: %m"
 
-#: access/transam/xlog.c:4416 access/transam/xlog.c:4652
+#: access/transam/xlog.c:4209 access/transam/xlog.c:4445
 #, c-format
 msgid "could not close control file: %m"
 msgstr "chiusura del file di controllo fallita: %m"
 
-#: access/transam/xlog.c:4434 access/transam/xlog.c:4630
+#: access/transam/xlog.c:4227 access/transam/xlog.c:4423
 #, c-format
 msgid "could not open control file \"%s\": %m"
 msgstr "apertura del file di controllo \"%s\" fallita: %m"
 
-#: access/transam/xlog.c:4440
+#: access/transam/xlog.c:4233
 #, c-format
 msgid "could not read from control file: %m"
 msgstr "lettura dal file di controllo fallita: %m"
 
-#: access/transam/xlog.c:4453 access/transam/xlog.c:4462
-#: access/transam/xlog.c:4486 access/transam/xlog.c:4493
-#: access/transam/xlog.c:4500 access/transam/xlog.c:4505
-#: access/transam/xlog.c:4512 access/transam/xlog.c:4519
-#: access/transam/xlog.c:4526 access/transam/xlog.c:4533
-#: access/transam/xlog.c:4540 access/transam/xlog.c:4547
-#: access/transam/xlog.c:4554 access/transam/xlog.c:4563
-#: access/transam/xlog.c:4570 access/transam/xlog.c:4579
-#: access/transam/xlog.c:4586 access/transam/xlog.c:4595
-#: access/transam/xlog.c:4602 utils/init/miscinit.c:1139
+#: access/transam/xlog.c:4246 access/transam/xlog.c:4255
+#: access/transam/xlog.c:4279 access/transam/xlog.c:4286
+#: access/transam/xlog.c:4293 access/transam/xlog.c:4298
+#: access/transam/xlog.c:4305 access/transam/xlog.c:4312
+#: access/transam/xlog.c:4319 access/transam/xlog.c:4326
+#: access/transam/xlog.c:4333 access/transam/xlog.c:4340
+#: access/transam/xlog.c:4347 access/transam/xlog.c:4356
+#: access/transam/xlog.c:4363 access/transam/xlog.c:4372
+#: access/transam/xlog.c:4379 access/transam/xlog.c:4388
+#: access/transam/xlog.c:4395 utils/init/miscinit.c:1261
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "i file del database sono incompatibili col server"
 
-#: access/transam/xlog.c:4454
+#: access/transam/xlog.c:4247
 #, 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 "Il cluster di database è stato inizializzato con PG_CONTROL_VERSION %d (0x%08x), ma il server è stato compilato con PG_CONTROL_VERSION %d (0x%08x)."
 
-#: access/transam/xlog.c:4458
+#: access/transam/xlog.c:4251
 #, c-format
 msgid "This could be a problem of mismatched byte ordering.  It looks like you need to initdb."
 msgstr "Questo potrebbe essere un problema di ordinamento di byte che non combacia. Sembra sia necessario eseguire initdb."
 
-#: access/transam/xlog.c:4463
+#: access/transam/xlog.c:4256
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d."
 msgstr "Il cluster di database è stato inizializzato con PG_CONTROL_VERSION %d, ma il server è stato compilato con PG_CONTROL_VERSION %d."
 
-#: access/transam/xlog.c:4466 access/transam/xlog.c:4490
-#: access/transam/xlog.c:4497 access/transam/xlog.c:4502
+#: access/transam/xlog.c:4259 access/transam/xlog.c:4283
+#: access/transam/xlog.c:4290 access/transam/xlog.c:4295
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Sembra sia necessario eseguire initdb."
 
-#: access/transam/xlog.c:4477
+#: access/transam/xlog.c:4270
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "il checksum nel file di controllo non è corretto"
 
-#: access/transam/xlog.c:4487
+#: access/transam/xlog.c:4280
 #, c-format
 msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d."
 msgstr "Il cluster di database è stato inizializzato con CATALOG_VERSION_NO %d, ma il server è stato compilato con CATALOG_VERSION_NO %d."
 
-#: access/transam/xlog.c:4494
+#: access/transam/xlog.c:4287
 #, c-format
 msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d."
 msgstr "Il cluster di database è stato inizializzato con MAXALIGN %d, ma il server è stato compilato con MAXALIGN %d."
 
-#: access/transam/xlog.c:4501
+#: access/transam/xlog.c:4294
 #, c-format
 msgid "The database cluster appears to use a different floating-point number format than the server executable."
 msgstr "Il cluster di database sta usando un formato per i numeri in virgola mobile diverso da quello usato dall'eseguibile del server."
 
-#: access/transam/xlog.c:4506
+#: access/transam/xlog.c:4299
 #, c-format
 msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d."
 msgstr "Il cluster di database è stato inizializzato con BLCKSZ %d, ma il server è stato compilato con BLCKSZ %d."
 
-#: access/transam/xlog.c:4509 access/transam/xlog.c:4516
-#: access/transam/xlog.c:4523 access/transam/xlog.c:4530
-#: access/transam/xlog.c:4537 access/transam/xlog.c:4544
-#: access/transam/xlog.c:4551 access/transam/xlog.c:4558
-#: access/transam/xlog.c:4566 access/transam/xlog.c:4573
-#: access/transam/xlog.c:4582 access/transam/xlog.c:4589
-#: access/transam/xlog.c:4598 access/transam/xlog.c:4605
+#: access/transam/xlog.c:4302 access/transam/xlog.c:4309
+#: access/transam/xlog.c:4316 access/transam/xlog.c:4323
+#: access/transam/xlog.c:4330 access/transam/xlog.c:4337
+#: access/transam/xlog.c:4344 access/transam/xlog.c:4351
+#: access/transam/xlog.c:4359 access/transam/xlog.c:4366
+#: access/transam/xlog.c:4375 access/transam/xlog.c:4382
+#: access/transam/xlog.c:4391 access/transam/xlog.c:4398
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Si consiglia di ricompilare il sistema o di eseguire initdb."
 
-#: access/transam/xlog.c:4513
+#: access/transam/xlog.c:4306
 #, c-format
 msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d."
 msgstr "Il cluster di database è stato inizializzato con RELSEG_SIZE %d, ma il server è stato compilato con RELSEG_SIZE %d."
 
-#: access/transam/xlog.c:4520
+#: access/transam/xlog.c:4313
 #, c-format
 msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d."
 msgstr "Il cluster di database è stato inizializzato con XLOG_BLOCKSZ %d, ma il server è stato compilato con XLOG_BLOCKSZ %d."
 
-#: access/transam/xlog.c:4527
+#: access/transam/xlog.c:4320
 #, c-format
 msgid "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server was compiled with XLOG_SEG_SIZE %d."
 msgstr "Il cluster di database è stato inizializzato con XLOG_SEG_SIZE %d, ma il server è stato compilato con XLOG_SEG_SIZE %d."
 
-#: access/transam/xlog.c:4534
+#: access/transam/xlog.c:4327
 #, c-format
 msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d."
 msgstr "Il cluster di database è stato inizializzato con NAMEDATALEN %d, ma il server è stato compilato con NAMEDATALEN %d."
 
-#: access/transam/xlog.c:4541
+#: access/transam/xlog.c:4334
 #, c-format
 msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d."
 msgstr "Il cluster di database è stato inizializzato con INDEX_MAX_KEYS %d, ma il server è stato compilato con INDEX_MAX_KEYS %d."
 
-#: access/transam/xlog.c:4548
+#: access/transam/xlog.c:4341
 #, 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 "Il cluster di database è stato inizializzato con TOAST_MAX_CHUNK_SIZE %d, ma il server è stato compilato con TOAST_MAX_CHUNK_SIZE %d."
 
-#: access/transam/xlog.c:4555
+#: access/transam/xlog.c:4348
 #, c-format
 msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d."
 msgstr "Il cluster di database è stato inizializzato con LOBLKSIZE %d, ma il server è stato compilato con LOBLKSIZE %d."
 
-#: access/transam/xlog.c:4564
+#: access/transam/xlog.c:4357
 #, c-format
 msgid "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the server was compiled with HAVE_INT64_TIMESTAMP."
 msgstr "Il cluster di database è stato inizializzato senza HAVE_INT64_TIMESTAMP ma il server è stato compilato con HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:4571
+#: access/transam/xlog.c:4364
 #, c-format
 msgid "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the server was compiled without HAVE_INT64_TIMESTAMP."
 msgstr "Il cluster di database è stato inizializzato con HAVE_INT64_TIMESTAMP ma il server è stato compilato senza HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:4580
+#: access/transam/xlog.c:4373
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT4_BYVAL but the server was compiled with USE_FLOAT4_BYVAL."
 msgstr "Il cluster di database è stato inizializzato senza USE_FLOAT4_BYVAL, ma il server è stato compilato con USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4587
+#: access/transam/xlog.c:4380
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT4_BYVAL but the server was compiled without USE_FLOAT4_BYVAL."
 msgstr "Il cluster di database è stato inizializzato con USE_FLOAT4_BYVAL, ma il server è stato compilato senza USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4596
+#: access/transam/xlog.c:4389
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL."
 msgstr "Il cluster di database è stato inizializzato senza USE_FLOAT8_BYVAL, ma il server è stato compilato con USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4603
+#: access/transam/xlog.c:4396
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL."
 msgstr "Il cluster di database è stato inizializzato con USE_FLOAT8_BYVAL, ma il server è stato compilato senza USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:5004
+#: access/transam/xlog.c:4822
 #, c-format
 msgid "could not write bootstrap transaction log file: %m"
 msgstr "scrittura nel file di log della transazione di bootstrap fallita: %m"
 
-#: access/transam/xlog.c:5010
+#: access/transam/xlog.c:4828
 #, c-format
 msgid "could not fsync bootstrap transaction log file: %m"
 msgstr "fsync del file di log della transazione di bootstrap fallito: %m"
 
-#: access/transam/xlog.c:5015
+#: access/transam/xlog.c:4833
 #, c-format
 msgid "could not close bootstrap transaction log file: %m"
 msgstr "chiusura del file di log della transazione di bootstrap fallita: %m"
 
-#: access/transam/xlog.c:5086
+#: access/transam/xlog.c:4908
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "apertura del file di ripristino \"%s\" fallita: %m"
 
-#: access/transam/xlog.c:5126 access/transam/xlog.c:5217
-#: access/transam/xlog.c:5228 commands/extension.c:527
-#: commands/extension.c:535 utils/misc/guc.c:5369
+#: access/transam/xlog.c:4954
 #, c-format
-msgid "parameter \"%s\" requires a Boolean value"
-msgstr "il parametro \"%s\" richiede un valore booleano"
+msgid "invalid value for recovery parameter \"%s\""
+msgstr "valore non valido per il parametro di ripristino \"%s\""
+
+#: access/transam/xlog.c:4956
+#, c-format
+msgid "The allowed values are \"pause\", \"promote\" and \"shutdown\"."
+msgstr "I valori ammessi sono \"pause\", \"promote\" e \"shutdown\"."
 
 # da non tradurre
 # DV: perché (già tradotto peraltro)
-#: access/transam/xlog.c:5142
+#: access/transam/xlog.c:4975
 #, c-format
 msgid "recovery_target_timeline is not a valid number: \"%s\""
 msgstr "recovery_target_timeline non ha un valore numerico valido: \"%s\""
 
-#: access/transam/xlog.c:5158
+#: access/transam/xlog.c:4991
 #, c-format
 msgid "recovery_target_xid is not a valid number: \"%s\""
 msgstr "recovery_target_xid non ha un valore numerico valido: \"%s\""
 
-#: access/transam/xlog.c:5189
+#: access/transam/xlog.c:5022
 #, c-format
 msgid "recovery_target_name is too long (maximum %d characters)"
 msgstr "il recovery_target_name è troppo lungo (massimo %d caratteri)"
 
-#: access/transam/xlog.c:5203
+#: access/transam/xlog.c:5036
 #, c-format
 msgid "invalid value for recovery parameter \"recovery_target\""
 msgstr "valore per il parametro \"recovery_target\" non valido"
 
-#: access/transam/xlog.c:5204
+#: access/transam/xlog.c:5037
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "Il solo valore permesso è \"immediate\"."
 
-#: access/transam/xlog.c:5263
+#: access/transam/xlog.c:5050 access/transam/xlog.c:5061
+#: commands/extension.c:531 commands/extension.c:539 utils/misc/guc.c:5473
+#, c-format
+msgid "parameter \"%s\" requires a Boolean value"
+msgstr "il parametro \"%s\" richiede un valore booleano"
+
+#: access/transam/xlog.c:5096
 #, c-format
 msgid "parameter \"%s\" requires a temporal value"
 msgstr "il parametro \"%s\" richiede un valore temporale"
 
-#: access/transam/xlog.c:5265 catalog/dependency.c:970
-#: catalog/dependency.c:971 catalog/dependency.c:977 catalog/dependency.c:978
-#: catalog/dependency.c:989 catalog/dependency.c:990
-#: catalog/objectaddress.c:764 commands/tablecmds.c:763
-#: commands/tablecmds.c:8949 commands/user.c:988 commands/view.c:475
+#: access/transam/xlog.c:5098 catalog/dependency.c:983
+#: catalog/dependency.c:984 catalog/dependency.c:990 catalog/dependency.c:991
+#: catalog/dependency.c:1002 catalog/dependency.c:1003
+#: catalog/objectaddress.c:1053 commands/tablecmds.c:787
+#: commands/tablecmds.c:9328 commands/user.c:1034 commands/view.c:482
 #: libpq/auth.c:285 port/win32/security.c:51 storage/lmgr/deadlock.c:955
-#: storage/lmgr/proc.c:1184 utils/misc/guc.c:5401 utils/misc/guc.c:5526
-#: utils/misc/guc.c:8867 utils/misc/guc.c:8901 utils/misc/guc.c:8935
-#: utils/misc/guc.c:8969 utils/misc/guc.c:9004
+#: storage/lmgr/proc.c:1176 utils/misc/guc.c:5495 utils/misc/guc.c:5588
+#: utils/misc/guc.c:9498 utils/misc/guc.c:9532 utils/misc/guc.c:9566
+#: utils/misc/guc.c:9600 utils/misc/guc.c:9635
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: access/transam/xlog.c:5271
+#: access/transam/xlog.c:5104
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "parametro di ripristino \"%s\" sconosciuto"
 
-#: access/transam/xlog.c:5282
+#: access/transam/xlog.c:5115
 #, c-format
 msgid "recovery command file \"%s\" specified neither primary_conninfo nor restore_command"
 msgstr "il file dei comandi di ripristino \"%s\" non specifica né primary_conninfo né restore_command"
 
-#: access/transam/xlog.c:5284
+#: access/transam/xlog.c:5117
 #, c-format
 msgid "The database server will regularly poll the pg_xlog subdirectory to check for files placed there."
 msgstr "Il server database ispezionerà regolarmente la sottodirectory pg_xlog per controllare se vi vengono aggiunti dei file."
 
-#: access/transam/xlog.c:5290
+#: access/transam/xlog.c:5123
 #, c-format
 msgid "recovery command file \"%s\" must specify restore_command when standby mode is not enabled"
 msgstr "il file dei comandi di ripristino \"%s\" deve specificare restore_command quando la modalità standby non è abilitata"
 
-#: access/transam/xlog.c:5310
+#: access/transam/xlog.c:5153
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "la timeline destinazione di recupero %u non esiste"
 
-#: access/transam/xlog.c:5407
+#: access/transam/xlog.c:5278
 #, c-format
 msgid "archive recovery complete"
 msgstr "il ripristino dell'archivio è stato completato"
 
-#: access/transam/xlog.c:5477 access/transam/xlog.c:5671
+#: access/transam/xlog.c:5337 access/transam/xlog.c:5565
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr "il ripristino è stato interrotto dopo aver raggiunto la consistenza"
 
-#: access/transam/xlog.c:5552
+#: access/transam/xlog.c:5425
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "il ripristino è stato interrotto prima del commit della transazione %u, orario %s"
 
-#: access/transam/xlog.c:5559
+#: access/transam/xlog.c:5432
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "il ripristino è stato interrotto prima dell'abort della transazione %u alle %s"
 
-#: access/transam/xlog.c:5601
+#: access/transam/xlog.c:5477
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "il ripristino è stato interrotto al punto di ripristino \"%s\" alle %s"
 
-#: access/transam/xlog.c:5651
+#: access/transam/xlog.c:5545
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "il ripristino è stato interrotto dopo il commit della transazione %u alle %s"
 
-#: access/transam/xlog.c:5659
+#: access/transam/xlog.c:5553
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "il ripristino è stato interrotto dopo l'abort della transazione %u alle %s"
 
-#: access/transam/xlog.c:5698
+#: access/transam/xlog.c:5592
 #, c-format
 msgid "recovery has paused"
 msgstr "ripristino in pausa"
 
-#: access/transam/xlog.c:5699
+#: access/transam/xlog.c:5593
 #, c-format
 msgid "Execute pg_xlog_replay_resume() to continue."
 msgstr "Esegui pg_xlog_replay_resume() per continuare."
 
-#: access/transam/xlog.c:5914
+#: access/transam/xlog.c:5796
 #, 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 "L'hot standby non è possibile perché %s = %d è un'impostazione inferiore a quella del server master (il cui valore era %d)"
 
-#: access/transam/xlog.c:5936
+#: access/transam/xlog.c:5811
+#, c-format
+msgid "hot standby is not possible because it requires \"%s\" to be same on master and standby (master has \"%s\", standby has \"%s\")"
+msgstr "l'hot standby non è possibile perché richiede che \"%s\" sia lo stesso sia sul master che sullo standby (master ha \"%s\", standby ha \"%s\")"
+
+#: access/transam/xlog.c:5831
 #, c-format
 msgid "WAL was generated with wal_level=minimal, data may be missing"
 msgstr "il WAL è stato generato con wal_level=minimal, alcuni dati potrebbero mancare"
 
-#: access/transam/xlog.c:5937
+#: access/transam/xlog.c:5832
 #, c-format
 msgid "This happens if you temporarily set wal_level=minimal without taking a new base backup."
 msgstr "Questo avviene se imposti temporaneamente wal_level=minimal senza effettuare un nuovo backup di base."
 
-#: access/transam/xlog.c:5948
+#: access/transam/xlog.c:5843
 #, c-format
 msgid "hot standby is not possible because wal_level was not set to \"hot_standby\" or higher on the master server"
 msgstr "l'hot standby non è possibile perché il wal_level non è stato impostato a \"hot_standby\" o superiore sul server master"
 
-#: access/transam/xlog.c:5949
+#: access/transam/xlog.c:5844
 #, c-format
 msgid "Either set wal_level to \"hot_standby\" on the master, or turn off hot_standby here."
 msgstr "Puoi impostare il wal_level a \"hot_standby\" sul master, oppure disattivare hot_standby qui."
 
-#: access/transam/xlog.c:6004
+#: access/transam/xlog.c:5903
 #, c-format
 msgid "control file contains invalid data"
 msgstr "il file di controllo contiene dati non validi"
 
-#: access/transam/xlog.c:6010
+#: access/transam/xlog.c:5909
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "il database è stato arrestato alle %s"
 
-#: access/transam/xlog.c:6015
+#: access/transam/xlog.c:5914
 #, c-format
 msgid "database system was shut down in recovery at %s"
 msgstr "il database è stato arrestato durante il ripristino alle %s"
 
-#: access/transam/xlog.c:6019
+#: access/transam/xlog.c:5918
 #, c-format
 msgid "database system shutdown was interrupted; last known up at %s"
 msgstr "l'arresto del database è stato interrotto; l'ultimo segno di vita risale alle %s"
 
-#: access/transam/xlog.c:6023
+#: access/transam/xlog.c:5922
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "il database è stato interrotto alle %s mentre era in fase di ripristino"
 
-#: access/transam/xlog.c:6025
+#: access/transam/xlog.c:5924
 #, c-format
 msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery."
 msgstr "Questo probabilmente significa che alcuni dati sono corrotti e dovrai usare il backup più recente per il ripristino."
 
-#: access/transam/xlog.c:6029
+#: access/transam/xlog.c:5928
 #, c-format
 msgid "database system was interrupted while in recovery at log time %s"
 msgstr "il database è stato interrotto all'orario di log %s mentre era in fase di ripristino"
 
-#: access/transam/xlog.c:6031
+#: access/transam/xlog.c:5930
 #, c-format
 msgid "If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target."
 msgstr "Se ciò è avvenuto più di una volta, alcuni dati potrebbero essere corrotti e potresti dover scegliere un obiettivo di ripristino precedente."
 
-#: access/transam/xlog.c:6035
+#: access/transam/xlog.c:5934
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "il database è stato interrotto; l'ultimo segno di vita risale alle %s"
 
-#: access/transam/xlog.c:6089
+#: access/transam/xlog.c:5990
 #, c-format
 msgid "entering standby mode"
 msgstr "inizio modalità standby"
 
-#: access/transam/xlog.c:6092
+#: access/transam/xlog.c:5993
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "avvio del ripristino point-in-time allo XID %u"
 
-#: access/transam/xlog.c:6096
+#: access/transam/xlog.c:5997
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "avvio del ripristino point-in-time alle %s"
 
-#: access/transam/xlog.c:6100
+#: access/transam/xlog.c:6001
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "avvio del ripristino point-in-time a \"%s\""
 
-#: access/transam/xlog.c:6104
+#: access/transam/xlog.c:6005
 #, c-format
 msgid "starting point-in-time recovery to earliest consistent point"
 msgstr "avvio del ripristino point-in-time al precedente punto consistente"
 
-#: access/transam/xlog.c:6107
+#: access/transam/xlog.c:6008
 #, c-format
 msgid "starting archive recovery"
 msgstr "avvio del ripristino dell'archivio"
 
-#: access/transam/xlog.c:6124
+#: access/transam/xlog.c:6025
 #, c-format
 msgid "Failed while allocating an XLog reading processor."
 msgstr "Errore nell'alllocazione di un processore di lettura XLog."
 
-#: access/transam/xlog.c:6149 access/transam/xlog.c:6216
+#: access/transam/xlog.c:6052 access/transam/xlog.c:6153
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "il record di checkpoint si trova in %X/%X"
 
-#: access/transam/xlog.c:6163
+#: access/transam/xlog.c:6066
 #, c-format
 msgid "could not find redo location referenced by checkpoint record"
 msgstr "localizzazione della posizione di redo referenziata dal record di checkpoint fallita"
 
-#: access/transam/xlog.c:6164 access/transam/xlog.c:6171
+#: access/transam/xlog.c:6067 access/transam/xlog.c:6074
 #, c-format
 msgid "If you are not restoring from a backup, try removing the file \"%s/backup_label\"."
 msgstr "Se non si sta effettuando il ripristino da backup, prova a rimuovere il file \"%s/backup_label\"."
 
-#: access/transam/xlog.c:6170
+#: access/transam/xlog.c:6073
 #, c-format
 msgid "could not locate required checkpoint record"
 msgstr "localizzazione del record di checkpoint richiesto fallita"
 
-#: access/transam/xlog.c:6226 access/transam/xlog.c:6241
+#: access/transam/xlog.c:6099 commands/tablespace.c:640
+#, c-format
+msgid "could not create symbolic link \"%s\": %m"
+msgstr "creazione del link simbolico \"%s\" fallita: %m"
+
+#: access/transam/xlog.c:6163 access/transam/xlog.c:6178
 #, c-format
 msgid "could not locate a valid checkpoint record"
 msgstr "localizzazione di un record di checkpoint valido fallita"
 
-#: access/transam/xlog.c:6235
+#: access/transam/xlog.c:6172
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr "si sta usando il precedente record di checkpoint in %X/%X"
 
-#: access/transam/xlog.c:6265
+#: access/transam/xlog.c:6216
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "la timeline richiesta %u non è figlia della storia di questo server"
 
-#: access/transam/xlog.c:6267
+#: access/transam/xlog.c:6218
 #, c-format
 msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
 msgstr "L'ultimo checkpoint è a %X/%X sulla timeline %u, ma nella storia della timeline richiesta, il server si è separato da quella timeline a %X/%X."
 
-#: access/transam/xlog.c:6283
+#: access/transam/xlog.c:6234
 #, c-format
 msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
 msgstr "la timeline richiesta %u non contiene il punto di recupero minimo %X/%X sulla timeline %u"
 
-#: access/transam/xlog.c:6292
+#: access/transam/xlog.c:6243
 #, c-format
 msgid "redo record is at %X/%X; shutdown %s"
 msgstr "il record di redo è alle %X/%X; arresto %s"
 
-#: access/transam/xlog.c:6296
+#: access/transam/xlog.c:6247
 #, c-format
 msgid "next transaction ID: %u/%u; next OID: %u"
 msgstr "prossimo ID di transazione: %u/%u; prossimo OID: %u"
 
-#: access/transam/xlog.c:6300
+#: access/transam/xlog.c:6251
 #, c-format
 msgid "next MultiXactId: %u; next MultiXactOffset: %u"
 msgstr "prossimo MultiXactId: %u; prossimo MultiXactOffset: %u"
 
-#: access/transam/xlog.c:6303
+#: access/transam/xlog.c:6254
 #, c-format
 msgid "oldest unfrozen transaction ID: %u, in database %u"
 msgstr "ID della più vecchia transazione non congelata: %u, nel database %u"
 
-#: access/transam/xlog.c:6306
+#: access/transam/xlog.c:6257
 #, c-format
 msgid "oldest MultiXactId: %u, in database %u"
 msgstr "il MultiXactId più vecchio: %u, nel database %u"
 
-#: access/transam/xlog.c:6310
+#: access/transam/xlog.c:6260
+#, c-format
+msgid "commit timestamp Xid oldest/newest: %u/%u"
+msgstr "ora di commit degli Xid più vecchio/più nuovo: %u/%u"
+
+#: access/transam/xlog.c:6265
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "l'ID della prossima transazione non è valido"
 
-#: access/transam/xlog.c:6380
+#: access/transam/xlog.c:6343
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "il redo nel record di checkpoint non è valido"
 
-#: access/transam/xlog.c:6391
+#: access/transam/xlog.c:6354
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "record di redo non valido nel checkpoint di arresto"
 
-#: access/transam/xlog.c:6422
+#: access/transam/xlog.c:6382
 #, c-format
 msgid "database system was not properly shut down; automatic recovery in progress"
 msgstr "il database non è stato arrestato correttamente; ripristino automatico in corso"
 
-#: access/transam/xlog.c:6426
+#: access/transam/xlog.c:6386
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr "il recupero dal crash comincia nella timeline %u e si conclude nella timeline %u"
 
-#: access/transam/xlog.c:6463
+#: access/transam/xlog.c:6430
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label contiene dati non consistenti col file di controllo"
 
-#: access/transam/xlog.c:6464
+#: access/transam/xlog.c:6431
 #, c-format
 msgid "This means that the backup is corrupted and you will have to use another backup for recovery."
 msgstr "Questo vuol dire che il backup è corrotto e sarà necessario usare un altro backup per il ripristino."
 
-#: access/transam/xlog.c:6529
+#: access/transam/xlog.c:6513
 #, c-format
 msgid "initializing for hot standby"
 msgstr "inizializzazione per l'hot standby"
 
-#: access/transam/xlog.c:6661
+#: access/transam/xlog.c:6646
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "il redo inizia in %X/%X"
 
-#: access/transam/xlog.c:6876
+#: access/transam/xlog.c:6860
+#, c-format
+msgid "requested recovery stop point is before consistent recovery point"
+msgstr "lo stop point di ripristino è posto prima di un punto di ripristino consistente"
+
+#: access/transam/xlog.c:6898
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "redo concluso in %X/%X"
 
-#: access/transam/xlog.c:6881 access/transam/xlog.c:8735
+#: access/transam/xlog.c:6903 access/transam/xlog.c:8864
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "l'ultima transazione è stata completata all'orario di log %s"
 
-#: access/transam/xlog.c:6889
+#: access/transam/xlog.c:6912
 #, c-format
 msgid "redo is not required"
 msgstr "redo non richiesto"
 
-#: access/transam/xlog.c:6947
-#, c-format
-msgid "requested recovery stop point is before consistent recovery point"
-msgstr "lo stop point di ripristino è posto prima di un punto di ripristino consistente"
-
-#: access/transam/xlog.c:6963 access/transam/xlog.c:6967
+#: access/transam/xlog.c:6987 access/transam/xlog.c:6991
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "il WAL termina prima della fine del backup online"
 
-#: access/transam/xlog.c:6964
+#: access/transam/xlog.c:6988
 #, c-format
 msgid "All WAL generated while online backup was taken must be available at recovery."
 msgstr "Tutti i file WAL generati mentre il backup online veniva effettuato devono essere disponibili al momento del ripristino."
 
-#: access/transam/xlog.c:6968
+#: access/transam/xlog.c:6992
 #, c-format
 msgid "Online backup started with pg_start_backup() must be ended with pg_stop_backup(), and all WAL up to that point must be available at recovery."
 msgstr "Un backup online iniziato con pg_start_backup() deve essere terminato con pg_stop_backup(), e tutti i file WAL fino a quel punto devono essere disponibili per il ripristino."
 
-#: access/transam/xlog.c:6971
+#: access/transam/xlog.c:6995
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "il WAL termina prima di un punto di ripristino consistente"
 
-#: access/transam/xlog.c:6998
+#: access/transam/xlog.c:7022
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "l'ID della nuova timeline selezionata è %u"
 
-#: access/transam/xlog.c:7339
+#: access/transam/xlog.c:7438
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "è stato raggiunto uno stato di ripristino consistente a %X/%X"
 
-#: access/transam/xlog.c:7536
+#: access/transam/xlog.c:7629
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "il link nel file di controllo al checkpoint primario non è valido"
 
-#: access/transam/xlog.c:7540
+#: access/transam/xlog.c:7633
 #, c-format
 msgid "invalid secondary checkpoint link in control file"
 msgstr "il link nel file di controllo al checkpoint secondario non è valido"
 
-#: access/transam/xlog.c:7544
+#: access/transam/xlog.c:7637
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "il link al checkpoint nel file backup_label non è valido"
 
-#: access/transam/xlog.c:7561
+#: access/transam/xlog.c:7654
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "il record del checkpoint primario non è valido"
 
-#: access/transam/xlog.c:7565
+#: access/transam/xlog.c:7658
 #, c-format
 msgid "invalid secondary checkpoint record"
 msgstr "il record del checkpoint secondario non è valido"
 
-#: access/transam/xlog.c:7569
+#: access/transam/xlog.c:7662
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "il record del checkpoint non è valido"
 
-#: access/transam/xlog.c:7580
+#: access/transam/xlog.c:7673
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "l'ID del resource manager nel record del checkpoint primario non è valido"
 
-#: access/transam/xlog.c:7584
+#: access/transam/xlog.c:7677
 #, c-format
 msgid "invalid resource manager ID in secondary checkpoint record"
 msgstr "l'ID del resource manager nel record del checkpoint secondario non è valido"
 
-#: access/transam/xlog.c:7588
+#: access/transam/xlog.c:7681
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "l'ID del resource manager nel record del checkpoint non è valido"
 
-#: access/transam/xlog.c:7600
+#: access/transam/xlog.c:7693
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "l'xl_info nel record del checkpoint primario non è valido"
 
-#: access/transam/xlog.c:7604
+#: access/transam/xlog.c:7697
 #, c-format
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr "l'xl_info nel record del checkpoint secondario non è valido"
 
-#: access/transam/xlog.c:7608
+#: access/transam/xlog.c:7701
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "l'xl_info nel record del checkpoint non è valido"
 
-#: access/transam/xlog.c:7620
+#: access/transam/xlog.c:7712
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "la lunghezza del record del checkpoint primario non è valida"
 
-#: access/transam/xlog.c:7624
+#: access/transam/xlog.c:7716
 #, c-format
 msgid "invalid length of secondary checkpoint record"
 msgstr "la lunghezza del record del checkpoint secondario non è valida"
 
-#: access/transam/xlog.c:7628
+#: access/transam/xlog.c:7720
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "la lunghezza del record del checkpoint non è valida"
 
-#: access/transam/xlog.c:7788
+#: access/transam/xlog.c:7890
 #, c-format
 msgid "shutting down"
 msgstr "arresto in corso"
 
-#: access/transam/xlog.c:7811
+#: access/transam/xlog.c:7914
 #, c-format
 msgid "database system is shut down"
 msgstr "il database è stato arrestato"
 
-#: access/transam/xlog.c:8277
+#: access/transam/xlog.c:8407
 #, c-format
 msgid "concurrent transaction log activity while database system is shutting down"
 msgstr "rilevata attività concorrente sul log delle transazioni durante l'arresto del database"
 
-#: access/transam/xlog.c:8546
+#: access/transam/xlog.c:8669
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr "si tralascia il restartpoint, il ripristino è ormai terminato"
 
-#: access/transam/xlog.c:8569
+#: access/transam/xlog.c:8692
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr "si tralascia il restartpoint, già eseguito in %X/%X"
 
-#: access/transam/xlog.c:8733
+#: access/transam/xlog.c:8862
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "punto di avvio del ripristino in %X/%X"
 
-#: access/transam/xlog.c:8878
+#: access/transam/xlog.c:8995
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "punto di ripristino \"%s\" creato in %X/%X"
 
-#: access/transam/xlog.c:9102
+#: access/transam/xlog.c:9125
 #, c-format
 msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record"
 msgstr "timeline precedente con ID %u non prevista (l'ID della timeline corrente è %u) nel record di checkpoint"
 
-#: access/transam/xlog.c:9111
+#: access/transam/xlog.c:9134
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "timeline ID %u imprevista (dopo %u) nel record di checkpoint"
 
-#: access/transam/xlog.c:9127
+#: access/transam/xlog.c:9150
 #, c-format
 msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
 msgstr "timeline ID %u imprevista nel record di checkpoint, prima di raggiungere il punto di recupero minimo %X/%X sulla timeline %u"
 
-#: access/transam/xlog.c:9195
+#: access/transam/xlog.c:9220
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr "il backup online è stato annullato, il ripristino non può continuare"
 
-#: access/transam/xlog.c:9256 access/transam/xlog.c:9305
-#: access/transam/xlog.c:9328
+#: access/transam/xlog.c:9276 access/transam/xlog.c:9320
+#: access/transam/xlog.c:9343
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr "l'ID della timeline %u (che dovrebbe essere %u) non era prevista nel record di checkpoint"
 
-#: access/transam/xlog.c:9563
+#: access/transam/xlog.c:9636
 #, c-format
 msgid "could not fsync log segment %s: %m"
 msgstr "fsync del segmento di log %s fallito: %m"
 
-#: access/transam/xlog.c:9587
+#: access/transam/xlog.c:9660
 #, c-format
 msgid "could not fsync log file %s: %m"
 msgstr "fsync del file di log %s fallito: %m"
 
-#: access/transam/xlog.c:9595
+#: access/transam/xlog.c:9668
 #, c-format
 msgid "could not fsync write-through log file %s: %m"
 msgstr "fsync write-through del file di log %s fallito: %m"
 
-#: access/transam/xlog.c:9604
+#: access/transam/xlog.c:9677
 #, c-format
 msgid "could not fdatasync log file %s: %m"
 msgstr "fdatasync del file di log %s fallito: %m"
 
-#: access/transam/xlog.c:9682 access/transam/xlog.c:10018
-#: access/transam/xlogfuncs.c:111 access/transam/xlogfuncs.c:140
-#: access/transam/xlogfuncs.c:179 access/transam/xlogfuncs.c:200
-#: access/transam/xlogfuncs.c:270 access/transam/xlogfuncs.c:326
+#: access/transam/xlog.c:9769 access/transam/xlog.c:10240
+#: access/transam/xlogfuncs.c:121 access/transam/xlogfuncs.c:150
+#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:210
+#: access/transam/xlogfuncs.c:280 access/transam/xlogfuncs.c:336
 #, c-format
 msgid "recovery is in progress"
 msgstr "il ripristino è in corso"
 
-#: access/transam/xlog.c:9683 access/transam/xlog.c:10019
-#: access/transam/xlogfuncs.c:112 access/transam/xlogfuncs.c:141
-#: access/transam/xlogfuncs.c:180 access/transam/xlogfuncs.c:201
+#: access/transam/xlog.c:9770 access/transam/xlog.c:10241
+#: access/transam/xlogfuncs.c:122 access/transam/xlogfuncs.c:151
+#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:211
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "le funzioni di controllo WAL non possono essere eseguite durante il ripristino."
 
-#: access/transam/xlog.c:9692 access/transam/xlog.c:10028
+#: access/transam/xlog.c:9779 access/transam/xlog.c:10250
 #, c-format
 msgid "WAL level not sufficient for making an online backup"
 msgstr "livello WAL non sufficiente per creare un backup online"
 
-#: access/transam/xlog.c:9693 access/transam/xlog.c:10029
-#: access/transam/xlogfuncs.c:147
+#: access/transam/xlog.c:9780 access/transam/xlog.c:10251
+#: access/transam/xlogfuncs.c:157
 #, c-format
 msgid "wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at server start."
 msgstr "Il wal_level deve essere impostato ad \"archive\", \"hot_standby\" oppure \"logical\" all'avvio del server."
 
-#: access/transam/xlog.c:9698
+#: access/transam/xlog.c:9785
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "etichetta di backup troppo lunga (massimo %d byte)"
 
-#: access/transam/xlog.c:9729 access/transam/xlog.c:9906
+#: access/transam/xlog.c:9817 access/transam/xlog.c:10087
+#: access/transam/xlog.c:10123
 #, c-format
 msgid "a backup is already in progress"
 msgstr "c'è già un backup in corso"
 
-#: access/transam/xlog.c:9730
+#: access/transam/xlog.c:9818
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Esegui pg_stop_backup() e prova di nuovo."
 
-#: access/transam/xlog.c:9824
+#: access/transam/xlog.c:9913
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed since last restartpoint"
 msgstr "un WAL generato con full_page_writes=off è stato riprodotto dopo l'ultimo restartpoint"
 
-#: access/transam/xlog.c:9826 access/transam/xlog.c:10179
+#: access/transam/xlog.c:9915 access/transam/xlog.c:10405
 #, c-format
 msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the master, and then try an online backup again."
 msgstr "Ciò vuol dire che il backup che sta venendo preso sullo standby è corrotto e non dovrebbe essere usato. Abilita full_page_writes ed esegui CHECKPOINT sul master, poi prova ad effettuare nuovamente un backup online.\""
 
-#: access/transam/xlog.c:9900 access/transam/xlog.c:10069
-#: access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265
-#: replication/basebackup.c:464 replication/basebackup.c:521
+#: access/transam/xlog.c:9981 replication/basebackup.c:1027
+#: utils/adt/misc.c:378
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "lettura del link simbolico \"%s\" fallita: %m"
+
+#: access/transam/xlog.c:9988 replication/basebackup.c:1032
+#: utils/adt/misc.c:383
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "la destinazione del link simbolico \"%s\" è troppo lunga"
+
+#: access/transam/xlog.c:10041 commands/tablespace.c:389
+#: commands/tablespace.c:552 replication/basebackup.c:1048
+#: utils/adt/misc.c:391
+#, c-format
+msgid "tablespaces are not supported on this platform"
+msgstr "i tablespace non sono supportati su questa piattaforma"
+
+#: access/transam/xlog.c:10081 access/transam/xlog.c:10117
+#: access/transam/xlog.c:10291 access/transam/xlogarchive.c:106
+#: access/transam/xlogarchive.c:265 commands/extension.c:3026
+#: replication/basebackup.c:404 replication/basebackup.c:472
 #: replication/logical/snapbuild.c:1478 storage/file/copydir.c:72
-#: storage/file/copydir.c:115 utils/adt/dbsize.c:68 utils/adt/dbsize.c:218
-#: utils/adt/dbsize.c:298 utils/adt/genfile.c:108 utils/adt/genfile.c:280
-#: guc-file.l:885
+#: storage/file/copydir.c:115 storage/file/fd.c:2519 storage/file/fd.c:2611
+#: utils/adt/dbsize.c:68 utils/adt/dbsize.c:218 utils/adt/dbsize.c:298
+#: utils/adt/genfile.c:114 utils/adt/genfile.c:333 guc-file.l:1003
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "non è stato possibile ottenere informazioni sul file \"%s\": %m"
 
-#: access/transam/xlog.c:9907
+#: access/transam/xlog.c:10088 access/transam/xlog.c:10124
 #, c-format
 msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again."
 msgstr "Se si è certi che non ci sono backup in corso, rimuovi il file \"%s\" e prova di nuovo."
 
-#: access/transam/xlog.c:9924 access/transam/xlog.c:10242
+#: access/transam/xlog.c:10105 access/transam/xlog.c:10141
+#: access/transam/xlog.c:10466
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "scrittura nel file \"%s\" fallita: %m"
 
-#: access/transam/xlog.c:10073
+#: access/transam/xlog.c:10295
 #, c-format
 msgid "a backup is not in progress"
 msgstr "nessuno backup in esecuzione"
 
-#: access/transam/xlog.c:10112 access/transam/xlog.c:10125
-#: access/transam/xlog.c:10476 access/transam/xlog.c:10482
-#: access/transam/xlogfuncs.c:498
+#: access/transam/xlog.c:10340 access/transam/xlog.c:10353
+#: access/transam/xlog.c:10693 access/transam/xlog.c:10699
+#: access/transam/xlog.c:10783 access/transam/xlogfuncs.c:508
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "i dati nel file \"%s\" non sono validi"
 
-#: access/transam/xlog.c:10129 replication/basebackup.c:951
+#: access/transam/xlog.c:10357 replication/basebackup.c:925
 #, c-format
 msgid "the standby was promoted during online backup"
 msgstr "lo standby è stato promosso durante il backup online"
 
-#: access/transam/xlog.c:10130 replication/basebackup.c:952
+#: access/transam/xlog.c:10358 replication/basebackup.c:926
 #, c-format
 msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup."
 msgstr "Ciò vuol dire che il backup che stava venendo salvato è corrotto e non dovrebbe essere usato. Prova ad effettuare un altro backup online."
 
-#: access/transam/xlog.c:10177
+#: access/transam/xlog.c:10403
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed during online backup"
 msgstr "un WAL generato con full_page_writes=off è stato riprodotto durante il backup online"
 
-#: access/transam/xlog.c:10291
+#: access/transam/xlog.c:10515
 #, c-format
 msgid "pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
 msgstr "pulizia di pg_stop_backup effettuata, in attesa che i segmenti WAL richiesti vengano archiviati"
 
-#: access/transam/xlog.c:10301
+#: access/transam/xlog.c:10525
 #, c-format
 msgid "pg_stop_backup still waiting for all required WAL segments to be archived (%d seconds elapsed)"
 msgstr "pg_stop_backup è ancora in attesa che tutti i segmenti WAL richiesti siano stati archiviati (sono passati %d secondi)"
 
-#: access/transam/xlog.c:10303
+#: access/transam/xlog.c:10527
 #, c-format
 msgid "Check that your archive_command is executing properly.  pg_stop_backup can be canceled safely, but the database backup will not be usable without all the WAL segments."
 msgstr "Controlla che il tuo archive_command venga eseguito correttamente. pg_stop_backup può essere interrotto in sicurezza ma il backup del database non sarà utilizzabile senza tutti i segmenti WAL."
 
-#: access/transam/xlog.c:10310
+#: access/transam/xlog.c:10534
 #, c-format
 msgid "pg_stop_backup complete, all required WAL segments have been archived"
 msgstr "pg_stop_backup completo, tutti i segmenti WAL richiesti sono stati archiviati"
 
-#: access/transam/xlog.c:10314
+#: access/transam/xlog.c:10538
 #, c-format
 msgid "WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup"
 msgstr "l'archiviazione WAL non è abilitata; devi verificare che tutti i segmenti WAL richiesti vengano copiati in qualche altro modo per completare il backup"
 
-#: access/transam/xlog.c:10527
+#: access/transam/xlog.c:10822
 #, c-format
 msgid "xlog redo %s"
 msgstr "xlog redo %s"
 
-#: access/transam/xlog.c:10567
+#: access/transam/xlog.c:10867 access/transam/xlog.c:10890
 #, c-format
 msgid "online backup mode canceled"
 msgstr "modalità backup online annullata"
 
-#: access/transam/xlog.c:10568
+#: access/transam/xlog.c:10868 access/transam/xlog.c:10891
 #, c-format
 msgid "\"%s\" was renamed to \"%s\"."
 msgstr "\"%s\" è stato rinominato in \"%s\"."
 
-#: access/transam/xlog.c:10575
+#: access/transam/xlog.c:10875 access/transam/xlog.c:10898
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "la modalità di backup online non è stata annullata"
 
-#: access/transam/xlog.c:10576
+#: access/transam/xlog.c:10876 access/transam/xlog.c:10899
 #, c-format
 msgid "Could not rename \"%s\" to \"%s\": %m."
 msgstr "Non è stato possibile rinominare \"%s\" in \"%s\": %m."
 
-#: access/transam/xlog.c:10696 replication/logical/logicalfuncs.c:169
-#: replication/walreceiver.c:937 replication/walsender.c:2106
+#: access/transam/xlog.c:11019 replication/logical/logicalfuncs.c:171
+#: replication/walreceiver.c:932 replication/walsender.c:2092
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
 msgstr "spostamento nel segmento di log %s alla posizione %u fallito: %m"
 
-#: access/transam/xlog.c:10708
+#: access/transam/xlog.c:11031
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "lettura del segmento di log %s, posizione %u fallita: %m"
 
-#: access/transam/xlog.c:11171
+#: access/transam/xlog.c:11505
 #, c-format
 msgid "received promote request"
 msgstr "richiesta di promozione ricevuta"
 
-#: access/transam/xlog.c:11184
+#: access/transam/xlog.c:11518
 #, c-format
 msgid "trigger file found: %s"
 msgstr "trovato il file trigger: %s"
 
-#: access/transam/xlog.c:11193
+#: access/transam/xlog.c:11527
 #, c-format
 msgid "could not stat trigger file \"%s\": %m"
 msgstr "non è stato possibile ottenere informazioni sul file trigger \"%s\": %m"
@@ -2124,657 +2407,800 @@ msgstr "non è stato possibile ripristinare il file \"%s\" dall'archivio: %s"
 msgid "%s \"%s\": %s"
 msgstr "%s \"%s\": %s"
 
-#: access/transam/xlogarchive.c:525 access/transam/xlogarchive.c:594
+#: access/transam/xlogarchive.c:529 access/transam/xlogarchive.c:598
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "creazione del file di stato dell'archivio \"%s\" fallita: %m"
 
-#: access/transam/xlogarchive.c:533 access/transam/xlogarchive.c:602
+#: access/transam/xlogarchive.c:537 access/transam/xlogarchive.c:606
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "scrittura del file di stato dell'archivio \"%s\" fallita: %m"
 
-#: access/transam/xlogfuncs.c:60 access/transam/xlogfuncs.c:88
+#: access/transam/xlogfuncs.c:61 access/transam/xlogfuncs.c:98
 #, c-format
 msgid "must be superuser or replication role to run a backup"
 msgstr "solo un superutente o il ruolo di replica può eseguire un backup"
 
-#: access/transam/xlogfuncs.c:106
+#: access/transam/xlogfuncs.c:67 commands/tablespace.c:704
+#: commands/tablespace.c:714 postmaster/postmaster.c:1315
+#: replication/basebackup.c:292 replication/basebackup.c:632
+#: storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:1985
+#: storage/file/fd.c:2584 storage/ipc/dsm.c:300 utils/adt/genfile.c:439
+#: utils/adt/misc.c:291 utils/misc/tzparser.c:339
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "apertura della directory \"%s\" fallita: %m"
+
+#: access/transam/xlogfuncs.c:116
 #, c-format
 msgid "must be superuser to switch transaction log files"
 msgstr "solo un superutente può cambiare i file di log delle transazioni"
 
-#: access/transam/xlogfuncs.c:135
+#: access/transam/xlogfuncs.c:145
 #, c-format
 msgid "must be superuser to create a restore point"
 msgstr "Solo un superutente può creare un punto di ripristino"
 
-#: access/transam/xlogfuncs.c:146
+#: access/transam/xlogfuncs.c:156
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr "livello WAL non sufficiente per creare un punto di ripristino"
 
-#: access/transam/xlogfuncs.c:154
+#: access/transam/xlogfuncs.c:164
 #, c-format
 msgid "value too long for restore point (maximum %d characters)"
 msgstr "il valore è troppo lungo per un punto di ripristino (massimo %d caratteri)"
 
-#: access/transam/xlogfuncs.c:271
+#: access/transam/xlogfuncs.c:281
 #, c-format
 msgid "pg_xlogfile_name_offset() cannot be executed during recovery."
 msgstr "pg_xlogfile_name_offset() non può essere eseguito durante il recupero."
 
-#: access/transam/xlogfuncs.c:327
+#: access/transam/xlogfuncs.c:337
 #, c-format
 msgid "pg_xlogfile_name() cannot be executed during recovery."
 msgstr "pg_xlogfile_name() non può essere eseguito durante il recupero."
 
-#: access/transam/xlogfuncs.c:344 access/transam/xlogfuncs.c:366
+#: access/transam/xlogfuncs.c:354 access/transam/xlogfuncs.c:376
 #, c-format
 msgid "must be superuser to control recovery"
 msgstr "solo un superutente può controllare il recupero"
 
-#: access/transam/xlogfuncs.c:349 access/transam/xlogfuncs.c:371
-#: access/transam/xlogfuncs.c:388
+#: access/transam/xlogfuncs.c:359 access/transam/xlogfuncs.c:381
+#: access/transam/xlogfuncs.c:398
 #, c-format
 msgid "recovery is not in progress"
 msgstr "il recupero non è in corso"
 
-#: access/transam/xlogfuncs.c:350 access/transam/xlogfuncs.c:372
-#: access/transam/xlogfuncs.c:389
+#: access/transam/xlogfuncs.c:360 access/transam/xlogfuncs.c:382
+#: access/transam/xlogfuncs.c:399
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr "Le funzioni di controllo del recupero possono essere eseguite solo durante un recupero."
 
-#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:759 tcop/postgres.c:3462
+#: access/transam/xlogreader.c:267
+#, c-format
+msgid "invalid record offset at %X/%X"
+msgstr "offset del record non valido a %X/%X"
+
+#: access/transam/xlogreader.c:275
+#, c-format
+msgid "contrecord is requested by %X/%X"
+msgstr "contrecord richiesto da %X/%X"
+
+#: access/transam/xlogreader.c:315 access/transam/xlogreader.c:606
+#, c-format
+msgid "invalid record length at %X/%X"
+msgstr "lunghezza del record non valida a %X/%X"
+
+#: access/transam/xlogreader.c:329
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr "lunghezza del record %u a %X/%X eccessiva"
+
+#: access/transam/xlogreader.c:370
+#, c-format
+msgid "there is no contrecord flag at %X/%X"
+msgstr "non c'è un flag di contrecord a %X/%X"
+
+#: access/transam/xlogreader.c:383
+#, c-format
+msgid "invalid contrecord length %u at %X/%X"
+msgstr "lunghezza di contrecord %u non valida a %X/%X"
+
+#: access/transam/xlogreader.c:613
+#, c-format
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "ID di gestione risorse %u non valido a %X/%X"
+
+#: access/transam/xlogreader.c:627 access/transam/xlogreader.c:644
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "record con link-precedente %X/%X non corretto a %X/%X"
+
+#: access/transam/xlogreader.c:681
+#, c-format
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "checksum dei dati del manager di risorse non corretto nel record a %X/%X"
+
+#: access/transam/xlogreader.c:714
+#, c-format
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "numero magico %04X non valido nel segmento di log %s, offset %u"
+
+#: access/transam/xlogreader.c:728 access/transam/xlogreader.c:779
+#, c-format
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "bit di info %04X non validi nel segmento di log %s, offset %u"
+
+#: access/transam/xlogreader.c:754
+#, c-format
+msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s."
+msgstr "Il file di WAL è di un database diverso: l'identificatore del file di WAL del database è %s, l'identificatore di pg_control del database è %s."
+
+#: access/transam/xlogreader.c:761
+#, c-format
+msgid "WAL file is from different database system: Incorrect XLOG_SEG_SIZE in page header."
+msgstr "Il file di WAL è di un database diverso: XLOG_SEG_SIZE non corretto nell'header di pagina."
+
+#: access/transam/xlogreader.c:767
+#, c-format
+msgid "WAL file is from different database system: Incorrect XLOG_BLCKSZ in page header."
+msgstr "Il file di WAL è di un database diverso: XLOG_BLCKSZ non corretto nell'header di pagina."
+
+#: access/transam/xlogreader.c:793
+#, c-format
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "pageaddr inaspettato %X/%X nel segmento di log %s, offset %u"
+
+#: access/transam/xlogreader.c:818
+#, c-format
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "ID della timeline %u (dopo %u) fuori sequenza nel segmento di log %s, offset %u"
+
+#: access/transam/xlogreader.c:1027
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "block_id fuori sequenza %u a %X/%X"
+
+#: access/transam/xlogreader.c:1049
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA impostato, ma dati non inclusi a %X/%X"
+
+#: access/transam/xlogreader.c:1056
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA non impostato, ma la lunghezza dei dati è %u a %X/%X"
+
+#: access/transam/xlogreader.c:1089
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE impostato, ma offset buco %u lunghezza %u lunghezza dell'immagine del blocco %u a %X/%X"
+
+#: access/transam/xlogreader.c:1105
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE non impostato, ma offset buco %u lunghezza %u a %X/%X"
+
+#: access/transam/xlogreader.c:1120
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_IS_COMPRESSED impostato, ma la lunghezza dell'immagine del blocco è %u a %X/%X"
+
+#: access/transam/xlogreader.c:1135
+#, c-format
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "né BKPIMAGE_HAS_HOLE né BKPIMAGE_IS_COMPRESSED impostati, ma la lunghezza dell'immagine del blocco è %u a %X/%X"
+
+#: access/transam/xlogreader.c:1151
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL impostato ma non c'è un rel precedente a %X/%X"
+
+#: access/transam/xlogreader.c:1163
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "block_id %u non valido a %X/%X"
+
+#: access/transam/xlogreader.c:1228
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "record con lunghezza non valida a %X/%X"
+
+#: access/transam/xlogreader.c:1317
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "immagine compressa non valida a %X/%X, blocco %d"
+
+#: bootstrap/bootstrap.c:268 postmaster/postmaster.c:773 tcop/postgres.c:3480
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s richiede un valore"
 
-#: bootstrap/bootstrap.c:278 postmaster/postmaster.c:764 tcop/postgres.c:3467
+#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:778 tcop/postgres.c:3485
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s richiede un valore"
 
-#: bootstrap/bootstrap.c:289 postmaster/postmaster.c:776
-#: postmaster/postmaster.c:789
+#: bootstrap/bootstrap.c:284 postmaster/postmaster.c:790
+#: postmaster/postmaster.c:803
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Prova \"%s --help\" per maggiori informazioni.\n"
 
-#: bootstrap/bootstrap.c:298
+#: bootstrap/bootstrap.c:293
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: parametri della riga di comando non validi\n"
 
-#: catalog/aclchk.c:206
+#: catalog/aclchk.c:182
 #, c-format
 msgid "grant options can only be granted to roles"
 msgstr "le opzioni di concessione possono essere concesse solo ai ruoli"
 
-#: catalog/aclchk.c:329
+#: catalog/aclchk.c:305
 #, c-format
 msgid "no privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "nessun privilegio è stato concesso per la colonna \"%s\" della relazione \"%s\""
 
-#: catalog/aclchk.c:334
+#: catalog/aclchk.c:310
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "nessun privilegio è stato concesso per \"%s\""
 
-#: catalog/aclchk.c:342
+#: catalog/aclchk.c:318
 #, c-format
 msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "non tutti i privilegi sono stati concessi per la colonna \"%s\" della relazione \"%s\""
 
-#: catalog/aclchk.c:347
+#: catalog/aclchk.c:323
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "non tutti i privilegi sono stati concessi per \"%s\""
 
-#: catalog/aclchk.c:358
+#: catalog/aclchk.c:334
 #, c-format
 msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "non è stato possibile revocare alcun privilegio per la colonna \"%s\" della relazione \"%s\""
 
-#: catalog/aclchk.c:363
+#: catalog/aclchk.c:339
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "non è stato possibile revocare alcun privilegio per \"%s\""
 
-#: catalog/aclchk.c:371
+#: catalog/aclchk.c:347
 #, c-format
 msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "non è stato possibile revocare tutti i privilegi per la colonna \"%s\" della relazione \"%s\""
 
-#: catalog/aclchk.c:376
+#: catalog/aclchk.c:352
 #, c-format
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "non è stato possibile revocare tutti i privilegi per \"%s\""
 
-#: catalog/aclchk.c:455 catalog/aclchk.c:933
+#: catalog/aclchk.c:434 catalog/aclchk.c:924
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "tipo di privilegio %s non valido per la relazione"
 
-#: catalog/aclchk.c:459 catalog/aclchk.c:937
+#: catalog/aclchk.c:438 catalog/aclchk.c:928
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "tipo di privilegio %s non valido per la sequenza"
 
-#: catalog/aclchk.c:463
+#: catalog/aclchk.c:442
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "tipo di privilegio %s non valido per il database"
 
-#: catalog/aclchk.c:467
+#: catalog/aclchk.c:446
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "tipo di privilegio %s non valido per il dominio"
 
-#: catalog/aclchk.c:471 catalog/aclchk.c:941
+#: catalog/aclchk.c:450 catalog/aclchk.c:932
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "tipo di privilegio %s non valido per la funzione"
 
-#: catalog/aclchk.c:475
+#: catalog/aclchk.c:454
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "tipo di privilegio %s non valido per il linguaggio"
 
-#: catalog/aclchk.c:479
+#: catalog/aclchk.c:458
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "tipo di privilegio %s non valido per il large object"
 
-#: catalog/aclchk.c:483
+#: catalog/aclchk.c:462
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "tipo di privilegio %s non valido per lo schema"
 
-#: catalog/aclchk.c:487
+#: catalog/aclchk.c:466
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "tipo di privilegio %s non valido per il tablespace"
 
-#: catalog/aclchk.c:491 catalog/aclchk.c:945
+#: catalog/aclchk.c:470 catalog/aclchk.c:936
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "tipo di privilegio %s non valido per il tipo"
 
-#: catalog/aclchk.c:495
+#: catalog/aclchk.c:474
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "tipo di privilegio %s non valido per il wrapper di dati esterni"
 
-#: catalog/aclchk.c:499
+#: catalog/aclchk.c:478
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "tipo di privilegio %s non valido per il server esterno"
 
-#: catalog/aclchk.c:538
+#: catalog/aclchk.c:517
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "i privilegi della colonna sono validi solo per le relazioni"
 
-#: catalog/aclchk.c:688 catalog/aclchk.c:3904 catalog/aclchk.c:4681
-#: catalog/objectaddress.c:586 catalog/pg_largeobject.c:113
+#: catalog/aclchk.c:676 catalog/aclchk.c:3874 catalog/aclchk.c:4651
+#: catalog/objectaddress.c:854 catalog/pg_largeobject.c:113
 #: storage/large_object/inv_api.c:291
 #, c-format
 msgid "large object %u does not exist"
 msgstr "il large object %u non esiste"
 
-#: catalog/aclchk.c:875 catalog/aclchk.c:883 commands/collationcmds.c:91
-#: commands/copy.c:925 commands/copy.c:943 commands/copy.c:951
-#: commands/copy.c:959 commands/copy.c:967 commands/copy.c:975
-#: commands/copy.c:983 commands/copy.c:991 commands/copy.c:999
-#: commands/copy.c:1015 commands/copy.c:1029 commands/copy.c:1048
-#: commands/copy.c:1063 commands/dbcommands.c:148 commands/dbcommands.c:156
-#: commands/dbcommands.c:164 commands/dbcommands.c:172
-#: commands/dbcommands.c:180 commands/dbcommands.c:188
-#: commands/dbcommands.c:196 commands/dbcommands.c:1372
-#: commands/dbcommands.c:1380 commands/extension.c:1246
-#: commands/extension.c:1254 commands/extension.c:1262
-#: commands/extension.c:2670 commands/foreigncmds.c:486
-#: commands/foreigncmds.c:495 commands/functioncmds.c:522
-#: commands/functioncmds.c:614 commands/functioncmds.c:622
-#: commands/functioncmds.c:630 commands/functioncmds.c:1700
-#: commands/functioncmds.c:1708 commands/sequence.c:1146
-#: commands/sequence.c:1154 commands/sequence.c:1162 commands/sequence.c:1170
-#: commands/sequence.c:1178 commands/sequence.c:1186 commands/sequence.c:1194
-#: commands/sequence.c:1202 commands/typecmds.c:297 commands/typecmds.c:1332
-#: commands/typecmds.c:1341 commands/typecmds.c:1349 commands/typecmds.c:1357
-#: commands/typecmds.c:1365 commands/user.c:135 commands/user.c:152
-#: commands/user.c:160 commands/user.c:168 commands/user.c:176
-#: commands/user.c:184 commands/user.c:192 commands/user.c:200
-#: commands/user.c:208 commands/user.c:216 commands/user.c:224
-#: commands/user.c:232 commands/user.c:496 commands/user.c:508
-#: commands/user.c:516 commands/user.c:524 commands/user.c:532
-#: commands/user.c:540 commands/user.c:548 commands/user.c:556
-#: commands/user.c:565 commands/user.c:573
+#: catalog/aclchk.c:863 catalog/aclchk.c:871 commands/collationcmds.c:92
+#: commands/copy.c:1001 commands/copy.c:1019 commands/copy.c:1027
+#: commands/copy.c:1035 commands/copy.c:1043 commands/copy.c:1051
+#: commands/copy.c:1059 commands/copy.c:1067 commands/copy.c:1075
+#: commands/copy.c:1091 commands/copy.c:1105 commands/copy.c:1124
+#: commands/copy.c:1139 commands/dbcommands.c:155 commands/dbcommands.c:163
+#: commands/dbcommands.c:171 commands/dbcommands.c:179
+#: commands/dbcommands.c:187 commands/dbcommands.c:195
+#: commands/dbcommands.c:203 commands/dbcommands.c:211
+#: commands/dbcommands.c:219 commands/dbcommands.c:1397
+#: commands/dbcommands.c:1405 commands/dbcommands.c:1413
+#: commands/dbcommands.c:1421 commands/extension.c:1244
+#: commands/extension.c:1252 commands/extension.c:1260
+#: commands/extension.c:2677 commands/foreigncmds.c:539
+#: commands/foreigncmds.c:548 commands/functioncmds.c:525
+#: commands/functioncmds.c:619 commands/functioncmds.c:627
+#: commands/functioncmds.c:635 commands/functioncmds.c:643
+#: commands/functioncmds.c:2045 commands/functioncmds.c:2053
+#: commands/sequence.c:1189 commands/sequence.c:1197 commands/sequence.c:1205
+#: commands/sequence.c:1213 commands/sequence.c:1221 commands/sequence.c:1229
+#: commands/sequence.c:1237 commands/sequence.c:1245 commands/typecmds.c:293
+#: commands/typecmds.c:1380 commands/typecmds.c:1389 commands/typecmds.c:1397
+#: commands/typecmds.c:1405 commands/typecmds.c:1413 commands/user.c:138
+#: commands/user.c:155 commands/user.c:163 commands/user.c:171
+#: commands/user.c:179 commands/user.c:187 commands/user.c:195
+#: commands/user.c:203 commands/user.c:211 commands/user.c:219
+#: commands/user.c:227 commands/user.c:235 commands/user.c:243
+#: commands/user.c:529 commands/user.c:541 commands/user.c:549
+#: commands/user.c:557 commands/user.c:565 commands/user.c:573
+#: commands/user.c:581 commands/user.c:589 commands/user.c:598
+#: commands/user.c:606 commands/user.c:614
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "opzioni contraddittorie o ridondanti"
 
-#: catalog/aclchk.c:978
+#: catalog/aclchk.c:969
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "i privilegi predefiniti non possono essere impostati sulle colonne"
 
-#: catalog/aclchk.c:1492 catalog/objectaddress.c:1042 commands/analyze.c:390
-#: commands/copy.c:4247 commands/sequence.c:1448 commands/tablecmds.c:4939
-#: commands/tablecmds.c:5034 commands/tablecmds.c:5084
-#: commands/tablecmds.c:5188 commands/tablecmds.c:5235
-#: commands/tablecmds.c:5319 commands/tablecmds.c:5407
-#: commands/tablecmds.c:7494 commands/tablecmds.c:7698
-#: commands/tablecmds.c:8090 commands/trigger.c:635 parser/analyze.c:1994
-#: parser/parse_relation.c:2358 parser/parse_relation.c:2420
-#: parser/parse_target.c:920 parser/parse_type.c:128 utils/adt/acl.c:2840
-#: utils/adt/ruleutils.c:1820
+#: catalog/aclchk.c:1483 catalog/objectaddress.c:1338 commands/analyze.c:378
+#: commands/copy.c:4364 commands/sequence.c:1491 commands/tablecmds.c:5144
+#: commands/tablecmds.c:5250 commands/tablecmds.c:5310
+#: commands/tablecmds.c:5423 commands/tablecmds.c:5480
+#: commands/tablecmds.c:5574 commands/tablecmds.c:5670
+#: commands/tablecmds.c:7831 commands/tablecmds.c:8036
+#: commands/tablecmds.c:8456 commands/trigger.c:643 parser/analyze.c:2106
+#: parser/parse_relation.c:2536 parser/parse_relation.c:2598
+#: parser/parse_target.c:940 parser/parse_type.c:128 utils/adt/acl.c:2839
+#: utils/adt/ruleutils.c:1837
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "la colonna \"%s\" della relazione \"%s\" non esiste"
 
-#: catalog/aclchk.c:1757 catalog/objectaddress.c:862 commands/sequence.c:1035
-#: commands/tablecmds.c:214 commands/tablecmds.c:11244 utils/adt/acl.c:2076
-#: utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170
-#: utils/adt/acl.c:2198 utils/adt/acl.c:2228
+#: catalog/aclchk.c:1748 catalog/objectaddress.c:1151 commands/sequence.c:1078
+#: commands/tablecmds.c:220 commands/tablecmds.c:11831 utils/adt/acl.c:2075
+#: utils/adt/acl.c:2105 utils/adt/acl.c:2137 utils/adt/acl.c:2169
+#: utils/adt/acl.c:2197 utils/adt/acl.c:2227
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "\"%s\" non è una sequenza"
 
-#: catalog/aclchk.c:1795
+#: catalog/aclchk.c:1786
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr "la sequenza \"%s\" supporta solo i privilegi USAGE, SELECT e UPDATE"
 
-#: catalog/aclchk.c:1812
+#: catalog/aclchk.c:1803
 #, c-format
 msgid "invalid privilege type USAGE for table"
 msgstr "tipo di privilegio USAGE non valido per la tabella"
 
-#: catalog/aclchk.c:1977
+#: catalog/aclchk.c:1968
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "tipo di privilegio %s non valido per la colonna"
 
-#: catalog/aclchk.c:1990
+#: catalog/aclchk.c:1981
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "la sequenza \"%s\" supporta solo i privilegi di SELECT sulla colonna"
 
-#: catalog/aclchk.c:2574
+#: catalog/aclchk.c:2565
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "il linguaggio \"%s\" non è fidato"
 
-#: catalog/aclchk.c:2576
+#: catalog/aclchk.c:2567
 #, c-format
 msgid "Only superusers can use untrusted languages."
 msgstr "Solo un superutente può usare linguaggi non fidati."
 
-#: catalog/aclchk.c:3092
+#: catalog/aclchk.c:3083
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "non è possibile impostare privilegi su tipi array"
 
-#: catalog/aclchk.c:3093
+#: catalog/aclchk.c:3084
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Puoi impostare i privilegi del tipo dell'elemento."
 
-#: catalog/aclchk.c:3100 catalog/objectaddress.c:1094 commands/typecmds.c:3187
+#: catalog/aclchk.c:3091 catalog/objectaddress.c:1471 commands/typecmds.c:3142
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "\"%s\" non è un dominio"
 
-#: catalog/aclchk.c:3220
+#: catalog/aclchk.c:3211
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "tipo di privilegio \"%s\" sconosciuto"
 
-#: catalog/aclchk.c:3269
+#: catalog/aclchk.c:3260
 #, c-format
 msgid "permission denied for column %s"
 msgstr "permesso negato per la colonna %s"
 
-#: catalog/aclchk.c:3271
+#: catalog/aclchk.c:3262
 #, c-format
 msgid "permission denied for relation %s"
 msgstr "permesso negato per la relazione %s"
 
-#: catalog/aclchk.c:3273 commands/sequence.c:535 commands/sequence.c:748
-#: commands/sequence.c:790 commands/sequence.c:827 commands/sequence.c:1500
+#: catalog/aclchk.c:3264 commands/sequence.c:561 commands/sequence.c:786
+#: commands/sequence.c:828 commands/sequence.c:865 commands/sequence.c:1543
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "permesso negato per la sequenza %s"
 
-#: catalog/aclchk.c:3275
+#: catalog/aclchk.c:3266
 #, c-format
 msgid "permission denied for database %s"
 msgstr "permesso negato per il database %s"
 
-#: catalog/aclchk.c:3277
+#: catalog/aclchk.c:3268
 #, c-format
 msgid "permission denied for function %s"
 msgstr "permesso negato per la funzione %s"
 
-#: catalog/aclchk.c:3279
+#: catalog/aclchk.c:3270
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "permesso negato per l'operatore %s"
 
-#: catalog/aclchk.c:3281
+#: catalog/aclchk.c:3272
 #, c-format
 msgid "permission denied for type %s"
 msgstr "permesso negato per il tipo %s"
 
-#: catalog/aclchk.c:3283
+#: catalog/aclchk.c:3274
 #, c-format
 msgid "permission denied for language %s"
 msgstr "permesso negato per il linguaggio %s"
 
-#: catalog/aclchk.c:3285
+#: catalog/aclchk.c:3276
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "permesso negato per large object %s"
 
-#: catalog/aclchk.c:3287
+#: catalog/aclchk.c:3278
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "permesso negato per lo schema %s"
 
-#: catalog/aclchk.c:3289
+#: catalog/aclchk.c:3280
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "permesso negato per la classe di operatori %s"
 
-#: catalog/aclchk.c:3291
+#: catalog/aclchk.c:3282
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "permesso negato per la famiglia di operatori %s"
 
-#: catalog/aclchk.c:3293
+#: catalog/aclchk.c:3284
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "permesso negato per l'ordinamento %s"
 
-#: catalog/aclchk.c:3295
+#: catalog/aclchk.c:3286
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "permesso negato per la conversione %s"
 
-#: catalog/aclchk.c:3297
+#: catalog/aclchk.c:3288
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "permesso negato per il tablespace %s"
 
-#: catalog/aclchk.c:3299
+#: catalog/aclchk.c:3290
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "permesso negato per il dizionario di ricerca di testo %s"
 
-#: catalog/aclchk.c:3301
+#: catalog/aclchk.c:3292
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "permesso negato per la configurazione di ricerca di testo %s"
 
-#: catalog/aclchk.c:3303
+#: catalog/aclchk.c:3294
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "permesso negato per il wrapper di dati esterni %s"
 
-#: catalog/aclchk.c:3305
+#: catalog/aclchk.c:3296
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "permesso negato per il server esterno %s"
 
-#: catalog/aclchk.c:3307
+#: catalog/aclchk.c:3298
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "permesso negato per il trigger di evento %s"
 
-#: catalog/aclchk.c:3309
+#: catalog/aclchk.c:3300
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "permesso negato per l'estensione %s"
 
-#: catalog/aclchk.c:3315 catalog/aclchk.c:3317
+#: catalog/aclchk.c:3306 catalog/aclchk.c:3308
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "bisogna essere proprietari della relazione %s"
 
-#: catalog/aclchk.c:3319
+#: catalog/aclchk.c:3310
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "bisogna essere proprietari della sequenza %s"
 
-#: catalog/aclchk.c:3321
+#: catalog/aclchk.c:3312
 #, c-format
 msgid "must be owner of database %s"
 msgstr "bisogna essere proprietari del database %s"
 
-#: catalog/aclchk.c:3323
+#: catalog/aclchk.c:3314
 #, c-format
 msgid "must be owner of function %s"
 msgstr "bisogna essere proprietari della funzione %s"
 
-#: catalog/aclchk.c:3325
+#: catalog/aclchk.c:3316
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "bisogna essere proprietari dell'operatore %s"
 
-#: catalog/aclchk.c:3327
+#: catalog/aclchk.c:3318
 #, c-format
 msgid "must be owner of type %s"
 msgstr "bisogna essere proprietari del tipo %s"
 
-#: catalog/aclchk.c:3329
+#: catalog/aclchk.c:3320
 #, c-format
 msgid "must be owner of language %s"
 msgstr "bisogna essere proprietari del linguaggio %s"
 
-#: catalog/aclchk.c:3331
+#: catalog/aclchk.c:3322
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "bisogna essere proprietari del large object %s"
 
-#: catalog/aclchk.c:3333
+#: catalog/aclchk.c:3324
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "bisogna essere proprietari dello schema %s"
 
-#: catalog/aclchk.c:3335
+#: catalog/aclchk.c:3326
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "bisogna essere proprietari della classe di operatore %s"
 
-#: catalog/aclchk.c:3337
+#: catalog/aclchk.c:3328
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "bisogna essere proprietari della famiglia di operatori %s"
 
-#: catalog/aclchk.c:3339
+#: catalog/aclchk.c:3330
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "bisogna essere proprietari dell'ordinamento %s"
 
-#: catalog/aclchk.c:3341
+#: catalog/aclchk.c:3332
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "bisogna essere proprietari della conversione %s"
 
-#: catalog/aclchk.c:3343
+#: catalog/aclchk.c:3334
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "bisogna essere proprietari del tablespace %s"
 
-#: catalog/aclchk.c:3345
+#: catalog/aclchk.c:3336
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "bisogna essere proprietari del dizionario di ricerca di testo %s"
 
-#: catalog/aclchk.c:3347
+#: catalog/aclchk.c:3338
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "bisogna essere proprietari della configurazione di ricerca di testo %s"
 
-#: catalog/aclchk.c:3349
+#: catalog/aclchk.c:3340
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "bisogna essere proprietari del wrapper di dati esterni %s"
 
-#: catalog/aclchk.c:3351
+#: catalog/aclchk.c:3342
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "bisogna essere proprietari del server esterno %s"
 
-#: catalog/aclchk.c:3353
+#: catalog/aclchk.c:3344
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "bisogna essere proprietari del trigger di evento %s"
 
-#: catalog/aclchk.c:3355
+#: catalog/aclchk.c:3346
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "bisogna essere proprietari dell'estensione %s"
 
-#: catalog/aclchk.c:3397
+#: catalog/aclchk.c:3388
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "permesso negato per la colonna \"%s\" della relazione \"%s\""
 
-#: catalog/aclchk.c:3437
-#, c-format
-msgid "role with OID %u does not exist"
-msgstr "il ruolo con OID %u non esiste"
-
-#: catalog/aclchk.c:3536 catalog/aclchk.c:3544
+#: catalog/aclchk.c:3507 catalog/aclchk.c:3515
 #, c-format
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "l'attributo %d della relazione con OID %u non esiste"
 
-#: catalog/aclchk.c:3617 catalog/aclchk.c:4532
+#: catalog/aclchk.c:3588 catalog/aclchk.c:4502
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "la relazione con OID %u non esiste"
 
-#: catalog/aclchk.c:3717 catalog/aclchk.c:4950
+#: catalog/aclchk.c:3687 catalog/aclchk.c:4920
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "il database con OID %u non esiste"
 
-#: catalog/aclchk.c:3771 catalog/aclchk.c:4610 tcop/fastpath.c:223
+#: catalog/aclchk.c:3741 catalog/aclchk.c:4580 tcop/fastpath.c:223
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "la funzione con OID %u non esiste"
 
-#: catalog/aclchk.c:3825 catalog/aclchk.c:4636
+#: catalog/aclchk.c:3795 catalog/aclchk.c:4606
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "il linguaggio con OID %u non esiste"
 
-#: catalog/aclchk.c:3989 catalog/aclchk.c:4708
+#: catalog/aclchk.c:3959 catalog/aclchk.c:4678
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "lo schema con OID %u non esiste"
 
-#: catalog/aclchk.c:4043 catalog/aclchk.c:4735
+#: catalog/aclchk.c:4013 catalog/aclchk.c:4705
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "il tablespace con l'OID %u non esiste"
 
-#: catalog/aclchk.c:4101 catalog/aclchk.c:4869 commands/foreigncmds.c:302
+#: catalog/aclchk.c:4071 catalog/aclchk.c:4839 commands/foreigncmds.c:325
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "il wrapper di dati esterni con OID %u non esiste"
 
-#: catalog/aclchk.c:4162 catalog/aclchk.c:4896 commands/foreigncmds.c:409
+#: catalog/aclchk.c:4132 catalog/aclchk.c:4866 commands/foreigncmds.c:461
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "il server esterno con OID %u non esiste"
 
-#: catalog/aclchk.c:4221 catalog/aclchk.c:4235 catalog/aclchk.c:4558
+#: catalog/aclchk.c:4191 catalog/aclchk.c:4205 catalog/aclchk.c:4528
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "il tipo con OID %u non esiste"
 
-#: catalog/aclchk.c:4584
+#: catalog/aclchk.c:4554
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "l'operatore con OID %u non esiste"
 
-#: catalog/aclchk.c:4761
+#: catalog/aclchk.c:4731
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "la classe di operatori con OID %u non esiste"
 
-#: catalog/aclchk.c:4788
+#: catalog/aclchk.c:4758
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "la famiglia di operatori con OID %u non esiste"
 
-#: catalog/aclchk.c:4815
+#: catalog/aclchk.c:4785
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "il dizionario di ricerca di testo con OID %u non esiste"
 
-#: catalog/aclchk.c:4842
+#: catalog/aclchk.c:4812
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "la configurazione di ricerca di testo con OID %u non esiste"
 
-#: catalog/aclchk.c:4923 commands/event_trigger.c:509
+#: catalog/aclchk.c:4893 commands/event_trigger.c:586
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "il trigger di evento con OID %u non esiste"
 
-#: catalog/aclchk.c:4976
+#: catalog/aclchk.c:4946
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "l'ordinamento con OID %u non esiste"
 
-#: catalog/aclchk.c:5002
+#: catalog/aclchk.c:4972
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "la conversione con OID %u non esiste"
 
-#: catalog/aclchk.c:5043
+#: catalog/aclchk.c:5013
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "l'estensione con OID %u non esiste"
 
-#: catalog/dependency.c:626
+#: catalog/dependency.c:639
 #, c-format
 msgid "cannot drop %s because %s requires it"
 msgstr "non è possibile eliminare %s perché %s lo richiede"
 
-#: catalog/dependency.c:629
+#: catalog/dependency.c:642
 #, c-format
 msgid "You can drop %s instead."
 msgstr "È invece possibile eliminare %s."
 
-#: catalog/dependency.c:790 catalog/pg_shdepend.c:573
+#: catalog/dependency.c:803 catalog/pg_shdepend.c:574
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "non è possibile eliminare %s perché richiesto dal sistema database"
 
-#: catalog/dependency.c:906
+#: catalog/dependency.c:919
 #, c-format
 msgid "drop auto-cascades to %s"
 msgstr "l'eliminazione elimina anche %s in cascata automatica"
 
-#: catalog/dependency.c:918 catalog/dependency.c:927
+#: catalog/dependency.c:931 catalog/dependency.c:940
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s dipende da %s"
 
-#: catalog/dependency.c:939 catalog/dependency.c:948
+#: catalog/dependency.c:952 catalog/dependency.c:961
 #, c-format
 msgid "drop cascades to %s"
 msgstr "l'eliminazione elimina anche %s in cascata"
 
-#: catalog/dependency.c:956 catalog/pg_shdepend.c:684
+#: catalog/dependency.c:969 catalog/pg_shdepend.c:685
 #, c-format
 msgid ""
 "\n"
@@ -2789,512 +3215,637 @@ msgstr[1] ""
 "\n"
 "e %d altri oggetti (vedere il log del server per la lista)"
 
-#: catalog/dependency.c:968
+#: catalog/dependency.c:981
 #, c-format
 msgid "cannot drop %s because other objects depend on it"
 msgstr "non è possibile eliminare %s perché altri oggetti dipendono da esso"
 
-#: catalog/dependency.c:972 catalog/dependency.c:979
+#: catalog/dependency.c:985 catalog/dependency.c:992
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "Usa DROP ... CASCADE per eliminare anche gli oggetti dipendenti."
 
-#: catalog/dependency.c:976
+#: catalog/dependency.c:989
 #, c-format
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr "non è possibile eliminare gli oggetti desiderati perché altri oggetti dipendono da essi"
 
 #. translator: %d always has a value larger than 1
-#: catalog/dependency.c:985
+#: catalog/dependency.c:998
 #, c-format
 msgid "drop cascades to %d other object"
 msgid_plural "drop cascades to %d other objects"
 msgstr[0] "l'eliminazione elimina in cascata %d altro oggetto"
 msgstr[1] "l'eliminazione elimina in cascata %d altri oggetti"
 
-#: catalog/heap.c:274
+#: catalog/dependency.c:1621
+#, c-format
+msgid "constant of the type 'regrole' cannot be used here"
+msgstr "le costanti di tipo 'regrole' non possono essere usate qui"
+
+#: catalog/heap.c:276
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "permesso di creare \"%s.%s\" negato"
 
-#: catalog/heap.c:276
+#: catalog/heap.c:278
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Le modifiche al catalogo di sistema non sono attualmente consentite."
 
-#: catalog/heap.c:411 commands/tablecmds.c:1402 commands/tablecmds.c:1844
-#: commands/tablecmds.c:4583
+#: catalog/heap.c:413 commands/tablecmds.c:1430 commands/tablecmds.c:1883
+#: commands/tablecmds.c:4781
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "le tabelle possono avere al massimo %d colonne"
 
-#: catalog/heap.c:428 commands/tablecmds.c:4839
+#: catalog/heap.c:430 commands/tablecmds.c:5040
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "il nome della colonna \"%s\" è in conflitto con il nome di una colonna di sistema"
 
-#: catalog/heap.c:444
+#: catalog/heap.c:446
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "nome di colonna \"%s\" specificato più di una volta"
 
-#: catalog/heap.c:494
+#: catalog/heap.c:496
 #, c-format
 msgid "column \"%s\" has type \"unknown\""
 msgstr "la colonna \"%s\" è di tipo \"unknown\""
 
-#: catalog/heap.c:495
+#: catalog/heap.c:497
 #, c-format
 msgid "Proceeding with relation creation anyway."
 msgstr "Si procede comunque alla creazione della relazione."
 
-#: catalog/heap.c:508
+#: catalog/heap.c:510
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "la colonna \"%s\" ha pseudo-tipo %s"
 
-#: catalog/heap.c:538
+#: catalog/heap.c:540
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "il tipo composito %s non può essere fatto membro di sé stesso"
 
-#: catalog/heap.c:580 commands/createas.c:343
+#: catalog/heap.c:582 commands/createas.c:373
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr "nessun ordinamento è stato derivato per la colonna \"%s\" con tipo ordinabile %s"
 
-#: catalog/heap.c:582 commands/createas.c:345 commands/indexcmds.c:1072
-#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1510
-#: utils/adt/formatting.c:1562 utils/adt/formatting.c:1630
-#: utils/adt/formatting.c:1682 utils/adt/formatting.c:1751
-#: utils/adt/formatting.c:1815 utils/adt/like.c:212 utils/adt/selfuncs.c:5221
-#: utils/adt/varlena.c:1381
+#: catalog/heap.c:584 commands/createas.c:375 commands/indexcmds.c:1087
+#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1514
+#: utils/adt/formatting.c:1566 utils/adt/formatting.c:1634
+#: utils/adt/formatting.c:1686 utils/adt/formatting.c:1755
+#: utils/adt/formatting.c:1819 utils/adt/like.c:212 utils/adt/selfuncs.c:5234
+#: utils/adt/varlena.c:1411 utils/adt/varlena.c:1800
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Usa la clausola COLLATE per impostare esplicitamente l'ordinamento."
 
-#: catalog/heap.c:1055 catalog/index.c:778 commands/tablecmds.c:2549
+#: catalog/heap.c:1064 catalog/index.c:793 commands/tablecmds.c:2610
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relazione \"%s\" esiste già"
 
-#: catalog/heap.c:1071 catalog/pg_type.c:403 catalog/pg_type.c:706
-#: commands/typecmds.c:239 commands/typecmds.c:739 commands/typecmds.c:1090
-#: commands/typecmds.c:1308 commands/typecmds.c:2060
+#: catalog/heap.c:1080 catalog/pg_type.c:412 catalog/pg_type.c:722
+#: commands/typecmds.c:235 commands/typecmds.c:782 commands/typecmds.c:1133
+#: commands/typecmds.c:1355 commands/typecmds.c:2109
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "il tipo \"%s\" esiste già"
 
-#: catalog/heap.c:1072
+#: catalog/heap.c:1081
 #, c-format
 msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type."
 msgstr "Una relazione ha un tipo associato con lo stesso nome, quindi devi usare nomi che non siano in conflitto con alcun tipo esistente."
 
-#: catalog/heap.c:2257
+#: catalog/heap.c:1109
+#, c-format
+msgid "pg_class heap OID value not set when in binary upgrade mode"
+msgstr "valore OID heap pg_class non impostato in modalità di aggiornamento binaria"
+
+#: catalog/heap.c:2289
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "il vincolo di controllo \"%s\" esiste già"
 
-#: catalog/heap.c:2410 catalog/pg_constraint.c:650 commands/tablecmds.c:5734
+#: catalog/heap.c:2444 catalog/pg_constraint.c:652 commands/tablecmds.c:6015
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "il vincolo \"%s\" per la relazione \"%s\" esiste già"
 
-#: catalog/heap.c:2420
+#: catalog/heap.c:2454
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
 msgstr "il vincolo \"%s\" è in conflitto con il vincolo non ereditato sulla relazione \"%s\""
 
-#: catalog/heap.c:2434
+#: catalog/heap.c:2468
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "unione del vincolo \"%s\" con una definizione ereditata"
 
-#: catalog/heap.c:2527
+#: catalog/heap.c:2561
 #, c-format
 msgid "cannot use column references in default expression"
 msgstr "non si possono usare riferimenti a colonne nell'espressione predefinita"
 
-#: catalog/heap.c:2538
+#: catalog/heap.c:2572
 #, c-format
 msgid "default expression must not return a set"
 msgstr "le espressioni predefinite non devono restituire un insieme"
 
-#: catalog/heap.c:2557 rewrite/rewriteHandler.c:1066
+#: catalog/heap.c:2591 rewrite/rewriteHandler.c:1073
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "la colonna \"%s\" è di tipo %s ma l'espressione predefinita è di tipo %s"
 
-#: catalog/heap.c:2562 commands/prepare.c:374 parser/parse_node.c:411
-#: parser/parse_target.c:509 parser/parse_target.c:758
-#: parser/parse_target.c:768 rewrite/rewriteHandler.c:1071
+#: catalog/heap.c:2596 commands/prepare.c:374 parser/parse_node.c:411
+#: parser/parse_target.c:528 parser/parse_target.c:778
+#: parser/parse_target.c:788 rewrite/rewriteHandler.c:1078
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Devi riscrivere o convertire il tipo dell'espressione"
 
-#: catalog/heap.c:2609
+#: catalog/heap.c:2643
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "solo la tabella \"%s\" può essere referenziata nel vincolo di controllo"
 
-#: catalog/heap.c:2849
+#: catalog/heap.c:2883
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "la combinazione di COMMIT con una chiave esterna non è supportata"
 
-#: catalog/heap.c:2850
+#: catalog/heap.c:2884
 #, c-format
 msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting."
 msgstr "La tabella \"%s\" referenzia \"%s\", ma non hanno la stessa impostazione ON COMMIT."
 
-#: catalog/heap.c:2855
+#: catalog/heap.c:2889
 #, c-format
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "non è possibile troncare una tabella referenziata da un vincolo di chiave esterna"
 
-#: catalog/heap.c:2856
+#: catalog/heap.c:2890
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La tabella \"%s\" referenzia \"%s\"."
 
-#: catalog/heap.c:2858
+#: catalog/heap.c:2892
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr "Troncare la tabella \"%s\" nello stesso tempo o usare TRUNCATE ... CASCADE."
 
-#: catalog/index.c:204 parser/parse_utilcmd.c:1393 parser/parse_utilcmd.c:1479
+#: catalog/index.c:205 parser/parse_utilcmd.c:1436 parser/parse_utilcmd.c:1522
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "non è possibile avere più di una chiave primaria per la tabella \"%s\""
 
-#: catalog/index.c:222
+#: catalog/index.c:223
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "le chiavi primarie non possono essere delle espressioni"
 
-#: catalog/index.c:739 catalog/index.c:1143
+#: catalog/index.c:743 catalog/index.c:1161
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr "non sono supportati indici definiti dall'utente sulle tabelle del catalogo di sistema"
 
-#: catalog/index.c:749
+#: catalog/index.c:753
 #, c-format
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr "la creazione concorrente di indici sulle tabelle del catalogo di sistema non è supportata"
 
-#: catalog/index.c:767
+#: catalog/index.c:771
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "indici condivisi non possono essere creati dopo initdb"
 
-#: catalog/index.c:1403
+#: catalog/index.c:785 commands/createas.c:100 commands/sequence.c:141
+#: parser/parse_utilcmd.c:185
+#, c-format
+msgid "relation \"%s\" already exists, skipping"
+msgstr "la relazione \"%s\" esiste già, saltata"
+
+#: catalog/index.c:821
+#, c-format
+msgid "pg_class index OID value not set when in binary upgrade mode"
+msgstr "valore OID indice pg_class non impostato in modalità di aggiornamento binaria"
+
+#: catalog/index.c:1423
 #, c-format
 msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
 msgstr "DROP INDEX CONCURRENTLY deve essere la prima azione della transazione"
 
-#: catalog/index.c:1936
+#: catalog/index.c:2007
 #, c-format
 msgid "building index \"%s\" on table \"%s\""
 msgstr "creazione dell'indice \"%s\" sulla tabella \"%s\""
 
-#: catalog/index.c:3121
+#: catalog/index.c:3220
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "non è possibile reindicizzare le tabelle temporanee di altre sessioni"
 
-#: catalog/namespace.c:247 catalog/namespace.c:445 catalog/namespace.c:539
-#: commands/trigger.c:4486
+#: catalog/index.c:3345
+#, c-format
+msgid "index \"%s\" was reindexed"
+msgstr "l'indice \"%s\" è stato reindicizzato"
+
+#: catalog/index.c:3347 commands/vacuumlazy.c:1131 commands/vacuumlazy.c:1207
+#: commands/vacuumlazy.c:1374 commands/vacuumlazy.c:1546
+#, c-format
+msgid "%s."
+msgstr "%s."
+
+#: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541
+#: commands/trigger.c:4528
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "i riferimenti tra database diversi non sono implementati: \"%s.%s.%s\""
 
-#: catalog/namespace.c:304
+#: catalog/namespace.c:306
 #, c-format
 msgid "temporary tables cannot specify a schema name"
 msgstr "Le tabelle temporanee non possono specificare un nome di schema"
 
-#: catalog/namespace.c:383
+#: catalog/namespace.c:385
 #, c-format
 msgid "could not obtain lock on relation \"%s.%s\""
 msgstr "lock della relazione \"%s.%s\" fallito"
 
-#: catalog/namespace.c:388 commands/lockcmds.c:146
+#: catalog/namespace.c:390 commands/lockcmds.c:146
 #, c-format
 msgid "could not obtain lock on relation \"%s\""
 msgstr "lock della relazione \"%s\" fallito"
 
-#: catalog/namespace.c:412 parser/parse_relation.c:964
+#: catalog/namespace.c:414 parser/parse_relation.c:1131
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "la relazione \"%s.%s\" non esiste"
 
-#: catalog/namespace.c:417 parser/parse_relation.c:977
-#: parser/parse_relation.c:985 utils/adt/regproc.c:974
+#: catalog/namespace.c:419 parser/parse_relation.c:1144
+#: parser/parse_relation.c:1152 utils/adt/regproc.c:1035
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "la relazione \"%s\" non esiste"
 
-#: catalog/namespace.c:485 catalog/namespace.c:2849 commands/extension.c:1396
-#: commands/extension.c:1402
+#: catalog/namespace.c:487 catalog/namespace.c:2852 commands/extension.c:1394
+#: commands/extension.c:1400
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "nessuna schema selezionato per crearci dentro"
 
-#: catalog/namespace.c:637 catalog/namespace.c:650
+#: catalog/namespace.c:639 catalog/namespace.c:652
 #, c-format
 msgid "cannot create relations in temporary schemas of other sessions"
 msgstr "non si possono creare relazioni in schemi temporanei di altre sessioni"
 
-#: catalog/namespace.c:641
+#: catalog/namespace.c:643
 #, c-format
 msgid "cannot create temporary relation in non-temporary schema"
 msgstr "non si possono creare relazioni temporanee in schemi non temporanei"
 
-#: catalog/namespace.c:656
+#: catalog/namespace.c:658
 #, c-format
 msgid "only temporary relations may be created in temporary schemas"
 msgstr "solo relazioni temporanee possono essere create in schemi temporanei"
 
-#: catalog/namespace.c:2151
+#: catalog/namespace.c:2154
 #, c-format
 msgid "text search parser \"%s\" does not exist"
 msgstr "l'analizzatore di ricerca di testo \"%s\" non esiste"
 
-#: catalog/namespace.c:2277
+#: catalog/namespace.c:2280
 #, c-format
 msgid "text search dictionary \"%s\" does not exist"
 msgstr "il dizionario di ricerca di testo \"%s\" non esiste"
 
-#: catalog/namespace.c:2404
+#: catalog/namespace.c:2407
 #, c-format
 msgid "text search template \"%s\" does not exist"
 msgstr "il modello di ricerca di testo \"%s\" non esiste"
 
-#: catalog/namespace.c:2530 commands/tsearchcmds.c:1168
-#: utils/cache/ts_cache.c:616
+#: catalog/namespace.c:2533 commands/tsearchcmds.c:1197
+#: utils/cache/ts_cache.c:613
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "la configurazione di ricerca di testo \"%s\" non esiste"
 
-#: catalog/namespace.c:2643 parser/parse_expr.c:788 parser/parse_target.c:1110
+#: catalog/namespace.c:2646 parser/parse_expr.c:789 parser/parse_target.c:1130
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "i riferimenti tra database diversi non sono implementati: %s"
 
-#: catalog/namespace.c:2649 parser/parse_expr.c:795 parser/parse_target.c:1117
-#: gram.y:12556 gram.y:13788
+#: catalog/namespace.c:2652 parser/parse_expr.c:796 parser/parse_target.c:1137
+#: gram.y:13293 gram.y:14647
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "nome qualificato improprio (troppi nomi puntati): %s"
 
-#: catalog/namespace.c:2783
+#: catalog/namespace.c:2786
 #, c-format
 msgid "%s is already in schema \"%s\""
 msgstr "%s è già nello schema \"%s\""
 
-#: catalog/namespace.c:2791
+#: catalog/namespace.c:2794
 #, c-format
 msgid "cannot move objects into or out of temporary schemas"
 msgstr "non posso spostare oggetti dentro o fuori gli schemi temporanei"
 
-#: catalog/namespace.c:2797
+#: catalog/namespace.c:2800
 #, c-format
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "non posso spostare oggetti dentro o fuori lo schema TOAST"
 
-#: catalog/namespace.c:2870 commands/schemacmds.c:212
-#: commands/schemacmds.c:288 commands/tablecmds.c:708
+#: catalog/namespace.c:2873 commands/schemacmds.c:238
+#: commands/schemacmds.c:317 commands/tablecmds.c:732
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "lo schema \"%s\" non esiste"
 
-#: catalog/namespace.c:2901
+#: catalog/namespace.c:2904
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "nome di relazione improprio (troppi nomi puntati): %s"
 
-#: catalog/namespace.c:3342
+#: catalog/namespace.c:3369
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "l'ordinamento \"%s\" per la codifica \"%s\" non esiste"
 
-#: catalog/namespace.c:3397
+#: catalog/namespace.c:3424
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "la conversione \"%s\" non esiste"
 
-#: catalog/namespace.c:3605
+#: catalog/namespace.c:3632
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "permesso di creare tabelle temporanee nel database \"%s\" negato"
 
-#: catalog/namespace.c:3621
+#: catalog/namespace.c:3648
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "non è possibile creare tabelle temporanee durante il recupero"
 
-#: catalog/namespace.c:3865 commands/tablespace.c:1113 commands/variable.c:61
-#: replication/syncrep.c:677 utils/misc/guc.c:9034
+#: catalog/namespace.c:3654
+#, c-format
+msgid "cannot create temporary tables in parallel mode"
+msgstr "non è possibile creare tabelle temporanee in modalità parallela"
+
+#: catalog/namespace.c:3898 commands/tablespace.c:1158 commands/variable.c:62
+#: replication/syncrep.c:700 utils/misc/guc.c:9665
 #, c-format
 msgid "List syntax is invalid."
 msgstr "La sintassi della lista non è valida."
 
-#: catalog/objectaddress.c:732
+#: catalog/objectaddress.c:1021
 msgid "database name cannot be qualified"
 msgstr "il nome del database non può essere qualificato"
 
-#: catalog/objectaddress.c:735 commands/extension.c:2423
+#: catalog/objectaddress.c:1024 commands/extension.c:2423
 #, c-format
 msgid "extension name cannot be qualified"
 msgstr "il nome dell'estensione non può essere qualificato"
 
-#: catalog/objectaddress.c:738
+#: catalog/objectaddress.c:1027
 msgid "tablespace name cannot be qualified"
 msgstr "il nome del tablespace non può essere qualificato"
 
-#: catalog/objectaddress.c:741
+#: catalog/objectaddress.c:1030
 msgid "role name cannot be qualified"
 msgstr "il nome del ruolo non può essere qualificato"
 
-#: catalog/objectaddress.c:744
+#: catalog/objectaddress.c:1033
 msgid "schema name cannot be qualified"
 msgstr "il nome dello schema non può essere qualificato"
 
-#: catalog/objectaddress.c:747
+#: catalog/objectaddress.c:1036
 msgid "language name cannot be qualified"
 msgstr "il nome del linguaggio non può essere qualificato"
 
-#: catalog/objectaddress.c:750
+#: catalog/objectaddress.c:1039
 msgid "foreign-data wrapper name cannot be qualified"
 msgstr "il nome del wrapper di dati esterni non può essere qualificato"
 
-#: catalog/objectaddress.c:753
+#: catalog/objectaddress.c:1042
 msgid "server name cannot be qualified"
 msgstr "il nome del server non può essere qualificato"
 
-#: catalog/objectaddress.c:756
+#: catalog/objectaddress.c:1045
 msgid "event trigger name cannot be qualified"
 msgstr "il nome del trigger di evento non può essere qualificato"
 
-#: catalog/objectaddress.c:869 commands/lockcmds.c:94 commands/tablecmds.c:208
-#: commands/tablecmds.c:1263 commands/tablecmds.c:4130
-#: commands/tablecmds.c:7601
+#: catalog/objectaddress.c:1158 commands/lockcmds.c:94 commands/policy.c:92
+#: commands/policy.c:422 commands/tablecmds.c:214 commands/tablecmds.c:1291
+#: commands/tablecmds.c:4321 commands/tablecmds.c:7933
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "\"%s\" non è una tabella"
 
-#: catalog/objectaddress.c:876 commands/tablecmds.c:220
-#: commands/tablecmds.c:4154 commands/tablecmds.c:11249 commands/view.c:154
+#: catalog/objectaddress.c:1165 commands/tablecmds.c:226
+#: commands/tablecmds.c:4345 commands/tablecmds.c:11836 commands/view.c:155
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "\"%s\" non è una vista"
 
-#: catalog/objectaddress.c:883 commands/matview.c:171 commands/tablecmds.c:226
-#: commands/tablecmds.c:11254
+#: catalog/objectaddress.c:1172 commands/matview.c:174
+#: commands/tablecmds.c:232 commands/tablecmds.c:11841
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "\"%s\" non è una vista materializzata"
 
-#: catalog/objectaddress.c:890 commands/tablecmds.c:244
-#: commands/tablecmds.c:4157 commands/tablecmds.c:11259
+#: catalog/objectaddress.c:1179 commands/tablecmds.c:250
+#: commands/tablecmds.c:4348 commands/tablecmds.c:11846
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "\"%s\" non è una tabella esterna"
 
-#: catalog/objectaddress.c:1028
+#: catalog/objectaddress.c:1324 catalog/objectaddress.c:1377
 #, c-format
 msgid "column name must be qualified"
 msgstr "il nome della colonna deve essere qualificato"
 
-#: catalog/objectaddress.c:1083 commands/functioncmds.c:126
-#: commands/tablecmds.c:236 commands/typecmds.c:3253 parser/parse_type.c:222
-#: parser/parse_type.c:251 parser/parse_type.c:795 utils/adt/acl.c:4374
-#: utils/adt/regproc.c:1165
+#: catalog/objectaddress.c:1420
+#, c-format
+msgid "default value for column \"%s\" of relation \"%s\" does not exist"
+msgstr "il valore di default per la colonna \"%s\" della relazione \"%s\" non esiste"
+
+#: catalog/objectaddress.c:1460 commands/functioncmds.c:128
+#: commands/tablecmds.c:242 commands/typecmds.c:3210 parser/parse_type.c:227
+#: parser/parse_type.c:256 parser/parse_type.c:824 utils/adt/acl.c:4373
+#: utils/adt/regproc.c:1226
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "il tipo \"%s\" non esiste"
 
-#: catalog/objectaddress.c:1240 libpq/be-fsstubs.c:352
+#: catalog/objectaddress.c:1577
+#, c-format
+msgid "operator %d (%s, %s) of %s does not exist"
+msgstr "l'operatore %d (%s, %s) di %s non esiste"
+
+#: catalog/objectaddress.c:1606
+#, c-format
+msgid "function %d (%s, %s) of %s does not exist"
+msgstr "la funzione %d (%s, %s) di %s non esiste"
+
+#: catalog/objectaddress.c:1655 catalog/objectaddress.c:1681
+#, c-format
+msgid "user mapping for user \"%s\" in server \"%s\" does not exist"
+msgstr "la mappatura per l'utente \"%s\" nel server \"%s\" non esiste"
+
+#: catalog/objectaddress.c:1670 commands/foreigncmds.c:430
+#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359
+#: foreign/foreign.c:691
+#, c-format
+msgid "server \"%s\" does not exist"
+msgstr "il server \"%s\" non esiste"
+
+#: catalog/objectaddress.c:1742
+#, c-format
+msgid "unrecognized default ACL object type %c"
+msgstr "tipo di oggetto ACL di default %c non riconosciuto"
+
+#: catalog/objectaddress.c:1743
+#, c-format
+msgid "Valid object types are 'r', 'S', 'f', and 'T'."
+msgstr "I tipi di oggetti validi sono 'r', 'S', 'f' e 'T'"
+
+#: catalog/objectaddress.c:1789
+#, c-format
+msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist"
+msgstr "l'ACL di default per l'utente \"%s\" nello schema \"%s\" su %s non esiste"
+
+#: catalog/objectaddress.c:1794
+#, c-format
+msgid "default ACL for user \"%s\" on %s does not exist"
+msgstr "l'ACL di default per l'utente \"%s\" su %s non esiste"
+
+#: catalog/objectaddress.c:1821 catalog/objectaddress.c:1877
+#: catalog/objectaddress.c:1932
+#, c-format
+msgid "name or argument lists may not contain nulls"
+msgstr "il nome o la lista di argomenti non può contenere valori nulli"
+
+#: catalog/objectaddress.c:1853
+#, c-format
+msgid "unsupported object type \"%s\""
+msgstr "tipo di oggetto \"%s\" non supportato"
+
+#: catalog/objectaddress.c:1873 catalog/objectaddress.c:1891
+#, c-format
+msgid "name list length must be exactly %d"
+msgstr "la lunghezza della lista dei nomi dev'essere %d"
+
+#: catalog/objectaddress.c:1895
+#, c-format
+msgid "large object OID may not be null"
+msgstr "l'OID di large object non può essere nullo"
+
+#: catalog/objectaddress.c:1904
+#, c-format
+msgid "name list must be of length at least %d"
+msgstr "la lunghezza della lista dei nomi dev'essere almeno %d"
+
+#: catalog/objectaddress.c:1957 catalog/objectaddress.c:1977
+#, c-format
+msgid "argument list length must be exactly %d"
+msgstr "la lunghezza della lista degli argomenti deve essere %d"
+
+#: catalog/objectaddress.c:1964 catalog/objectaddress.c:1971
+#, c-format
+msgid "name list length must be at least %d"
+msgstr "la lunghezza della lista dei nomi deve essere almeno %d"
+
+#: catalog/objectaddress.c:2113 libpq/be-fsstubs.c:352
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "occorre essere proprietari del large object %u"
 
-#: catalog/objectaddress.c:1255 commands/functioncmds.c:1328
+#: catalog/objectaddress.c:2128 commands/functioncmds.c:1386
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "occorre essere proprietari del tipo %s o del tipo %s"
 
-#: catalog/objectaddress.c:1286 catalog/objectaddress.c:1302
+#: catalog/objectaddress.c:2168 catalog/objectaddress.c:2184
 #, c-format
 msgid "must be superuser"
 msgstr "occorre essere superutenti"
 
-#: catalog/objectaddress.c:1293
+#: catalog/objectaddress.c:2175
 #, c-format
 msgid "must have CREATEROLE privilege"
 msgstr "occorre avere privilegio CREATEROLE"
 
-#: catalog/objectaddress.c:1539
+#: catalog/objectaddress.c:2254
+#, c-format
+msgid "unrecognized object type \"%s\""
+msgstr "tipo di oggetto \"%s\" non riconosciuto"
+
+#: catalog/objectaddress.c:2449
 #, c-format
 msgid " column %s"
 msgstr " colonna %s"
 
-#: catalog/objectaddress.c:1545
+#: catalog/objectaddress.c:2455
 #, c-format
 msgid "function %s"
 msgstr "funzione %s"
 
-#: catalog/objectaddress.c:1550
+#: catalog/objectaddress.c:2460
 #, c-format
 msgid "type %s"
 msgstr "tipo %s"
 
-#: catalog/objectaddress.c:1580
+#: catalog/objectaddress.c:2490
 #, c-format
 msgid "cast from %s to %s"
 msgstr "conversione da %s a %s"
 
-#: catalog/objectaddress.c:1600
+#: catalog/objectaddress.c:2510
 #, c-format
 msgid "collation %s"
 msgstr "ordinamento %s"
 
-#: catalog/objectaddress.c:1624
+#: catalog/objectaddress.c:2534
 #, c-format
 msgid "constraint %s on %s"
 msgstr "vincolo %s su %s"
 
-#: catalog/objectaddress.c:1630
+#: catalog/objectaddress.c:2540
 #, c-format
 msgid "constraint %s"
 msgstr "vincolo %s"
 
-#: catalog/objectaddress.c:1647
+#: catalog/objectaddress.c:2557
 #, c-format
 msgid "conversion %s"
 msgstr "conversione %s"
 
-#: catalog/objectaddress.c:1684
+#: catalog/objectaddress.c:2594
 #, c-format
 msgid "default for %s"
 msgstr "predefinito per %s"
 
-#: catalog/objectaddress.c:1701
+#: catalog/objectaddress.c:2603
 #, c-format
 msgid "language %s"
 msgstr "linguaggio %s"
 
-#: catalog/objectaddress.c:1707
+#: catalog/objectaddress.c:2608
 #, c-format
 msgid "large object %u"
 msgstr "large object %u"
 
-#: catalog/objectaddress.c:1712
+#: catalog/objectaddress.c:2613
 #, c-format
 msgid "operator %s"
 msgstr "operatore %s"
 
-#: catalog/objectaddress.c:1744
+#: catalog/objectaddress.c:2645
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "classe di operatori %s per il metodo di accesso %s"
@@ -3303,7 +3854,7 @@ msgstr "classe di operatori %s per il metodo di accesso %s"
 #. first two %s's are data type names, the third %s is the
 #. description of the operator family, and the last %s is the
 #. textual form of the operator with arguments.
-#: catalog/objectaddress.c:1794
+#: catalog/objectaddress.c:2695
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "operatore %d (%s, %s) della %s: %s"
@@ -3312,162 +3863,172 @@ msgstr "operatore %d (%s, %s) della %s: %s"
 #. are data type names, the third %s is the description of the
 #. operator family, and the last %s is the textual form of the
 #. function with arguments.
-#: catalog/objectaddress.c:1844
+#: catalog/objectaddress.c:2745
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "funzione %d (%s, %s) della %s: %s"
 
-#: catalog/objectaddress.c:1884
+#: catalog/objectaddress.c:2785
 #, c-format
 msgid "rule %s on "
 msgstr "regola %s on "
 
-#: catalog/objectaddress.c:1919
+#: catalog/objectaddress.c:2807
+#, c-format
+msgid "transform for %s language %s"
+msgstr "trasformazione per %s linguaggio %s"
+
+#: catalog/objectaddress.c:2841
 #, c-format
 msgid "trigger %s on "
 msgstr "trigger %s su "
 
-#: catalog/objectaddress.c:1936
+#: catalog/objectaddress.c:2858
 #, c-format
 msgid "schema %s"
 msgstr "schema %s"
 
-#: catalog/objectaddress.c:1949
+#: catalog/objectaddress.c:2871
 #, c-format
 msgid "text search parser %s"
 msgstr "analizzatore di ricerca di testo %s"
 
-#: catalog/objectaddress.c:1964
+#: catalog/objectaddress.c:2886
 #, c-format
 msgid "text search dictionary %s"
 msgstr "dizionario di ricerca di testo %s"
 
-#: catalog/objectaddress.c:1979
+#: catalog/objectaddress.c:2901
 #, c-format
 msgid "text search template %s"
 msgstr "modello di ricerca di testo %s"
 
-#: catalog/objectaddress.c:1994
+#: catalog/objectaddress.c:2916
 #, c-format
 msgid "text search configuration %s"
 msgstr "configurazione di ricerca di testo %s"
 
-#: catalog/objectaddress.c:2002
+#: catalog/objectaddress.c:2924
 #, c-format
 msgid "role %s"
 msgstr "regola %s"
 
-#: catalog/objectaddress.c:2015
+#: catalog/objectaddress.c:2937
 #, c-format
 msgid "database %s"
 msgstr "database %s"
 
-#: catalog/objectaddress.c:2027
+#: catalog/objectaddress.c:2949
 #, c-format
 msgid "tablespace %s"
 msgstr "tablespace %s"
 
-#: catalog/objectaddress.c:2036
+#: catalog/objectaddress.c:2958
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "wrapper di dati esterni %s"
 
-#: catalog/objectaddress.c:2045
+#: catalog/objectaddress.c:2967
 #, c-format
 msgid "server %s"
 msgstr "server %s"
 
-#: catalog/objectaddress.c:2070
+#: catalog/objectaddress.c:2995
 #, c-format
-msgid "user mapping for %s"
-msgstr "mappatura utenti per %s"
+msgid "user mapping for %s on server %s"
+msgstr "mappatura utenti per %s sul server %s"
 
-#: catalog/objectaddress.c:2104
+#: catalog/objectaddress.c:3030
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "privilegi predefiniti sulle nuove relazioni appartenenti al ruolo %s"
 
-#: catalog/objectaddress.c:2109
+#: catalog/objectaddress.c:3035
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr "privilegi predefiniti sulle nuove sequenze appartenenti al ruolo %s"
 
-#: catalog/objectaddress.c:2114
+#: catalog/objectaddress.c:3040
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "privilegi predefiniti sulle nuove funzioni appartenenti al ruolo %s"
 
-#: catalog/objectaddress.c:2119
+#: catalog/objectaddress.c:3045
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "privilegi predefiniti sui nuovi tipi appartenenti al ruolo %s"
 
-#: catalog/objectaddress.c:2125
+#: catalog/objectaddress.c:3051
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "privilegi predefiniti appartenenti al ruolo %s"
 
-#: catalog/objectaddress.c:2133
+#: catalog/objectaddress.c:3059
 #, c-format
 msgid " in schema %s"
 msgstr " nello schema %s"
 
-#: catalog/objectaddress.c:2150
+#: catalog/objectaddress.c:3076
 #, c-format
 msgid "extension %s"
 msgstr "estensione %s"
 
-#: catalog/objectaddress.c:2163
+#: catalog/objectaddress.c:3089
 #, c-format
 msgid "event trigger %s"
 msgstr "trigger di evento %s"
 
-#: catalog/objectaddress.c:2223
+#: catalog/objectaddress.c:3121
+#, c-format
+msgid "policy %s on "
+msgstr "politica %s su "
+
+#: catalog/objectaddress.c:3184
 #, c-format
 msgid "table %s"
 msgstr "tabella %s"
 
-#: catalog/objectaddress.c:2227
+#: catalog/objectaddress.c:3188
 #, c-format
 msgid "index %s"
 msgstr "indice %s"
 
-#: catalog/objectaddress.c:2231
+#: catalog/objectaddress.c:3192
 #, c-format
 msgid "sequence %s"
 msgstr "sequenza %s"
 
-#: catalog/objectaddress.c:2235
+#: catalog/objectaddress.c:3196
 #, c-format
 msgid "toast table %s"
 msgstr "tabella toast %s"
 
-#: catalog/objectaddress.c:2239
+#: catalog/objectaddress.c:3200
 #, c-format
 msgid "view %s"
 msgstr "vista %s"
 
-#: catalog/objectaddress.c:2243
+#: catalog/objectaddress.c:3204
 #, c-format
 msgid "materialized view %s"
 msgstr "vista materializzata %s"
 
-#: catalog/objectaddress.c:2247
+#: catalog/objectaddress.c:3208
 #, c-format
 msgid "composite type %s"
 msgstr "tipo composito %s"
 
-#: catalog/objectaddress.c:2251
+#: catalog/objectaddress.c:3212
 #, c-format
 msgid "foreign table %s"
 msgstr "tabella esterna %s"
 
-#: catalog/objectaddress.c:2256
+#: catalog/objectaddress.c:3217
 #, c-format
 msgid "relation %s"
 msgstr "relazione %s"
 
-#: catalog/objectaddress.c:2293
+#: catalog/objectaddress.c:3254
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "famiglia di operatori %s per il metodo d'accesso %s"
@@ -3514,7 +4075,7 @@ msgstr "non si può omettere initval quando la funzione di transizione è strict
 msgid "return type of inverse transition function %s is not %s"
 msgstr "il tipo restituito dalla funzione di transizione inversa %s non è %s"
 
-#: catalog/pg_aggregate.c:344 executor/nodeWindowAgg.c:2301
+#: catalog/pg_aggregate.c:344 executor/nodeWindowAgg.c:2302
 #, c-format
 msgid "strictness of aggregate's forward and inverse transition functions must match"
 msgstr "le ristrettezze della trasformazione diretta ed inversa di un aggregato devono combaciare"
@@ -3524,7 +4085,7 @@ msgstr "le ristrettezze della trasformazione diretta ed inversa di un aggregato
 msgid "final function with extra arguments must not be declared STRICT"
 msgstr "la funzione finale con argomenti aggiuntivi non deve essere dichiarata STRICT"
 
-#: catalog/pg_aggregate.c:410 catalog/pg_proc.c:241 catalog/pg_proc.c:248
+#: catalog/pg_aggregate.c:410 catalog/pg_proc.c:245 catalog/pg_proc.c:252
 #, c-format
 msgid "cannot determine result data type"
 msgstr "non è possibile determinare il tipo di dati del risultato"
@@ -3534,12 +4095,12 @@ msgstr "non è possibile determinare il tipo di dati del risultato"
 msgid "An aggregate returning a polymorphic type must have at least one polymorphic argument."
 msgstr "Una funzione di aggregazione che restituisce un tipo polimorfico deve avere almeno un argomento polimorfico."
 
-#: catalog/pg_aggregate.c:423 catalog/pg_proc.c:254
+#: catalog/pg_aggregate.c:423 catalog/pg_proc.c:258
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "uso dello pseudo-tipo \"internal\" non sicuro"
 
-#: catalog/pg_aggregate.c:424 catalog/pg_proc.c:255
+#: catalog/pg_aggregate.c:424 catalog/pg_proc.c:259
 #, c-format
 msgid "A function returning \"internal\" must have at least one \"internal\" argument."
 msgstr "Una funzione che restituisce \"internal\" deve avere almeno un argomento \"internal\"."
@@ -3554,27 +4115,27 @@ msgstr "l'implementazione dell'aggregazione mobile restituisce il tipo %s ma l'i
 msgid "sort operator can only be specified for single-argument aggregates"
 msgstr "l'operatore di ordinamento può essere specificato sono per aggregati con un solo argomento"
 
-#: catalog/pg_aggregate.c:701 commands/typecmds.c:1657
-#: commands/typecmds.c:1708 commands/typecmds.c:1739 commands/typecmds.c:1762
-#: commands/typecmds.c:1783 commands/typecmds.c:1810 commands/typecmds.c:1837
-#: commands/typecmds.c:1914 commands/typecmds.c:1956 parser/parse_func.c:357
-#: parser/parse_func.c:386 parser/parse_func.c:411 parser/parse_func.c:425
-#: parser/parse_func.c:500 parser/parse_func.c:511 parser/parse_func.c:1907
+#: catalog/pg_aggregate.c:700 commands/typecmds.c:1702
+#: commands/typecmds.c:1753 commands/typecmds.c:1784 commands/typecmds.c:1807
+#: commands/typecmds.c:1828 commands/typecmds.c:1855 commands/typecmds.c:1882
+#: commands/typecmds.c:1959 commands/typecmds.c:2001 parser/parse_func.c:366
+#: parser/parse_func.c:395 parser/parse_func.c:420 parser/parse_func.c:434
+#: parser/parse_func.c:509 parser/parse_func.c:520 parser/parse_func.c:2064
 #, c-format
 msgid "function %s does not exist"
 msgstr "la funzione %s non esiste"
 
-#: catalog/pg_aggregate.c:707
+#: catalog/pg_aggregate.c:706
 #, c-format
 msgid "function %s returns a set"
 msgstr "la funzione %s restituisce un insieme"
 
-#: catalog/pg_aggregate.c:722
+#: catalog/pg_aggregate.c:721
 #, c-format
 msgid "function %s must accept VARIADIC ANY to be used in this aggregate"
 msgstr "la funzione %s deve accettare VARIADIC ANY per essere usata in questo aggregato"
 
-#: catalog/pg_aggregate.c:746
+#: catalog/pg_aggregate.c:745
 #, c-format
 msgid "function %s requires run-time type coercion"
 msgstr "la funzione %s richiede una coercizione di tipo a run-time"
@@ -3589,42 +4150,42 @@ msgstr "l'ordinamento \"%s\" per la codifica \"%s\" esiste già"
 msgid "collation \"%s\" already exists"
 msgstr "l'ordinamento \"%s\" esiste già"
 
-#: catalog/pg_constraint.c:659
+#: catalog/pg_constraint.c:661
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "il vincolo \"%s\" per il dominio %s esiste già"
 
-#: catalog/pg_constraint.c:811
+#: catalog/pg_constraint.c:813
 #, c-format
 msgid "table \"%s\" has multiple constraints named \"%s\""
 msgstr "la tabella \"%s\" ha più di un vincolo di nome \"%s\""
 
-#: catalog/pg_constraint.c:823
+#: catalog/pg_constraint.c:825
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "il vincolo \"%s\" per la tabella \"%s\" non esiste"
 
-#: catalog/pg_constraint.c:869
+#: catalog/pg_constraint.c:871
 #, c-format
 msgid "domain \"%s\" has multiple constraints named \"%s\""
 msgstr "il dominio \"%s\" ha più di un vincolo di nome \"%s\""
 
-#: catalog/pg_constraint.c:881
+#: catalog/pg_constraint.c:883
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" does not exist"
 msgstr "il vincolo \"%s\" per la il dominio \"%s\" non esiste"
 
-#: catalog/pg_conversion.c:67
+#: catalog/pg_conversion.c:66
 #, c-format
 msgid "conversion \"%s\" already exists"
 msgstr "la conversione \"%s\" esiste già"
 
-#: catalog/pg_conversion.c:80
+#: catalog/pg_conversion.c:79
 #, c-format
 msgid "default conversion for %s to %s already exists"
 msgstr "la conversione predefinita da %s a %s esiste già"
 
-#: catalog/pg_depend.c:165 commands/extension.c:2926
+#: catalog/pg_depend.c:165 commands/extension.c:2945
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "%s fa già parte dell'estensione \"%s\""
@@ -3659,175 +4220,180 @@ msgstr "l'etichetta di enum \"%s\" esiste già"
 msgid "\"%s\" is not an existing enum label"
 msgstr "\"%s\" non è un'etichetta enumerata esistente"
 
-#: catalog/pg_enum.c:354
+#: catalog/pg_enum.c:349
+#, c-format
+msgid "pg_enum OID value not set when in binary upgrade mode"
+msgstr "valore di OID di pg_enum non impostato in modalità di aggiornamento binario"
+
+#: catalog/pg_enum.c:359
 #, c-format
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr "ALTER TYPE ADD BEFORE/AFTER non è compatibile con gli aggiornamenti binari"
 
-#: catalog/pg_namespace.c:61 commands/schemacmds.c:220
+#: catalog/pg_namespace.c:61 commands/schemacmds.c:246
 #, c-format
 msgid "schema \"%s\" already exists"
 msgstr "lo schema \"%s\" esiste già"
 
-#: catalog/pg_operator.c:222 catalog/pg_operator.c:362
+#: catalog/pg_operator.c:222 catalog/pg_operator.c:363
 #, c-format
 msgid "\"%s\" is not a valid operator name"
 msgstr "\"%s\" non è un nome di operatore valido"
 
-#: catalog/pg_operator.c:371
+#: catalog/pg_operator.c:372
 #, c-format
 msgid "only binary operators can have commutators"
 msgstr "solo gli operatori binari possono avere commutatori"
 
-#: catalog/pg_operator.c:375
+#: catalog/pg_operator.c:376
 #, c-format
 msgid "only binary operators can have join selectivity"
 msgstr "solo gli operatori binari possono avere selettività di unione"
 
-#: catalog/pg_operator.c:379
+#: catalog/pg_operator.c:380
 #, c-format
 msgid "only binary operators can merge join"
 msgstr "solo gli operatori binari possono fare dei merge-join"
 
-#: catalog/pg_operator.c:383
+#: catalog/pg_operator.c:384
 #, c-format
 msgid "only binary operators can hash"
 msgstr "solo gli operatori binari possono supportare l'hash"
 
-#: catalog/pg_operator.c:394
+#: catalog/pg_operator.c:395
 #, c-format
 msgid "only boolean operators can have negators"
 msgstr "solo gli operatori booleani possono avere un negatore"
 
-#: catalog/pg_operator.c:398
+#: catalog/pg_operator.c:399
 #, c-format
 msgid "only boolean operators can have restriction selectivity"
 msgstr "solo gli operatori booleani possono avere restrizione di selettività"
 
-#: catalog/pg_operator.c:402
+#: catalog/pg_operator.c:403
 #, c-format
 msgid "only boolean operators can have join selectivity"
 msgstr "solo gli operatori booleani possono avere selettività di unione"
 
-#: catalog/pg_operator.c:406
+#: catalog/pg_operator.c:407
 #, c-format
 msgid "only boolean operators can merge join"
 msgstr "solo gli operatori booleani possono fare dei merge-join"
 
-#: catalog/pg_operator.c:410
+#: catalog/pg_operator.c:411
 #, c-format
 msgid "only boolean operators can hash"
 msgstr "solo gli operatori booleani possono supportare l'hash"
 
-#: catalog/pg_operator.c:422
+#: catalog/pg_operator.c:423
 #, c-format
 msgid "operator %s already exists"
 msgstr "l'operatore %s esiste già "
 
-#: catalog/pg_operator.c:615
+#: catalog/pg_operator.c:616
 #, c-format
 msgid "operator cannot be its own negator or sort operator"
 msgstr "l'operatore non può negare o ordinare se stesso"
 
-#: catalog/pg_proc.c:129 parser/parse_func.c:1931 parser/parse_func.c:1971
+#: catalog/pg_proc.c:133 parser/parse_func.c:2088 parser/parse_func.c:2128
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
 msgstr[0] "le funzioni non possono avere più di %d argomento"
 msgstr[1] "le funzioni non possono avere più di %d argomenti"
 
-#: catalog/pg_proc.c:242
+#: catalog/pg_proc.c:246
 #, c-format
 msgid "A function returning a polymorphic type must have at least one polymorphic argument."
 msgstr "Una funzione che restituisce un tipo polimorfico deve avere almeno un argomento polimorfico."
 
-#: catalog/pg_proc.c:249
+#: catalog/pg_proc.c:253
 #, c-format
 msgid "A function returning \"anyrange\" must have at least one \"anyrange\" argument."
 msgstr "Una funzione che restituisce \"anyrange\" deve avere almeno un argomento \"anyrange\"."
 
-#: catalog/pg_proc.c:267
+#: catalog/pg_proc.c:271
 #, c-format
 msgid "\"%s\" is already an attribute of type %s"
 msgstr "\"%s\" è già un attributo del tipo %s"
 
-#: catalog/pg_proc.c:393
+#: catalog/pg_proc.c:401
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "la funzione \"%s\" esiste già, con gli stessi tipi di argomenti"
 
-#: catalog/pg_proc.c:407 catalog/pg_proc.c:430
+#: catalog/pg_proc.c:415 catalog/pg_proc.c:438
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "non è possibile cambiare il tipo restituito da una funzione esistente"
 
-#: catalog/pg_proc.c:408 catalog/pg_proc.c:432 catalog/pg_proc.c:475
-#: catalog/pg_proc.c:499 catalog/pg_proc.c:526
+#: catalog/pg_proc.c:416 catalog/pg_proc.c:440 catalog/pg_proc.c:483
+#: catalog/pg_proc.c:507 catalog/pg_proc.c:534
 #, c-format
 msgid "Use DROP FUNCTION %s first."
 msgstr "Usa prima DROP FUNCTION %s."
 
-#: catalog/pg_proc.c:431
+#: catalog/pg_proc.c:439
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "Il tipo della riga definito dai parametri di OUT è diverso."
 
-#: catalog/pg_proc.c:473
+#: catalog/pg_proc.c:481
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "non è possibile cambiare nome del parametro di ingresso \"%s\""
 
-#: catalog/pg_proc.c:498
+#: catalog/pg_proc.c:506
 #, c-format
 msgid "cannot remove parameter defaults from existing function"
 msgstr "non è possibile rimuovere i valori predefiniti dei parametri da funzioni esistenti"
 
-#: catalog/pg_proc.c:525
+#: catalog/pg_proc.c:533
 #, c-format
 msgid "cannot change data type of existing parameter default value"
 msgstr "non è possibile cambiare tipo di dati dei valori predefiniti di parametri esistenti"
 
-#: catalog/pg_proc.c:538
+#: catalog/pg_proc.c:546
 #, c-format
 msgid "function \"%s\" is an aggregate function"
 msgstr "la funzione \"%s\" è una funzione di aggregazione"
 
-#: catalog/pg_proc.c:543
+#: catalog/pg_proc.c:551
 #, c-format
 msgid "function \"%s\" is not an aggregate function"
 msgstr "la funzione \"%s\" non è una funzione di aggregazione"
 
-#: catalog/pg_proc.c:551
+#: catalog/pg_proc.c:559
 #, c-format
 msgid "function \"%s\" is a window function"
 msgstr "la funzione \"%s\" è una funzione finestra"
 
-#: catalog/pg_proc.c:556
+#: catalog/pg_proc.c:564
 #, c-format
 msgid "function \"%s\" is not a window function"
 msgstr "la funzione \"%s\" non è una funzione finestra"
 
-#: catalog/pg_proc.c:746
+#: catalog/pg_proc.c:772
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "non c'è nessuna funzione predefinita chiamata \"%s\""
 
-#: catalog/pg_proc.c:844
+#: catalog/pg_proc.c:870
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "Le funzioni SQL non possono restituire il tipo %s"
 
-#: catalog/pg_proc.c:859
+#: catalog/pg_proc.c:885
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "le funzioni SQL non possono avere argomenti di tipo %s"
 
-#: catalog/pg_proc.c:945 executor/functions.c:1418
+#: catalog/pg_proc.c:971 executor/functions.c:1421
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "funzione SQL \"%s\""
 
-#: catalog/pg_shdepend.c:691
+#: catalog/pg_shdepend.c:692
 #, c-format
 msgid ""
 "\n"
@@ -3842,82 +4408,87 @@ msgstr[1] ""
 "\n"
 "ed oggetti in %d altri database (guarda il log per la lista)"
 
-#: catalog/pg_shdepend.c:1003
+#: catalog/pg_shdepend.c:1004
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "la regola %u è stata eliminata concorrentemente"
 
-#: catalog/pg_shdepend.c:1022
+#: catalog/pg_shdepend.c:1023
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "Il tablespace %u è stato eliminato concorrentemente"
 
-#: catalog/pg_shdepend.c:1037
+#: catalog/pg_shdepend.c:1038
 #, c-format
 msgid "database %u was concurrently dropped"
 msgstr "Il database %u è stato eliminato concorrentemente"
 
-#: catalog/pg_shdepend.c:1081
+#: catalog/pg_shdepend.c:1083
 #, c-format
 msgid "owner of %s"
 msgstr "proprietario di %s"
 
-#: catalog/pg_shdepend.c:1083
+#: catalog/pg_shdepend.c:1085
 #, c-format
 msgid "privileges for %s"
 msgstr "privilegi per %s"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1091
+#: catalog/pg_shdepend.c:1093
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
 msgstr[0] "%d oggetto nel %s"
 msgstr[1] "%d oggetti nel %s"
 
-#: catalog/pg_shdepend.c:1202
+#: catalog/pg_shdepend.c:1204
 #, c-format
 msgid "cannot drop objects owned by %s because they are required by the database system"
 msgstr "non è possibile eliminare oggetti di proprietà di %s perché richiesti dal database"
 
-#: catalog/pg_shdepend.c:1305
+#: catalog/pg_shdepend.c:1307
 #, c-format
 msgid "cannot reassign ownership of objects owned by %s because they are required by the database system"
 msgstr "non è possibile modificare il proprietario degli oggetti di proprietà di %s perché richiesti dal database"
 
-#: catalog/pg_type.c:244
+#: catalog/pg_type.c:136 catalog/pg_type.c:454
+#, c-format
+msgid "pg_type OID value not set when in binary upgrade mode"
+msgstr "valore di OID di pg_type non impostato in modalità di aggiornamento binaria"
+
+#: catalog/pg_type.c:253
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "dimensione interna del tipo %d non valida"
 
-#: catalog/pg_type.c:260 catalog/pg_type.c:268 catalog/pg_type.c:276
-#: catalog/pg_type.c:285
+#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285
+#: catalog/pg_type.c:294
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr "l'allineamento \"%c\" non è valido per tipi passati per valore di grandezza %d"
 
-#: catalog/pg_type.c:292
+#: catalog/pg_type.c:301
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
 msgstr "la dimensione interna %d non è valida per tipi passati per valore"
 
-#: catalog/pg_type.c:301 catalog/pg_type.c:307
+#: catalog/pg_type.c:310 catalog/pg_type.c:316
 #, c-format
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "l'allineamento \"%c\" non è valido per il tipi a lunghezza variabile"
 
-#: catalog/pg_type.c:315
+#: catalog/pg_type.c:324
 #, c-format
 msgid "fixed-size types must have storage PLAIN"
 msgstr "i tipi a dimensione fissa devono avere immagazzinamento PLAIN"
 
-#: catalog/pg_type.c:773
+#: catalog/pg_type.c:789
 #, c-format
 msgid "could not form array type name for type \"%s\""
 msgstr "creazione del nome per il tipo array del tipo \"%s\" fallita"
 
-#: catalog/toasting.c:104 commands/indexcmds.c:380 commands/tablecmds.c:4139
-#: commands/tablecmds.c:11137
+#: catalog/toasting.c:104 commands/indexcmds.c:381 commands/tablecmds.c:4330
+#: commands/tablecmds.c:11724
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "\"%s\" non è una tabella né una vista materializzata"
@@ -3997,221 +4568,231 @@ msgstr "il basetype è ridondante se il tipo di input è specificato per un aggr
 msgid "aggregate transition data type cannot be %s"
 msgstr "il tipo di dato della transizione dell'aggregato non può essere %s"
 
-#: commands/alter.c:79 commands/event_trigger.c:194
+#: commands/alter.c:80 commands/event_trigger.c:230
 #, c-format
 msgid "event trigger \"%s\" already exists"
 msgstr "il trigger di evento \"%s\" esiste già"
 
-#: commands/alter.c:82 commands/foreigncmds.c:544
+#: commands/alter.c:83 commands/foreigncmds.c:597
 #, c-format
 msgid "foreign-data wrapper \"%s\" already exists"
 msgstr "il wrapper di dati esterni \"%s\" esiste già"
 
-#: commands/alter.c:85 commands/foreigncmds.c:838
+#: commands/alter.c:86 commands/foreigncmds.c:890
 #, c-format
 msgid "server \"%s\" already exists"
 msgstr "il server \"%s\" esiste già"
 
-#: commands/alter.c:88 commands/proclang.c:356
+#: commands/alter.c:89 commands/proclang.c:363
 #, c-format
 msgid "language \"%s\" already exists"
 msgstr "il linguaggio \"%s\" esiste già"
 
-#: commands/alter.c:111
+#: commands/alter.c:112
 #, c-format
 msgid "conversion \"%s\" already exists in schema \"%s\""
 msgstr "la conversione \"%s\" già esiste nello schema \"%s\""
 
-#: commands/alter.c:115
+#: commands/alter.c:116
 #, c-format
 msgid "text search parser \"%s\" already exists in schema \"%s\""
 msgstr "l'analizzatore di ricerca di testo \"%s\" esiste già nello schema \"%s\""
 
-#: commands/alter.c:119
+#: commands/alter.c:120
 #, c-format
 msgid "text search dictionary \"%s\" already exists in schema \"%s\""
 msgstr "il dizionario di ricerca di testo \"%s\" esiste già nello schema \"%s\""
 
-#: commands/alter.c:123
+#: commands/alter.c:124
 #, c-format
 msgid "text search template \"%s\" already exists in schema \"%s\""
 msgstr "il modello di ricerca di testo \"%s\" esiste già nello schema \"%s\""
 
-#: commands/alter.c:127
+#: commands/alter.c:128
 #, c-format
 msgid "text search configuration \"%s\" already exists in schema \"%s\""
 msgstr "la configurazione di ricerca di testo \"%s\" esiste già nello schema \"%s\""
 
-#: commands/alter.c:201
+#: commands/alter.c:202
 #, c-format
 msgid "must be superuser to rename %s"
 msgstr "occorre essere un superutente per rinominare %s"
 
-#: commands/alter.c:585
+#: commands/alter.c:609
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "occorre essere un superutente per impostare lo schema di %s"
 
-#: commands/analyze.c:157
+#: commands/analyze.c:145
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "analisi di \"%s\" saltata --- lock non disponibile"
 
-#: commands/analyze.c:174
+#: commands/analyze.c:162
 #, c-format
 msgid "skipping \"%s\" --- only superuser can analyze it"
 msgstr "\"%s\" saltato --- solo un superutente può analizzarlo"
 
-#: commands/analyze.c:178
+#: commands/analyze.c:166
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can analyze it"
 msgstr "\"%s\" saltato --- solo un superutente o il proprietario del database possono analizzarlo."
 
-#: commands/analyze.c:182
+#: commands/analyze.c:170
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can analyze it"
 msgstr "\"%s\" saltato --- solo il proprietario del database o della tabella possono analizzarlo"
 
-#: commands/analyze.c:242
+#: commands/analyze.c:230
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "\"%s\" saltato --- non è possibile analizzare questa tabella esterna"
 
-#: commands/analyze.c:253
+#: commands/analyze.c:241
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
 msgstr "\"%s\" saltato --- non è possibile analizzare non-tabelle o le tabelle speciali di sistema"
 
-#: commands/analyze.c:332
+#: commands/analyze.c:320
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "analisi dell'albero di ereditarietà di \"%s.%s\""
 
-#: commands/analyze.c:337
+#: commands/analyze.c:325
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "analisi di \"%s.%s\""
 
-#: commands/analyze.c:657
+#: commands/analyze.c:645
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
 msgstr "analisi automatica della tabella \"%s.%s.%s\" uso del sistema: %s"
 
-#: commands/analyze.c:1300
+#: commands/analyze.c:1201
 #, 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 "\"%s\": esaminate %d pagine su %u, contenenti %.0f righe vive e %.0f righe morte; %d righe nel campione, %.0f righe totali stimate"
 
-#: commands/analyze.c:1564 executor/execQual.c:2904
+#: commands/analyze.c:1280
+#, c-format
+msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables"
+msgstr "analyze dell'albero di ereditarietà \"%s.%s\" saltato --- questo albero non ha tabelle figlie"
+
+#: commands/analyze.c:1369
+#, c-format
+msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables"
+msgstr "analyze dell'albero di ereditarietà \"%s.%s\" saltato --- questo albero non ha tabelle figlie analizzabili"
+
+#: commands/analyze.c:1417 executor/execQual.c:2899
 msgid "could not convert row type"
 msgstr "conversione del tipo riga fallita"
 
-#: commands/async.c:545
+#: commands/async.c:543
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "Il nome del canale non può essere vuoto"
 
-#: commands/async.c:550
+#: commands/async.c:548
 #, c-format
 msgid "channel name too long"
 msgstr "il nome del canale è troppo lungo"
 
-#: commands/async.c:557
+#: commands/async.c:555
 #, c-format
 msgid "payload string too long"
 msgstr "la stringa del carico è troppo lunga"
 
-#: commands/async.c:742
+#: commands/async.c:741
 #, c-format
 msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY"
 msgstr "non è possibile eseguire PREPARE in una transazione che ha eseguito LISTEN, UNLISTEN o NOTIFY"
 
-#: commands/async.c:845
+#: commands/async.c:844
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "troppe notifiche nella coda di NOTIFY"
 
-#: commands/async.c:1418
+#: commands/async.c:1417
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la coda di NOTIFY è piena al %.0f%%"
 
-#: commands/async.c:1420
+#: commands/async.c:1419
 #, c-format
 msgid "The server process with PID %d is among those with the oldest transactions."
 msgstr "Il processo server con PID %d è tra quelli con le transazioni più vecchie."
 
-#: commands/async.c:1423
+#: commands/async.c:1422
 #, c-format
 msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction."
 msgstr "La coda di NOTIFY non può essere svuotata finché quel processo non avrà terminato la sua transazione corrente."
 
-#: commands/cluster.c:126 commands/cluster.c:363
+#: commands/cluster.c:127 commands/cluster.c:364
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "non è possibile raggruppare tabelle temporanee di altre sessioni"
 
-#: commands/cluster.c:156
+#: commands/cluster.c:157
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "non esiste un indice già raggruppato per la tabella \"%s\""
 
-#: commands/cluster.c:170 commands/tablecmds.c:8795 commands/tablecmds.c:10461
+#: commands/cluster.c:171 commands/tablecmds.c:9169 commands/tablecmds.c:10866
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "l'indice \"%s\" per la tabella \"%s\" non esiste"
 
-#: commands/cluster.c:352
+#: commands/cluster.c:353
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "non è possibile raggruppare un catalogo condiviso"
 
-#: commands/cluster.c:367
+#: commands/cluster.c:368
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "non è possibile ripulire tabelle temporanee di altre sessioni"
 
-#: commands/cluster.c:430 commands/tablecmds.c:10471
+#: commands/cluster.c:431 commands/tablecmds.c:10876
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "\"%s\" non è un indice per la tabella \"%s\""
 
-#: commands/cluster.c:438
+#: commands/cluster.c:439
 #, c-format
 msgid "cannot cluster on index \"%s\" because access method does not support clustering"
 msgstr "non è possibile raggruppare sull'indice \"%s\" perché il metodo di accesso non supporta il raggruppamento"
 
-#: commands/cluster.c:450
+#: commands/cluster.c:451
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "non è possibile raggruppare sull'indice parziale \"%s\""
 
-#: commands/cluster.c:464
+#: commands/cluster.c:465
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "non è possibile raggruppare sull'indice non valido \"%s\""
 
-#: commands/cluster.c:920
+#: commands/cluster.c:918
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "raggruppamento di \"%s.%s\" usando una scansione sull'indice \"%s\""
 
-#: commands/cluster.c:926
+#: commands/cluster.c:924
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "raggruppamento di \"%s.%s\" usando una scansione sequenziale e ordinamento"
 
-#: commands/cluster.c:931 commands/vacuumlazy.c:445
+#: commands/cluster.c:929 commands/vacuumlazy.c:464
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "pulizia di \"%s.%s\""
 
-#: commands/cluster.c:1090
+#: commands/cluster.c:1088
 #, c-format
 msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
 msgstr "\"%s\": trovate %.0f versioni di riga removibili, %.0f non removibili in %u pagine"
 
-#: commands/cluster.c:1094
+#: commands/cluster.c:1092
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -4220,51 +4801,51 @@ msgstr ""
 "%.0f versioni di riga morte non possono ancora essere rimosse.\n"
 "%s."
 
-#: commands/collationcmds.c:79
+#: commands/collationcmds.c:80
 #, c-format
 msgid "collation attribute \"%s\" not recognized"
 msgstr "attributo dell'ordinamento \"%s\" non riconosciuto"
 
-#: commands/collationcmds.c:124
+#: commands/collationcmds.c:125
 #, c-format
 msgid "parameter \"lc_collate\" must be specified"
 msgstr "il parametro \"lc_collate\" deve essere specificato"
 
-#: commands/collationcmds.c:129
+#: commands/collationcmds.c:130
 #, c-format
 msgid "parameter \"lc_ctype\" must be specified"
 msgstr "il parametro \"lc_ctype\" deve essere specificato"
 
-#: commands/collationcmds.c:163
+#: commands/collationcmds.c:166
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\""
 msgstr "l'ordinamento \"%s\" per la codifica \"%s\" già esiste nello schema \"%s\""
 
-#: commands/collationcmds.c:174
+#: commands/collationcmds.c:177
 #, c-format
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "l'ordinamento \"%s\" già esiste nello schema \"%s\""
 
-#: commands/comment.c:62 commands/dbcommands.c:775 commands/dbcommands.c:939
-#: commands/dbcommands.c:1042 commands/dbcommands.c:1234
-#: commands/dbcommands.c:1423 commands/dbcommands.c:1518
-#: commands/dbcommands.c:1935 utils/init/postinit.c:794
-#: utils/init/postinit.c:862 utils/init/postinit.c:879
+#: commands/comment.c:62 commands/dbcommands.c:797 commands/dbcommands.c:962
+#: commands/dbcommands.c:1067 commands/dbcommands.c:1257
+#: commands/dbcommands.c:1477 commands/dbcommands.c:1594
+#: commands/dbcommands.c:2011 utils/init/postinit.c:837
+#: utils/init/postinit.c:939 utils/init/postinit.c:956
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "il database \"%s\" non esiste"
 
-#: commands/comment.c:101 commands/seclabel.c:114 parser/parse_utilcmd.c:686
+#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:727
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, composite type, or foreign table"
 msgstr "\"%s\" non è una tabella, vista, vista materializzata, tipo composito né una tabella esterna"
 
-#: commands/constraint.c:60 utils/adt/ri_triggers.c:2699
+#: commands/constraint.c:60 utils/adt/ri_triggers.c:2713
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "la funzione \"%s\" non è stata invocata dal trigger manager"
 
-#: commands/constraint.c:67 utils/adt/ri_triggers.c:2708
+#: commands/constraint.c:67 utils/adt/ri_triggers.c:2722
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "la funzione \"%s\" deve essere eseguita AFTER ROW"
@@ -4289,691 +4870,721 @@ msgstr "la codifica di destinazione \"%s\" non esiste"
 msgid "encoding conversion function %s must return type \"void\""
 msgstr "la funzioni di conversione dell'encoding %s deve restituire il tipo \"void\""
 
-#: commands/copy.c:360 commands/copy.c:372 commands/copy.c:406
-#: commands/copy.c:416
+#: commands/copy.c:365 commands/copy.c:377 commands/copy.c:411
+#: commands/copy.c:423
 #, c-format
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPY BINARY non è supportato verso stdout o da stdin"
 
-#: commands/copy.c:514
+#: commands/copy.c:523
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "scrittura nel programma COPY fallita: %m"
 
-#: commands/copy.c:519
+#: commands/copy.c:528
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "scrittura nel file COPY fallita: %m"
 
-#: commands/copy.c:532
+#: commands/copy.c:541
 #, c-format
 msgid "connection lost during COPY to stdout"
 msgstr "connessione persa durante COPY verso stdout"
 
-#: commands/copy.c:573
+#: commands/copy.c:582
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "lettura dal file COPY fallita: %m"
 
-#: commands/copy.c:589 commands/copy.c:608 commands/copy.c:612
-#: tcop/fastpath.c:293 tcop/postgres.c:342 tcop/postgres.c:378
+#: commands/copy.c:598 commands/copy.c:619 commands/copy.c:623
+#: tcop/postgres.c:352 tcop/postgres.c:388 tcop/postgres.c:415
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "fine-file inaspettato sulla connessione del client con una transazione aperta"
 
-#: commands/copy.c:624
+#: commands/copy.c:636
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "COPY da stdin fallita: %s"
 
-#: commands/copy.c:640
+#: commands/copy.c:652
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "messaggio del tipo inaspettato 0x%02X durante COPY da stdin"
 
-#: commands/copy.c:794
+#: commands/copy.c:808
 #, c-format
 msgid "must be superuser to COPY to or from an external program"
 msgstr "occorre essere un superutente per effettuare COPY da o verso un programma esterno"
 
-#: commands/copy.c:795 commands/copy.c:801
+#: commands/copy.c:809 commands/copy.c:815
 #, c-format
 msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone."
 msgstr "Chiunque può eseguire COPY verso stdout e da stdin. Anche il comando \\copy di psql funziona per chiunque."
 
-#: commands/copy.c:800
+#: commands/copy.c:814
 #, c-format
 msgid "must be superuser to COPY to or from a file"
 msgstr "bisogna essere un superutente per eseguire un COPY da o verso un file"
 
-#: commands/copy.c:936
+#: commands/copy.c:880
+#, c-format
+msgid "COPY FROM not supported with row level security."
+msgstr "COPY FROM non supportato con questo livello di sicurezza di righe."
+
+#: commands/copy.c:881
+#, c-format
+msgid "Use direct INSERT statements instead."
+msgstr "Usa istruzioni INSERT dirette invece."
+
+#: commands/copy.c:1012
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "Formato di COPY \"%s\" non riconosciuto"
 
-#: commands/copy.c:1007 commands/copy.c:1021 commands/copy.c:1035
-#: commands/copy.c:1055
+#: commands/copy.c:1083 commands/copy.c:1097 commands/copy.c:1111
+#: commands/copy.c:1131
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "l'argomento dell'opzione \"%s\" dev'essere una lista di nomi di colonne"
 
-#: commands/copy.c:1068
+#: commands/copy.c:1144
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "l'argomento dell'opzione \"%s\" dev'essere un nome di codifica valido"
 
-#: commands/copy.c:1074
+#: commands/copy.c:1150 commands/dbcommands.c:232 commands/dbcommands.c:1427
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "opzione \"%s\" non riconosciuta"
 
-#: commands/copy.c:1085
+#: commands/copy.c:1161
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "non è possibile specificare DELIMITER in BINARY mode"
 
-#: commands/copy.c:1090
+#: commands/copy.c:1166
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "non è possibile specificare NULL in BINARY mode"
 
-#: commands/copy.c:1112
+#: commands/copy.c:1188
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "il delimitatore di COPY deve essere un solo carattere di un solo byte"
 
-#: commands/copy.c:1119
+#: commands/copy.c:1195
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "Il delimitatore di COPY non può essere una \"nuova riga\" o un \"ritorno carrello\""
 
-#: commands/copy.c:1125
+#: commands/copy.c:1201
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr "la rappresentazione dei null in COPY non può usare \"nuova riga\" o \"ritorno carrello\""
 
-#: commands/copy.c:1142
+#: commands/copy.c:1218
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "il delimitatore di COPY non può essere \"%s\""
 
-#: commands/copy.c:1148
+#: commands/copy.c:1224
 #, c-format
 msgid "COPY HEADER available only in CSV mode"
 msgstr "l'HEADER di COPY è disponibile solo in modalità CSV"
 
-#: commands/copy.c:1154
+#: commands/copy.c:1230
 #, c-format
 msgid "COPY quote available only in CSV mode"
 msgstr "il quoting di COPY è disponibile solo in modalità CSV"
 
-#: commands/copy.c:1159
+#: commands/copy.c:1235
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "il quote di COPY dev'essere un solo carattere di un byte"
 
-#: commands/copy.c:1164
+#: commands/copy.c:1240
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "il delimitatore e il quote di COPY devono essere diversi"
 
-#: commands/copy.c:1170
+#: commands/copy.c:1246
 #, c-format
 msgid "COPY escape available only in CSV mode"
 msgstr "l'escape di COPY è disponibile solo in modalità CSV"
 
-#: commands/copy.c:1175
+#: commands/copy.c:1251
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "l'escape di COPY deve essere un solo carattere di un byte"
 
-#: commands/copy.c:1181
+#: commands/copy.c:1257
 #, c-format
 msgid "COPY force quote available only in CSV mode"
 msgstr "il \"force quote\" di COPY è disponibile solo in modalità CSV"
 
-#: commands/copy.c:1185
+#: commands/copy.c:1261
 #, c-format
 msgid "COPY force quote only available using COPY TO"
 msgstr "il \"force quote\" di COPY è disponibile solo in modalità CSV"
 
-#: commands/copy.c:1191
+#: commands/copy.c:1267
 #, c-format
 msgid "COPY force not null available only in CSV mode"
 msgstr "il \"force not null\" di COPY è disponibile solo in modalità CSV"
 
-#: commands/copy.c:1195
+#: commands/copy.c:1271
 #, c-format
 msgid "COPY force not null only available using COPY FROM"
 msgstr "il \"force not null\" di COPY è disponibile solo in COPY FROM"
 
-#: commands/copy.c:1201
+#: commands/copy.c:1277
 #, c-format
 msgid "COPY force null available only in CSV mode"
 msgstr "il \"force null\" di COPY è disponibile solo in modalità CSV"
 
-#: commands/copy.c:1206
+#: commands/copy.c:1282
 #, c-format
 msgid "COPY force null only available using COPY FROM"
 msgstr "il \"force null\" di COPY è disponibile solo usando COPY FROM"
 
-#: commands/copy.c:1212
+#: commands/copy.c:1288
 #, c-format
 msgid "COPY delimiter must not appear in the NULL specification"
 msgstr "il delimitatore di COPY non deve apparire nella specificazione di NULL"
 
-#: commands/copy.c:1219
+#: commands/copy.c:1295
 #, c-format
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "Il carattere quote del CSV non deve apparire nella specificazione di NULL"
 
-#: commands/copy.c:1281
+#: commands/copy.c:1358
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "la tabella \"%s\" non ha OID"
 
-#: commands/copy.c:1298
+#: commands/copy.c:1375
 #, c-format
 msgid "COPY (SELECT) WITH OIDS is not supported"
 msgstr "COPY (SELECT) WITH OIDS non è supportata"
 
-#: commands/copy.c:1324
+#: commands/copy.c:1401
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) non è supportata"
 
-#: commands/copy.c:1387
+#: commands/copy.c:1431
+#, c-format
+msgid "relation referenced by COPY statement has changed"
+msgstr "la relazione referenziata dall'istruzione COPY è cambiata"
+
+#: commands/copy.c:1489
 #, c-format
 msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
 msgstr "la colonna FORCE QUOTE \"%s\" non è referenziata da COPY"
 
-#: commands/copy.c:1409
+#: commands/copy.c:1511
 #, c-format
 msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
 msgstr "la colonna FORCE NOT NULL \"%s\" non è referenziata da COPY"
 
-#: commands/copy.c:1431
+#: commands/copy.c:1533
 #, c-format
 msgid "FORCE NULL column \"%s\" not referenced by COPY"
 msgstr "la colonna FORCE NULL \"%s\" non è referenziata da COPY"
 
-#: commands/copy.c:1495
+#: commands/copy.c:1597
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "chiusura della pipe per verso il comando esterno fallita: %m"
 
-#: commands/copy.c:1498
+#: commands/copy.c:1600
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "programma \"%s\" fallito"
 
-#: commands/copy.c:1547
+#: commands/copy.c:1650
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "non è possibile copiare dalla vista \"%s\""
 
-#: commands/copy.c:1549 commands/copy.c:1555 commands/copy.c:1561
+#: commands/copy.c:1652 commands/copy.c:1658 commands/copy.c:1664
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Prova la variante COPY (SELECT ...) TO."
 
-#: commands/copy.c:1553
+#: commands/copy.c:1656
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "non è possibile copiare dalla vista materializzata \"%s\""
 
-#: commands/copy.c:1559
+#: commands/copy.c:1662
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "non è possibile copiare dalla tabella esterna \"%s\""
 
-#: commands/copy.c:1565
+#: commands/copy.c:1668
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "non è possibile copiare dalla sequenza \"%s\""
 
-#: commands/copy.c:1570
+#: commands/copy.c:1673
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "non è possibile copiare dalla relazione \"%s\" perché non è una tabella"
 
-#: commands/copy.c:1593 commands/copy.c:2616
+#: commands/copy.c:1697 commands/copy.c:2731
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "esecuzione del comando \"%s\" fallita: %m"
 
-#: commands/copy.c:1608
+#: commands/copy.c:1712
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "i percorsi relativi non sono consentiti per il COPY verso un file"
 
-#: commands/copy.c:1616
+#: commands/copy.c:1720
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "apertura del file \"%s\" in scrittura fallita: %m"
 
-#: commands/copy.c:1623 commands/copy.c:2634
+#: commands/copy.c:1729 commands/copy.c:2751
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "\"%s\" è una directory"
 
-#: commands/copy.c:1948
+#: commands/copy.c:2054
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, riga %d, colonna %s"
 
-#: commands/copy.c:1952 commands/copy.c:1999
+#: commands/copy.c:2058 commands/copy.c:2105
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, riga %d"
 
-#: commands/copy.c:1963
+#: commands/copy.c:2069
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, riga %d, colonna %s: \"%s\""
 
-#: commands/copy.c:1971
+#: commands/copy.c:2077
 #, c-format
 msgid "COPY %s, line %d, column %s: null input"
 msgstr "COPY %s, riga %d, colonna %s: input nullo"
 
-#: commands/copy.c:1993
+#: commands/copy.c:2099
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, riga %d: \"%s\""
 
-#: commands/copy.c:2077
+#: commands/copy.c:2183
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "non è possibile copiare verso la vista \"%s\""
 
-#: commands/copy.c:2082
+#: commands/copy.c:2188
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "non è possibile copiare verso la vista materializzata \"%s\""
 
-#: commands/copy.c:2087
+#: commands/copy.c:2193
 #, c-format
 msgid "cannot copy to foreign table \"%s\""
 msgstr "non è possibile copiare verso la tabella esterna \"%s\""
 
-#: commands/copy.c:2092
+#: commands/copy.c:2198
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "non è possibile copiare verso sequenza \"%s\""
 
-#: commands/copy.c:2097
+#: commands/copy.c:2203
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "non è possibile copiare verso la relazione \"%s\" perché non è una tabella"
 
-#: commands/copy.c:2160
+#: commands/copy.c:2266
 #, c-format
 msgid "cannot perform FREEZE because of prior transaction activity"
 msgstr "non è possibile eseguire FREEZE a causa di precedente attività della transazione"
 
-#: commands/copy.c:2166
+#: commands/copy.c:2272
 #, c-format
 msgid "cannot perform FREEZE because the table was not created or truncated in the current subtransaction"
 msgstr "non è possibile eseguire FREEZE perché la tabella non è stata creata o troncata nella sottotransazione corrente"
 
-#: commands/copy.c:2627 utils/adt/genfile.c:123
+#: commands/copy.c:2742 commands/extension.c:3037 utils/adt/genfile.c:134
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "apertura del file \"%s\" in lettura fallita: %m"
 
-#: commands/copy.c:2654
+#: commands/copy.c:2771
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "formato del file COPY non riconosciuto"
 
-#: commands/copy.c:2659
+#: commands/copy.c:2776
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "intestazione del file COPY non valida (flag mancanti)"
 
-#: commands/copy.c:2665
+#: commands/copy.c:2782
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "alcune flag critici non sono stati riconosciuti nell'intestazione del file COPY"
 
-#: commands/copy.c:2671
+#: commands/copy.c:2788
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "intestazione del file COPY non valida (manca la lunghezza)"
 
-#: commands/copy.c:2678
+#: commands/copy.c:2795
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "intestazione del file COPY non valida (lunghezza errata)"
 
-#: commands/copy.c:2811 commands/copy.c:3518 commands/copy.c:3748
+#: commands/copy.c:2928 commands/copy.c:3635 commands/copy.c:3865
 #, c-format
 msgid "extra data after last expected column"
 msgstr "ci sono dati in eccesso dopo l'ultima colonna attesa"
 
-#: commands/copy.c:2821
+#: commands/copy.c:2938
 #, c-format
 msgid "missing data for OID column"
 msgstr "dati per la colonna OID mancanti"
 
-#: commands/copy.c:2827
+#: commands/copy.c:2944
 #, c-format
 msgid "null OID in COPY data"
 msgstr "OID nullo nei dati da COPY"
 
-#: commands/copy.c:2837 commands/copy.c:2960
+#: commands/copy.c:2954 commands/copy.c:3077
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "OID non valido nei dati da COPY"
 
-#: commands/copy.c:2852
+#: commands/copy.c:2969
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "dati mancanti per la colonna \"%s\""
 
-#: commands/copy.c:2935
+#: commands/copy.c:3052
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "dati da copiare ricevuti dopo il segnalatore di fine file"
 
-#: commands/copy.c:2942
+#: commands/copy.c:3059
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "il numero di campi è %d, ne erano attesi %d"
 
-#: commands/copy.c:3282 commands/copy.c:3299
+#: commands/copy.c:3399 commands/copy.c:3416
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "\"ritorno carrello\" trovato nei dati"
 
-#: commands/copy.c:3283 commands/copy.c:3300
+#: commands/copy.c:3400 commands/copy.c:3417
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "\"ritorno carrello\" non quotato trovato nei dati"
 
-#: commands/copy.c:3285 commands/copy.c:3302
+#: commands/copy.c:3402 commands/copy.c:3419
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Usa \"\\r\" per rappresentare i caratteri \"ritorno carrello\"."
 
-#: commands/copy.c:3286 commands/copy.c:3303
+#: commands/copy.c:3403 commands/copy.c:3420
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Usa un campo CSV quotato per rappresentare i caratteri \"ritorno carrello\"."
 
-#: commands/copy.c:3315
+#: commands/copy.c:3432
 #, c-format
 msgid "literal newline found in data"
 msgstr "\"nuova riga\" letterale trovato nei dati"
 
-#: commands/copy.c:3316
+#: commands/copy.c:3433
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "\"nuova riga\" non quotato trovato nei dati"
 
-#: commands/copy.c:3318
+#: commands/copy.c:3435
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Usa \"\\n\" per rappresentare i caratteri \"nuova riga\"."
 
-#: commands/copy.c:3319
+#: commands/copy.c:3436
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Usa un campo CSV quotato per rappresentare i caratteri \"nuova riga\"."
 
-#: commands/copy.c:3365 commands/copy.c:3401
+#: commands/copy.c:3482 commands/copy.c:3518
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "il marcatore di fine copia non combacia con il precedente stile \"nuova riga\""
 
-#: commands/copy.c:3374 commands/copy.c:3390
+#: commands/copy.c:3491 commands/copy.c:3507
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "il marcatore di fine copia è corrotto"
 
-#: commands/copy.c:3832
+#: commands/copy.c:3949
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "campo CSV tra virgolette non terminato"
 
-#: commands/copy.c:3909 commands/copy.c:3928
+#: commands/copy.c:4026 commands/copy.c:4045
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "fine file inattesa dei dati da COPY"
 
-#: commands/copy.c:3918
+#: commands/copy.c:4035
 #, c-format
 msgid "invalid field size"
 msgstr "dimensione del campo non valida"
 
-#: commands/copy.c:3941
+#: commands/copy.c:4058
 #, c-format
 msgid "incorrect binary data format"
 msgstr "formato di dati binari non corretto"
 
-#: commands/copy.c:4252 commands/indexcmds.c:993 commands/tablecmds.c:1427
-#: commands/tablecmds.c:2237 parser/parse_relation.c:2889
-#: utils/adt/tsvector_op.c:1417
+#: commands/copy.c:4369 commands/indexcmds.c:1008 commands/tablecmds.c:1455
+#: commands/tablecmds.c:2278 parser/parse_relation.c:3078
+#: parser/parse_relation.c:3098 utils/adt/tsvector_op.c:1417
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "la colonna \"%s\" non esiste"
 
-#: commands/copy.c:4259 commands/tablecmds.c:1453 commands/trigger.c:644
-#: parser/parse_target.c:936 parser/parse_target.c:947
+#: commands/copy.c:4376 commands/tablecmds.c:1481 commands/trigger.c:652
+#: parser/parse_target.c:956 parser/parse_target.c:967
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "la colonna \"%s\" è stata specificata più di una volta"
 
-#: commands/createas.c:353
+#: commands/createas.c:383
 #, c-format
 msgid "too many column names were specified"
 msgstr "troppi nomi di colonne specificati"
 
-#: commands/dbcommands.c:203
+#: commands/createas.c:452
+#, c-format
+msgid "policies not yet implemented for this command"
+msgstr "politiche per questo comando non ancora implementate"
+
+#: commands/dbcommands.c:226
 #, c-format
 msgid "LOCATION is not supported anymore"
 msgstr "LOCATION non è più supportato"
 
-#: commands/dbcommands.c:204
+#: commands/dbcommands.c:227
 #, c-format
 msgid "Consider using tablespaces instead."
 msgstr "Puoi prendere in considerazione l'uso dei tablespace."
 
-#: commands/dbcommands.c:227 utils/adt/ascii.c:144
+#: commands/dbcommands.c:251 utils/adt/ascii.c:144
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr "%d non è un codice di codifica valido"
 
-#: commands/dbcommands.c:237 utils/adt/ascii.c:126
+#: commands/dbcommands.c:261 utils/adt/ascii.c:126
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr "%s non è un nome di codifica valido"
 
-#: commands/dbcommands.c:255 commands/dbcommands.c:1404 commands/user.c:260
-#: commands/user.c:601
+#: commands/dbcommands.c:279 commands/dbcommands.c:1458 commands/user.c:271
+#: commands/user.c:642
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "limite di connessioni non valido: %d"
 
-#: commands/dbcommands.c:274
+#: commands/dbcommands.c:298
 #, c-format
 msgid "permission denied to create database"
 msgstr "permesso di creare il database negato"
 
-#: commands/dbcommands.c:297
+#: commands/dbcommands.c:321
 #, c-format
 msgid "template database \"%s\" does not exist"
 msgstr "il modello di database \"%s\" non esiste"
 
-#: commands/dbcommands.c:309
+#: commands/dbcommands.c:333
 #, c-format
 msgid "permission denied to copy database \"%s\""
 msgstr "permesso di copiare il database \"%s\" negato"
 
-#: commands/dbcommands.c:325
+#: commands/dbcommands.c:349
 #, c-format
 msgid "invalid server encoding %d"
 msgstr "codifica del server non valida: %d"
 
-#: commands/dbcommands.c:331 commands/dbcommands.c:336
+#: commands/dbcommands.c:355 commands/dbcommands.c:360
 #, c-format
 msgid "invalid locale name: \"%s\""
 msgstr "nome locale non valido \"%s\""
 
-#: commands/dbcommands.c:356
+#: commands/dbcommands.c:380
 #, c-format
 msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)"
 msgstr "la nuova codifica (%s) è incompatibile con la codifica del modello di database (%s)"
 
-#: commands/dbcommands.c:359
+#: commands/dbcommands.c:383
 #, c-format
 msgid "Use the same encoding as in the template database, or use template0 as template."
 msgstr "Usa la stessa codifica del modello di database, o usa template0 come modello."
 
-#: commands/dbcommands.c:364
+#: commands/dbcommands.c:388
 #, c-format
 msgid "new collation (%s) is incompatible with the collation of the template database (%s)"
 msgstr "il nuovo ordinamento (%s) non è compatibile con l'ordinamento del modello del database (%s)"
 
-#: commands/dbcommands.c:366
+#: commands/dbcommands.c:390
 #, c-format
 msgid "Use the same collation as in the template database, or use template0 as template."
 msgstr "Usa lo stesso ordinamento del modello di database, o usa template0 come modello."
 
-#: commands/dbcommands.c:371
+#: commands/dbcommands.c:395
 #, c-format
 msgid "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)"
 msgstr "il nuovo LC_CTYPE (%s) è incompatibile con l'LC_CTYPE del modello del database (%s)"
 
-#: commands/dbcommands.c:373
+#: commands/dbcommands.c:397
 #, c-format
 msgid "Use the same LC_CTYPE as in the template database, or use template0 as template."
 msgstr "Usa lo stesso LC_CTYPE del modello di database, o usa template0 come modello."
 
-#: commands/dbcommands.c:395 commands/dbcommands.c:1088
+#: commands/dbcommands.c:419 commands/dbcommands.c:1113
 #, c-format
 msgid "pg_global cannot be used as default tablespace"
 msgstr "pg_global non può essere usato come tablespace predefinito"
 
-#: commands/dbcommands.c:421
+#: commands/dbcommands.c:445
 #, c-format
 msgid "cannot assign new default tablespace \"%s\""
 msgstr "non è possibile assegnare il nuovo tablespace predefinito \"%s\""
 
-#: commands/dbcommands.c:423
+#: commands/dbcommands.c:447
 #, c-format
 msgid "There is a conflict because database \"%s\" already has some tables in this tablespace."
 msgstr "C'è un conflitto perché il database \"%s\" ha già alcune tabelle in questo tablespace."
 
-#: commands/dbcommands.c:443 commands/dbcommands.c:959
+#: commands/dbcommands.c:467 commands/dbcommands.c:982
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "il database \"%s\" esiste già"
 
-#: commands/dbcommands.c:457
+#: commands/dbcommands.c:481
 #, c-format
 msgid "source database \"%s\" is being accessed by other users"
 msgstr "il database sorgente \"%s\" ha attualmente altri utenti collegati"
 
-#: commands/dbcommands.c:704 commands/dbcommands.c:719
+#: commands/dbcommands.c:726 commands/dbcommands.c:741
 #, c-format
 msgid "encoding \"%s\" does not match locale \"%s\""
 msgstr "la codifica \"%s\" non corrisponde al locale \"%s\""
 
-#: commands/dbcommands.c:707
+#: commands/dbcommands.c:729
 #, c-format
 msgid "The chosen LC_CTYPE setting requires encoding \"%s\"."
 msgstr "L'impostazione LC_CTYPE scelta richiede la codifica \"%s\"."
 
-#: commands/dbcommands.c:722
+#: commands/dbcommands.c:744
 #, c-format
 msgid "The chosen LC_COLLATE setting requires encoding \"%s\"."
 msgstr "L'impostazione LC_COLLATE scelta richiede la codifica \"%s\"."
 
-#: commands/dbcommands.c:782
+#: commands/dbcommands.c:804
 #, c-format
 msgid "database \"%s\" does not exist, skipping"
 msgstr "il database \"%s\" non esiste, saltato"
 
-#: commands/dbcommands.c:806
+#: commands/dbcommands.c:828
 #, c-format
 msgid "cannot drop a template database"
 msgstr "non è possibile eliminare un modello di database"
 
-#: commands/dbcommands.c:812
+#: commands/dbcommands.c:834
 #, c-format
 msgid "cannot drop the currently open database"
 msgstr "non si può eliminare il database aperto attualmente"
 
-#: commands/dbcommands.c:822
+#: commands/dbcommands.c:844
 #, c-format
 msgid "database \"%s\" is used by a logical replication slot"
 msgstr "il database \"%s\" è usato da uno slot di replica logica"
 
-#: commands/dbcommands.c:824
+#: commands/dbcommands.c:846
 #, c-format
 msgid "There is %d slot, %d of them active."
 msgid_plural "There are %d slots, %d of them active."
 msgstr[0] "Ci sono %d slot, di cui %d attivi."
 msgstr[1] "Ci sono %d slot, di cui %d attivi."
 
-#: commands/dbcommands.c:838 commands/dbcommands.c:981
-#: commands/dbcommands.c:1110
+#: commands/dbcommands.c:860 commands/dbcommands.c:1004
+#: commands/dbcommands.c:1135
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "il database \"%s\" è attualmente utilizzato da altri utenti"
 
-#: commands/dbcommands.c:950
+#: commands/dbcommands.c:973
 #, c-format
 msgid "permission denied to rename database"
 msgstr "permesso di rinominare il database negato"
 
-#: commands/dbcommands.c:970
+#: commands/dbcommands.c:993
 #, c-format
 msgid "current database cannot be renamed"
 msgstr "il database corrente non può essere rinominato"
 
-#: commands/dbcommands.c:1066
+#: commands/dbcommands.c:1091
 #, c-format
 msgid "cannot change the tablespace of the currently open database"
 msgstr "non è possibile cambiare il tablespace del database attualmente aperto"
 
-#: commands/dbcommands.c:1169
+#: commands/dbcommands.c:1194
 #, c-format
 msgid "some relations of database \"%s\" are already in tablespace \"%s\""
 msgstr "alcune relazioni del database \"%s\" sono già nel tablespace \"%s\""
 
-#: commands/dbcommands.c:1171
+#: commands/dbcommands.c:1196
 #, c-format
 msgid "You must move them back to the database's default tablespace before using this command."
 msgstr "Occorre spostarle di nuovo nel tablespace di default del database prima di usare questo comando."
 
-#: commands/dbcommands.c:1302 commands/dbcommands.c:1790
-#: commands/dbcommands.c:1996 commands/dbcommands.c:2044
-#: commands/tablespace.c:604
+#: commands/dbcommands.c:1325 commands/dbcommands.c:1868
+#: commands/dbcommands.c:2072 commands/dbcommands.c:2120
+#: commands/tablespace.c:605
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr "alcuni file inutili possono essere stati lasciati nella vecchia directory del database \"%s\""
 
-#: commands/dbcommands.c:1558
+#: commands/dbcommands.c:1440
+#, c-format
+msgid "option \"%s\" cannot be specified with other options"
+msgstr "l'opzione \"%s\" non può essere specificata con altre opzioni"
+
+#: commands/dbcommands.c:1494
+#, c-format
+msgid "cannot disallow connections for current database"
+msgstr "non è possibile rifiutare connessioni per il database corrente"
+
+#: commands/dbcommands.c:1634
 #, c-format
 msgid "permission denied to change owner of database"
 msgstr "permesso di cambiare il proprietario del database negato"
 
-#: commands/dbcommands.c:1879
+#: commands/dbcommands.c:1955
 #, c-format
 msgid "There are %d other session(s) and %d prepared transaction(s) using the database."
 msgstr "Ci sono altre %d sessioni e %d transazioni preparate che stanno usando il database."
 
-#: commands/dbcommands.c:1882
+#: commands/dbcommands.c:1958
 #, c-format
 msgid "There is %d other session using the database."
 msgid_plural "There are %d other sessions using the database."
 msgstr[0] "Ci sono %d altra sessione che sta usando il database."
 msgstr[1] "Ci sono altre %d sessioni che stanno usando il database."
 
-#: commands/dbcommands.c:1887
+#: commands/dbcommands.c:1963
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
@@ -5017,8 +5628,8 @@ msgstr "l'argomento di %s deve essere il nome di un tipo"
 msgid "invalid argument for %s: \"%s\""
 msgstr "argomento non valido per %s: \"%s\""
 
-#: commands/dropcmds.c:112 commands/functioncmds.c:1110
-#: utils/adt/ruleutils.c:1936
+#: commands/dropcmds.c:112 commands/functioncmds.c:1166
+#: utils/adt/ruleutils.c:1951
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "\"%s\" è una funzione di aggregazione"
@@ -5028,389 +5639,414 @@ msgstr "\"%s\" è una funzione di aggregazione"
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Usa DROP AGGREGATE per rimuovere le funzioni di aggregazione."
 
-#: commands/dropcmds.c:165 commands/sequence.c:400 commands/tablecmds.c:2318
-#: commands/tablecmds.c:2499 commands/tablecmds.c:10625 tcop/utility.c:1006
+#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2365
+#: commands/tablecmds.c:2516 commands/tablecmds.c:2558
+#: commands/tablecmds.c:11207 tcop/utility.c:1104
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "la relazione \"%s\" non esiste, saltata"
 
-#: commands/dropcmds.c:195 commands/dropcmds.c:288 commands/tablecmds.c:713
+#: commands/dropcmds.c:195 commands/dropcmds.c:292 commands/tablecmds.c:737
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "lo schema \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:237 commands/dropcmds.c:269 commands/tablecmds.c:237
+#: commands/dropcmds.c:237 commands/dropcmds.c:272 commands/tablecmds.c:243
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "il tipo \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:276
+#: commands/dropcmds.c:280
 #, c-format
 msgid "collation \"%s\" does not exist, skipping"
 msgstr "l'ordinamento \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:283
+#: commands/dropcmds.c:287
 #, c-format
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "la conversione \"%s\" non esiste, saltata"
 
-#: commands/dropcmds.c:294
+#: commands/dropcmds.c:298
 #, c-format
 msgid "text search parser \"%s\" does not exist, skipping"
 msgstr "l'analizzatore di ricerca di testo \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:301
+#: commands/dropcmds.c:305
 #, c-format
 msgid "text search dictionary \"%s\" does not exist, skipping"
 msgstr "il dizionario di ricerca di testo \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:308
+#: commands/dropcmds.c:312
 #, c-format
 msgid "text search template \"%s\" does not exist, skipping"
 msgstr "il modello di ricerca di testo \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:315
+#: commands/dropcmds.c:319
 #, c-format
 msgid "text search configuration \"%s\" does not exist, skipping"
 msgstr "la combinazione di ricerca di testo \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:320
+#: commands/dropcmds.c:324
 #, c-format
 msgid "extension \"%s\" does not exist, skipping"
 msgstr "l'estensione \"%s\" non esiste, saltata"
 
-#: commands/dropcmds.c:327
+#: commands/dropcmds.c:331
 #, c-format
 msgid "function %s(%s) does not exist, skipping"
 msgstr "la funzione %s(%s) non esiste, saltata"
 
-#: commands/dropcmds.c:336
+#: commands/dropcmds.c:340
 #, c-format
 msgid "aggregate %s(%s) does not exist, skipping"
 msgstr "la funzione di aggregazione %s(%s) non esiste, saltato"
 
-#: commands/dropcmds.c:345
+#: commands/dropcmds.c:349
 #, c-format
 msgid "operator %s does not exist, skipping"
 msgstr "l'operatore %s non esiste, saltato"
 
-#: commands/dropcmds.c:350
+#: commands/dropcmds.c:354
 #, c-format
 msgid "language \"%s\" does not exist, skipping"
 msgstr "il linguaggio \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:359
+#: commands/dropcmds.c:363
 #, c-format
 msgid "cast from type %s to type %s does not exist, skipping"
 msgstr "la conversione dal tipo %s al tipo %s non esiste, saltata"
 
-#: commands/dropcmds.c:368
+#: commands/dropcmds.c:372
+#, c-format
+msgid "transform for type %s language \"%s\" does not exist, skipping"
+msgstr "la trasformazione per il tipo %s linguaggio \"%s\" non esiste, saltata"
+
+#: commands/dropcmds.c:380
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "il trigger \"%s\" per la relazione \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:375
+#: commands/dropcmds.c:389
+#, c-format
+msgid "policy \"%s\" for relation \"%s\" does not exist, skipping"
+msgstr "la politica \"%s\" per la relazione \"%s\" non esiste, saltata"
+
+#: commands/dropcmds.c:396
 #, c-format
 msgid "event trigger \"%s\" does not exist, skipping"
 msgstr "il trigger di evento \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:381
+#: commands/dropcmds.c:402
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "la regola \"%s\" per la relazione \"%s\" non esiste, saltata"
 
-#: commands/dropcmds.c:388
+#: commands/dropcmds.c:409
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "il wrapper di dati remoti \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:392
+#: commands/dropcmds.c:413
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "il server \"%s\" non esiste, saltato"
 
-#: commands/dropcmds.c:398
+#: commands/dropcmds.c:422
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "la classe di operatori \"%s\" non esiste per il metodo di accesso \"%s\", saltata"
 
-#: commands/dropcmds.c:406
+#: commands/dropcmds.c:434
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "la famiglia di operatori \"%s\" non esiste per il metodo di accesso \"%s\", saltata"
 
-#: commands/event_trigger.c:149
+#: commands/event_trigger.c:181
 #, c-format
 msgid "permission denied to create event trigger \"%s\""
 msgstr "permesso di creare il trigger di evento \"%s\" negato"
 
-#: commands/event_trigger.c:151
+#: commands/event_trigger.c:183
 #, c-format
 msgid "Must be superuser to create an event trigger."
 msgstr "Solo un superutente può creare un trigger di evento."
 
-#: commands/event_trigger.c:159
+#: commands/event_trigger.c:192
 #, c-format
 msgid "unrecognized event name \"%s\""
 msgstr "nome dell'evento \"%s\" sconosciuto"
 
-#: commands/event_trigger.c:176
+#: commands/event_trigger.c:209
 #, c-format
 msgid "unrecognized filter variable \"%s\""
 msgstr "variabile filtro \"%s\" sconosciuta"
 
-#: commands/event_trigger.c:203
+#: commands/event_trigger.c:239
 #, c-format
 msgid "function \"%s\" must return type \"event_trigger\""
 msgstr "la funzione \"%s\" deve restituire il tipo \"event_trigger\""
 
-#: commands/event_trigger.c:228
+#: commands/event_trigger.c:264
 #, c-format
 msgid "filter value \"%s\" not recognized for filter variable \"%s\""
 msgstr "valore del filtro \"%s\" sconosciuto per la variabile filtro \"%s\""
 
 #. translator: %s represents an SQL statement name
-#: commands/event_trigger.c:234
+#: commands/event_trigger.c:270 commands/event_trigger.c:340
 #, c-format
 msgid "event triggers are not supported for %s"
 msgstr "trigger di eventi non supportati per %s"
 
-#: commands/event_trigger.c:289
+#: commands/event_trigger.c:363
 #, c-format
 msgid "filter variable \"%s\" specified more than once"
 msgstr "la variabile filtro \"%s\" è specificata più di una volta"
 
-#: commands/event_trigger.c:437 commands/event_trigger.c:480
-#: commands/event_trigger.c:571
+#: commands/event_trigger.c:511 commands/event_trigger.c:555
+#: commands/event_trigger.c:648
 #, c-format
 msgid "event trigger \"%s\" does not exist"
 msgstr "il trigger di evento \"%s\" non esiste"
 
-#: commands/event_trigger.c:539
+#: commands/event_trigger.c:616
 #, c-format
 msgid "permission denied to change owner of event trigger \"%s\""
 msgstr "permesso di cambiare il proprietario del trigger di evento \"%s\" negato"
 
-#: commands/event_trigger.c:541
+#: commands/event_trigger.c:618
 #, c-format
 msgid "The owner of an event trigger must be a superuser."
 msgstr "Il proprietario di un trigger di evento deve essere un superutente."
 
-#: commands/event_trigger.c:1219
+#: commands/event_trigger.c:1448
 #, c-format
 msgid "%s can only be called in a sql_drop event trigger function"
 msgstr "%s può essere chiamata solo in una funzione trigger di evento sql_drop"
 
-#: commands/event_trigger.c:1226 commands/extension.c:1646
-#: commands/extension.c:1755 commands/extension.c:1948 commands/prepare.c:702
-#: executor/execQual.c:1739 executor/execQual.c:1764 executor/execQual.c:2139
-#: executor/execQual.c:5315 executor/functions.c:1018 foreign/foreign.c:421
-#: replication/logical/logicalfuncs.c:310 replication/slotfuncs.c:173
-#: replication/walsender.c:2746 utils/adt/jsonfuncs.c:1386
-#: utils/adt/jsonfuncs.c:1518 utils/adt/jsonfuncs.c:1708
-#: utils/adt/jsonfuncs.c:1837 utils/adt/jsonfuncs.c:2601
-#: utils/fmgr/funcapi.c:61 utils/mmgr/portalmem.c:986
+#: commands/event_trigger.c:1455 commands/event_trigger.c:2006
+#: commands/extension.c:1645 commands/extension.c:1754
+#: commands/extension.c:1947 commands/prepare.c:701 executor/execQual.c:1734
+#: executor/execQual.c:1759 executor/execQual.c:2134 executor/execQual.c:5374
+#: executor/functions.c:1021 foreign/foreign.c:491
+#: replication/logical/logicalfuncs.c:312 replication/logical/origin.c:1407
+#: replication/slotfuncs.c:173 replication/walsender.c:2742
+#: utils/adt/jsonfuncs.c:1419 utils/adt/jsonfuncs.c:1551
+#: utils/adt/jsonfuncs.c:1741 utils/adt/jsonfuncs.c:1870
+#: utils/adt/jsonfuncs.c:2638 utils/adt/pgstatfuncs.c:547
+#: utils/fmgr/funcapi.c:61 utils/misc/guc.c:8236 utils/mmgr/portalmem.c:986
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr "la funzione che restituisce insiemi è chiamata in un contesto che non può accettare un insieme"
 
-#: commands/event_trigger.c:1230 commands/extension.c:1650
-#: commands/extension.c:1759 commands/extension.c:1952 commands/prepare.c:706
-#: foreign/foreign.c:426 replication/logical/logicalfuncs.c:314
-#: replication/slotfuncs.c:177 replication/walsender.c:2750
+#: commands/event_trigger.c:1459 commands/event_trigger.c:2010
+#: commands/extension.c:1649 commands/extension.c:1758
+#: commands/extension.c:1951 commands/prepare.c:705 foreign/foreign.c:496
+#: replication/logical/logicalfuncs.c:316 replication/logical/origin.c:1411
+#: replication/slotfuncs.c:177 replication/walsender.c:2746
+#: utils/adt/pgstatfuncs.c:551 utils/misc/guc.c:8240
 #: utils/mmgr/portalmem.c:990
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "necessaria modalità materializzata, ma non ammessa in questo contesto"
 
-#: commands/explain.c:169
+#: commands/event_trigger.c:1568 commands/event_trigger.c:1589
+#, c-format
+msgid "%s can only be called in a table_rewrite event trigger function"
+msgstr "%s può essere chiamata solo in una funzione trigger di evento table_rewrite"
+
+#: commands/event_trigger.c:1999
+#, c-format
+msgid "%s can only be called in an event trigger function"
+msgstr "%s può essere chiamata solo in una funzione trigger di evento"
+
+#: commands/explain.c:182
 #, c-format
 msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgstr "valore sconosciuto per l'opzione di EXPLAIN \"%s\": \"%s\""
 
-#: commands/explain.c:175
+#: commands/explain.c:188
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "opzione di EXPLAIN non riconosciuta \"%s\""
 
-#: commands/explain.c:182
+#: commands/explain.c:195
 #, c-format
 msgid "EXPLAIN option BUFFERS requires ANALYZE"
 msgstr "l'opzione BUFFERS di EXPLAIN richiede ANALYZE"
 
-#: commands/explain.c:191
+#: commands/explain.c:204
 #, c-format
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "l'opzione TIMING di EXPLAIN richiede ANALYZE"
 
-#: commands/extension.c:148 commands/extension.c:2628
+#: commands/extension.c:152 commands/extension.c:2635
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "l'estensione \"%s\" non esiste"
 
-#: commands/extension.c:247 commands/extension.c:256 commands/extension.c:268
-#: commands/extension.c:278
+#: commands/extension.c:251 commands/extension.c:260 commands/extension.c:272
+#: commands/extension.c:282
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "nome di estensione non valido: \"%s\""
 
-#: commands/extension.c:248
+#: commands/extension.c:252
 #, c-format
 msgid "Extension names must not be empty."
 msgstr "I nomi delle estensioni non possono essere vuoti."
 
-#: commands/extension.c:257
+#: commands/extension.c:261
 #, c-format
 msgid "Extension names must not contain \"--\"."
 msgstr "I nomi delle estensioni non possono contenere \"--\"."
 
-#: commands/extension.c:269
+#: commands/extension.c:273
 #, c-format
 msgid "Extension names must not begin or end with \"-\"."
 msgstr "I nomi delle estensioni non possono iniziare o finire con \"-\"."
 
-#: commands/extension.c:279
+#: commands/extension.c:283
 #, c-format
 msgid "Extension names must not contain directory separator characters."
 msgstr "I nomi delle estensioni non possono contenere caratteri separatore directory."
 
-#: commands/extension.c:294 commands/extension.c:303 commands/extension.c:312
-#: commands/extension.c:322
+#: commands/extension.c:298 commands/extension.c:307 commands/extension.c:316
+#: commands/extension.c:326
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "nome di versione dell'estensione non valido: \"%s\""
 
-#: commands/extension.c:295
+#: commands/extension.c:299
 #, c-format
 msgid "Version names must not be empty."
 msgstr "I nomi di versione non possono essere vuoti."
 
-#: commands/extension.c:304
+#: commands/extension.c:308
 #, c-format
 msgid "Version names must not contain \"--\"."
 msgstr "I nomi di versione non possono contenere \"--\"."
 
-#: commands/extension.c:313
+#: commands/extension.c:317
 #, c-format
 msgid "Version names must not begin or end with \"-\"."
 msgstr "I nomi di versione non possono iniziare o finire con \"-\"."
 
-#: commands/extension.c:323
+#: commands/extension.c:327
 #, c-format
 msgid "Version names must not contain directory separator characters."
 msgstr "I nomi di versione non possono contenere caratteri separatore directory."
 
-#: commands/extension.c:473
+#: commands/extension.c:477
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "apertura del file di controllo dell'estensione \"%s\" fallita: %m"
 
-#: commands/extension.c:495 commands/extension.c:505
+#: commands/extension.c:499 commands/extension.c:509
 #, c-format
 msgid "parameter \"%s\" cannot be set in a secondary extension control file"
 msgstr "il parametro \"%s\" non può essere impostato in un file di controllo secondario di estensione"
 
-#: commands/extension.c:544
+#: commands/extension.c:548
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "\"%s\" non è un nome di codifica valido"
 
-#: commands/extension.c:558
+#: commands/extension.c:562
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "il parametro \"%s\" dev'essere una lista di nomi di estensioni"
 
-#: commands/extension.c:565
+#: commands/extension.c:569
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "parametro sconosciuto \"%s\" nel file \"%s\""
 
-#: commands/extension.c:574
+#: commands/extension.c:578
 #, c-format
 msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
 msgstr "il parametro \"schema\" non può essere specificato quando \"relocatable\" è abilitato"
 
-#: commands/extension.c:722
+#: commands/extension.c:719
 #, c-format
 msgid "transaction control statements are not allowed within an extension script"
 msgstr "le istruzioni di controllo di transazione non sono valide in uno script di estensione"
 
-#: commands/extension.c:790
+#: commands/extension.c:787
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "permesso di creare l'estensione \"%s\" negato"
 
-#: commands/extension.c:792
+#: commands/extension.c:789
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Solo un superutente può creare questa estensione."
 
-#: commands/extension.c:796
+#: commands/extension.c:793
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "permesso di modificare l'estensione \"%s\" negato"
 
-#: commands/extension.c:798
+#: commands/extension.c:795
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Solo un superutente può modificare questa estensione."
 
-#: commands/extension.c:1080
+#: commands/extension.c:1077
 #, c-format
 msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
 msgstr "l'estensione \"%s\" non ha un percorso di aggiornamento dalla versione \"%s\" alla versione \"%s\""
 
-#: commands/extension.c:1207
+#: commands/extension.c:1205
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "l'estensione \"%s\" esiste già, saltata"
 
-#: commands/extension.c:1214
+#: commands/extension.c:1212
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "l'estensione \"%s\" esiste già"
 
-#: commands/extension.c:1225
+#: commands/extension.c:1223
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "CREATE EXTENSION annidati non sono supportati"
 
-#: commands/extension.c:1280 commands/extension.c:2688
+#: commands/extension.c:1278 commands/extension.c:2695
 #, c-format
 msgid "version to install must be specified"
 msgstr "il nome di versione da installare deve essere specificato"
 
-#: commands/extension.c:1297
+#: commands/extension.c:1295
 #, c-format
 msgid "FROM version must be different from installation target version \"%s\""
 msgstr "la versione FROM dev'essere diversa dalla versione \"%s\" oggetto dell'installazione"
 
-#: commands/extension.c:1352
+#: commands/extension.c:1350
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "l'estensione \"%s\" dev'essere installata nello schema \"%s\""
 
-#: commands/extension.c:1436 commands/extension.c:2831
+#: commands/extension.c:1434 commands/extension.c:2840
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "l'estensione richiesta \"%s\" non è installata"
 
-#: commands/extension.c:1598
+#: commands/extension.c:1597
 #, c-format
 msgid "cannot drop extension \"%s\" because it is being modified"
 msgstr "non è possibile eliminare l'estensione \"%s\" perché sta venendo modificata"
 
-#: commands/extension.c:2069
+#: commands/extension.c:2068
 #, c-format
 msgid "pg_extension_config_dump() can only be called from an SQL script executed by CREATE EXTENSION"
 msgstr "pg_extension_config_dump() può essere richiamata solo da uno script SQL eseguito da CREATE EXTENSION"
 
-#: commands/extension.c:2081
+#: commands/extension.c:2080
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "l'OID %u non si riferisce ad una tabella"
 
-#: commands/extension.c:2086
+#: commands/extension.c:2085
 #, c-format
 msgid "table \"%s\" is not a member of the extension being created"
 msgstr "la tabella \"%s\" non è membra dell'estensione in fase di creazione"
@@ -5430,32 +6066,37 @@ msgstr "l'estensione \"%s\" non supporta SET SCHEMA"
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "%s non è nello schema dell'estensione \"%s\""
 
-#: commands/extension.c:2608
+#: commands/extension.c:2615
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "ALTER EXTENSION annidati non sono supportati"
 
-#: commands/extension.c:2699
+#: commands/extension.c:2706
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "la versione \"%s\" dell'estensione \"%s\" è già installata"
 
-#: commands/extension.c:2938
+#: commands/extension.c:2957
 #, c-format
 msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension"
 msgstr "non è possibile aggiungere lo schema \"%s\" all'estensione \"%s\" perché lo schema contiene l'estensione"
 
-#: commands/extension.c:2956
+#: commands/extension.c:2975
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s non fa parte dell'estensione \"%s\""
 
-#: commands/foreigncmds.c:138 commands/foreigncmds.c:147
+#: commands/extension.c:3031
+#, c-format
+msgid "file too large"
+msgstr "file troppo largo"
+
+#: commands/foreigncmds.c:150 commands/foreigncmds.c:159
 #, c-format
 msgid "option \"%s\" not found"
 msgstr "opzione \"%s\" non trovata"
 
-#: commands/foreigncmds.c:157
+#: commands/foreigncmds.c:169
 #, c-format
 msgid "option \"%s\" provided more than once"
 msgstr "opzione \"%s\" fornita più di una volta"
@@ -5475,595 +6116,669 @@ msgstr "Solo un superutente può cambiare proprietario di un wrapper di dati est
 msgid "The owner of a foreign-data wrapper must be a superuser."
 msgstr "Il proprietario di un wrapper di dati esterni dev'essere un superutente."
 
-#: commands/foreigncmds.c:271 commands/foreigncmds.c:655 foreign/foreign.c:600
+#: commands/foreigncmds.c:292 commands/foreigncmds.c:709 foreign/foreign.c:670
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "il wrapper di dati esterni \"%s\" non esiste"
 
-#: commands/foreigncmds.c:380 commands/foreigncmds.c:944
-#: commands/foreigncmds.c:1285 foreign/foreign.c:621
-#, c-format
-msgid "server \"%s\" does not exist"
-msgstr "il server \"%s\" non esiste"
-
-#: commands/foreigncmds.c:436
+#: commands/foreigncmds.c:489
 #, c-format
 msgid "function %s must return type \"fdw_handler\""
 msgstr "la funzione %s deve restituire un tipo \"fdw_handler\""
 
-#: commands/foreigncmds.c:531
+#: commands/foreigncmds.c:584
 #, c-format
 msgid "permission denied to create foreign-data wrapper \"%s\""
 msgstr "permesso di creare il wrapper di dati esterni \"%s\" negato"
 
-#: commands/foreigncmds.c:533
+#: commands/foreigncmds.c:586
 #, c-format
 msgid "Must be superuser to create a foreign-data wrapper."
 msgstr "Solo un superutente può creare un wrapper di dati esterni."
 
-#: commands/foreigncmds.c:645
+#: commands/foreigncmds.c:699
 #, c-format
 msgid "permission denied to alter foreign-data wrapper \"%s\""
 msgstr "permesso di modificare il wrapper di dati esterni \"%s\" negato"
 
-#: commands/foreigncmds.c:647
+#: commands/foreigncmds.c:701
 #, c-format
 msgid "Must be superuser to alter a foreign-data wrapper."
 msgstr "Solo un superutente può modificare un wrapper di dati esterni."
 
-#: commands/foreigncmds.c:678
+#: commands/foreigncmds.c:732
 #, c-format
 msgid "changing the foreign-data wrapper handler can change behavior of existing foreign tables"
 msgstr "cambiare il gestore del wrapper di dati esterni può cambiare il comportamento di tabelle esterne esistenti"
 
-#: commands/foreigncmds.c:693
+#: commands/foreigncmds.c:747
 #, c-format
 msgid "changing the foreign-data wrapper validator can cause the options for dependent objects to become invalid"
 msgstr "cambiare il validatore del wrapper di dati esterni può rendere non valide le opzioni degli oggetti dipendenti"
 
-#: commands/foreigncmds.c:1106
+#: commands/foreigncmds.c:1165
 #, c-format
 msgid "user mapping \"%s\" already exists for server %s"
 msgstr "la mappatura utenti \"%s\" esiste già per il server %s"
 
-#: commands/foreigncmds.c:1194 commands/foreigncmds.c:1301
+#: commands/foreigncmds.c:1259 commands/foreigncmds.c:1375
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server"
 msgstr "la mappatura utenti \"%s\" non esiste per il server"
 
-#: commands/foreigncmds.c:1288
+#: commands/foreigncmds.c:1362
 #, c-format
 msgid "server does not exist, skipping"
 msgstr "il server non esiste, saltato"
 
-#: commands/foreigncmds.c:1306
+#: commands/foreigncmds.c:1380
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server, skipping"
 msgstr "la mappatura utenti \"%s\" non esiste per il server, saltata"
 
-#: commands/functioncmds.c:98
+#: commands/foreigncmds.c:1532 foreign/foreign.c:360
+#, c-format
+msgid "foreign-data wrapper \"%s\" has no handler"
+msgstr "il wrapper di dati remoti \"%s\" non ha un handler"
+
+#: commands/foreigncmds.c:1538
+#, c-format
+msgid "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA"
+msgstr "il wrapper di dati remoti \"%s\" non supporta IMPORT FOREIGN SCHEMA"
+
+#: commands/foreigncmds.c:1631
+#, c-format
+msgid "importing foreign table \"%s\""
+msgstr "importazione della tabella remota \"%s\""
+
+#: commands/functioncmds.c:99
 #, c-format
 msgid "SQL function cannot return shell type %s"
 msgstr "la funzione SQL non può restituire il tipo non completamente definito %s"
 
-#: commands/functioncmds.c:103
+#: commands/functioncmds.c:104
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "il tipo restituito %s non è completamente definito"
 
-#: commands/functioncmds.c:132 parser/parse_type.c:333
+#: commands/functioncmds.c:134 parser/parse_type.c:338
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "il modificatore di tipo non può essere specificato per il tipo non completamente definito \"%s\""
 
-#: commands/functioncmds.c:138
+#: commands/functioncmds.c:140
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "il tipo \"%s\" non è ancora definito"
 
-#: commands/functioncmds.c:139
+#: commands/functioncmds.c:141
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Creazione di un tipo non completamente definito."
 
-#: commands/functioncmds.c:236
+#: commands/functioncmds.c:239
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "la funzione SQL non può accettare il tipo non completamente definito %s"
 
-#: commands/functioncmds.c:242
+#: commands/functioncmds.c:245
 #, c-format
 msgid "aggregate cannot accept shell type %s"
 msgstr "l'aggregato non può accettare il tipo non completamente definito %s"
 
-#: commands/functioncmds.c:247
+#: commands/functioncmds.c:250
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "il tipo %s dell'argomento non è completamente definito"
 
-#: commands/functioncmds.c:257
+#: commands/functioncmds.c:260
 #, c-format
 msgid "type %s does not exist"
 msgstr "il tipo %s non esiste"
 
-#: commands/functioncmds.c:271
+#: commands/functioncmds.c:274
 #, c-format
 msgid "aggregates cannot accept set arguments"
 msgstr "gli aggregati non accettano insiemi come argomenti"
 
-#: commands/functioncmds.c:275
+#: commands/functioncmds.c:278
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "le funzioni non accettano insiemi come argomenti"
 
-#: commands/functioncmds.c:285
+#: commands/functioncmds.c:288
 #, c-format
 msgid "VARIADIC parameter must be the last input parameter"
 msgstr "il parametro VARIADIC deve essere l'ultimo dei parametri di input"
 
-#: commands/functioncmds.c:313
+#: commands/functioncmds.c:316
 #, c-format
 msgid "VARIADIC parameter must be an array"
 msgstr "il parametro VARIADIC dev'essere un array"
 
-#: commands/functioncmds.c:353
+#: commands/functioncmds.c:356
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "il nome di parametro \"%s\" è usato più di una volta"
 
-#: commands/functioncmds.c:368
+#: commands/functioncmds.c:371
 #, c-format
 msgid "only input parameters can have default values"
 msgstr "solo i parametri di input possono avere un valore di default"
 
-#: commands/functioncmds.c:383
+#: commands/functioncmds.c:386
 #, c-format
 msgid "cannot use table references in parameter default value"
 msgstr "non si possono usare riferimenti a tabelle nel valore predefinito dei parametri"
 
-#: commands/functioncmds.c:407
+#: commands/functioncmds.c:410
 #, c-format
 msgid "input parameters after one with a default value must also have defaults"
 msgstr "i parametri di input che seguono uno con valore predefinito devono avere anch'essi un valore predefinito"
 
-#: commands/functioncmds.c:657
+#: commands/functioncmds.c:670
 #, c-format
 msgid "no function body specified"
 msgstr "non è stato specificato alcun corpo della funzione"
 
-#: commands/functioncmds.c:667
+#: commands/functioncmds.c:680
 #, c-format
 msgid "no language specified"
 msgstr "nessun linguaggio specificato"
 
-#: commands/functioncmds.c:690 commands/functioncmds.c:1149
+#: commands/functioncmds.c:705 commands/functioncmds.c:1205
 #, c-format
 msgid "COST must be positive"
 msgstr "COST dev'essere positivo"
 
-#: commands/functioncmds.c:698 commands/functioncmds.c:1157
+#: commands/functioncmds.c:713 commands/functioncmds.c:1213
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS dev'essere positivo"
 
-#: commands/functioncmds.c:737
+#: commands/functioncmds.c:752
 #, c-format
 msgid "unrecognized function attribute \"%s\" ignored"
 msgstr "attributo di funzione sconosciuto \"%s\" ignorato"
 
-#: commands/functioncmds.c:788
+#: commands/functioncmds.c:803
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "solo un elemento AS è necessario per il linguaggio \"%s\""
 
-#: commands/functioncmds.c:877 commands/functioncmds.c:1734
-#: commands/proclang.c:553
+#: commands/functioncmds.c:894 commands/functioncmds.c:2079
+#: commands/proclang.c:560
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "il linguaggio \"%s\" non esiste"
 
-#: commands/functioncmds.c:879 commands/functioncmds.c:1736
+#: commands/functioncmds.c:896 commands/functioncmds.c:2081
 #, c-format
 msgid "Use CREATE LANGUAGE to load the language into the database."
 msgstr "Usa CREATE LANGUAGE per caricare il linguaggio nel database."
 
-#: commands/functioncmds.c:914 commands/functioncmds.c:1140
+#: commands/functioncmds.c:931 commands/functioncmds.c:1197
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "solo un superutente può definire una funzione stagna"
 
-#: commands/functioncmds.c:940
+#: commands/functioncmds.c:975
 #, c-format
 msgid "function result type must be %s because of OUT parameters"
 msgstr "il risultato della funzione deve essere %s per i parametri OUT"
 
-#: commands/functioncmds.c:953
+#: commands/functioncmds.c:988
 #, c-format
 msgid "function result type must be specified"
 msgstr "il tipo di risultato della funzione dev'essere specificato"
 
-#: commands/functioncmds.c:988 commands/functioncmds.c:1161
+#: commands/functioncmds.c:1042 commands/functioncmds.c:1217
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "ROWS è non applicabile quando la funzione non restituisce un insieme"
 
-#: commands/functioncmds.c:1314
+#: commands/functioncmds.c:1372
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "il tipo di dati di origine %s è uno pseudo-tipo"
 
-#: commands/functioncmds.c:1320
+#: commands/functioncmds.c:1378
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "il tipo di dati di destinazione %s è uno pseudo-tipo"
 
-#: commands/functioncmds.c:1344
+#: commands/functioncmds.c:1402
 #, c-format
 msgid "cast will be ignored because the source data type is a domain"
 msgstr "la conversione verrà ignorata perché il tipo di dato di origine è un dominio"
 
-#: commands/functioncmds.c:1349
+#: commands/functioncmds.c:1407
 #, c-format
 msgid "cast will be ignored because the target data type is a domain"
 msgstr "la conversione verrà ignorata perché il tipo di dato di destinazione è un dominio"
 
-#: commands/functioncmds.c:1376
+#: commands/functioncmds.c:1434
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "la funzione di conversione deve prendere da uno a tre argomenti"
 
-#: commands/functioncmds.c:1380
+#: commands/functioncmds.c:1438
 #, c-format
 msgid "argument of cast function must match or be binary-coercible from source data type"
 msgstr "l'argomento della funzione di conversione deve combaciare o essere convertibile a livello binario dal tipo di dato di origine"
 
-#: commands/functioncmds.c:1384
+#: commands/functioncmds.c:1442
 #, c-format
 msgid "second argument of cast function must be type integer"
 msgstr "il secondo argomento della funzione di conversione deve essere un tipo intero"
 
-#: commands/functioncmds.c:1388
+#: commands/functioncmds.c:1446
 #, c-format
 msgid "third argument of cast function must be type boolean"
 msgstr "il terzo argomento della funzione di conversione deve essere un tipo booleano"
 
-#: commands/functioncmds.c:1392
+#: commands/functioncmds.c:1450
 #, c-format
 msgid "return data type of cast function must match or be binary-coercible to target data type"
 msgstr "il tipo di dato restituito dalla funzione di conversione deve combaciare o essere convertibile a livello binario nel tipo di dato di destinazione"
 
-#: commands/functioncmds.c:1403
+#: commands/functioncmds.c:1461
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "la funzione di conversione non può essere volatile"
 
-#: commands/functioncmds.c:1408
+#: commands/functioncmds.c:1466
 #, c-format
 msgid "cast function must not be an aggregate function"
 msgstr "la funzione di conversione non può essere una funzione di aggregazione"
 
-#: commands/functioncmds.c:1412
+#: commands/functioncmds.c:1470
 #, c-format
 msgid "cast function must not be a window function"
 msgstr "la funzione di conversione non può essere una funzione finestra"
 
-#: commands/functioncmds.c:1416
+#: commands/functioncmds.c:1474
 #, c-format
 msgid "cast function must not return a set"
 msgstr "la funzione di conversione non può restituire un insieme"
 
-#: commands/functioncmds.c:1442
+#: commands/functioncmds.c:1500
 #, c-format
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr "occorre essere un superutente per creare un cast WITHOUT FUNCTION"
 
-#: commands/functioncmds.c:1457
+#: commands/functioncmds.c:1515
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "i tipi di dati di origine e di destinazione non sono fisicamente compatibili"
 
-#: commands/functioncmds.c:1472
+#: commands/functioncmds.c:1530
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "i tipi di dati compositi non sono compatibili a livello binario"
 
-#: commands/functioncmds.c:1478
+#: commands/functioncmds.c:1536
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "le enumerazioni non sono compatibili a livello binario"
 
-#: commands/functioncmds.c:1484
+#: commands/functioncmds.c:1542
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "i tipi di dati array non sono compatibili a livello binario"
 
-#: commands/functioncmds.c:1501
+#: commands/functioncmds.c:1559
 #, c-format
 msgid "domain data types must not be marked binary-compatible"
 msgstr "i tipi di dominio non devono essere marcati come compatibili a livello binario"
 
-#: commands/functioncmds.c:1511
+#: commands/functioncmds.c:1569
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "i tipi di dati di origine e di destinazione sono gli stessi"
 
-#: commands/functioncmds.c:1544
+#: commands/functioncmds.c:1602
 #, c-format
 msgid "cast from type %s to type %s already exists"
 msgstr "la conversione dal tipo %s al tipo %s esiste già"
 
-#: commands/functioncmds.c:1619
+#: commands/functioncmds.c:1677
 #, c-format
 msgid "cast from type %s to type %s does not exist"
 msgstr "la conversione dal tipo %s al tipo %s non esiste"
 
-#: commands/functioncmds.c:1668
+#: commands/functioncmds.c:1716
+#, c-format
+msgid "transform function must not be volatile"
+msgstr "la funzione di trasformazione non può essere volatile"
+
+#: commands/functioncmds.c:1720
+#, c-format
+msgid "transform function must not be an aggregate function"
+msgstr "la funzione di trasformazione non può essere una funzione aggregata"
+
+#: commands/functioncmds.c:1724
+#, c-format
+msgid "transform function must not be a window function"
+msgstr "la funzione di trasformazione non può essere una funzione finestra"
+
+#: commands/functioncmds.c:1728
+#, c-format
+msgid "transform function must not return a set"
+msgstr "la funzione di trasformazione non può restituire un insieme"
+
+#: commands/functioncmds.c:1732
+#, c-format
+msgid "transform function must take one argument"
+msgstr "la funzione di trasformazione deve poter ricevere un solo argomento"
+
+#: commands/functioncmds.c:1736
+#, c-format
+msgid "first argument of transform function must be type \"internal\""
+msgstr "il primo argomento della funzione di trasformazione dev'essere di tipo \"internal\""
+
+#: commands/functioncmds.c:1773
+#, c-format
+msgid "data type %s is a pseudo-type"
+msgstr "il tipo di dato %s è uno pseudo-tipo"
+
+#: commands/functioncmds.c:1779
+#, c-format
+msgid "data type %s is a domain"
+msgstr "il tipo di dato %s è un dominio"
+
+#: commands/functioncmds.c:1819
+#, c-format
+msgid "return data type of FROM SQL function must be \"internal\""
+msgstr "il tipo di dato restituito da una funzione FROM SQL dev'essere \"internal\""
+
+#: commands/functioncmds.c:1844
+#, c-format
+msgid "return data type of TO SQL function must be the transform data type"
+msgstr "il tipo di dati restituito da una funzione TO SQL dev'essere il tipo di dato della trasformazione"
+
+#: commands/functioncmds.c:1871
+#, c-format
+msgid "transform for type %s language \"%s\" already exists"
+msgstr "la trasformazione per il tipo %s linguaggio \"%s\" esiste già"
+
+#: commands/functioncmds.c:1962
+#, c-format
+msgid "transform for type %s language \"%s\" does not exist"
+msgstr "la trasformazione per il tipo %s linguaggio \"%s\" non esiste"
+
+#: commands/functioncmds.c:2013
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "la funzione %s esiste già nello schema \"%s\""
 
-#: commands/functioncmds.c:1721
+#: commands/functioncmds.c:2066
 #, c-format
 msgid "no inline code specified"
 msgstr "nessun codice inline specificato"
 
-#: commands/functioncmds.c:1766
+#: commands/functioncmds.c:2111
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "il linguaggio \"%s\" non supporta l'esecuzione di codice inline"
 
-#: commands/indexcmds.c:159 commands/indexcmds.c:486
-#: commands/opclasscmds.c:370 commands/opclasscmds.c:790
+#: commands/indexcmds.c:159 commands/indexcmds.c:487
+#: commands/opclasscmds.c:360 commands/opclasscmds.c:786
 #: commands/opclasscmds.c:1749
 #, c-format
 msgid "access method \"%s\" does not exist"
 msgstr "Il metodo di accesso \"%s\" non esiste"
 
-#: commands/indexcmds.c:340
+#: commands/indexcmds.c:341
 #, c-format
 msgid "must specify at least one column"
 msgstr "occorre specificare almeno una colonna"
 
-#: commands/indexcmds.c:344
+#: commands/indexcmds.c:345
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "non è possibile usare più di %d colonne in un indice"
 
-#: commands/indexcmds.c:375
+#: commands/indexcmds.c:376
 #, c-format
 msgid "cannot create index on foreign table \"%s\""
 msgstr "non è possibile creare indici sulla tabella esterna \"%s\""
 
-#: commands/indexcmds.c:390
+#: commands/indexcmds.c:391
 #, c-format
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "non è possibile creare indici su tabelle temporanee di altre sessioni"
 
-#: commands/indexcmds.c:445 commands/tablecmds.c:525 commands/tablecmds.c:9101
+#: commands/indexcmds.c:446 commands/tablecmds.c:537 commands/tablecmds.c:9480
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr "solo le relazioni condivise possono essere poste nel tablespace pg_global"
 
-#: commands/indexcmds.c:478
+#: commands/indexcmds.c:479
 #, c-format
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "sostituzione del metodo di accesso \"gist\" per il metodo obsoleto \"rtree\""
 
-#: commands/indexcmds.c:495
+#: commands/indexcmds.c:496
+#, c-format
+msgid "hash indexes are not WAL-logged and their use is discouraged"
+msgstr "gli indici hash non sono inviati con il log WAL e il loro uso è scoraggiato"
+
+#: commands/indexcmds.c:501
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "il metodo di accesso \"%s\" non supporta gli indici univoci"
 
-#: commands/indexcmds.c:500
+#: commands/indexcmds.c:506
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "il metodo di accesso \"%s\" non supporta gli indici multicolonna"
 
-#: commands/indexcmds.c:505
+#: commands/indexcmds.c:511
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "il metodo di accesso \"%s\" non supporta i vincoli di esclusione"
 
-#: commands/indexcmds.c:584
+#: commands/indexcmds.c:590
 #, c-format
 msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgstr "%s %s creerà un indice implicito \"%s\" per la tabella \"%s\""
 
-#: commands/indexcmds.c:922
+#: commands/indexcmds.c:937
 #, c-format
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "le funzioni nel predicato dell'indice devono essere marcate IMMUTABLE"
 
-#: commands/indexcmds.c:988 parser/parse_utilcmd.c:1797
+#: commands/indexcmds.c:1003 parser/parse_utilcmd.c:1844
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "la colonna \"%s\" nominata nella chiave non esiste"
 
-#: commands/indexcmds.c:1048
+#: commands/indexcmds.c:1063
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "le funzioni nell'espressione dell'indice devono essere marcate IMMUTABLE"
 
-#: commands/indexcmds.c:1071
+#: commands/indexcmds.c:1086
 #, c-format
 msgid "could not determine which collation to use for index expression"
 msgstr "non è stato possibile determinare quale ordinamento usare per l'espressione dell'indice"
 
-#: commands/indexcmds.c:1079 commands/typecmds.c:782 parser/parse_expr.c:2278
-#: parser/parse_type.c:546 parser/parse_utilcmd.c:2648 utils/adt/misc.c:520
+#: commands/indexcmds.c:1094 commands/typecmds.c:825 parser/parse_expr.c:2558
+#: parser/parse_type.c:551 parser/parse_utilcmd.c:2736 utils/adt/misc.c:546
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "gli ordinamenti non sono supportati dal tipo %s"
 
-#: commands/indexcmds.c:1117
+#: commands/indexcmds.c:1132
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "l'operatore %s non è commutativo"
 
-#: commands/indexcmds.c:1119
+#: commands/indexcmds.c:1134
 #, c-format
 msgid "Only commutative operators can be used in exclusion constraints."
 msgstr "Solo operatori commutativi possono essere usati nei vincoli di esclusione."
 
-#: commands/indexcmds.c:1145
+#: commands/indexcmds.c:1160
 #, c-format
 msgid "operator %s is not a member of operator family \"%s\""
 msgstr "l'operatore %s non è membro della famiglia di operatori \"%s\""
 
-#: commands/indexcmds.c:1148
+#: commands/indexcmds.c:1163
 #, c-format
 msgid "The exclusion operator must be related to the index operator class for the constraint."
 msgstr "L'operatore di esclusione dev'essere correlato alla classe di operatori dell'indice per il vincolo."
 
-#: commands/indexcmds.c:1183
+#: commands/indexcmds.c:1198
 #, c-format
 msgid "access method \"%s\" does not support ASC/DESC options"
 msgstr "il metodo di accesso \"%s\" non supporta le opzioni ASC/DESC"
 
-#: commands/indexcmds.c:1188
+#: commands/indexcmds.c:1203
 #, c-format
 msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
 msgstr "il metodo di accesso \"%s\" non supporta le opzioni NULLS FIRST/LAST"
 
-#: commands/indexcmds.c:1244 commands/typecmds.c:1887
+#: commands/indexcmds.c:1259 commands/typecmds.c:1932
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr "il tipo di dati %s non ha una classe di operatori predefinita per il metodo di accesso \"%s\""
 
-#: commands/indexcmds.c:1246
+#: commands/indexcmds.c:1261
 #, c-format
 msgid "You must specify an operator class for the index or define a default operator class for the data type."
 msgstr "Devi specificare una classe di operatori per l'indice o definire una classe di operatori predefinita per il tipo di dati"
 
-#: commands/indexcmds.c:1275 commands/indexcmds.c:1283
-#: commands/opclasscmds.c:214
+#: commands/indexcmds.c:1290 commands/indexcmds.c:1298
+#: commands/opclasscmds.c:204
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "la classe di operatori \"%s\" non esiste per il metodo di accesso \"%s\""
 
-#: commands/indexcmds.c:1296 commands/typecmds.c:1875
+#: commands/indexcmds.c:1311 commands/typecmds.c:1920
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "la classe di operatori \"%s\" non accetta il tipo di dati %s"
 
-#: commands/indexcmds.c:1386
+#: commands/indexcmds.c:1401
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr "il tipo di dati %s ha più di una classe di operatori predefinita"
 
-#: commands/indexcmds.c:1762
+#: commands/indexcmds.c:1792
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "la tabella \"%s\" non ha indici"
 
-#: commands/indexcmds.c:1792
+#: commands/indexcmds.c:1847
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "è possibile reindicizzare solo il database corrente"
 
-#: commands/indexcmds.c:1881
+#: commands/indexcmds.c:1949
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "la tabella \"%s.%s\" è stata reindicizzata"
 
-#: commands/matview.c:178
+#: commands/matview.c:181
 #, c-format
 msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
 msgstr "non si può usare CONCURRENTLY quando la vista materializzata non è popolata"
 
-#: commands/matview.c:184
+#: commands/matview.c:187
 #, c-format
 msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
 msgstr "le opzioni CONCURRENTLY e WITH NO DATA non possono essere usate insieme"
 
-#: commands/matview.c:591
+#: commands/matview.c:611
 #, c-format
 msgid "new data for \"%s\" contains duplicate rows without any null columns"
 msgstr "i nuovi dati per \"%s\" contengono righe duplicate senza alcuna colonna null"
 
-#: commands/matview.c:593
+#: commands/matview.c:613
 #, c-format
 msgid "Row: %s"
 msgstr "Riga: %s"
 
-#: commands/matview.c:681
+#: commands/matview.c:701
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "non è possibile aggiornare la vista materializzata \"%s\" concorrentemente"
 
-#: commands/matview.c:683
+#: commands/matview.c:703
 #, c-format
 msgid "Create a unique index with no WHERE clause on one or more columns of the materialized view."
 msgstr "Crea un indice unico senza clausola WHERE su una o più colonna della vista materializzata."
 
-#: commands/opclasscmds.c:135
+#: commands/opclasscmds.c:125
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\""
 msgstr "la famiglia di operatori \"%s\" non esiste per il metodo di accesso \"%s\""
 
-#: commands/opclasscmds.c:273
+#: commands/opclasscmds.c:263
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists"
 msgstr "la famiglia di operatori \"%s\" per il metodo di accesso \"%s\" esiste già "
 
-#: commands/opclasscmds.c:409
+#: commands/opclasscmds.c:399
 #, c-format
 msgid "must be superuser to create an operator class"
 msgstr "devi essere un superutente per creare una classe di operatori"
 
-#: commands/opclasscmds.c:480 commands/opclasscmds.c:866
-#: commands/opclasscmds.c:996
+#: commands/opclasscmds.c:473 commands/opclasscmds.c:859
+#: commands/opclasscmds.c:992
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "numero di operatore %d non valido, deve essere tra 1 e %d"
 
-#: commands/opclasscmds.c:531 commands/opclasscmds.c:917
-#: commands/opclasscmds.c:1011
+#: commands/opclasscmds.c:524 commands/opclasscmds.c:910
+#: commands/opclasscmds.c:1007
 #, c-format
 msgid "invalid procedure number %d, must be between 1 and %d"
 msgstr "numero di procedura %d non valido, deve essere tra 1 e %d"
 
-#: commands/opclasscmds.c:561
+#: commands/opclasscmds.c:554
 #, c-format
 msgid "storage type specified more than once"
 msgstr "tipo di immagazzinamento specificato più di una volta"
 
-#: commands/opclasscmds.c:588
+#: commands/opclasscmds.c:581
 #, c-format
 msgid "storage type cannot be different from data type for access method \"%s\""
 msgstr "il tipo di immagazzinamento non deve essere diverso dal tipo di dato per il metodo di accesso \"%s\""
 
-#: commands/opclasscmds.c:604
+#: commands/opclasscmds.c:597
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr "la classe di operatori \"%s\" per il metodo di accesso \"%s\" esiste già"
 
-#: commands/opclasscmds.c:632
+#: commands/opclasscmds.c:625
 #, c-format
 msgid "could not make operator class \"%s\" be default for type %s"
 msgstr "non è stato possibile rendere la classe di operatori \"%s\" predefinita per il tipo %s"
 
-#: commands/opclasscmds.c:635
+#: commands/opclasscmds.c:628
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "La classe di operatori \"%s\" è già predefinita."
 
-#: commands/opclasscmds.c:760
+#: commands/opclasscmds.c:756
 #, c-format
 msgid "must be superuser to create an operator family"
 msgstr "solo un superutente può creare una famiglia di operatori"
 
-#: commands/opclasscmds.c:816
+#: commands/opclasscmds.c:812
 #, c-format
 msgid "must be superuser to alter an operator family"
 msgstr "solo un superutente può modificare una famiglia di operatori"
 
-#: commands/opclasscmds.c:882
+#: commands/opclasscmds.c:875
 #, c-format
 msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgstr "i tipi degli argomenti dell'operatore devono essere specificati in ALTER OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:946
+#: commands/opclasscmds.c:939
 #, c-format
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "STORAGE non può essere specificato in ALTER OPERATOR FAMILY"
@@ -6163,46 +6878,81 @@ msgstr "la classe di operatori \"%s\" per il metodo di accesso \"%s\" esiste gi
 msgid "operator family \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr "la famiglia di operatori \"%s\" per il metodo di accesso \"%s\" esiste già nello schema \"%s\""
 
-#: commands/operatorcmds.c:97
-#, c-format
-msgid "=> is deprecated as an operator name"
-msgstr "=> è deprecato come nome di operatore"
-
-#: commands/operatorcmds.c:98
-#, c-format
-msgid "This name may be disallowed altogether in future versions of PostgreSQL."
-msgstr "Questo nome potrebbe essere vietato del tutto in una prossima versione di PostgreSQL"
-
-#: commands/operatorcmds.c:119 commands/operatorcmds.c:127
+#: commands/operatorcmds.c:109 commands/operatorcmds.c:117
 #, c-format
 msgid "SETOF type not allowed for operator argument"
 msgstr "il tipo SETOF non è permesso come argomento dell'operatore."
 
-#: commands/operatorcmds.c:155
+#: commands/operatorcmds.c:145
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
 msgstr "attributo dell'operatore \"%s\" non riconosciuto"
 
-#: commands/operatorcmds.c:165
+#: commands/operatorcmds.c:155
 #, c-format
 msgid "operator procedure must be specified"
 msgstr "la procedura dell'operatore deve essere specificata"
 
-#: commands/operatorcmds.c:176
+#: commands/operatorcmds.c:166
 #, c-format
 msgid "at least one of leftarg or rightarg must be specified"
 msgstr "almeno uno tra leftarg e rightarg deve essere specificato"
 
-#: commands/operatorcmds.c:244
+#: commands/operatorcmds.c:234
 #, c-format
 msgid "restriction estimator function %s must return type \"float8\""
 msgstr "la funzione di stima di restrizione %s deve restituire il tipo \"float8\""
 
-#: commands/operatorcmds.c:283
+#: commands/operatorcmds.c:273
 #, c-format
 msgid "join estimator function %s must return type \"float8\""
 msgstr "la funzione di stima del join %s deve restituire il tipo \"float8\""
 
+#: commands/policy.c:85 commands/policy.c:428 commands/tablecmds.c:962
+#: commands/tablecmds.c:1304 commands/tablecmds.c:2172
+#: commands/tablecmds.c:4303 commands/tablecmds.c:6235
+#: commands/tablecmds.c:11757 commands/tablecmds.c:11792
+#: commands/trigger.c:240 commands/trigger.c:1126 commands/trigger.c:1234
+#: rewrite/rewriteDefine.c:272 rewrite/rewriteDefine.c:891
+#, c-format
+msgid "permission denied: \"%s\" is a system catalog"
+msgstr "permesso negato: \"%s\" è un catalogo di sistema"
+
+#: commands/policy.c:169
+#, c-format
+msgid "ignoring roles specified other than public"
+msgstr "i ruoli specificati a parte quello pubblico verranno ignorati"
+
+#: commands/policy.c:170
+#, c-format
+msgid "All roles are members of the public role."
+msgstr "Tutti i ruoli sono membri del ruolo pubblico."
+
+#: commands/policy.c:489
+#, c-format
+msgid "WITH CHECK cannot be applied to SELECT or DELETE"
+msgstr "WITH CHECK non può essere applicato a SELECT o a DELETE"
+
+#: commands/policy.c:498 commands/policy.c:766
+#, c-format
+msgid "only WITH CHECK expression allowed for INSERT"
+msgstr "solo le espressioni WITH CHECK sono consentite per INSERT"
+
+#: commands/policy.c:566 commands/policy.c:877
+#, c-format
+msgid "policy \"%s\" for table \"%s\" already exists"
+msgstr "la politica \"%s\" per la tabella \"%s\" esiste già"
+
+#: commands/policy.c:738 commands/policy.c:905 commands/policy.c:980
+#, c-format
+msgid "policy \"%s\" for table \"%s\" does not exist"
+msgstr "la politica \"%s\" per la tabella \"%s\" non esiste"
+
+#: commands/policy.c:756
+#, c-format
+msgid "only USING expression allowed for SELECT, DELETE"
+msgstr "solo le espressioni USING sono permesse per SELECT e DELETE"
+
 #: commands/portalcmds.c:61 commands/portalcmds.c:160
 #: commands/portalcmds.c:212
 #, c-format
@@ -6210,7 +6960,7 @@ msgid "invalid cursor name: must not be empty"
 msgstr "nome di cursore non valido: non deve essere vuoto"
 
 #: commands/portalcmds.c:168 commands/portalcmds.c:222
-#: executor/execCurrent.c:67 utils/adt/xml.c:2386 utils/adt/xml.c:2553
+#: executor/execCurrent.c:67 utils/adt/xml.c:2391 utils/adt/xml.c:2558
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "il cursore \"%s\" non esiste"
@@ -6230,7 +6980,7 @@ msgstr "riposizionamento del cursore held fallito"
 msgid "invalid statement name: must not be empty"
 msgstr "nome di istruzione non valido: non deve essere vuoto"
 
-#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1296
+#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1355
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "non è stato possibile determinare il tipo di dato del parametro $%d"
@@ -6260,344 +7010,327 @@ msgstr "Erano attesi %d parametri ma ottenuti %d."
 msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "il parametro $%d di tipo %s non può essere forzato al tipo previsto %s"
 
-#: commands/prepare.c:465
+#: commands/prepare.c:464
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "l'istruzione preparata \"%s\" esiste già"
 
-#: commands/prepare.c:504
+#: commands/prepare.c:503
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "l'istruzione preparata \"%s\" non esiste"
 
-#: commands/proclang.c:86
+#: commands/proclang.c:87
 #, c-format
 msgid "using pg_pltemplate information instead of CREATE LANGUAGE parameters"
 msgstr "vengono usate le informazioni di pg_pltemplate invece dei parametri di CREATE LANGUAGE"
 
-#: commands/proclang.c:96
+#: commands/proclang.c:97
 #, c-format
 msgid "must be superuser to create procedural language \"%s\""
 msgstr "solo i superutenti possono creare il linguaggio procedurale \"%s\""
 
-#: commands/proclang.c:116 commands/proclang.c:278
+#: commands/proclang.c:117 commands/proclang.c:285
 #, c-format
 msgid "function %s must return type \"language_handler\""
 msgstr "la funzione %s deve restituire un tipo \"language_handler\""
 
-#: commands/proclang.c:242
+#: commands/proclang.c:249
 #, c-format
 msgid "unsupported language \"%s\""
 msgstr "linguaggio non supportato \"%s\""
 
-#: commands/proclang.c:244
+#: commands/proclang.c:251
 #, c-format
 msgid "The supported languages are listed in the pg_pltemplate system catalog."
 msgstr "I linguaggi supportati sono elencate nel catalogo di sistema pg_pltemplate"
 
-#: commands/proclang.c:252
+#: commands/proclang.c:259
 #, c-format
 msgid "must be superuser to create custom procedural language"
 msgstr "solo i superutenti possono creare un linguaggio procedurale personalizzato"
 
-#: commands/proclang.c:271
+#: commands/proclang.c:278
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"language_handler\""
 msgstr "cambio del tipo restituito dalla funzione %s da \"opaque\" a \"language_handler\""
 
-#: commands/schemacmds.c:84 commands/schemacmds.c:236
+#: commands/schemacmds.c:99 commands/schemacmds.c:262
 #, c-format
 msgid "unacceptable schema name \"%s\""
 msgstr "nome dello schema \"%s\" non accettabile"
 
-#: commands/schemacmds.c:85 commands/schemacmds.c:237
+#: commands/schemacmds.c:100 commands/schemacmds.c:263
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system schemas."
 msgstr "Il prefisso \"pg_\" è riservato agli schemi di sistema."
 
-#: commands/schemacmds.c:99
+#: commands/schemacmds.c:114
 #, c-format
 msgid "schema \"%s\" already exists, skipping"
 msgstr "lo schema \"%s\" esiste già, saltato"
 
-#: commands/seclabel.c:58
+#: commands/seclabel.c:60
 #, c-format
 msgid "no security label providers have been loaded"
 msgstr "nessun fornitore di etichette di sicurezza è stato caricato"
 
-#: commands/seclabel.c:62
+#: commands/seclabel.c:64
 #, c-format
 msgid "must specify provider when multiple security label providers have been loaded"
 msgstr "occorre specificare un fornitore quando più di un fornitore di etichette di sicurezza è stato caricato"
 
-#: commands/seclabel.c:80
+#: commands/seclabel.c:82
 #, c-format
 msgid "security label provider \"%s\" is not loaded"
 msgstr "il fornitore di etichette di sicurezza \"%s\" non è stato caricato"
 
-#: commands/sequence.c:123
+#: commands/sequence.c:127
 #, c-format
 msgid "unlogged sequences are not supported"
 msgstr "le sequenze non loggate non sono supportate"
 
-#: commands/sequence.c:618
+#: commands/sequence.c:651
 #, c-format
 msgid "nextval: reached maximum value of sequence \"%s\" (%s)"
 msgstr "nextval: è stato raggiunto il valore massimo della sequenza \"%s\" (%s)"
 
-#: commands/sequence.c:641
+#: commands/sequence.c:674
 #, c-format
 msgid "nextval: reached minimum value of sequence \"%s\" (%s)"
 msgstr "nextval: è stato raggiunto il valore minimo della sequenza \"%s\" (%s)"
 
-#: commands/sequence.c:754
+#: commands/sequence.c:792
 #, c-format
 msgid "currval of sequence \"%s\" is not yet defined in this session"
 msgstr "il valore corrente della sequenza \"%s\" non è stato ancora definito in questa sessione"
 
-#: commands/sequence.c:773 commands/sequence.c:779
+#: commands/sequence.c:811 commands/sequence.c:817
 #, c-format
 msgid "lastval is not yet defined in this session"
 msgstr "lastval non è stato ancora definito in questa sessione"
 
-#: commands/sequence.c:848
+#: commands/sequence.c:893
 #, c-format
 msgid "setval: value %s is out of bounds for sequence \"%s\" (%s..%s)"
 msgstr "setval: il valore %s non rientra nei margini della sequenza \"%s\" (%s..%s)"
 
-#: commands/sequence.c:1224
+#: commands/sequence.c:1267
 #, c-format
 msgid "INCREMENT must not be zero"
 msgstr "INCREMENT non può essere zero"
 
-#: commands/sequence.c:1280
+#: commands/sequence.c:1323
 #, c-format
 msgid "MINVALUE (%s) must be less than MAXVALUE (%s)"
 msgstr "MINVALUE (%s) deve essere minore del MAXVALUE (%s)"
 
-#: commands/sequence.c:1305
+#: commands/sequence.c:1348
 #, c-format
 msgid "START value (%s) cannot be less than MINVALUE (%s)"
 msgstr "il valore di START (%s) non può essere inferiore a quello di MINVALUE (%s)"
 
-#: commands/sequence.c:1317
+#: commands/sequence.c:1360
 #, c-format
 msgid "START value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "il valore di START (%s) non può essere superiore a quello di MAXVALUE (%s)"
 
-#: commands/sequence.c:1347
+#: commands/sequence.c:1390
 #, c-format
 msgid "RESTART value (%s) cannot be less than MINVALUE (%s)"
 msgstr "il valore di RESTART (%s) non può essere inferiore a quello di MINVALUE (%s)"
 
-#: commands/sequence.c:1359
+#: commands/sequence.c:1402
 #, c-format
 msgid "RESTART value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "il valore di RESTART (%s) non può essere superiore a quello di MAXVALUE (%s)"
 
-#: commands/sequence.c:1374
+#: commands/sequence.c:1417
 #, c-format
 msgid "CACHE (%s) must be greater than zero"
 msgstr "CACHE (%s) dev'essere maggiore di zero"
 
-#: commands/sequence.c:1406
+#: commands/sequence.c:1449
 #, c-format
 msgid "invalid OWNED BY option"
 msgstr "opzione OWNED BY non valida"
 
-#: commands/sequence.c:1407
+#: commands/sequence.c:1450
 #, c-format
 msgid "Specify OWNED BY table.column or OWNED BY NONE."
 msgstr "Specifica OWNED BY tabella.colonna oppure OWNED BY NONE."
 
-#: commands/sequence.c:1430
+#: commands/sequence.c:1473
 #, c-format
 msgid "referenced relation \"%s\" is not a table or foreign table"
 msgstr "la relazione referenziata \"%s\" non è una tabella né una tabella esterna"
 
-#: commands/sequence.c:1437
+#: commands/sequence.c:1480
 #, c-format
 msgid "sequence must have same owner as table it is linked to"
 msgstr "la sequenza deve avere lo stesso proprietario della tabella a cui è collegata"
 
-#: commands/sequence.c:1441
+#: commands/sequence.c:1484
 #, c-format
 msgid "sequence must be in same schema as table it is linked to"
 msgstr "la sequenza deve essere nello stesso schema della tabella a cui è collegata"
 
-#: commands/tablecmds.c:206
+#: commands/tablecmds.c:212
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "la tabella \"%s\" non esiste"
 
-#: commands/tablecmds.c:207
+#: commands/tablecmds.c:213
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "la tabella \"%s\" non esiste, saltata"
 
-#: commands/tablecmds.c:209
+#: commands/tablecmds.c:215
 msgid "Use DROP TABLE to remove a table."
 msgstr "Usa DROP TABLE per eliminare una tabella."
 
-#: commands/tablecmds.c:212
+#: commands/tablecmds.c:218
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "la sequenza \"%s\" non esiste"
 
-#: commands/tablecmds.c:213
+#: commands/tablecmds.c:219
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "la sequenza \"%s\" non esiste, saltata"
 
-#: commands/tablecmds.c:215
+#: commands/tablecmds.c:221
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Usa DROP SEQUENCE per eliminare una sequenza."
 
-#: commands/tablecmds.c:218
+#: commands/tablecmds.c:224
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "la vista \"%s\" non esiste"
 
-#: commands/tablecmds.c:219
+#: commands/tablecmds.c:225
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "la vista \"%s\" non esiste, saltata"
 
-#: commands/tablecmds.c:221
+#: commands/tablecmds.c:227
 msgid "Use DROP VIEW to remove a view."
 msgstr "Usa DROP VIEW per eliminare una vista."
 
-#: commands/tablecmds.c:224
+#: commands/tablecmds.c:230
 #, c-format
 msgid "materialized view \"%s\" does not exist"
 msgstr "la vista materializzata \"%s\" non esiste"
 
-#: commands/tablecmds.c:225
+#: commands/tablecmds.c:231
 #, c-format
 msgid "materialized view \"%s\" does not exist, skipping"
 msgstr "la vista materializzata \"%s\" non esiste, saltata"
 
-#: commands/tablecmds.c:227
+#: commands/tablecmds.c:233
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr "Usa DROP MATERIALIZED VIEW per rimuovere una vista materializzata."
 
-#: commands/tablecmds.c:230 parser/parse_utilcmd.c:1548
+#: commands/tablecmds.c:236 parser/parse_utilcmd.c:1593
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "l'indice \"%s\" non esiste"
 
-#: commands/tablecmds.c:231
+#: commands/tablecmds.c:237
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "l'indice \"%s\" non esiste, saltato"
 
-#: commands/tablecmds.c:233
+#: commands/tablecmds.c:239
 msgid "Use DROP INDEX to remove an index."
 msgstr "Usa DROP INDEX per eliminare un indice."
 
-#: commands/tablecmds.c:238
+#: commands/tablecmds.c:244
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "\"%s\" non è un tipo"
 
-#: commands/tablecmds.c:239
+#: commands/tablecmds.c:245
 msgid "Use DROP TYPE to remove a type."
 msgstr "Usa DROP TYPE per eliminare un tipo."
 
-#: commands/tablecmds.c:242 commands/tablecmds.c:8076
-#: commands/tablecmds.c:10557
+#: commands/tablecmds.c:248 commands/tablecmds.c:8442
+#: commands/tablecmds.c:11018
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "la tabella esterna \"%s\" non esiste"
 
-#: commands/tablecmds.c:243
+#: commands/tablecmds.c:249
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "la tabella esterna \"%s\" non esiste, saltata"
 
-#: commands/tablecmds.c:245
+#: commands/tablecmds.c:251
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Usa DROP FOREIGN TABLE per eliminare una tabella esterna."
 
-#: commands/tablecmds.c:469
+#: commands/tablecmds.c:485
 #, c-format
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT può essere usato solo con le tabelle temporanee"
 
-#: commands/tablecmds.c:473 parser/parse_utilcmd.c:521
-#: parser/parse_utilcmd.c:532 parser/parse_utilcmd.c:549
-#: parser/parse_utilcmd.c:611
-#, c-format
-msgid "constraints are not supported on foreign tables"
-msgstr "i vincoli sulle tabelle esterne non sono supportati"
-
-#: commands/tablecmds.c:493
+#: commands/tablecmds.c:505
 #, c-format
 msgid "cannot create temporary table within security-restricted operation"
 msgstr "non è possibile creare la tabella temporanea nell'ambito di operazioni a sicurezza ristretta"
 
-#: commands/tablecmds.c:789
+#: commands/tablecmds.c:813
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects"
 msgstr "DROP INDEX CONCURRENTLY non supporta l'eliminazione di più di un oggetto"
 
-#: commands/tablecmds.c:793
+#: commands/tablecmds.c:817
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY non supporta CASCADE"
 
-#: commands/tablecmds.c:938 commands/tablecmds.c:1276
-#: commands/tablecmds.c:2133 commands/tablecmds.c:4112
-#: commands/tablecmds.c:5942 commands/tablecmds.c:11170
-#: commands/tablecmds.c:11205 commands/trigger.c:232 commands/trigger.c:1118
-#: commands/trigger.c:1226 rewrite/rewriteDefine.c:271
-#: rewrite/rewriteDefine.c:887
-#, c-format
-msgid "permission denied: \"%s\" is a system catalog"
-msgstr "permesso negato: \"%s\" è un catalogo di sistema"
-
-#: commands/tablecmds.c:1052
+#: commands/tablecmds.c:1076
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "truncate si propaga in cascata alla tabella \"%s\""
 
-#: commands/tablecmds.c:1286
+#: commands/tablecmds.c:1314
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "non è possibile troncare tabelle temporanee di altre sessioni"
 
-#: commands/tablecmds.c:1491 parser/parse_utilcmd.c:1760
+#: commands/tablecmds.c:1520 parser/parse_utilcmd.c:1807
 #, c-format
-msgid "inherited relation \"%s\" is not a table"
-msgstr "la relazione ereditata \"%s\" non è una tabella"
+msgid "inherited relation \"%s\" is not a table or foreign table"
+msgstr "la relazione ereditata \"%s\" non è una tabella o tabella esterna"
 
-#: commands/tablecmds.c:1498 commands/tablecmds.c:9531
+#: commands/tablecmds.c:1527 commands/tablecmds.c:9917
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "non è possibile ereditare dalla relazione temporanea \"%s\""
 
-#: commands/tablecmds.c:1506 commands/tablecmds.c:9539
+#: commands/tablecmds.c:1535 commands/tablecmds.c:9925
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "non è possibile ereditare da una relazione temporanea di un'altra sessione"
 
-#: commands/tablecmds.c:1522 commands/tablecmds.c:9573
+#: commands/tablecmds.c:1551 commands/tablecmds.c:9959
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "la relazione \"%s\" sarebbe ereditata più di una volta"
 
-#: commands/tablecmds.c:1570
+#: commands/tablecmds.c:1599
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "unione delle definizioni multiple ereditate della colonna \"%s\""
 
-#: commands/tablecmds.c:1578
+#: commands/tablecmds.c:1607
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "la colonna ereditata \"%s\" ha un conflitto di tipo"
 
-#: commands/tablecmds.c:1580 commands/tablecmds.c:1601
-#: commands/tablecmds.c:1789 commands/tablecmds.c:1811
+#: commands/tablecmds.c:1609 commands/tablecmds.c:1630
+#: commands/tablecmds.c:1828 commands/tablecmds.c:1850
 #: parser/parse_coerce.c:1592 parser/parse_coerce.c:1612
 #: parser/parse_coerce.c:1632 parser/parse_coerce.c:1677
 #: parser/parse_coerce.c:1714 parser/parse_param.c:218
@@ -6605,1643 +7338,1754 @@ msgstr "la colonna ereditata \"%s\" ha un conflitto di tipo"
 msgid "%s versus %s"
 msgstr "tra %s e %s"
 
-#: commands/tablecmds.c:1587
+#: commands/tablecmds.c:1616
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "la colonna ereditata \"%s\" ha un conflitto di ordinamento"
 
-#: commands/tablecmds.c:1589 commands/tablecmds.c:1799
-#: commands/tablecmds.c:4536
+#: commands/tablecmds.c:1618 commands/tablecmds.c:1838
+#: commands/tablecmds.c:4734
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "tra \"%s\" e \"%s\""
 
-#: commands/tablecmds.c:1599
+#: commands/tablecmds.c:1628
 #, c-format
 msgid "inherited column \"%s\" has a storage parameter conflict"
 msgstr "la colonna ereditata \"%s\" ha un conflitto di parametro di memorizzazione"
 
-#: commands/tablecmds.c:1712 parser/parse_utilcmd.c:853
-#: parser/parse_utilcmd.c:1195 parser/parse_utilcmd.c:1271
+#: commands/tablecmds.c:1741 parser/parse_utilcmd.c:894
+#: parser/parse_utilcmd.c:1238 parser/parse_utilcmd.c:1314
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "non è possibile convertire riferimenti ad una riga intera di tabella"
 
-#: commands/tablecmds.c:1713 parser/parse_utilcmd.c:854
+#: commands/tablecmds.c:1742 parser/parse_utilcmd.c:895
 #, c-format
 msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "Il vincolo \"%s\" contiene un riferimento alla riga intera alla tabella \"%s\"."
 
-#: commands/tablecmds.c:1779
+#: commands/tablecmds.c:1814
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "unione della colonna \"%s\" con la definizione ereditata"
 
-#: commands/tablecmds.c:1787
+#: commands/tablecmds.c:1818
+#, c-format
+msgid "moving and merging column \"%s\" with inherited definition"
+msgstr "spostamento e unione della colonna \"%s\" con la definizione ereditata"
+
+#: commands/tablecmds.c:1819
+#, c-format
+msgid "User-specified column moved to the position of the inherited column."
+msgstr "Colonna specificata dall'utente spostata nella posizione della colonna ereditata."
+
+#: commands/tablecmds.c:1826
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "la colonna \"%s\" ha un conflitto di tipi"
 
-#: commands/tablecmds.c:1797
+#: commands/tablecmds.c:1836
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "la colonna \"%s\" ha un conflitto di ordinamento"
 
-#: commands/tablecmds.c:1809
+#: commands/tablecmds.c:1848
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "la colonna \"%s\" ha un conflitto di parametri di memorizzazione"
 
-#: commands/tablecmds.c:1861
+#: commands/tablecmds.c:1900
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "la colonna \"%s\" eredita valori predefiniti in conflitto tra loro"
 
-#: commands/tablecmds.c:1863
+#: commands/tablecmds.c:1902
 #, c-format
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "Per risolvere il conflitto, specificare esplicitamente un valore predefinito."
 
-#: commands/tablecmds.c:1910
+#: commands/tablecmds.c:1949
 #, c-format
 msgid "check constraint name \"%s\" appears multiple times but with different expressions"
 msgstr "il nome del vincolo di controllo \"%s\" compare più di una volta ma con espressioni diverse"
 
-#: commands/tablecmds.c:2104
+#: commands/tablecmds.c:2143
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "non è possibile rinominare la colonna di una tabella con tipo"
 
-#: commands/tablecmds.c:2121
+#: commands/tablecmds.c:2160
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, composite type, index, or foreign table"
 msgstr "\"%s\" non è una tabella, vista, vista materializzata, tipo composito, indice né una tabella esterna"
 
-#: commands/tablecmds.c:2213
+#: commands/tablecmds.c:2254
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr "la colonna ereditata \"%s\" dev'essere rinominata anche nelle tabelle figlie"
 
-#: commands/tablecmds.c:2245
+#: commands/tablecmds.c:2286
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "non è possibile rinominare la colonna di sistema \"%s\""
 
-#: commands/tablecmds.c:2260
+#: commands/tablecmds.c:2301
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "non è possibile rinominare la colonna ereditata \"%s\""
 
-#: commands/tablecmds.c:2407
+#: commands/tablecmds.c:2456
 #, c-format
 msgid "inherited constraint \"%s\" must be renamed in child tables too"
 msgstr "i vincoli ereditati \"%s\" devono essere rinominati anche nelle tabelle figlie"
 
-#: commands/tablecmds.c:2414
+#: commands/tablecmds.c:2463
 #, c-format
 msgid "cannot rename inherited constraint \"%s\""
 msgstr "non è possibile rinominare il vincolo ereditato \"%s\""
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2628
+#: commands/tablecmds.c:2689
 #, c-format
 msgid "cannot %s \"%s\" because it is being used by active queries in this session"
 msgstr "non è possibile effettuare %s \"%s\" perché è in uso da query attive in questa sessione"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2637
+#: commands/tablecmds.c:2698
 #, c-format
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr "non è possibile effettuare %s \"%s\" perché ha eventi trigger in sospeso"
 
-#: commands/tablecmds.c:3607
+#: commands/tablecmds.c:3759
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "non è possibile riscrivere la relazione di sistema \"%s\""
 
-#: commands/tablecmds.c:3613
+#: commands/tablecmds.c:3765
 #, c-format
 msgid "cannot rewrite table \"%s\" used as a catalog table"
 msgstr "non è possibile riscrivere la tabella \"%s\" usata come tabella di catalogo"
 
-#: commands/tablecmds.c:3623
+#: commands/tablecmds.c:3775
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "non è possibile riscrivere tabelle temporanee di altre sessioni"
 
-#: commands/tablecmds.c:3854
+#: commands/tablecmds.c:4043
 #, c-format
 msgid "rewriting table \"%s\""
 msgstr "riscrittura della tabella \"%s\""
 
-#: commands/tablecmds.c:3858
+#: commands/tablecmds.c:4047
 #, c-format
 msgid "verifying table \"%s\""
 msgstr "verifica della tabella \"%s\""
 
-#: commands/tablecmds.c:3972
+#: commands/tablecmds.c:4161
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "la colonna \"%s\" contiene valori null"
 
-#: commands/tablecmds.c:3987 commands/tablecmds.c:6985
+#: commands/tablecmds.c:4176 commands/tablecmds.c:7322
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "il vincolo di controllo \"%s\" è violato da alcune righe"
 
-#: commands/tablecmds.c:4133 commands/trigger.c:226
-#: rewrite/rewriteDefine.c:265 rewrite/rewriteDefine.c:882
+#: commands/tablecmds.c:4324 commands/trigger.c:234
+#: rewrite/rewriteDefine.c:266 rewrite/rewriteDefine.c:886
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "\"%s\" non è una tabella né una vista"
 
-#: commands/tablecmds.c:4136
+#: commands/tablecmds.c:4327
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, or index"
 msgstr "\"%s\" non è una tabella, una vista, una vista materializzata né un indice"
 
-#: commands/tablecmds.c:4142
+#: commands/tablecmds.c:4333
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or index"
 msgstr "\"%s\" non è una tabella, una vista materializzata né un indice"
 
-#: commands/tablecmds.c:4145
+#: commands/tablecmds.c:4336
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "\"%s\" non è una tabella né una tabella esterna"
 
-#: commands/tablecmds.c:4148
+#: commands/tablecmds.c:4339
 #, c-format
 msgid "\"%s\" is not a table, composite type, or foreign table"
 msgstr "\"%s\" non è una tabella, un tipo composito né una tabella esterna"
 
-#: commands/tablecmds.c:4151
+#: commands/tablecmds.c:4342
 #, c-format
 msgid "\"%s\" is not a table, materialized view, composite type, or foreign table"
 msgstr "\"%s\" non è una tabella, una vista materializzata, un tipo composito né una tabella esterna"
 
-#: commands/tablecmds.c:4161
+#: commands/tablecmds.c:4352
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "\"%s\" è del tipo sbagliato"
 
-#: commands/tablecmds.c:4311 commands/tablecmds.c:4318
+#: commands/tablecmds.c:4504 commands/tablecmds.c:4511
 #, c-format
 msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
 msgstr "non è possibile modificare il tipo \"%s\" perché la colonna \"%s.%s\" lo usa"
 
-#: commands/tablecmds.c:4325
+#: commands/tablecmds.c:4518
 #, c-format
 msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "non è possibile modificare la tabella esterna \"%s\" perché la colonna \"%s.%s\" usa il suo tipo di riga"
 
-#: commands/tablecmds.c:4332
+#: commands/tablecmds.c:4525
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "non è possibile modificare la tabella \"%s\" perché la colonna \"%s.%s\" usa il suo tipo di riga"
 
-#: commands/tablecmds.c:4394
+#: commands/tablecmds.c:4587
 #, c-format
 msgid "cannot alter type \"%s\" because it is the type of a typed table"
 msgstr "non è possibile modificare il tipo \"%s\" perché è il tipo di una tabella con tipo"
 
-#: commands/tablecmds.c:4396
+#: commands/tablecmds.c:4589
 #, c-format
 msgid "Use ALTER ... CASCADE to alter the typed tables too."
 msgstr "Usa DROP ... CASCADE per eliminare anche le tabelle con tipo."
 
-#: commands/tablecmds.c:4440
+#: commands/tablecmds.c:4633
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "il tipo %s non è un tipo composito"
 
-#: commands/tablecmds.c:4466
+#: commands/tablecmds.c:4659
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "non è possibile aggiungere una colonna ad una tabella con tipo"
 
-#: commands/tablecmds.c:4528 commands/tablecmds.c:9727
+#: commands/tablecmds.c:4726 commands/tablecmds.c:10118
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "la tabella figlia \"%s\" ha tipo diverso per la colonna \"%s\""
 
-#: commands/tablecmds.c:4534 commands/tablecmds.c:9734
+#: commands/tablecmds.c:4732 commands/tablecmds.c:10125
 #, c-format
 msgid "child table \"%s\" has different collation for column \"%s\""
 msgstr "la tabella figlia \"%s\" ha ordinamento diverso per la colonna \"%s\""
 
-#: commands/tablecmds.c:4544
+#: commands/tablecmds.c:4742
 #, c-format
 msgid "child table \"%s\" has a conflicting \"%s\" column"
 msgstr "la tabella figlia \"%s\" ha la colonna \"%s\" in conflitto"
 
-#: commands/tablecmds.c:4556
+#: commands/tablecmds.c:4754
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "unione delle definizioni della colonna \"%s\" per la tabella figlia \"%s\""
 
-#: commands/tablecmds.c:4777
+#: commands/tablecmds.c:4975
 #, c-format
 msgid "column must be added to child tables too"
 msgstr "la colonna deve essere aggiunta anche alle tabelle figlie"
 
-#: commands/tablecmds.c:4844
+#: commands/tablecmds.c:5045
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "la colonna \"%s\" della relazione \"%s\" esiste già"
 
-#: commands/tablecmds.c:4948 commands/tablecmds.c:5043
-#: commands/tablecmds.c:5091 commands/tablecmds.c:5195
-#: commands/tablecmds.c:5242 commands/tablecmds.c:5326
-#: commands/tablecmds.c:7503 commands/tablecmds.c:8098
+#: commands/tablecmds.c:5153 commands/tablecmds.c:5259
+#: commands/tablecmds.c:5317 commands/tablecmds.c:5431
+#: commands/tablecmds.c:5488 commands/tablecmds.c:5582
+#: commands/tablecmds.c:7840 commands/tablecmds.c:8465
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "non è possibile modificare la colonna di sistema \"%s\""
 
-#: commands/tablecmds.c:4984
+#: commands/tablecmds.c:5189
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la colonna \"%s\" è in una chiave primaria"
 
-#: commands/tablecmds.c:5142
+#: commands/tablecmds.c:5372
 #, c-format
 msgid "\"%s\" is not a table, materialized view, index, or foreign table"
 msgstr "\"%s\" non è una tabella, una vista materializzata, un indice né una tabella esterna"
 
-#: commands/tablecmds.c:5169
+#: commands/tablecmds.c:5404
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "il target delle statistiche %d è troppo basso"
 
-#: commands/tablecmds.c:5177
+#: commands/tablecmds.c:5412
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "target delle statistiche abbassato a %d"
 
-#: commands/tablecmds.c:5307
+#: commands/tablecmds.c:5562
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "tipo di immagazzinamento non valido \"%s\""
 
-#: commands/tablecmds.c:5338
+#: commands/tablecmds.c:5594
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "il tipo di dato della colonna %s può avere solo immagazzinamento PLAIN"
 
-#: commands/tablecmds.c:5372
+#: commands/tablecmds.c:5632
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "non è possibile eliminare la colonna da una tabella con tipo"
 
-#: commands/tablecmds.c:5413
+#: commands/tablecmds.c:5676
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "la colonna \"%s\" della relazione \"%s\" non esiste, saltato"
 
-#: commands/tablecmds.c:5426
+#: commands/tablecmds.c:5689
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "non è possibile eliminare la colonna di sistema \"%s\""
 
-#: commands/tablecmds.c:5433
+#: commands/tablecmds.c:5696
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "non è possibile eliminare la colonna ereditata \"%s\""
 
-#: commands/tablecmds.c:5663
+#: commands/tablecmds.c:5936
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\""
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX rinominerà l'indice \"%s\" in \"%s\""
 
-#: commands/tablecmds.c:5866
+#: commands/tablecmds.c:6158
 #, c-format
 msgid "constraint must be added to child tables too"
 msgstr "il vincolo deve essere aggiunto anche alle tabelle figlie"
 
-#: commands/tablecmds.c:5936
+#: commands/tablecmds.c:6229
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "la relazione referenziata \"%s\" non è una tabella"
 
-#: commands/tablecmds.c:5959
+#: commands/tablecmds.c:6252
 #, c-format
 msgid "constraints on permanent tables may reference only permanent tables"
 msgstr "i vincoli su tabelle permanenti possono referenziare solo tabelle permanenti"
 
-#: commands/tablecmds.c:5966
+#: commands/tablecmds.c:6259
 #, c-format
 msgid "constraints on unlogged tables may reference only permanent or unlogged tables"
 msgstr "i vincoli su tabelle non loggate possono referenziare solo tabelle permanenti o non loggate"
 
-#: commands/tablecmds.c:5972
+#: commands/tablecmds.c:6265
 #, c-format
 msgid "constraints on temporary tables may reference only temporary tables"
 msgstr "i vincoli su tabelle temporanee possono referenziare solo tabelle temporanee"
 
-#: commands/tablecmds.c:5976
+#: commands/tablecmds.c:6269
 #, c-format
 msgid "constraints on temporary tables must involve temporary tables of this session"
 msgstr "i vincoli su tabelle temporanee devono riferirsi a tabelle temporanee di questa sessione"
 
-#: commands/tablecmds.c:6037
+#: commands/tablecmds.c:6330
 #, c-format
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "i numeri di colonne referenzianti e referenziate per la chiave esterna non combaciano"
 
-#: commands/tablecmds.c:6144
+#: commands/tablecmds.c:6437
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "non è possibile implementare il vincolo di chiave esterna \"%s\""
 
-#: commands/tablecmds.c:6147
+#: commands/tablecmds.c:6440
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "Le colonne chiave \"%s\" e \"%s\" hanno tipi incompatibili: %s e %s."
 
-#: commands/tablecmds.c:6347 commands/tablecmds.c:6470
-#: commands/tablecmds.c:7342 commands/tablecmds.c:7398
+#: commands/tablecmds.c:6647 commands/tablecmds.c:6797
+#: commands/tablecmds.c:7679 commands/tablecmds.c:7735
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "il vincolo \"%s\" della relazione \"%s\" non esiste"
 
-#: commands/tablecmds.c:6353
+#: commands/tablecmds.c:6653
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
 msgstr "il vincolo \"%s\" della relazione \"%s\" non è una chiave esterna"
 
-#: commands/tablecmds.c:6477
+#: commands/tablecmds.c:6804
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
 msgstr "il vincolo \"%s\" della relazione \"%s\" non è una chiave esterna o un vincolo di controllo"
 
-#: commands/tablecmds.c:6546
+#: commands/tablecmds.c:6872
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "i vincoli devono essere validati anche sulle tabelle figlie"
 
-#: commands/tablecmds.c:6608
+#: commands/tablecmds.c:6941
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "la colonna \"%s\" referenziata dal vincolo di chiave esterna non esiste"
 
-#: commands/tablecmds.c:6613
+#: commands/tablecmds.c:6946
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "non possono esserci più di %d chiavi in una chiave esterna"
 
-#: commands/tablecmds.c:6678
+#: commands/tablecmds.c:7011
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr "non è possibile usare una chiave primaria deferita per la tabella referenziata \"%s\""
 
-#: commands/tablecmds.c:6695
+#: commands/tablecmds.c:7028
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "la tabella referenziata \"%s\" non ha una chiave primaria"
 
-#: commands/tablecmds.c:6760
+#: commands/tablecmds.c:7093
 #, c-format
 msgid "foreign key referenced-columns list must not contain duplicates"
 msgstr "la lista di colonne referenziate dalla chiave esterna non deve contenere duplicati"
 
-#: commands/tablecmds.c:6854
+#: commands/tablecmds.c:7187
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr "non è possibile usare un vincolo univoco deferito per la tabella referenziata \"%s\""
 
-#: commands/tablecmds.c:6859
+#: commands/tablecmds.c:7192
 #, c-format
 msgid "there is no unique constraint matching given keys for referenced table \"%s\""
 msgstr "non c'è alcun vincolo univoco che corrisponda alle chiavi indicate per la tabella referenziata \"%s\""
 
-#: commands/tablecmds.c:7018
+#: commands/tablecmds.c:7355
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "validazione del vincolo di chiave esterna \"%s\""
 
-#: commands/tablecmds.c:7314
+#: commands/tablecmds.c:7651
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "non è possibile eliminare il vincolo ereditato \"%s\" della relazione \"%s\""
 
-#: commands/tablecmds.c:7348
+#: commands/tablecmds.c:7685
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "il vincolo \"%s\" della relazione \"%s\" non esiste, saltato"
 
-#: commands/tablecmds.c:7487
+#: commands/tablecmds.c:7824
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "non è possibile modificare il tipo di colonna di una tabella con tipo"
 
-#: commands/tablecmds.c:7510
+#: commands/tablecmds.c:7847
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "non è possibile modificare la colonna ereditata \"%s\""
 
-#: commands/tablecmds.c:7557
+#: commands/tablecmds.c:7896
 #, c-format
-msgid "transform expression must not return a set"
-msgstr "l'espressione di trasformazione non può restituire un insieme"
+msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s"
+msgstr "il risultato della clausola USING per la colonna \"%s\" non può essere convertito automaticamente al tipo %s"
 
-#: commands/tablecmds.c:7576
+#: commands/tablecmds.c:7899
+#, c-format
+msgid "You might need to add an explicit cast."
+msgstr "Potresti dover aggiungere una conversione esplicita."
+
+#: commands/tablecmds.c:7903
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "la colonna \"%s\" non può essere convertita automaticamente al tipo %s"
 
-#: commands/tablecmds.c:7578
+#. translator: USING is SQL, don't translate it
+#: commands/tablecmds.c:7906
 #, c-format
-msgid "Specify a USING expression to perform the conversion."
-msgstr "Specifica una espressione USING per effettuare la conversione."
+msgid "You might need to specify \"USING %s::%s\"."
+msgstr "Potresti dover specificare \"USING %s::%s\"."
 
-#: commands/tablecmds.c:7627
+#: commands/tablecmds.c:7959
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr "il tipo della colonna ereditata \"%s\" deve essere cambiato anche nelle tabelle figlie"
 
-#: commands/tablecmds.c:7708
+#: commands/tablecmds.c:8046
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "non è possibile cambiare il tipo della colonna \"%s\" due volte"
 
-#: commands/tablecmds.c:7744
+#: commands/tablecmds.c:8082
 #, c-format
 msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgstr "il valore predefinito della colonna \"%s\" non può essere convertito automaticamente al tipo %s"
 
-#: commands/tablecmds.c:7870
+#: commands/tablecmds.c:8208
 #, c-format
 msgid "cannot alter type of a column used by a view or rule"
 msgstr "non è possibile cambiare il tipo di una colonna usata in una vista o una regola"
 
-#: commands/tablecmds.c:7871 commands/tablecmds.c:7890
+#: commands/tablecmds.c:8209 commands/tablecmds.c:8228
+#: commands/tablecmds.c:8246
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s dipende dalla colonna \"%s\""
 
-#: commands/tablecmds.c:7889
+#: commands/tablecmds.c:8227
 #, c-format
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "non è possibile cambiare il tipo di una colonna usata nella definizione di un trigger"
 
-#: commands/tablecmds.c:8465
+#: commands/tablecmds.c:8245
+#, c-format
+msgid "cannot alter type of a column used in a policy definition"
+msgstr "non è possibile cambiare il tipo di una colonna usata nella definizione di una politica"
+
+#: commands/tablecmds.c:8836
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "non è possibile cambiare il proprietario dell'indice \"%s\""
 
-#: commands/tablecmds.c:8467
+#: commands/tablecmds.c:8838
 #, c-format
 msgid "Change the ownership of the index's table, instead."
 msgstr "Cambia il proprietario della tabella dell'indice invece."
 
-#: commands/tablecmds.c:8483
+#: commands/tablecmds.c:8854
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "non è possibile cambiare il proprietario della sequenza \"%s\""
 
-#: commands/tablecmds.c:8485 commands/tablecmds.c:10644
+#: commands/tablecmds.c:8856 commands/tablecmds.c:11226
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "La sequenza \"%s\" è collegata alla tabella \"%s\"."
 
-#: commands/tablecmds.c:8497 commands/tablecmds.c:11280
+#: commands/tablecmds.c:8868 commands/tablecmds.c:11867
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "È possibile usare ALTER TYPE invece."
 
-#: commands/tablecmds.c:8506
+#: commands/tablecmds.c:8877
 #, c-format
 msgid "\"%s\" is not a table, view, sequence, or foreign table"
 msgstr "\"%s\" non è una tabella, una vista, una sequenza né una tabella esterna"
 
-#: commands/tablecmds.c:8842
+#: commands/tablecmds.c:9221
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "non è possibile avere più di un sottocomando SET TABLESPACE"
 
-#: commands/tablecmds.c:8915
+#: commands/tablecmds.c:9294
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
 msgstr "\"%s\" non è una tabella, una vista, una vista materializzata né una tabella TOAST"
 
-#: commands/tablecmds.c:8948 commands/view.c:474
+#: commands/tablecmds.c:9327 commands/view.c:481
 #, c-format
 msgid "WITH CHECK OPTION is supported only on automatically updatable views"
 msgstr "WITH CHECK OPTION è supportato solo su viste aggiornabili automaticamente"
 
-#: commands/tablecmds.c:9094
+#: commands/tablecmds.c:9473
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "non è possibile spostare la relazione \"%s\""
 
-#: commands/tablecmds.c:9110
+#: commands/tablecmds.c:9489
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "non è possibile spostare tabelle temporanee di altre sessioni"
 
-#: commands/tablecmds.c:9238
+#: commands/tablecmds.c:9617
 #, c-format
 msgid "only tables, indexes, and materialized views exist in tablespaces"
 msgstr "solo tabelle, indici e viste materializzate esistono nei tablespace"
 
-#: commands/tablecmds.c:9250
+#: commands/tablecmds.c:9629
 #, c-format
 msgid "cannot move relations in to or out of pg_global tablespace"
 msgstr "non è possibile spostare relazioni dentro o fuori il tablespace pg_global"
 
-#: commands/tablecmds.c:9341
+#: commands/tablecmds.c:9720
 #, c-format
 msgid "aborting because lock on relation \"%s\".\"%s\" is not available"
 msgstr "interruzione perché non c'è un lock disponibile sulla relazione \"%s\".\"%s\""
 
-#: commands/tablecmds.c:9357
+#: commands/tablecmds.c:9736
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "nessuna relazione corrispondente trovata nel tablespace \"%s\""
 
-#: commands/tablecmds.c:9418 storage/buffer/bufmgr.c:501
+#: commands/tablecmds.c:9800 storage/buffer/bufmgr.c:801
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "pagina non valida nel blocco %u della relazione %s"
 
-#: commands/tablecmds.c:9500
+#: commands/tablecmds.c:9882
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "non è possibile cambiare ereditarietà di tabelle con tipo"
 
-#: commands/tablecmds.c:9546
+#: commands/tablecmds.c:9932
 #, c-format
 msgid "cannot inherit to temporary relation of another session"
 msgstr "non è possibile ereditare tabelle temporanee di un'altra sessione"
 
-#: commands/tablecmds.c:9600
+#: commands/tablecmds.c:9986
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "l'ereditarietà circolare non è consentita"
 
-#: commands/tablecmds.c:9601
+#: commands/tablecmds.c:9987
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "\"%s\" è già figlia di \"%s\"."
 
-#: commands/tablecmds.c:9609
+#: commands/tablecmds.c:9995
 #, c-format
 msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
 msgstr "la tabella \"%s\" senza OID non può ereditare dalla tabella \"%s\" con OID"
 
-#: commands/tablecmds.c:9745
+#: commands/tablecmds.c:10136
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "la colonna \"%s\" nella tabella figlia dev'essere marcata NOT NULL"
 
-#: commands/tablecmds.c:9761
+#: commands/tablecmds.c:10152
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "la tabella figlia non ha la colonna \"%s\""
 
-#: commands/tablecmds.c:9844
+#: commands/tablecmds.c:10235
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr "la tabella figlia \"%s\" ha una definizione diversa del vincolo di controllo \"%s\""
 
-#: commands/tablecmds.c:9852
+#: commands/tablecmds.c:10243
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\""
 msgstr "il vincolo \"%s\" è in conflitto con un vincolo non ereditato nella tabella figlia \"%s\""
 
-#: commands/tablecmds.c:9876
+#: commands/tablecmds.c:10267
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "la tabella figlia non ha il vincolo \"%s\""
 
-#: commands/tablecmds.c:9956
+#: commands/tablecmds.c:10351
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "la relazione \"%s\" non è genitore della relazione \"%s\""
 
-#: commands/tablecmds.c:10182
+#: commands/tablecmds.c:10585
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "le tabelle con tipo non possono essere ereditate"
 
-#: commands/tablecmds.c:10213
+#: commands/tablecmds.c:10616
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "la tabella non ha la colonna \"%s\""
 
-#: commands/tablecmds.c:10223
+#: commands/tablecmds.c:10626
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "la tabella ha la colonna \"%s\" laddove il tipo richiede \"%s\""
 
-#: commands/tablecmds.c:10232
+#: commands/tablecmds.c:10635
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "la tabella \"%s\" ha tipo diverso per la colonna \"%s\""
 
-#: commands/tablecmds.c:10245
+#: commands/tablecmds.c:10648
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "la tabella ha la colonna \"%s\" in eccesso"
 
-#: commands/tablecmds.c:10295
+#: commands/tablecmds.c:10700
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "\"%s\" non è una tabella con tipo"
 
-#: commands/tablecmds.c:10478
+#: commands/tablecmds.c:10883
 #, c-format
 msgid "cannot use non-unique index \"%s\" as replica identity"
 msgstr "non è possibile usare l'indice non univoco \"%s\" come identità di replica"
 
-#: commands/tablecmds.c:10484
+#: commands/tablecmds.c:10889
 #, c-format
 msgid "cannot use non-immediate index \"%s\" as replica identity"
 msgstr "non è possibile usare l'indice non immediato \"%s\" come identità di replica"
 
-#: commands/tablecmds.c:10490
+#: commands/tablecmds.c:10895
 #, c-format
 msgid "cannot use expression index \"%s\" as replica identity"
 msgstr "non è possibile usare l'indice su espressione \"%s\" come identità di replica"
 
-#: commands/tablecmds.c:10496
+#: commands/tablecmds.c:10901
 #, c-format
 msgid "cannot use partial index \"%s\" as replica identity"
 msgstr "non è possibile usare l'indice parziale \"%s\" come identità di replica"
 
-#: commands/tablecmds.c:10502
+#: commands/tablecmds.c:10907
 #, c-format
 msgid "cannot use invalid index \"%s\" as replica identity"
 msgstr "non è possibile usare l'indice non valido \"%s\" come identità di replica"
 
-#: commands/tablecmds.c:10520
+#: commands/tablecmds.c:10925
 #, c-format
 msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable"
 msgstr "l'indice \"%s\" non può essere usato come identità di replica perché la colonna \"%s\" può essere NULL"
 
-#: commands/tablecmds.c:10643
+#: commands/tablecmds.c:11093
+#, c-format
+msgid "cannot change logged status of table %s"
+msgstr "non è possibile cambiare lo stato di log della tabella %s"
+
+#: commands/tablecmds.c:11095
+#, c-format
+msgid "Table %s is temporary."
+msgstr "La tabella %s è temporanea."
+
+#: commands/tablecmds.c:11154
+#, c-format
+msgid "cannot change status of table %s to logged"
+msgstr "non è possibile cambiare lo stato della tabella %s a loggata"
+
+#: commands/tablecmds.c:11156
+#, c-format
+msgid "Table %s references unlogged table %s."
+msgstr "La tabella %s è referenziata dalla tabella non loggata %s."
+
+#: commands/tablecmds.c:11166
+#, c-format
+msgid "cannot change status of table %s to unlogged"
+msgstr "non è possibile cambiare lo stato della tabella %s a non loggata"
+
+#: commands/tablecmds.c:11168
+#, c-format
+msgid "Logged table %s is referenced by table %s."
+msgstr "La tabella loggata %s è referenziata dalla tabella %s."
+
+#: commands/tablecmds.c:11225
 #, c-format
 msgid "cannot move an owned sequence into another schema"
 msgstr "non è possibile spostare una sequenza con proprietario in uno schema diverso"
 
-#: commands/tablecmds.c:10739
+#: commands/tablecmds.c:11326
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "la relazione \"%s\" esiste già nello schema \"%s\""
 
-#: commands/tablecmds.c:11264
+#: commands/tablecmds.c:11851
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "\"%s\" non è un tipo composito"
 
-#: commands/tablecmds.c:11294
+#: commands/tablecmds.c:11881
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
 msgstr "\"%s\" non è una tabella, una vista, una vista materializzata, una sequenza né una tabella esterna"
 
-#: commands/tablespace.c:160 commands/tablespace.c:177
-#: commands/tablespace.c:188 commands/tablespace.c:196
-#: commands/tablespace.c:623 replication/slot.c:930 storage/file/copydir.c:47
+#: commands/tablespace.c:162 commands/tablespace.c:179
+#: commands/tablespace.c:190 commands/tablespace.c:198
+#: commands/tablespace.c:624 replication/slot.c:914 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "creazione della directory \"%s\" fallita: %m"
 
-#: commands/tablespace.c:207
+#: commands/tablespace.c:209
 #, c-format
 msgid "could not stat directory \"%s\": %m"
 msgstr "non è stato possibile ottenere informazioni sulla directory \"%s\": %m"
 
-#: commands/tablespace.c:216
+#: commands/tablespace.c:218
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "\"%s\" esiste ma non è una directory"
 
-#: commands/tablespace.c:247
+#: commands/tablespace.c:249
 #, c-format
 msgid "permission denied to create tablespace \"%s\""
 msgstr "permesso di creare il tablespace \"%s\" negato"
 
-#: commands/tablespace.c:249
+#: commands/tablespace.c:251
 #, c-format
 msgid "Must be superuser to create a tablespace."
 msgstr "Solo un superutente può incrementare questo valore."
 
-#: commands/tablespace.c:265
+#: commands/tablespace.c:267
 #, c-format
 msgid "tablespace location cannot contain single quotes"
 msgstr "la posizione del tablespace non può contenere apici"
 
-#: commands/tablespace.c:275
+#: commands/tablespace.c:277
 #, c-format
 msgid "tablespace location must be an absolute path"
 msgstr "la posizione del tablespace dev'essere un percorso assoluto"
 
-#: commands/tablespace.c:286
+#: commands/tablespace.c:288
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "la posizione del tablespace \"%s\" è troppo lunga"
 
-#: commands/tablespace.c:296 commands/tablespace.c:894
+#: commands/tablespace.c:295
+#, c-format
+msgid "tablespace location should not be inside the data directory"
+msgstr "la locazione del tablespace non dev'essere all'interno della directory dei dati"
+
+#: commands/tablespace.c:304 commands/tablespace.c:937
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "il nome del tablespace \"%s\" non è accettabile"
 
-#: commands/tablespace.c:298 commands/tablespace.c:895
+#: commands/tablespace.c:306 commands/tablespace.c:938
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "Il prefisso \"pg_\" è riservato per i tablespace di sistema."
 
-#: commands/tablespace.c:308 commands/tablespace.c:907
+#: commands/tablespace.c:316 commands/tablespace.c:950
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "il tablespace \"%s\" esiste già"
 
-#: commands/tablespace.c:386 commands/tablespace.c:551
-#: replication/basebackup.c:222 replication/basebackup.c:1064
-#: utils/adt/misc.c:365
-#, c-format
-msgid "tablespaces are not supported on this platform"
-msgstr "i tablespace non sono supportati su questa piattaforma"
-
-#: commands/tablespace.c:426 commands/tablespace.c:877
-#: commands/tablespace.c:956 commands/tablespace.c:1025
-#: commands/tablespace.c:1158 commands/tablespace.c:1358
+#: commands/tablespace.c:429 commands/tablespace.c:920
+#: commands/tablespace.c:1001 commands/tablespace.c:1070
+#: commands/tablespace.c:1203 commands/tablespace.c:1403
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "il tablespace \"%s\" non esiste"
 
-#: commands/tablespace.c:432
+#: commands/tablespace.c:435
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "il tablespace \"%s\" non esiste, saltato"
 
-#: commands/tablespace.c:508
+#: commands/tablespace.c:511
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "il tablespace \"%s\" non è vuoto"
 
-#: commands/tablespace.c:582
+#: commands/tablespace.c:583
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "la directory \"%s\" non esiste"
 
-#: commands/tablespace.c:583
+#: commands/tablespace.c:584
 #, c-format
 msgid "Create this directory for the tablespace before restarting the server."
 msgstr "Crea questa directory per il tablespace prima di riavviare il server."
 
-#: commands/tablespace.c:588
+#: commands/tablespace.c:589
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "impostazione dei permessi sulla directory \"%s\" fallita: %m"
 
-#: commands/tablespace.c:618
+#: commands/tablespace.c:619
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "la directory \"%s\" già è in uso come tablespace"
 
-#: commands/tablespace.c:642 commands/tablespace.c:764
-#: commands/tablespace.c:777 commands/tablespace.c:801
+#: commands/tablespace.c:743 commands/tablespace.c:756
+#: commands/tablespace.c:780 commands/tablespace.c:871
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "rimozione della directory \"%s\" fallita: %m"
 
-#: commands/tablespace.c:650 commands/tablespace.c:812
+#: commands/tablespace.c:792 commands/tablespace.c:880
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "rimozione del link simbolico \"%s\" fallita: %m"
 
-#: commands/tablespace.c:661
+#: commands/tablespace.c:802 commands/tablespace.c:888
 #, c-format
-msgid "could not create symbolic link \"%s\": %m"
-msgstr "creazione del link simbolico \"%s\" fallita: %m"
+msgid "not a directory or symbolic link: \"%s\""
+msgstr "non è una directory o un link simbolico: \"%s\""
 
-#: commands/tablespace.c:725 commands/tablespace.c:735
-#: postmaster/postmaster.c:1284 replication/basebackup.c:349
-#: replication/basebackup.c:667 storage/file/copydir.c:53
-#: storage/file/copydir.c:96 storage/file/fd.c:1951 storage/ipc/dsm.c:300
-#: utils/adt/genfile.c:354 utils/adt/misc.c:267 utils/misc/tzparser.c:339
+#: commands/tablespace.c:859
 #, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "apertura della directory \"%s\" fallita: %m"
+msgid "could not stat \"%s\": %m"
+msgstr "richiesta informazioni su \"%s\" non riuscita: %m"
 
-#: commands/tablespace.c:1030
+#: commands/tablespace.c:1075
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "Il tablespace \"%s\" non esiste."
 
-#: commands/tablespace.c:1457
+#: commands/tablespace.c:1502
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "rimozioni delle directory per il tablespace %u fallita"
 
-#: commands/tablespace.c:1459
+#: commands/tablespace.c:1504
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "Puoi rimuovere le directory manualmente se necessario."
 
-#: commands/trigger.c:175
+#: commands/trigger.c:183
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "\"%s\" non è una tabella"
 
-#: commands/trigger.c:177
+#: commands/trigger.c:185
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Le tabelle non possono avere trigger INSTEAD OF."
 
-#: commands/trigger.c:188 commands/trigger.c:195
+#: commands/trigger.c:196 commands/trigger.c:203
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "\"%s\" è una vista"
 
-#: commands/trigger.c:190
+#: commands/trigger.c:198
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "Le viste non possono avere trigger di riga BEFORE o AFTER."
 
-#: commands/trigger.c:197
+#: commands/trigger.c:205
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Le viste non possono avere trigger TRUNCATE."
 
-#: commands/trigger.c:205 commands/trigger.c:212 commands/trigger.c:219
+#: commands/trigger.c:213 commands/trigger.c:220 commands/trigger.c:227
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "\"%s\" è una tabella esterna"
 
-#: commands/trigger.c:207
+#: commands/trigger.c:215
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "Le tabelle esterne non possono avere trigger INSTEAD OF."
 
-#: commands/trigger.c:214
+#: commands/trigger.c:222
 #, c-format
 msgid "Foreign tables cannot have TRUNCATE triggers."
 msgstr "Le tabelle esterne non possono avere trigger TRUNCATE."
 
-#: commands/trigger.c:221
+#: commands/trigger.c:229
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Le tabelle esterne non possono avere trigger di vincolo."
 
-#: commands/trigger.c:284
+#: commands/trigger.c:292
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "i trigger TRUNCATE FOR EACH ROW non sono supportati"
 
-#: commands/trigger.c:292
+#: commands/trigger.c:300
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "i trigger INSTEAD OF devono essere FOR EACH ROW"
 
-#: commands/trigger.c:296
+#: commands/trigger.c:304
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "i trigger INSTEAD OF non possono avere condizioni WHEN"
 
-#: commands/trigger.c:300
+#: commands/trigger.c:308
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "i trigger INSTEAD OF non possono avere liste di colonne"
 
-#: commands/trigger.c:359 commands/trigger.c:372
+#: commands/trigger.c:367 commands/trigger.c:380
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr "la condizione WHEN del trigger di istruzione non può riferirsi a valori di colonna"
 
-#: commands/trigger.c:364
+#: commands/trigger.c:372
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "la condizione WHEN dei trigger INSERT non può usare OLD"
 
-#: commands/trigger.c:377
+#: commands/trigger.c:385
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "la condizione WHEN del trigger DELETE non può usare NEW"
 
-#: commands/trigger.c:382
+#: commands/trigger.c:390
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr "la condizione WHEN del trigger BEFORE non può usare le colonne di sistema NEW"
 
-#: commands/trigger.c:427
+#: commands/trigger.c:435
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"trigger\""
 msgstr "modifica del tipo restituito dalla funzione %s da \"opaque\" a \"trigger\""
 
-#: commands/trigger.c:434
+#: commands/trigger.c:442
 #, c-format
 msgid "function %s must return type \"trigger\""
 msgstr "la funzione %s deve restituire il tipo \"trigger\""
 
-#: commands/trigger.c:546 commands/trigger.c:1295
+#: commands/trigger.c:554 commands/trigger.c:1304
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "il trigger \"%s\" per la relazione \"%s\" esiste già"
 
-#: commands/trigger.c:831
+#: commands/trigger.c:839
 msgid "Found referenced table's UPDATE trigger."
 msgstr "Trovato trigger UPDATE della tabella referenziata."
 
-#: commands/trigger.c:832
+#: commands/trigger.c:840
 msgid "Found referenced table's DELETE trigger."
 msgstr "Trovato trigger DELETE della tabella referenziata."
 
-#: commands/trigger.c:833
+#: commands/trigger.c:841
 msgid "Found referencing table's trigger."
 msgstr "Trovato trigger della tabella referenziante."
 
-#: commands/trigger.c:942 commands/trigger.c:958
+#: commands/trigger.c:950 commands/trigger.c:966
 #, c-format
 msgid "ignoring incomplete trigger group for constraint \"%s\" %s"
 msgstr "ignorato gruppo di trigger incompleto per il vincolo \"%s\" %s"
 
-#: commands/trigger.c:970
+#: commands/trigger.c:978
 #, c-format
 msgid "converting trigger group into constraint \"%s\" %s"
 msgstr "conversione del gruppo di trigger nel vincolo \"%s\" %s"
 
-#: commands/trigger.c:1112 commands/trigger.c:1217
+#: commands/trigger.c:1120 commands/trigger.c:1225
 #, c-format
 msgid "\"%s\" is not a table, view, or foreign table"
 msgstr "\"%s\" non è una tabella, una vista né una tabella esterna"
 
-#: commands/trigger.c:1183 commands/trigger.c:1343 commands/trigger.c:1459
+#: commands/trigger.c:1191 commands/trigger.c:1352 commands/trigger.c:1470
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "il trigger \"%s\" per la tabella \"%s\" non esiste"
 
-#: commands/trigger.c:1424
+#: commands/trigger.c:1435
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "permesso negato: \"%s\" è un trigger di sistema"
 
-#: commands/trigger.c:1920
+#: commands/trigger.c:1931
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "la funzione trigger %u ha restituito un valore null"
 
-#: commands/trigger.c:1979 commands/trigger.c:2178 commands/trigger.c:2382
-#: commands/trigger.c:2664
+#: commands/trigger.c:1990 commands/trigger.c:2189 commands/trigger.c:2393
+#: commands/trigger.c:2665
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "il trigger BEFORE STATEMENT non può restituire un valore"
 
-#: commands/trigger.c:2726 executor/nodeModifyTable.c:434
-#: executor/nodeModifyTable.c:712
+#: commands/trigger.c:2727 executor/nodeModifyTable.c:632
+#: executor/nodeModifyTable.c:920
 #, c-format
 msgid "tuple to be updated was already modified by an operation triggered by the current command"
 msgstr "la tupla da aggiornare era stata già modificata da un'operazione fatta eseguire da un comando corrente"
 
-#: commands/trigger.c:2727 executor/nodeModifyTable.c:435
-#: executor/nodeModifyTable.c:713
+#: commands/trigger.c:2728 executor/nodeModifyTable.c:633
+#: executor/nodeModifyTable.c:921
 #, c-format
 msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."
 msgstr "Considera l'utilizzo di un trigger AFTER invece di un trigger BEFORE per propagare i cambiamenti ad altre righe."
 
-#: commands/trigger.c:2741 executor/execMain.c:2059
-#: executor/nodeLockRows.c:165 executor/nodeModifyTable.c:447
-#: executor/nodeModifyTable.c:725
+#: commands/trigger.c:2742 executor/execMain.c:2332
+#: executor/nodeLockRows.c:216 executor/nodeModifyTable.c:183
+#: executor/nodeModifyTable.c:645 executor/nodeModifyTable.c:933
+#: executor/nodeModifyTable.c:1100
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "serializzazione dell'accesso fallita a causa di modifiche concorrenti"
 
-#: commands/trigger.c:4538
+#: commands/trigger.c:4580
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "il vincolo \"%s\" non è deferibile"
 
-#: commands/trigger.c:4561
+#: commands/trigger.c:4603
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "il vincolo \"%s\" non esiste"
 
-#: commands/tsearchcmds.c:114 commands/tsearchcmds.c:671
+#: commands/tsearchcmds.c:115 commands/tsearchcmds.c:685
 #, c-format
 msgid "function %s should return type %s"
 msgstr "la funzione %s dovrebbe restituire il tipo %s"
 
-#: commands/tsearchcmds.c:186
+#: commands/tsearchcmds.c:192
 #, c-format
 msgid "must be superuser to create text search parsers"
 msgstr "solo un superutente può creare analizzatori di ricerca di testo"
 
-#: commands/tsearchcmds.c:234
+#: commands/tsearchcmds.c:240
 #, c-format
 msgid "text search parser parameter \"%s\" not recognized"
 msgstr "parametro dell'analizzatore di ricerca di testo \"%s\" non riconosciuto"
 
-#: commands/tsearchcmds.c:244
+#: commands/tsearchcmds.c:250
 #, c-format
 msgid "text search parser start method is required"
 msgstr "il metodo start dell'analizzatore di ricerca di testo è richiesto"
 
-#: commands/tsearchcmds.c:249
+#: commands/tsearchcmds.c:255
 #, c-format
 msgid "text search parser gettoken method is required"
 msgstr "il metodo gettoken dell'analizzatore di ricerca di testo è richiesto"
 
-#: commands/tsearchcmds.c:254
+#: commands/tsearchcmds.c:260
 #, c-format
 msgid "text search parser end method is required"
 msgstr "il metodo end dell'analizzatore di ricerca di testo è richiesto"
 
-#: commands/tsearchcmds.c:259
+#: commands/tsearchcmds.c:265
 #, c-format
 msgid "text search parser lextypes method is required"
 msgstr "il metodo lextype dell'analizzatore di ricerca di testo è richiesto"
 
-#: commands/tsearchcmds.c:376
+#: commands/tsearchcmds.c:386
 #, c-format
 msgid "text search template \"%s\" does not accept options"
 msgstr "il modello di ricerca di testo \"%s\" non accetta opzioni"
 
-#: commands/tsearchcmds.c:449
+#: commands/tsearchcmds.c:460
 #, c-format
 msgid "text search template is required"
 msgstr "il modello di ricerca di testo è richiesto"
 
-#: commands/tsearchcmds.c:735
+#: commands/tsearchcmds.c:752
 #, c-format
 msgid "must be superuser to create text search templates"
 msgstr "solo un superutente può creare modelli di ricerca di testo"
 
-#: commands/tsearchcmds.c:772
+#: commands/tsearchcmds.c:789
 #, c-format
 msgid "text search template parameter \"%s\" not recognized"
 msgstr "parametro del modello di ricerca di testo \"%s\" non riconosciuto"
 
-#: commands/tsearchcmds.c:782
+#: commands/tsearchcmds.c:799
 #, c-format
 msgid "text search template lexize method is required"
 msgstr "il metodo lexize del modello di ricerca di testo è richiesto"
 
-#: commands/tsearchcmds.c:988
+#: commands/tsearchcmds.c:1008
 #, c-format
 msgid "text search configuration parameter \"%s\" not recognized"
 msgstr "parametro della configurazione di ricerca di testo \"%s\" non riconosciuto"
 
-#: commands/tsearchcmds.c:995
+#: commands/tsearchcmds.c:1015
 #, c-format
 msgid "cannot specify both PARSER and COPY options"
 msgstr "non è possibile specificare sia l'opzione PARSER che COPY"
 
-#: commands/tsearchcmds.c:1023
+#: commands/tsearchcmds.c:1051
 #, c-format
 msgid "text search parser is required"
 msgstr "l'analizzatore per la ricerca di testo è richiesto"
 
-#: commands/tsearchcmds.c:1247
+#: commands/tsearchcmds.c:1278
 #, c-format
 msgid "token type \"%s\" does not exist"
 msgstr "il tipo di token \"%s\" non esiste"
 
-#: commands/tsearchcmds.c:1469
+#: commands/tsearchcmds.c:1502
 #, c-format
 msgid "mapping for token type \"%s\" does not exist"
 msgstr "la mappatura per il token \"%s\" non esiste"
 
-#: commands/tsearchcmds.c:1475
+#: commands/tsearchcmds.c:1508
 #, c-format
 msgid "mapping for token type \"%s\" does not exist, skipping"
 msgstr "la mappatura per il token \"%s\" non esiste, saltato"
 
-#: commands/tsearchcmds.c:1628 commands/tsearchcmds.c:1739
+#: commands/tsearchcmds.c:1663 commands/tsearchcmds.c:1774
 #, c-format
 msgid "invalid parameter list format: \"%s\""
 msgstr "formato di lista di parametri non valido: \"%s\""
 
-#: commands/typecmds.c:184
+#: commands/typecmds.c:179
 #, c-format
 msgid "must be superuser to create a base type"
 msgstr "solo un superutente può creare un tipo di base"
 
-#: commands/typecmds.c:290 commands/typecmds.c:1371
+#: commands/typecmds.c:286 commands/typecmds.c:1419
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "attributo del tipo \"%s\" non riconosciuto"
 
-#: commands/typecmds.c:344
+#: commands/typecmds.c:340
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "categoria non valida \"%s\": dev'essere semplice ASCII"
 
-#: commands/typecmds.c:363
+#: commands/typecmds.c:359
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "il tipo di elemento dell'array non può essere %s"
 
-#: commands/typecmds.c:395
+#: commands/typecmds.c:391
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "allineamento \"%s\" non riconosciuto"
 
-#: commands/typecmds.c:412
+#: commands/typecmds.c:408
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "immagazzinamento \"%s\" non riconosciuto"
 
-#: commands/typecmds.c:423
+#: commands/typecmds.c:419
 #, c-format
 msgid "type input function must be specified"
 msgstr "la funzione di input del tipo deve essere specificata"
 
-#: commands/typecmds.c:427
+#: commands/typecmds.c:423
 #, c-format
 msgid "type output function must be specified"
 msgstr "la funzione di output del tipo deve essere specificata"
 
-#: commands/typecmds.c:432
+#: commands/typecmds.c:428
 #, c-format
 msgid "type modifier output function is useless without a type modifier input function"
 msgstr "la funzione di output del modificatore di tipo è inutile senza una funzione di input"
 
-#: commands/typecmds.c:455
+#: commands/typecmds.c:451
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to %s"
 msgstr "modifica del tipo restituito dalla funzione %s da \"opaque\" a %s"
 
-#: commands/typecmds.c:462
+#: commands/typecmds.c:458
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "la funzione %s di input di tipo deve restituire il tipo %s"
 
-#: commands/typecmds.c:472
+#: commands/typecmds.c:468
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"cstring\""
 msgstr "modifica del tipo restituito dalla funzione %s da \"opaque\" a \"cstring\""
 
-#: commands/typecmds.c:479
+#: commands/typecmds.c:475
 #, c-format
 msgid "type output function %s must return type \"cstring\""
 msgstr "la funzione %s di output di tipo deve restituire il tipo \"cstring\""
 
-#: commands/typecmds.c:488
+#: commands/typecmds.c:484
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "la funzione receive %s del tipo deve restituire il tipo %s"
 
-#: commands/typecmds.c:497
+#: commands/typecmds.c:493
 #, c-format
 msgid "type send function %s must return type \"bytea\""
 msgstr "la funzione send %s del tipo deve restituire il tipo \"bytea\""
 
-#: commands/typecmds.c:762
+#: commands/typecmds.c:558
+#, c-format
+msgid "type input function %s should not be volatile"
+msgstr "la funzione di input %s del tipo non può essere volatile"
+
+#: commands/typecmds.c:563
+#, c-format
+msgid "type output function %s should not be volatile"
+msgstr "la funzione di output %s del tipo non può essere volatile"
+
+#: commands/typecmds.c:568
+#, c-format
+msgid "type receive function %s should not be volatile"
+msgstr "la funzione receive %s del tipo non può essere volatile"
+
+#: commands/typecmds.c:573
+#, c-format
+msgid "type send function %s should not be volatile"
+msgstr "la funzione send %s del tipo non può essere volatile"
+
+#: commands/typecmds.c:578
+#, c-format
+msgid "type modifier input function %s should not be volatile"
+msgstr "la funzione di input del modificatore %s del tipo non può essere volatile"
+
+#: commands/typecmds.c:583
+#, c-format
+msgid "type modifier output function %s should not be volatile"
+msgstr "la funzione di output del modificatore %s del tipo non può essere volatile"
+
+#: commands/typecmds.c:805
 #, c-format
 msgid "\"%s\" is not a valid base type for a domain"
 msgstr "\"%s\" non è un tipo di base valido per un dominio"
 
-#: commands/typecmds.c:848
+#: commands/typecmds.c:891
 #, c-format
 msgid "multiple default expressions"
 msgstr "più di una espressione di default"
 
-#: commands/typecmds.c:910 commands/typecmds.c:919
+#: commands/typecmds.c:953 commands/typecmds.c:962
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "vincoli NULL/NOT NULL in conflitto"
 
-#: commands/typecmds.c:935
+#: commands/typecmds.c:978
 #, c-format
 msgid "check constraints for domains cannot be marked NO INHERIT"
 msgstr "i vincoli di controllo per i domini non possono essere NO INHERIT"
 
-#: commands/typecmds.c:944 commands/typecmds.c:2453
+#: commands/typecmds.c:987 commands/typecmds.c:2518
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "i vincoli univoci non sono ammessi per i domini"
 
-#: commands/typecmds.c:950 commands/typecmds.c:2459
+#: commands/typecmds.c:993 commands/typecmds.c:2524
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "i vincoli di chiave primaria non sono ammessi per i domini"
 
-#: commands/typecmds.c:956 commands/typecmds.c:2465
+#: commands/typecmds.c:999 commands/typecmds.c:2530
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "i vincoli di esclusione non sono ammessi per i domini"
 
-#: commands/typecmds.c:962 commands/typecmds.c:2471
+#: commands/typecmds.c:1005 commands/typecmds.c:2536
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "i vincoli di chiave esterna non sono ammessi per i domini"
 
-#: commands/typecmds.c:971 commands/typecmds.c:2480
+#: commands/typecmds.c:1014 commands/typecmds.c:2545
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr "specificare la deferibilità dei vincoli non è ammesso per i domini"
 
-#: commands/typecmds.c:1243 utils/cache/typcache.c:1071
+#: commands/typecmds.c:1289 utils/cache/typcache.c:1579
 #, c-format
 msgid "%s is not an enum"
 msgstr "%s non è una enumerazione"
 
-#: commands/typecmds.c:1379
+#: commands/typecmds.c:1427
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "l'attributo \"subtype\" del tipo è richiesto"
 
-#: commands/typecmds.c:1384
+#: commands/typecmds.c:1432
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "il sottotipo dell'intervallo non può essere %s"
 
-#: commands/typecmds.c:1403
+#: commands/typecmds.c:1451
 #, c-format
 msgid "range collation specified but subtype does not support collation"
 msgstr "è stato specificato un ordinamento per gli intervalli ma il sottotipo non supporta ordinamenti"
 
-#: commands/typecmds.c:1639
+#: commands/typecmds.c:1684
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to \"cstring\""
 msgstr "modifica del tipo di argomento della funzione %s da \"opaque\" a \"cstring\""
 
-#: commands/typecmds.c:1690
+#: commands/typecmds.c:1735
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to %s"
 msgstr "modifica del tipo di argomento della funzione %s da \"opaque\" a %s"
 
-#: commands/typecmds.c:1789
+#: commands/typecmds.c:1834
 #, c-format
 msgid "typmod_in function %s must return type \"integer\""
 msgstr "la funzione typmod_in %s deve restituire il tipo \"integer\""
 
-#: commands/typecmds.c:1816
+#: commands/typecmds.c:1861
 #, c-format
 msgid "typmod_out function %s must return type \"cstring\""
 msgstr "la funzione typmod_out %s deve restituire il tipo \"cstring\""
 
-#: commands/typecmds.c:1843
+#: commands/typecmds.c:1888
 #, c-format
 msgid "type analyze function %s must return type \"boolean\""
 msgstr "la funzione analyze %s del tipo deve restituire il tipo \"boolean\""
 
-#: commands/typecmds.c:1889
+#: commands/typecmds.c:1934
 #, c-format
 msgid "You must specify an operator class for the range type or define a default operator class for the subtype."
 msgstr "Occorre specificare una classe di operatori per l'intervallo o definire una classe di operatori predefinita per il sottotipo."
 
-#: commands/typecmds.c:1920
+#: commands/typecmds.c:1965
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr "la funzione canonica %s dell'intervallo deve restituire un intervallo"
 
-#: commands/typecmds.c:1926
+#: commands/typecmds.c:1971
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr "la funzione canonica %s dell'intervallo deve essere immutabile"
 
-#: commands/typecmds.c:1962
+#: commands/typecmds.c:2007
 #, c-format
 msgid "range subtype diff function %s must return type double precision"
 msgstr "la funzione di differenza sottotipo %s deve restituire il tipo doppia precisione"
 
-#: commands/typecmds.c:1968
+#: commands/typecmds.c:2013
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr "la funzione di differenza sottotipo %s deve essere immutabile"
 
-#: commands/typecmds.c:2287
+#: commands/typecmds.c:2040
+#, c-format
+msgid "pg_type array OID value not set when in binary upgrade mode"
+msgstr "valore di OID array di pg_type non impostato in modalità di aggiornamento binaria"
+
+#: commands/typecmds.c:2344
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains null values"
 msgstr "la colonna \"%s\" della tabella \"%s\" contiene valori null"
 
-#: commands/typecmds.c:2396 commands/typecmds.c:2574
+#: commands/typecmds.c:2459 commands/typecmds.c:2642
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "il vincolo \"%s\" del dominio \"%s\" non esiste"
 
-#: commands/typecmds.c:2400
+#: commands/typecmds.c:2463
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "il vincolo \"%s\" del dominio \"%s\" non esiste, saltato"
 
-#: commands/typecmds.c:2580
+#: commands/typecmds.c:2648
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
 msgstr "il vincolo \"%s\" del dominio \"%s\" non è un vincolo di controllo"
 
-#: commands/typecmds.c:2684
+#: commands/typecmds.c:2754
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr "la colonna \"%s\" della tabella \"%s\" contiene valori che violano il nuovo vincolo"
 
-#: commands/typecmds.c:2897 commands/typecmds.c:3267 commands/typecmds.c:3425
+#: commands/typecmds.c:2967 commands/typecmds.c:3224 commands/typecmds.c:3432
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s non è un dominio"
 
-#: commands/typecmds.c:2930
+#: commands/typecmds.c:3001
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "il vincolo \"%s\" del dominio \"%s\" esiste già"
 
-#: commands/typecmds.c:2980
+#: commands/typecmds.c:3051
 #, c-format
 msgid "cannot use table references in domain check constraint"
 msgstr "non è possibile usare riferimenti a tabelle nel vincolo di controllo del dominio"
 
-#: commands/typecmds.c:3199 commands/typecmds.c:3279 commands/typecmds.c:3533
+#: commands/typecmds.c:3154 commands/typecmds.c:3236 commands/typecmds.c:3545
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s è il tipo della riga di una tabella"
 
-#: commands/typecmds.c:3201 commands/typecmds.c:3281 commands/typecmds.c:3535
+#: commands/typecmds.c:3156 commands/typecmds.c:3238 commands/typecmds.c:3547
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "Usa ALTER TABLE invece."
 
-#: commands/typecmds.c:3208 commands/typecmds.c:3288 commands/typecmds.c:3452
+#: commands/typecmds.c:3163 commands/typecmds.c:3245 commands/typecmds.c:3464
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "non è possibile modificare il tipo di array %s"
 
-#: commands/typecmds.c:3210 commands/typecmds.c:3290 commands/typecmds.c:3454
+#: commands/typecmds.c:3165 commands/typecmds.c:3247 commands/typecmds.c:3466
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "puoi modificare il tipo %s, il che modificherà il tipo dell'array come conseguenza."
 
-#: commands/typecmds.c:3519
+#: commands/typecmds.c:3531
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "il tipo \"%s\" esiste già nello schema \"%s\""
 
-#: commands/user.c:145
+#: commands/user.c:148
 #, c-format
 msgid "SYSID can no longer be specified"
 msgstr "SYSID non può più essere specificato"
 
-#: commands/user.c:277
+#: commands/user.c:290
 #, c-format
 msgid "must be superuser to create superusers"
 msgstr "solo i superutenti possono creare superutenti"
 
-#: commands/user.c:284
+#: commands/user.c:297
 #, c-format
 msgid "must be superuser to create replication users"
 msgstr "solo i superutenti possono creare utenti di replica"
 
-#: commands/user.c:291
+#: commands/user.c:304 commands/user.c:685
+#, c-format
+msgid "must be superuser to change bypassrls attribute"
+msgstr "solo i superutenti possono cambiare l'attributo bypassrls"
+
+#: commands/user.c:311
 #, c-format
 msgid "permission denied to create role"
 msgstr "permesso di creare il ruolo negato"
 
-#: commands/user.c:298 commands/user.c:1119
+#: commands/user.c:318 commands/user.c:1166 gram.y:13458 gram.y:13493
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "il nome di ruolo \"%s\" è riservato"
 
-#: commands/user.c:311 commands/user.c:1113
+#: commands/user.c:331 commands/user.c:1160
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "il ruolo \"%s\" esiste già"
 
-#: commands/user.c:618 commands/user.c:827 commands/user.c:933
-#: commands/user.c:1088 commands/variable.c:797 commands/variable.c:869
-#: utils/adt/acl.c:5121 utils/init/miscinit.c:362
+#: commands/user.c:409
 #, c-format
-msgid "role \"%s\" does not exist"
-msgstr "il ruolo \"%s\" non esiste"
+msgid "pg_authid OID value not set when in binary upgrade mode"
+msgstr "valore di OID di pg_authid non impostato in modalità di aggiornamento binaria"
 
-#: commands/user.c:631 commands/user.c:846 commands/user.c:1357
-#: commands/user.c:1503
+#: commands/user.c:671 commands/user.c:885 commands/user.c:1408
+#: commands/user.c:1554
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "solo i superutenti possono modificare superutenti"
 
-#: commands/user.c:638
+#: commands/user.c:678
 #, c-format
 msgid "must be superuser to alter replication users"
 msgstr "solo i superutenti possono modificare utenti di replica"
 
-#: commands/user.c:654 commands/user.c:854
+#: commands/user.c:701 commands/user.c:893
 #, c-format
 msgid "permission denied"
 msgstr "permesso negato"
 
-#: commands/user.c:884
+#: commands/user.c:923
 #, c-format
 msgid "must be superuser to alter settings globally"
 msgstr "solo i superutenti possono alterare impostazioni globalmente"
 
-#: commands/user.c:906
+#: commands/user.c:945
 #, c-format
 msgid "permission denied to drop role"
 msgstr "permesso di eliminare il ruolo negato"
 
-#: commands/user.c:938
+#: commands/user.c:969
+#, c-format
+msgid "cannot use special role specifier in \"%s\""
+msgstr "non è possibile usare lo specificatore di ruolo speciale in \"%s\""
+
+#: commands/user.c:979 commands/user.c:1135 commands/variable.c:798
+#: commands/variable.c:870 utils/adt/acl.c:5120 utils/adt/acl.c:5172
+#: utils/adt/acl.c:5205 utils/adt/acl.c:5223 utils/init/miscinit.c:478
+#, c-format
+msgid "role \"%s\" does not exist"
+msgstr "il ruolo \"%s\" non esiste"
+
+#: commands/user.c:984
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "il ruolo \"%s\" non esiste, saltato"
 
-#: commands/user.c:950 commands/user.c:954
+#: commands/user.c:996 commands/user.c:1000
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "l'utente corrente non può essere eliminato"
 
-#: commands/user.c:958
+#: commands/user.c:1004
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "l'utente della sessione non può essere eliminato"
 
-#: commands/user.c:969
+#: commands/user.c:1015
 #, c-format
 msgid "must be superuser to drop superusers"
 msgstr "solo i superutenti possono eliminare superutenti"
 
-#: commands/user.c:985
+#: commands/user.c:1031
 #, c-format
 msgid "role \"%s\" cannot be dropped because some objects depend on it"
 msgstr "il ruolo \"%s\" non può essere eliminato perché alcuni oggetti ne dipendono"
 
-#: commands/user.c:1103
+#: commands/user.c:1150
 #, c-format
 msgid "session user cannot be renamed"
 msgstr "l'utente della sessione non può essere rinominato"
 
-#: commands/user.c:1107
+#: commands/user.c:1154
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "l'utente corrente non può essere eliminato"
 
-#: commands/user.c:1130
+#: commands/user.c:1177
 #, c-format
 msgid "must be superuser to rename superusers"
 msgstr "solo i superutenti possono rinominare superutenti"
 
-#: commands/user.c:1137
+#: commands/user.c:1184
 #, c-format
 msgid "permission denied to rename role"
 msgstr "permesso di rinominare il ruolo negato"
 
-#: commands/user.c:1158
+#: commands/user.c:1205
 #, c-format
 msgid "MD5 password cleared because of role rename"
 msgstr "L'MD5 della password è stato cancellato perché il ruolo è stato rinominato"
 
-#: commands/user.c:1218
+#: commands/user.c:1267
 #, c-format
 msgid "column names cannot be included in GRANT/REVOKE ROLE"
 msgstr "la colonna dei nomi non può essere inclusa in GRANT/REVOKE ROLE"
 
-#: commands/user.c:1256
+#: commands/user.c:1305
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "permesso di eliminare gli oggetti negato"
 
-#: commands/user.c:1283 commands/user.c:1292
+#: commands/user.c:1332 commands/user.c:1341
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "permesso di riassegnare gli oggetti negato"
 
-#: commands/user.c:1365 commands/user.c:1511
+#: commands/user.c:1416 commands/user.c:1562
 #, c-format
 msgid "must have admin option on role \"%s\""
 msgstr "occorre avere l'opzione admin sul ruolo \"%s\""
 
-#: commands/user.c:1382
+#: commands/user.c:1433
 #, c-format
 msgid "must be superuser to set grantor"
 msgstr "solo i superutenti possono impostare chi ha concesso il privilegio"
 
-#: commands/user.c:1407
+#: commands/user.c:1458
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "il ruolo \"%s\" è membro del ruolo \"%s\""
 
-#: commands/user.c:1422
+#: commands/user.c:1473
 #, c-format
 msgid "role \"%s\" is already a member of role \"%s\""
 msgstr "il ruolo \"%s\" è già membro del ruolo \"%s\""
 
-#: commands/user.c:1533
+#: commands/user.c:1584
 #, c-format
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "il ruolo \"%s\" non è membro del ruolo \"%s\""
 
-#: commands/vacuum.c:468
+#: commands/vacuum.c:524
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "il più vecchio xmin è molto lontano nel tempo"
 
-#: commands/vacuum.c:469
+#: commands/vacuum.c:525
 #, c-format
 msgid "Close open transactions soon to avoid wraparound problems."
 msgstr "Chiudi presto le transazioni per evitare problemi di wraparound."
 
-#: commands/vacuum.c:501
+#: commands/vacuum.c:564
 #, c-format
 msgid "oldest multixact is far in the past"
 msgstr "il multixact più vecchio è remoto"
 
-#: commands/vacuum.c:502
+#: commands/vacuum.c:565
 #, c-format
 msgid "Close open transactions with multixacts soon to avoid wraparound problems."
 msgstr "Chiudi presto le transazioni con multixact per evitare problemi di wraparound."
 
-#: commands/vacuum.c:1064
+#: commands/vacuum.c:1127
 #, c-format
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr "alcuni database non sono stati ripuliti per più di 2 miliardi di transazioni"
 
-#: commands/vacuum.c:1065
+#: commands/vacuum.c:1128
 #, c-format
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr "Potresti aver già subito perdita di dati dovuta al wraparound delle transazioni."
 
-#: commands/vacuum.c:1182
+#: commands/vacuum.c:1249
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "pulizia di \"%s\" saltata --- lock non disponibile"
 
-#: commands/vacuum.c:1208
+#: commands/vacuum.c:1275
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "\"%s\" saltato --- solo i superutenti possono pulirla"
 
-#: commands/vacuum.c:1212
+#: commands/vacuum.c:1279
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
 msgstr "\"%s\" saltato --- solo i superutenti o il proprietario del database possono pulirla"
 
-#: commands/vacuum.c:1216
+#: commands/vacuum.c:1283
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr "\"%s\" saltato --- solo il proprietario del database o della tabella possono pulirla"
 
-#: commands/vacuum.c:1234
+#: commands/vacuum.c:1301
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr "\"%s\" saltato --- non è possibile ripulire non-tabelle o tabelle speciali di sistema"
 
-#: commands/vacuumlazy.c:346
+#: commands/vacuumlazy.c:358
 #, c-format
-msgid ""
-"automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
-"pages: %d removed, %d remain\n"
-"tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n"
-"buffer usage: %d hits, %d misses, %d dirtied\n"
-"avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
-"system usage: %s"
-msgstr ""
-"vacuum automatico della tabella \"%s.%s.%s\": scansioni di indici: %d\n"
-"pagine: %d rimosse, %d restanti\n"
-"tuple: %.0f rimosse, %.0f restanti, %.0f sono morte ma non ancora removibili\n"
-"uso dei buffer: %d colpiti, %d mancati, %d sporcati\n"
-"velocità di lettura media: %.3f MB/s, velocità di scrittura media: %.3f MB/s\n"
-"utilizzo di sistema: %s"
+msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
+msgstr "vacuum automatico della tabella \"%s.%s.%s\": scan di indici: %d\n"
 
-#: commands/vacuumlazy.c:680
+#: commands/vacuumlazy.c:363
+#, c-format
+msgid "pages: %u removed, %u remain, %u skipped due to pins\n"
+msgstr "pagine: %u rimosse, %u restanti, %u saltate perché bloccate\n"
+
+#: commands/vacuumlazy.c:368
+#, c-format
+msgid "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n"
+msgstr "tuple: %.0f rimosse, %.0f restanti, %.0f sono morte ma non ancora removibili\n"
+
+#: commands/vacuumlazy.c:373
+#, c-format
+msgid "buffer usage: %d hits, %d misses, %d dirtied\n"
+msgstr "uso dei buffer: %d colpiti, %d mancati, %d sporcati\n"
+
+#: commands/vacuumlazy.c:377
+#, c-format
+msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
+msgstr "velocità di lettura media: %.3f MB/s, velocità di scrittura media: %.3f MB/s\n"
+
+#: commands/vacuumlazy.c:379
+#, c-format
+msgid "system usage: %s"
+msgstr "utilizzo di sistema: %s"
+
+#: commands/vacuumlazy.c:701
 #, c-format
 msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr "la relazione \"%s\" pagina %u non è inizializzata --- in correzione"
 
-#: commands/vacuumlazy.c:1092
+#: commands/vacuumlazy.c:1113
 #, c-format
 msgid "\"%s\": removed %.0f row versions in %u pages"
 msgstr "\"%s\": %.0f versioni di riga rimosse in %u pagine"
 
-#: commands/vacuumlazy.c:1097
+#: commands/vacuumlazy.c:1123
 #, c-format
-msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u pages"
-msgstr "\"%s\": trovate %.0f versioni di riga removibili, %.0f non removibili in %u pagine su %u"
+msgid "%.0f dead row versions cannot be removed yet.\n"
+msgstr "%.0f versioni di righe morte non possono essere ancora rimosse.\n"
 
-#: commands/vacuumlazy.c:1101
+#: commands/vacuumlazy.c:1125
 #, c-format
-msgid ""
-"%.0f dead row versions cannot be removed yet.\n"
-"There were %.0f unused item pointers.\n"
-"%u pages are entirely empty.\n"
-"%s."
-msgstr ""
-"%.0f versioni di riga morte non possono essere ancora rimosse.\n"
-"C'erano %.0f puntatori ad oggetti non usati.\n"
-"%u pagine sono completamente vuote.\n"
-"%s."
+msgid "There were %.0f unused item pointers.\n"
+msgstr "C'erano %.0f puntatori ad elementi non usati.\n"
 
-#: commands/vacuumlazy.c:1172
+#: commands/vacuumlazy.c:1127
 #, c-format
-msgid "\"%s\": removed %d row versions in %d pages"
-msgstr "\"%s\": %d versioni di riga rimosse in %d pagine"
+msgid "Skipped %u pages due to buffer pins.\n"
+msgstr "%u pagine saltate a causa di blocchi dei buffer.\n"
 
-#: commands/vacuumlazy.c:1175 commands/vacuumlazy.c:1342
-#: commands/vacuumlazy.c:1514
+#: commands/vacuumlazy.c:1129
 #, c-format
-msgid "%s."
-msgstr "%s."
+msgid "%u pages are entirely empty.\n"
+msgstr "%u pagine sono completamente vuote.\n"
 
-#: commands/vacuumlazy.c:1339
+#: commands/vacuumlazy.c:1135
+#, c-format
+msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u pages"
+msgstr "\"%s\": trovate %.0f versioni di riga removibili, %.0f non removibili in %u pagine su %u"
+
+#: commands/vacuumlazy.c:1204
+#, c-format
+msgid "\"%s\": removed %d row versions in %d pages"
+msgstr "\"%s\": %d versioni di riga rimosse in %d pagine"
+
+#: commands/vacuumlazy.c:1371
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "effettuata la scansione dell'indice \"%s\" per rimuovere %d versioni di riga"
 
-#: commands/vacuumlazy.c:1385
+#: commands/vacuumlazy.c:1417
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "l'indice \"%s\" ora contiene %.0f versioni di riga in %u pagine"
 
-#: commands/vacuumlazy.c:1389
+#: commands/vacuumlazy.c:1421
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -8252,112 +9096,112 @@ msgstr ""
 "%u pagine dell'indice sono state cancellate, %u sono attualmente riusabili.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1446
+#: commands/vacuumlazy.c:1478
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "\"%s\": truncate interrotto a causa di una richiesta di lock in conflitto"
 
-#: commands/vacuumlazy.c:1511
+#: commands/vacuumlazy.c:1543
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "\"%s\": %u pagine ridotte a %u"
 
-#: commands/vacuumlazy.c:1567
+#: commands/vacuumlazy.c:1599
 #, c-format
 msgid "\"%s\": suspending truncate due to conflicting lock request"
 msgstr "\"%s\": annullamento del troncamento a causa di richieste di lock in conflitto"
 
-#: commands/variable.c:162 utils/misc/guc.c:9058
+#: commands/variable.c:163 utils/misc/guc.c:9689
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Parola chiave non riconosciuta: \"%s\"."
 
-#: commands/variable.c:174
+#: commands/variable.c:175
 #, c-format
 msgid "Conflicting \"datestyle\" specifications."
 msgstr "Specifiche di \"datestyle\" in conflitto."
 
-#: commands/variable.c:296
+#: commands/variable.c:297
 #, c-format
 msgid "Cannot specify months in time zone interval."
 msgstr "Non è possibile specificare i mesi nell'intervallo del fuso orario."
 
-#: commands/variable.c:302
+#: commands/variable.c:303
 #, c-format
 msgid "Cannot specify days in time zone interval."
 msgstr "Non è possibile specificare i giorni nell'intervallo del fuso orario."
 
-#: commands/variable.c:344 commands/variable.c:426
+#: commands/variable.c:345 commands/variable.c:427
 #, c-format
 msgid "time zone \"%s\" appears to use leap seconds"
 msgstr "sembra che il fuso orario \"%s\" utilizzi il secondo intercalare"
 
-#: commands/variable.c:346 commands/variable.c:428
+#: commands/variable.c:347 commands/variable.c:429
 #, c-format
 msgid "PostgreSQL does not support leap seconds."
 msgstr "PostgreSQL non supporta il secondo intercalare."
 
-#: commands/variable.c:355
+#: commands/variable.c:356
 #, c-format
 msgid "UTC timezone offset is out of range."
 msgstr "L'offset del fuso orario da UTC è fuori dall'intervallo massimo."
 
-#: commands/variable.c:493
+#: commands/variable.c:494
 #, c-format
 msgid "cannot set transaction read-write mode inside a read-only transaction"
 msgstr "non è possibile impostare una transazione in lettura/scrittura dentro una in sola lettura"
 
-#: commands/variable.c:500
+#: commands/variable.c:501
 #, c-format
 msgid "transaction read-write mode must be set before any query"
 msgstr "la modalità read-write dev'essere impostata prima di qualsiasi query"
 
-#: commands/variable.c:507
+#: commands/variable.c:508
 #, c-format
 msgid "cannot set transaction read-write mode during recovery"
 msgstr "non è possibile impostare la transazione in lettura/scrittura durante il ripristino"
 
-#: commands/variable.c:556
+#: commands/variable.c:557
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr "SET TRANSACTION ISOLATION LEVEL dev'essere invocato prima di qualsiasi query"
 
-#: commands/variable.c:563
+#: commands/variable.c:564
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr "SET TRANSACTION ISOLATION LEVEL non può essere invocato in una sotto-transazione"
 
-#: commands/variable.c:570 storage/lmgr/predicate.c:1588
+#: commands/variable.c:571 storage/lmgr/predicate.c:1586
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "non è possibile usare la modalità SERIALIZABLE in un hot standby"
 
-#: commands/variable.c:571
+#: commands/variable.c:572
 #, c-format
 msgid "You can use REPEATABLE READ instead."
 msgstr "Puoi utilizzare REPEATABLE READ invece."
 
-#: commands/variable.c:619
+#: commands/variable.c:620
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction"
 msgstr "SET TRANSACTION [NOT] DEFERRABLE non può essere invocato in una sotto-transazione"
 
-#: commands/variable.c:625
+#: commands/variable.c:626
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query"
 msgstr "SET TRANSACTION [NOT] DEFERRABLE dev'essere invocato prima di qualsiasi query"
 
-#: commands/variable.c:707
+#: commands/variable.c:708
 #, c-format
 msgid "Conversion between %s and %s is not supported."
 msgstr "La conversione fra %s e %s non è supportata."
 
-#: commands/variable.c:714
+#: commands/variable.c:715
 #, c-format
 msgid "Cannot change \"client_encoding\" now."
 msgstr "Non è possibile cambiare \"client_encoding\" ora."
 
-#: commands/variable.c:884
+#: commands/variable.c:885
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "permesso di impostare il ruolo \"%s\" negato"
@@ -8382,42 +9226,42 @@ msgstr "non è stato possibile determinare quale ordinamento usare per la colonn
 msgid "view must have at least one column"
 msgstr "la vista deve avere almeno una colonna"
 
-#: commands/view.c:260 commands/view.c:272
+#: commands/view.c:263 commands/view.c:275
 #, c-format
 msgid "cannot drop columns from view"
 msgstr "non è possibile eliminare colonne da una vista"
 
-#: commands/view.c:277
+#: commands/view.c:280
 #, c-format
 msgid "cannot change name of view column \"%s\" to \"%s\""
 msgstr "non è possibile cambiare nome della colonna di vista \"%s\" in \"%s\""
 
-#: commands/view.c:285
+#: commands/view.c:288
 #, c-format
 msgid "cannot change data type of view column \"%s\" from %s to %s"
 msgstr "non è possibile cambiare tipo di dato della colonna di vista \"%s\" da %s a %s"
 
-#: commands/view.c:420
+#: commands/view.c:427
 #, c-format
 msgid "views must not contain SELECT INTO"
 msgstr "le viste non possono contenere SELECT INTO"
 
-#: commands/view.c:433
+#: commands/view.c:440
 #, c-format
 msgid "views must not contain data-modifying statements in WITH"
 msgstr "una vista non può contenere istruzioni di modifica dei dati in un WITH"
 
-#: commands/view.c:504
+#: commands/view.c:511
 #, c-format
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr "CREATE VIEW specifica più nomi di colonne che colonne"
 
-#: commands/view.c:512
+#: commands/view.c:519
 #, c-format
 msgid "views cannot be unlogged because they do not have storage"
 msgstr "le viste non possono essere non loggate perché non sono immagazzinate"
 
-#: commands/view.c:526
+#: commands/view.c:533
 #, c-format
 msgid "view \"%s\" will be a temporary view"
 msgstr "la vista \"%s\" sarà una vista temporanea"
@@ -8452,349 +9296,376 @@ msgstr "il cursore \"%s\" non è posizionato su una riga"
 msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr "il cursore \"%s\" non è una scansione semplice aggiornabile della tabella \"%s\""
 
-#: executor/execCurrent.c:231 executor/execQual.c:1160
+#: executor/execCurrent.c:231 executor/execQual.c:1155
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "il tipo del parametro %d (%s) non combacia con quello usato alla preparazione del piano (%s)"
 
-#: executor/execCurrent.c:243 executor/execQual.c:1172
+#: executor/execCurrent.c:243 executor/execQual.c:1167
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "nessun valore trovato per il parametro %d"
 
-#: executor/execMain.c:955
+#: executor/execIndexing.c:539
+#, c-format
+msgid "ON CONFLICT does not support deferred unique constraints/exclusion constraints as arbiters"
+msgstr "ON CONFLICT non supporta vincoli/esclusioni unici deferiti come arbitri"
+
+#: executor/execIndexing.c:814
+#, c-format
+msgid "could not create exclusion constraint \"%s\""
+msgstr "creazione del vincolo di esclusione \"%s\" fallita"
+
+#: executor/execIndexing.c:817
+#, c-format
+msgid "Key %s conflicts with key %s."
+msgstr "La chiave %s è in conflitto con la chiave %s."
+
+#: executor/execIndexing.c:819
+#, c-format
+msgid "Key conflicts exist."
+msgstr "Ci sono conflitti di chiave."
+
+#: executor/execIndexing.c:825
+#, c-format
+msgid "conflicting key value violates exclusion constraint \"%s\""
+msgstr "le chiavi in conflitto violano il vincolo di esclusione \"%s\""
+
+#: executor/execIndexing.c:828
+#, c-format
+msgid "Key %s conflicts with existing key %s."
+msgstr "La chiave %s è in conflitto con la chiave esistente %s."
+
+#: executor/execIndexing.c:830
+#, c-format
+msgid "Key conflicts with existing key."
+msgstr "Conflitti di chiave con chiave esistente."
+
+#: executor/execMain.c:1025
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "non è possibile modificare la sequenza \"%s\""
 
-#: executor/execMain.c:961
+#: executor/execMain.c:1031
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "non è possibile modificare la relazione TOAST \"%s\""
 
-#: executor/execMain.c:979 rewrite/rewriteHandler.c:2512
+#: executor/execMain.c:1049 rewrite/rewriteHandler.c:2608
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "non è possibile inserire nella vista \"%s\""
 
-#: executor/execMain.c:981 rewrite/rewriteHandler.c:2515
+#: executor/execMain.c:1051 rewrite/rewriteHandler.c:2611
 #, c-format
 msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule."
 msgstr "Per consentire inserimenti nella vista occorre fornire un trigger INSTEAD OF INSERT oppure una regola ON INSERT DO INSTEAD senza condizioni."
 
-#: executor/execMain.c:987 rewrite/rewriteHandler.c:2520
+#: executor/execMain.c:1057 rewrite/rewriteHandler.c:2616
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "non è possibile modificare la vista \"%s\""
 
-#: executor/execMain.c:989 rewrite/rewriteHandler.c:2523
+#: executor/execMain.c:1059 rewrite/rewriteHandler.c:2619
 #, c-format
 msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule."
 msgstr "Per consentire modifiche alla vista occorre fornire un trigger INSTEAD OF UPDATE oppure una regola ON UPDATE DO INSTEAD senza condizioni."
 
-#: executor/execMain.c:995 rewrite/rewriteHandler.c:2528
+#: executor/execMain.c:1065 rewrite/rewriteHandler.c:2624
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "non è possibile cancellare dalla vista \"%s\""
 
-#: executor/execMain.c:997 rewrite/rewriteHandler.c:2531
+#: executor/execMain.c:1067 rewrite/rewriteHandler.c:2627
 #, c-format
 msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule."
 msgstr "Per consentire eliminazioni dalla vista occorre fornire un trigger INSTEAD OF DELETE oppure una regola ON DELETE DO INSTEAD senza condizioni."
 
-#: executor/execMain.c:1008
+#: executor/execMain.c:1078
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "non è possibile modificare la vista materializzata \"%s\""
 
-#: executor/execMain.c:1020
+#: executor/execMain.c:1090
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "non è possibile inserire nella tabella esterna \"%s\""
 
-#: executor/execMain.c:1026
+#: executor/execMain.c:1096
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "la tabella esterna \"%s\" non consente inserimenti"
 
-#: executor/execMain.c:1033
+#: executor/execMain.c:1103
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "non è possibile modificare la tabella esterna \"%s\""
 
-#: executor/execMain.c:1039
+#: executor/execMain.c:1109
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "la tabella esterna \"%s\" non consente modifiche"
 
-#: executor/execMain.c:1046
+#: executor/execMain.c:1116
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "non è possibile eliminare dalla tabella esterna \"%s\""
 
-#: executor/execMain.c:1052
+#: executor/execMain.c:1122
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "la tabella esterna \"%s\" non consente cancellazioni"
 
-#: executor/execMain.c:1063
+#: executor/execMain.c:1133
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "non è possibile modificare la relazione \"%s\""
 
-#: executor/execMain.c:1087
+#: executor/execMain.c:1159
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "non è possibile bloccare righe nella sequenza \"%s\""
 
-#: executor/execMain.c:1094
+#: executor/execMain.c:1166
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "non è possibile bloccare righe nella relazione TOAST \"%s\""
 
-#: executor/execMain.c:1101
+#: executor/execMain.c:1173
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "non è possibile bloccare righe vista \"%s\""
 
-#: executor/execMain.c:1109
+#: executor/execMain.c:1181
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "non è possibile bloccare righe nella vista materializzata \"%s\""
 
-#: executor/execMain.c:1116
+#: executor/execMain.c:1190 executor/execMain.c:2566
+#: executor/nodeLockRows.c:132
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "non è possibile bloccare righe nella tabella esterna \"%s\""
 
-#: executor/execMain.c:1122
+#: executor/execMain.c:1196
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "non è possibile bloccare righe nella relazione \"%s\""
 
-#: executor/execMain.c:1607
+#: executor/execMain.c:1696
 #, c-format
 msgid "null value in column \"%s\" violates not-null constraint"
 msgstr "valori null nella colonna \"%s\" violano il vincolo non-null"
 
-#: executor/execMain.c:1609 executor/execMain.c:1626 executor/execMain.c:1673
+#: executor/execMain.c:1698 executor/execMain.c:1724 executor/execMain.c:1813
 #, c-format
 msgid "Failing row contains %s."
 msgstr "La riga in errore contiene %s."
 
-#: executor/execMain.c:1624
+#: executor/execMain.c:1722
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "la nuova riga per la relazione \"%s\" viola il vincolo di controllo \"%s\""
 
-#: executor/execMain.c:1671
+#: executor/execMain.c:1811
+#, c-format
+msgid "new row violates WITH CHECK OPTION for \"%s\""
+msgstr "la nuova riga viola WITH CHECK OPTION per \"%s\""
+
+#: executor/execMain.c:1820
+#, c-format
+msgid "new row violates row level security policy for \"%s\""
+msgstr "la nuova riga viola la politica di sicurezza a livello di riga per \"%s\""
+
+#: executor/execMain.c:1826
 #, c-format
-msgid "new row violates WITH CHECK OPTION for view \"%s\""
-msgstr "la nuova riga viola WITH CHECK OPTION per la vista \"%s\""
+msgid "new row violates row level security policy (USING expression) for \"%s\""
+msgstr "la nuova riga viola la politica di sicurezza a livello di riga (espressione USING) per \"%s\""
 
-#: executor/execQual.c:306 executor/execQual.c:334 executor/execQual.c:3157
-#: utils/adt/array_userfuncs.c:430 utils/adt/arrayfuncs.c:233
-#: utils/adt/arrayfuncs.c:531 utils/adt/arrayfuncs.c:1275
-#: utils/adt/arrayfuncs.c:2961 utils/adt/arrayfuncs.c:4986
+#: executor/execQual.c:300 executor/execQual.c:328 executor/execQual.c:3190
+#: utils/adt/array_userfuncs.c:472 utils/adt/arrayfuncs.c:263
+#: utils/adt/arrayfuncs.c:561 utils/adt/arrayfuncs.c:1291
+#: utils/adt/arrayfuncs.c:3335 utils/adt/arrayfuncs.c:5219
+#: utils/adt/arrayfuncs.c:5742
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "il numero di dimensioni dell'array (%d) eccede il massimo consentito (%d)"
 
-#: executor/execQual.c:319 executor/execQual.c:347
+#: executor/execQual.c:313 executor/execQual.c:341
 #, c-format
 msgid "array subscript in assignment must not be null"
 msgstr "l'indice di un array nell'assegnamento non può essere nullo"
 
-#: executor/execQual.c:642 executor/execQual.c:4078
+#: executor/execQual.c:634 executor/execQual.c:4114
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "l'attributo %d è di tipo errato"
 
-#: executor/execQual.c:643 executor/execQual.c:4079
+#: executor/execQual.c:635 executor/execQual.c:4115
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "La tabella ha il tipo %s, ma la query prevede %s."
 
-#: executor/execQual.c:836 executor/execQual.c:853 executor/execQual.c:1050
-#: executor/nodeModifyTable.c:85 executor/nodeModifyTable.c:95
-#: executor/nodeModifyTable.c:112 executor/nodeModifyTable.c:120
+#: executor/execQual.c:828 executor/execQual.c:845 executor/execQual.c:1045
+#: executor/nodeModifyTable.c:95 executor/nodeModifyTable.c:105
+#: executor/nodeModifyTable.c:122 executor/nodeModifyTable.c:130
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "il tipo della riga della tabella e il tipo di riga specificato dalla query non corrispondono"
 
-#: executor/execQual.c:837
+#: executor/execQual.c:829
 #, 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 riga della tabella contiene %d attributo, ma la query ne prevede %d."
 msgstr[1] "La riga della tabella contiene %d attributi, ma la query ne prevede %d."
 
-#: executor/execQual.c:854 executor/nodeModifyTable.c:96
+#: executor/execQual.c:846 executor/nodeModifyTable.c:106
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr "La tabella ha il tipo %s in posizione %d, ma la query prevede %s."
 
-#: executor/execQual.c:1051 executor/execQual.c:1647
+#: executor/execQual.c:1046 executor/execQual.c:1642
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr "Il tipo di immagazzinamento fisico non corrisponde per l'attributo eliminato in posizione %d."
 
-#: executor/execQual.c:1326 parser/parse_func.c:114 parser/parse_func.c:535
-#: parser/parse_func.c:887
+#: executor/execQual.c:1321 parser/parse_func.c:117 parser/parse_func.c:544
+#: parser/parse_func.c:1038
 #, 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] "non è possibile passare più di %d argomento ad una funzione"
 msgstr[1] "non è possibile passare più di %d argomenti ad una funzione"
 
-#: executor/execQual.c:1515
+#: executor/execQual.c:1510
 #, c-format
 msgid "functions and operators can take at most one set argument"
 msgstr "le funzioni e operatori possono accettare al più un insieme di argomenti"
 
-#: executor/execQual.c:1565
+#: executor/execQual.c:1560
 #, c-format
 msgid "function returning setof record called in context that cannot accept type record"
 msgstr "funzione che restituisce un insieme di record invocata in un contesto che non accetta il tipo record"
 
-#: executor/execQual.c:1620 executor/execQual.c:1636 executor/execQual.c:1646
+#: executor/execQual.c:1615 executor/execQual.c:1631 executor/execQual.c:1641
 #, c-format
 msgid "function return row and query-specified return row do not match"
 msgstr "il tipo di riga restituito dalla funzione e il valore specificato dalla query non combaciano"
 
-#: executor/execQual.c:1621
+#: executor/execQual.c:1616
 #, 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 riga restituita contiene %d attributo, ma la query ne prevede %d."
 msgstr[1] "La riga restituita contiene %d attributi, ma la query ne prevede %d."
 
-#: executor/execQual.c:1637
+#: executor/execQual.c:1632
 #, c-format
 msgid "Returned type %s at ordinal position %d, but query expects %s."
 msgstr "Tipo %s restituito in posizione %d, ma la query prevede %s."
 
-#: executor/execQual.c:1879 executor/execQual.c:2310
+#: executor/execQual.c:1874 executor/execQual.c:2305
 #, c-format
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "il protocollo tabella-funzione del modo di materializzazione non è stato seguito"
 
-#: executor/execQual.c:1899 executor/execQual.c:2317
+#: executor/execQual.c:1894 executor/execQual.c:2312
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "returnMode tabella-funzione sconosciuto: %d"
 
-#: executor/execQual.c:2227
+#: executor/execQual.c:2222
 #, c-format
 msgid "function returning set of rows cannot return null value"
 msgstr "una funzione che restituisce un insieme di righe non può restituire un valore null"
 
-#: executor/execQual.c:2284
+#: executor/execQual.c:2279
 #, c-format
 msgid "rows returned by function are not all of the same row type"
 msgstr "le righe restituite dalla funzione non sono tutte dello stesso tipo"
 
-#: executor/execQual.c:2499
+#: executor/execQual.c:2494
 #, c-format
 msgid "IS DISTINCT FROM does not support set arguments"
 msgstr "IS DISTINCT FROM non supporta argomenti di tipo insieme"
 
-#: executor/execQual.c:2576
+#: executor/execQual.c:2571
 #, c-format
 msgid "op ANY/ALL (array) does not support set arguments"
 msgstr "l'operatore ANY/ALL (array) non supporta argomenti di tipo insieme"
 
-#: executor/execQual.c:3135
+#: executor/execQual.c:3168
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "non è possibile unire array non compatibili"
 
-#: executor/execQual.c:3136
+#: executor/execQual.c:3169
 #, c-format
 msgid "Array with element type %s cannot be included in ARRAY construct with element type %s."
 msgstr "Un array con tipo di elementi %s non può essere incluso nel costrutto ARRAY con elementi di tipo %s."
 
-#: executor/execQual.c:3177 executor/execQual.c:3204
+#: executor/execQual.c:3210 executor/execQual.c:3237
 #, c-format
 msgid "multidimensional arrays must have array expressions with matching dimensions"
 msgstr "gli array multidimensionali devono avere espressioni array di dimensioni corrispondenti"
 
-#: executor/execQual.c:3719
+#: executor/execQual.c:3752
 #, c-format
 msgid "NULLIF does not support set arguments"
 msgstr "NULLIF non supporta argomenti di tipo insieme"
 
-#: executor/execQual.c:3949 utils/adt/domains.c:131
+#: executor/execQual.c:3985 utils/adt/domains.c:136
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "il DOMAIN %s non consente valori nulli"
 
-#: executor/execQual.c:3979 utils/adt/domains.c:168
+#: executor/execQual.c:4015 utils/adt/domains.c:173
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "il valore per il DOMAIN %s viola il vincolo di controllo \"%s\""
 
-#: executor/execQual.c:4337
+#: executor/execQual.c:4369
 #, c-format
 msgid "WHERE CURRENT OF is not supported for this table type"
 msgstr "WHERE CURRENT OF non è supportato per questo tipo di tabella"
 
-#: executor/execQual.c:4484 parser/parse_agg.c:434 parser/parse_agg.c:464
+#: executor/execQual.c:4516 parser/parse_agg.c:589 parser/parse_agg.c:619
 #, c-format
 msgid "aggregate function calls cannot be nested"
 msgstr "le chiamate a funzioni di aggregazione non possono essere annidate"
 
-#: executor/execQual.c:4524 parser/parse_agg.c:565
+#: executor/execQual.c:4578 parser/parse_agg.c:735
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "le chiamate a funzioni finestra non possono essere annidate"
 
-#: executor/execQual.c:4736
+#: executor/execQual.c:4790
 #, c-format
 msgid "target type is not an array"
 msgstr "il tipo di destinazione non è un array"
 
-#: executor/execQual.c:4851
+#: executor/execQual.c:4905
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "la colonna ROW() è di tipo %s invece di %s"
 
-#: executor/execQual.c:4986 utils/adt/arrayfuncs.c:3424
-#: utils/adt/rowtypes.c:921
+#: executor/execQual.c:5040 utils/adt/arrayfuncs.c:3777
+#: utils/adt/arrayfuncs.c:6315 utils/adt/rowtypes.c:921
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "non è stato possibile trovare un operatore di confronto per il tipo %s"
 
-#: executor/execUtils.c:844
+#: executor/execUtils.c:831
 #, c-format
 msgid "materialized view \"%s\" has not been populated"
 msgstr "la vista materializzata \"%s\" non è stata popolata"
 
-#: executor/execUtils.c:846
+#: executor/execUtils.c:833
 #, c-format
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Usa il comando REFRESH MATERIALIZED VIEW."
 
-#: executor/execUtils.c:1324
-#, c-format
-msgid "could not create exclusion constraint \"%s\""
-msgstr "creazione del vincolo di esclusione \"%s\" fallita"
-
-#: executor/execUtils.c:1326
-#, c-format
-msgid "Key %s conflicts with key %s."
-msgstr "La chiave %s è in conflitto con la chiave %s."
-
-#: executor/execUtils.c:1333
-#, c-format
-msgid "conflicting key value violates exclusion constraint \"%s\""
-msgstr "le chiavi in conflitto violano il vincolo di esclusione \"%s\""
-
-#: executor/execUtils.c:1335
-#, c-format
-msgid "Key %s conflicts with existing key %s."
-msgstr "La chiave %s è in conflitto con la chiave esistente %s."
-
 #: executor/functions.c:225
 #, c-format
 msgid "could not determine actual type of argument declared %s"
@@ -8807,73 +9678,78 @@ msgid "%s is not allowed in a SQL function"
 msgstr "%s non è consentito in una funzione SQL"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:513 executor/spi.c:1343 executor/spi.c:2129
+#: executor/functions.c:513 executor/spi.c:1368 executor/spi.c:2157
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s non è consentito in una funzione non volatile"
 
-#: executor/functions.c:638
+#: executor/functions.c:641
 #, c-format
 msgid "could not determine actual result type for function declared to return type %s"
 msgstr "non è stato possibile determinare il tipo reale restituito dalla funzione dichiarata con tipo restituito %s"
 
-#: executor/functions.c:1402
+#: executor/functions.c:1405
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "funzione SQL \"%s\" istruzione %d"
 
-#: executor/functions.c:1428
+#: executor/functions.c:1431
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "funzione SQL \"%s\" durante l'avvio"
 
-#: executor/functions.c:1587 executor/functions.c:1624
-#: executor/functions.c:1636 executor/functions.c:1749
-#: executor/functions.c:1782 executor/functions.c:1812
+#: executor/functions.c:1590 executor/functions.c:1627
+#: executor/functions.c:1639 executor/functions.c:1752
+#: executor/functions.c:1785 executor/functions.c:1815
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "il tipo restituito non combacia nella funzione dichiarata con tipo restituito %s"
 
-#: executor/functions.c:1589
+#: executor/functions.c:1592
 #, c-format
 msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
 msgstr "L'istruzione finale della funzione deve essere SELECT oppure INSERT/UPDATE/DELETE RETURNING."
 
-#: executor/functions.c:1626
+#: executor/functions.c:1629
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "L'istruzione finale deve restituire esattamente una colonna."
 
-#: executor/functions.c:1638
+#: executor/functions.c:1641
 #, c-format
 msgid "Actual return type is %s."
 msgstr "Il tipo restituito realmente è %s."
 
-#: executor/functions.c:1751
+#: executor/functions.c:1754
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "L'istruzione finale restituisce troppe colonne."
 
-#: executor/functions.c:1784
+#: executor/functions.c:1787
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "L'istruzione finale restituisce %s invece di %s alla colonna %d."
 
-#: executor/functions.c:1814
+#: executor/functions.c:1817
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "L'istruzione finale restituisce troppe poche colonne."
 
-#: executor/functions.c:1863
+#: executor/functions.c:1866
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "il tipo di risultato %s non è supportato per le funzioni SQL"
 
-#: executor/nodeAgg.c:1865 executor/nodeWindowAgg.c:2285
+#: executor/nodeAgg.c:2450 executor/nodeWindowAgg.c:2286
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr "l'aggregato %u deve avere tipi di input e transizione compatibili"
 
+#: executor/nodeCustom.c:147 executor/nodeCustom.c:158
+#, c-format
+msgid "custom-scan \"%s\" does not support MarkPos"
+msgstr "lo scan personalizzato \"%s\" non supporta MarkPos"
+
 #: executor/nodeHashjoin.c:823 executor/nodeHashjoin.c:853
 #, c-format
 msgid "could not rewind hash-join temporary file: %m"
@@ -8889,6 +9765,11 @@ msgstr "scrittura nel file temporaneo per l'hash-join fallita: %m"
 msgid "could not read from hash-join temporary file: %m"
 msgstr "lettura dal file temporaneo per l'hash-join fallita: %m"
 
+#: executor/nodeIndexonlyscan.c:179
+#, c-format
+msgid "lossy distance functions are not supported in index-only scans"
+msgstr "le funzioni di distanza lossy non sono supportate nelle scansioni dei soli indici"
+
 #: executor/nodeLimit.c:253
 #, c-format
 msgid "OFFSET must not be negative"
@@ -8899,33 +9780,43 @@ msgstr "OFFSET non può essere negativo"
 msgid "LIMIT must not be negative"
 msgstr "LIMIT non può essere negativo"
 
-#: executor/nodeMergejoin.c:1576
+#: executor/nodeMergejoin.c:1584
 #, c-format
 msgid "RIGHT JOIN is only supported with merge-joinable join conditions"
 msgstr "RIGHT JOIN è supportato solo con condizioni di join che supportano merge"
 
-#: executor/nodeMergejoin.c:1596
+#: executor/nodeMergejoin.c:1604
 #, c-format
 msgid "FULL JOIN is only supported with merge-joinable join conditions"
 msgstr "FULL JOIN è supportato solo con condizioni di join che supportano merge"
 
-#: executor/nodeModifyTable.c:86
+#: executor/nodeModifyTable.c:96
 #, c-format
 msgid "Query has too many columns."
 msgstr "La query ha troppe colonne."
 
-#: executor/nodeModifyTable.c:113
+#: executor/nodeModifyTable.c:123
 #, c-format
 msgid "Query provides a value for a dropped column at ordinal position %d."
 msgstr "La query produce un valore per una colonna eliminata in posizione %d."
 
-#: executor/nodeModifyTable.c:121
+#: executor/nodeModifyTable.c:131
 #, c-format
 msgid "Query has too few columns."
 msgstr "La query ha troppe poche colonne."
 
-#: executor/nodeSubplan.c:304 executor/nodeSubplan.c:343
-#: executor/nodeSubplan.c:970
+#: executor/nodeModifyTable.c:1081
+#, c-format
+msgid "ON CONFLICT DO UPDATE command cannot affect row a second time"
+msgstr "il comando ON CONFLICT DO UPDATE non può toccare le righe una seconda volta"
+
+#: executor/nodeModifyTable.c:1082
+#, c-format
+msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values."
+msgstr "Assicurati che non ci siano righe proposte per l'inserimento nello stesso comando che abbiano valori vincolati uguali."
+
+#: executor/nodeSubplan.c:345 executor/nodeSubplan.c:384
+#: executor/nodeSubplan.c:1040
 #, c-format
 msgid "more than one row returned by a subquery used as an expression"
 msgstr "più di una riga restituita da una sottoquery usata come espressione"
@@ -8955,43 +9846,43 @@ msgstr "l'offset di fine della finestra dev'essere non nullo"
 msgid "frame ending offset must not be negative"
 msgstr "l'offset di fine della finestra non può essere negativo"
 
-#: executor/spi.c:213
+#: executor/spi.c:214
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "la transazione ha lasciato lo stack SPI non vuoto"
 
-#: executor/spi.c:214 executor/spi.c:278
+#: executor/spi.c:215 executor/spi.c:279
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Verifica che non ci siano chiamate \"SPI_finish\" mancanti."
 
-#: executor/spi.c:277
+#: executor/spi.c:278
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "la sottotransazione ha lasciato lo stack SPI non vuoto"
 
-#: executor/spi.c:1207
+#: executor/spi.c:1229
 #, c-format
 msgid "cannot open multi-query plan as cursor"
 msgstr "non è possibile aprire un piano multi-query come cursore"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:1212
+#: executor/spi.c:1234
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "non è possibile aprire una query %s come cursore"
 
-#: executor/spi.c:1320
+#: executor/spi.c:1342
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE non è supportato"
 
-#: executor/spi.c:1321 parser/analyze.c:2128
+#: executor/spi.c:1343 parser/analyze.c:2238
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Un cursore scorribile dev'essere READ ONLY."
 
-#: executor/spi.c:2419
+#: executor/spi.c:2449
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "istruzione SQL \"%s\""
@@ -9001,17 +9892,12 @@ msgstr "istruzione SQL \"%s\""
 msgid "user mapping not found for \"%s\""
 msgstr "mappatura utenti non trovata per \"%s\""
 
-#: foreign/foreign.c:348
-#, c-format
-msgid "foreign-data wrapper \"%s\" has no handler"
-msgstr "il wrapper di dati remoti \"%s\" non ha un handler"
-
-#: foreign/foreign.c:573
+#: foreign/foreign.c:643
 #, c-format
 msgid "invalid option \"%s\""
 msgstr "opzione \"%s\" non valida"
 
-#: foreign/foreign.c:574
+#: foreign/foreign.c:644
 #, c-format
 msgid "Valid options in this context are: %s"
 msgstr "Le opzioni valide in questo contesto sono: %s"
@@ -9086,105 +9972,105 @@ msgstr "autenticazione fallita per l'utente \"%s\": metodo di autenticazione non
 msgid "Connection matched pg_hba.conf line %d: \"%s\""
 msgstr "La connessione si abbina con la riga %d di pg_hba.log: \"%s\""
 
-#: libpq/auth.c:337
+#: libpq/auth.c:330
 #, c-format
 msgid "connection requires a valid client certificate"
 msgstr "la connessione richiede un certificato valido per il client"
 
-#: libpq/auth.c:379
+#: libpq/auth.c:372
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
 msgstr "pg_hba.conf rifiuta connessioni di replica per l'host \"%s\", utente \"%s\", %s"
 
-#: libpq/auth.c:381 libpq/auth.c:397 libpq/auth.c:455 libpq/auth.c:473
+#: libpq/auth.c:374 libpq/auth.c:390 libpq/auth.c:448 libpq/auth.c:466
 msgid "SSL off"
 msgstr "SSL non abilitato"
 
-#: libpq/auth.c:381 libpq/auth.c:397 libpq/auth.c:455 libpq/auth.c:473
+#: libpq/auth.c:374 libpq/auth.c:390 libpq/auth.c:448 libpq/auth.c:466
 msgid "SSL on"
 msgstr "SSL abilitato"
 
-#: libpq/auth.c:385
+#: libpq/auth.c:378
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
 msgstr "pg_hba.conf rifiuta connessioni di replica per l'host \"%s\", utente \"%s\""
 
-#: libpq/auth.c:394
+#: libpq/auth.c:387
 #, c-format
 msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr "pg_hba.conf rifiuta connessioni per l'host \"%s\", utente \"%s\", database \"%s\", %s"
 
-#: libpq/auth.c:401
+#: libpq/auth.c:394
 #, c-format
 msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
 msgstr "pg_hba.conf rifiuta connessioni per l'host \"%s\", user \"%s\", database \"%s\""
 
-#: libpq/auth.c:430
+#: libpq/auth.c:423
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup matches."
 msgstr "Indirizzo IP del client risolto in \"%s\", il forward lookup combacia."
 
-#: libpq/auth.c:433
+#: libpq/auth.c:426
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup not checked."
 msgstr "Indirizzo IP del client risolto in \"%s\", forward lookup non controllato."
 
-#: libpq/auth.c:436
+#: libpq/auth.c:429
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup does not match."
 msgstr "Indirizzo IP del client risolto in \"%s\", il forward lookup non combacia."
 
-#: libpq/auth.c:439
+#: libpq/auth.c:432
 #, c-format
 msgid "Could not translate client host name \"%s\" to IP address: %s."
 msgstr "Conversione del nome host \"%s\" in indirizzo IP non riuscita: %s."
 
-#: libpq/auth.c:444
+#: libpq/auth.c:437
 #, c-format
 msgid "Could not resolve client IP address to a host name: %s."
 msgstr "Risoluzione dell'indirizzo IP del client in nome host non riuscita: %s."
 
-#: libpq/auth.c:453
+#: libpq/auth.c:446
 #, c-format
 msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s"
 msgstr "nessuna voce in pg_hba.conf per connessioni di replica da host \"%s\", utente \"%s\", database \"%s\""
 
-#: libpq/auth.c:460
+#: libpq/auth.c:453
 #, c-format
 msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
 msgstr "nessuna voce in pg_hba.conf per connessioni di replica da host \"%s\", user \"%s\""
 
-#: libpq/auth.c:470
+#: libpq/auth.c:463
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr "nessuna voce in pg_hba.conf per l'host \"%s\", utente \"%s\", database \"%s\", %s"
 
-#: libpq/auth.c:478
+#: libpq/auth.c:471
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
 msgstr "nessuna voce in pg_hba.conf per l'host \"%s\", utente \"%s\", database \"%s\""
 
-#: libpq/auth.c:521 libpq/hba.c:1212
+#: libpq/auth.c:514 libpq/hba.c:1180
 #, c-format
 msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled"
 msgstr "l'autenticazione MD5 non è supportata quando \"db_user_namespace\" è abilitato"
 
-#: libpq/auth.c:645
+#: libpq/auth.c:640
 #, c-format
 msgid "expected password response, got message type %d"
 msgstr "era attesa una risposta password, ricevuto messaggio di tipo %d"
 
-#: libpq/auth.c:673
+#: libpq/auth.c:668
 #, c-format
 msgid "invalid password packet size"
 msgstr "dimensione del pacchetto password non valida"
 
-#: libpq/auth.c:677
+#: libpq/auth.c:672
 #, c-format
 msgid "received password packet"
 msgstr "pacchetto password ricevuto"
 
-#: libpq/auth.c:804
+#: libpq/auth.c:799
 #, c-format
 msgid "GSSAPI is not supported in protocol version 2"
 msgstr "GSSAPI non è supportato con la versione 2 del protocollo"
@@ -9194,309 +10080,309 @@ msgstr "GSSAPI non è supportato con la versione 2 del protocollo"
 msgid "expected GSS response, got message type %d"
 msgstr "era attesa una risposta GSS, ricevuto messaggio di tipo %d"
 
-#: libpq/auth.c:918
+#: libpq/auth.c:920
 msgid "accepting GSS security context failed"
 msgstr "contesto di sicurezza accettazione GSS fallito"
 
-#: libpq/auth.c:944
+#: libpq/auth.c:946
 msgid "retrieving GSS user name failed"
 msgstr "la richiesta del GSS user name è fallita"
 
-#: libpq/auth.c:1061
+#: libpq/auth.c:1063
 #, c-format
 msgid "SSPI is not supported in protocol version 2"
 msgstr "SSPI non è supportato con la versione 2 del protocollo"
 
-#: libpq/auth.c:1076
+#: libpq/auth.c:1078
 msgid "could not acquire SSPI credentials"
 msgstr "non è stato possibile ottenere le credenziali SSPI"
 
-#: libpq/auth.c:1093
+#: libpq/auth.c:1096
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "era attesa una risposta SSPI, ricevuto messaggio di tipo %d"
 
-#: libpq/auth.c:1165
+#: libpq/auth.c:1168
 msgid "could not accept SSPI security context"
 msgstr "non è stato possibile accettare il contesto di sicurezza SSPI"
 
-#: libpq/auth.c:1227
+#: libpq/auth.c:1230
 msgid "could not get token from SSPI security context"
 msgstr "non è stato possibile ottenere il token dal contesto di sicurezza SSPI"
 
-#: libpq/auth.c:1470
+#: libpq/auth.c:1475
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "creazione del socket per la connessione Ident fallita: %m"
 
-#: libpq/auth.c:1485
+#: libpq/auth.c:1490
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "bind sull'indirizzo locale \"%s\" fallito: %m"
 
-#: libpq/auth.c:1497
+#: libpq/auth.c:1502
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "connessione al server Ident all'indirizzo \"%s\", porta %s fallita: %m"
 
-#: libpq/auth.c:1517
+#: libpq/auth.c:1524
 #, c-format
 msgid "could not send query to Ident server at address \"%s\", port %s: %m"
 msgstr "invio della query al server Ident all'indirizzo \"%s\", porta %s fallito: %m"
 
-#: libpq/auth.c:1532
+#: libpq/auth.c:1541
 #, c-format
 msgid "could not receive response from Ident server at address \"%s\", port %s: %m"
 msgstr "ricezione della risposta dal server Ident all'indirizzo \"%s\", porta %s fallita: %m"
 
-#: libpq/auth.c:1542
+#: libpq/auth.c:1551
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "risposta dal server Ident formattata in maniera non corretta: \"%s\""
 
-#: libpq/auth.c:1580
+#: libpq/auth.c:1591
 #, c-format
 msgid "peer authentication is not supported on this platform"
 msgstr "il metodo di autenticazione peer non è supportato su questa piattaforma"
 
-#: libpq/auth.c:1584
+#: libpq/auth.c:1595
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "non è stato possibile recuperare le credenziali del peer: %m"
 
-#: libpq/auth.c:1593
+#: libpq/auth.c:1604
 #, c-format
-msgid "could not to look up local user ID %ld: %s"
-msgstr "ricerca dell'id utente locale %ld non riuscita: %s"
+msgid "could not look up local user ID %ld: %s"
+msgstr "ricerca dell'ID utente locale %ld fallita: %s"
 
-#: libpq/auth.c:1676 libpq/auth.c:1947 libpq/auth.c:2304
+#: libpq/auth.c:1688 libpq/auth.c:1959 libpq/auth.c:2315
 #, c-format
 msgid "empty password returned by client"
 msgstr "il client ha restituito una password vuota"
 
-#: libpq/auth.c:1686
+#: libpq/auth.c:1698
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "errore dal livello PAM sottostante: %s"
 
-#: libpq/auth.c:1755
+#: libpq/auth.c:1767
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "creazione dell'autenticatore PAM fallita: %s"
 
-#: libpq/auth.c:1766
+#: libpq/auth.c:1778
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) fallita: %s"
 
-#: libpq/auth.c:1777
+#: libpq/auth.c:1789
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) fallita: %s"
 
-#: libpq/auth.c:1788
+#: libpq/auth.c:1800
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate fallita: %s"
 
-#: libpq/auth.c:1799
+#: libpq/auth.c:1811
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt fallita: %s"
 
-#: libpq/auth.c:1810
+#: libpq/auth.c:1822
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "rilascio dell'autenticatore PAM fallito: %s"
 
-#: libpq/auth.c:1843
+#: libpq/auth.c:1855
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "inizializzazione LDAP fallita: %m"
 
-#: libpq/auth.c:1846
+#: libpq/auth.c:1858
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "inizializzazione LDAP fallita: codice errore %d"
 
-#: libpq/auth.c:1856
+#: libpq/auth.c:1868
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "impostazione della versione del protocollo LDAP fallita: %s"
 
-#: libpq/auth.c:1885
+#: libpq/auth.c:1897
 #, c-format
 msgid "could not load wldap32.dll"
 msgstr "caricamento wldap32.dll fallito"
 
-#: libpq/auth.c:1893
+#: libpq/auth.c:1905
 #, c-format
 msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
 msgstr "caricamento della funzione _ldap_start_tls_sA in wldap32.dll fallito"
 
-#: libpq/auth.c:1894
+#: libpq/auth.c:1906
 #, c-format
 msgid "LDAP over SSL is not supported on this platform."
 msgstr "LDAP su SSL non è supportato su questa piattaforma."
 
-#: libpq/auth.c:1909
+#: libpq/auth.c:1921
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "avvio della sessione TLS LDAP fallito: %s"
 
-#: libpq/auth.c:1931
+#: libpq/auth.c:1943
 #, c-format
 msgid "LDAP server not specified"
 msgstr "server LDAP non specificato"
 
-#: libpq/auth.c:1984
+#: libpq/auth.c:1996
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "carattere non valido nel nome utente per l'autenticazione LDAP"
 
-#: libpq/auth.c:1999
+#: libpq/auth.c:2011
 #, c-format
 msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s"
 msgstr "bind iniziale LDAP fallito per ldapbinddn \"%s\" sul server \"%s\": %s"
 
-#: libpq/auth.c:2023
+#: libpq/auth.c:2035
 #, c-format
 msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
 msgstr "ricerca in LDAP del filtro \"%s\" sul server \"%s\" fallita: %s"
 
-#: libpq/auth.c:2034
+#: libpq/auth.c:2046
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "l'utente LDAP \"%s\" non esiste"
 
-#: libpq/auth.c:2035
+#: libpq/auth.c:2047
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
 msgstr "La ricerca LDAP del filtro \"%s\" sul server \"%s\" non ha restituito risultati."
 
-#: libpq/auth.c:2039
+#: libpq/auth.c:2051
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "L'utente LDAP \"%s\" non è unico"
 
-#: libpq/auth.c:2040
+#: libpq/auth.c:2052
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry."
 msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries."
 msgstr[0] "La ricerca LDAP del filtro \"%s\" sul server \"%s\" ha restituito %d risultato."
 msgstr[1] "La ricerca LDAP del filtro \"%s\" sul server \"%s\" ha restituito %d risultati."
 
-#: libpq/auth.c:2058
+#: libpq/auth.c:2070
 #, c-format
 msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
 msgstr "dn per il primo risultato di \"%s\" non trovato sul server \"%s\": %s"
 
-#: libpq/auth.c:2078
+#: libpq/auth.c:2090
 #, c-format
 msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
 msgstr "unbind fallito dopo aver cercato l'utente \"%s\" sul server \"%s\": %s"
 
-#: libpq/auth.c:2108
+#: libpq/auth.c:2120
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
 msgstr "login LDAP fallito per l'utente \"%s\" sul server \"%s\": %s"
 
-#: libpq/auth.c:2136
+#: libpq/auth.c:2148
 #, c-format
 msgid "certificate authentication failed for user \"%s\": client certificate contains no user name"
 msgstr "autenticazione con certificato fallita per l'utente \"%s\": il certificato del client non contiene alcun nome utente"
 
-#: libpq/auth.c:2260
+#: libpq/auth.c:2271
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "server RADIUS non specificato"
 
-#: libpq/auth.c:2267
+#: libpq/auth.c:2278
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "segreto RADIUS non specificato"
 
-#: libpq/auth.c:2283 libpq/hba.c:1609
+#: libpq/auth.c:2294 libpq/hba.c:1590
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "conversione del nome del server RADIUS \"%s\" in indirizzo fallita: %s"
 
-#: libpq/auth.c:2311
+#: libpq/auth.c:2322
 #, c-format
 msgid "RADIUS authentication does not support passwords longer than 16 characters"
 msgstr "l'autenticazione RADIUS non supporta password più lunghe di 16 caratteri"
 
-#: libpq/auth.c:2322
+#: libpq/auth.c:2333
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "generazione del vettore di criptaggio casuale fallita"
 
-#: libpq/auth.c:2345
+#: libpq/auth.c:2356
 #, c-format
 msgid "could not perform MD5 encryption of password"
 msgstr "criptaggio MD5 della password fallito"
 
-#: libpq/auth.c:2367
+#: libpq/auth.c:2378
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "creazione del socket RADIUS fallita: %m"
 
-#: libpq/auth.c:2388
+#: libpq/auth.c:2399
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "bind del socket RADIUS fallito: %m"
 
-#: libpq/auth.c:2398
+#: libpq/auth.c:2409
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "invio del pacchetto RADIUS fallito: %m"
 
-#: libpq/auth.c:2427 libpq/auth.c:2452
+#: libpq/auth.c:2442 libpq/auth.c:2467
 #, c-format
 msgid "timeout waiting for RADIUS response"
 msgstr "tempo scaduto in attesa della risposta RADIUS"
 
-#: libpq/auth.c:2445
+#: libpq/auth.c:2460
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "controllo dello stato sul socket RADIUS fallito: %m"
 
-#: libpq/auth.c:2474
+#: libpq/auth.c:2489
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "lettura della risposta RADIUS fallita: %m"
 
-#: libpq/auth.c:2486 libpq/auth.c:2490
+#: libpq/auth.c:2501 libpq/auth.c:2505
 #, c-format
 msgid "RADIUS response was sent from incorrect port: %d"
 msgstr "la risposta RADIUS è stata inviata da una porta sbagliata: %d"
 
-#: libpq/auth.c:2499
+#: libpq/auth.c:2514
 #, c-format
 msgid "RADIUS response too short: %d"
 msgstr "risposta RADIUS troppo breve: %d"
 
-#: libpq/auth.c:2506
+#: libpq/auth.c:2521
 #, c-format
 msgid "RADIUS response has corrupt length: %d (actual length %d)"
 msgstr "la risposta RADIUS ha una lunghezza corrotta: %d (lunghezza reale %d)"
 
-#: libpq/auth.c:2514
+#: libpq/auth.c:2529
 #, c-format
 msgid "RADIUS response is to a different request: %d (should be %d)"
 msgstr "la risposta RADIUS è a una richiesta differente: %d (dovrebbe essere %d)"
 
-#: libpq/auth.c:2539
+#: libpq/auth.c:2554
 #, c-format
 msgid "could not perform MD5 encryption of received packet"
 msgstr "criptaggio MD5 dei pacchetti ricevuti fallito"
 
-#: libpq/auth.c:2548
+#: libpq/auth.c:2563
 #, c-format
 msgid "RADIUS response has incorrect MD5 signature"
 msgstr "la firma MD5 della risposta RADIUS non è corretta"
 
-#: libpq/auth.c:2565
+#: libpq/auth.c:2580
 #, c-format
 msgid "RADIUS response has invalid code (%d) for user \"%s\""
 msgstr "il codice della risposta RADIUS (%d) per l'utente \"%s\" non è corretto"
@@ -9574,156 +10460,147 @@ msgstr "scrittura del file del server \"%s\" fallita: %m"
 msgid "large object read request is too large"
 msgstr "la richiesta di lettura per il large object è troppo grande"
 
-#: libpq/be-fsstubs.c:857 utils/adt/genfile.c:187 utils/adt/genfile.c:232
+#: libpq/be-fsstubs.c:857 utils/adt/genfile.c:211 utils/adt/genfile.c:252
 #, c-format
 msgid "requested length cannot be negative"
 msgstr "la lunghezza richiesta non può essere negativa"
 
-#: libpq/be-secure.c:296 libpq/be-secure.c:418
-#, c-format
-msgid "SSL error: %s"
-msgstr "errore SSL: %s"
-
-#: libpq/be-secure.c:305 libpq/be-secure.c:427 libpq/be-secure.c:1046
-#, c-format
-msgid "unrecognized SSL error code: %d"
-msgstr "codice di errore SSL sconosciuto: %d"
-
-#: libpq/be-secure.c:365
-#, c-format
-msgid "SSL failure during renegotiation start"
-msgstr "errore SSL durante l'avvio della rinegoziazione"
-
-#: libpq/be-secure.c:380
-#, c-format
-msgid "SSL handshake failure on renegotiation, retrying"
-msgstr "errore di handshake SSL su rinegoziazione, sto riprovando"
-
-#: libpq/be-secure.c:384
-#, c-format
-msgid "could not complete SSL handshake on renegotiation, too many failures"
-msgstr "completamento dell'handshake SSL su rinegoziazione non riuscito, troppi fallimenti"
-
-#: libpq/be-secure.c:453
-#, c-format
-msgid "SSL failed to renegotiate connection before limit expired"
-msgstr "SSL non è riuscito a rinegoziare la connessione prima di raggiungere il limite"
-
-#: libpq/be-secure.c:793
-#, c-format
-msgid "ECDH: unrecognized curve name: %s"
-msgstr "ECDH: nome della curva non riconosciuto: %s"
-
-#: libpq/be-secure.c:798
-#, c-format
-msgid "ECDH: could not create key"
-msgstr "ECDH: chiave non creata"
-
-#: libpq/be-secure.c:835
+#: libpq/be-secure-openssl.c:197
 #, c-format
 msgid "could not create SSL context: %s"
 msgstr "creazione del contesto SSL fallita: %s"
 
-#: libpq/be-secure.c:851
+#: libpq/be-secure-openssl.c:213
 #, c-format
 msgid "could not load server certificate file \"%s\": %s"
 msgstr "caricamento del file di certificato del server \"%s\" fallito: %s"
 
-#: libpq/be-secure.c:857
+#: libpq/be-secure-openssl.c:219
 #, c-format
 msgid "could not access private key file \"%s\": %m"
 msgstr "accesso fallito al file della chiave privata \"%s\": %m"
 
-#: libpq/be-secure.c:872
+#: libpq/be-secure-openssl.c:234
 #, c-format
 msgid "private key file \"%s\" has group or world access"
 msgstr "il file della chiave primaria \"%s\" ha accesso al gruppo o a chiunque"
 
-#: libpq/be-secure.c:874
+#: libpq/be-secure-openssl.c:236
 #, c-format
 msgid "Permissions should be u=rw (0600) or less."
 msgstr "Il permesso dovrebbe essere u=rw (0600) o inferiore."
 
-#: libpq/be-secure.c:881
+#: libpq/be-secure-openssl.c:243
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "caricamento del file della chiave privata \"%s\" fallito: %s"
 
-#: libpq/be-secure.c:886
+#: libpq/be-secure-openssl.c:248
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "controllo della chiave privata fallito: %s"
 
-#: libpq/be-secure.c:915
+#: libpq/be-secure-openssl.c:277
 #, c-format
 msgid "could not load root certificate file \"%s\": %s"
 msgstr "caricamento del file del certificato radice \"%s\" fallito: %s"
 
-#: libpq/be-secure.c:939
+#: libpq/be-secure-openssl.c:301
 #, c-format
 msgid "SSL certificate revocation list file \"%s\" ignored"
 msgstr "il file di lista di revoche di certificati SSL \"%s\" è stato ignorato"
 
-#: libpq/be-secure.c:941
+#: libpq/be-secure-openssl.c:303
 #, c-format
 msgid "SSL library does not support certificate revocation lists."
 msgstr "La libreria SSL non supporta le liste di revoca dei certificati."
 
-#: libpq/be-secure.c:946
+#: libpq/be-secure-openssl.c:308
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\": %s"
 msgstr "caricamento del file di lista di revoche di certificati SSL \"%s\" fallito: %s"
 
-#: libpq/be-secure.c:991
+#: libpq/be-secure-openssl.c:354
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "inizializzazione della connessione SSL fallita: %s"
 
-#: libpq/be-secure.c:1000
+#: libpq/be-secure-openssl.c:362
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "impostazione del socket SSL fallita: %s"
 
-#: libpq/be-secure.c:1026
+#: libpq/be-secure-openssl.c:396
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "accettazione della connessione SSL fallita: %m"
 
-#: libpq/be-secure.c:1030 libpq/be-secure.c:1041
+#: libpq/be-secure-openssl.c:400 libpq/be-secure-openssl.c:411
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "accettazione della connessione SSL fallita: fine file individuata"
 
-#: libpq/be-secure.c:1035
+#: libpq/be-secure-openssl.c:405
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "accettazione della connessione SSL fallita: %s"
 
-#: libpq/be-secure.c:1091
+#: libpq/be-secure-openssl.c:416 libpq/be-secure-openssl.c:554
+#: libpq/be-secure-openssl.c:642
+#, c-format
+msgid "unrecognized SSL error code: %d"
+msgstr "codice di errore SSL sconosciuto: %d"
+
+#: libpq/be-secure-openssl.c:460
+#, c-format
+msgid "SSL certificate's common name contains embedded null"
+msgstr "Il nome comune del certificato SSL contiene un null"
+
+#: libpq/be-secure-openssl.c:471
+#, c-format
+msgid "SSL connection from \"%s\""
+msgstr "connessione SSL da \"%s\""
+
+#: libpq/be-secure-openssl.c:545 libpq/be-secure-openssl.c:633
+#, c-format
+msgid "SSL error: %s"
+msgstr "errore SSL: %s"
+
+#: libpq/be-secure-openssl.c:601
+#, c-format
+msgid "SSL failure during renegotiation start"
+msgstr "errore SSL durante l'avvio della rinegoziazione"
+
+#: libpq/be-secure-openssl.c:668
+#, c-format
+msgid "SSL failed to renegotiate connection before limit expired"
+msgstr "SSL non è riuscito a rinegoziare la connessione prima di raggiungere il limite"
+
+#: libpq/be-secure-openssl.c:1003
 #, c-format
-msgid "SSL certificate's common name contains embedded null"
-msgstr "Il nome comune del certificato SSL contiene un null"
+msgid "ECDH: unrecognized curve name: %s"
+msgstr "ECDH: nome della curva non riconosciuto: %s"
 
-#: libpq/be-secure.c:1102
+#: libpq/be-secure-openssl.c:1008
 #, c-format
-msgid "SSL connection from \"%s\""
-msgstr "connessione SSL da \"%s\""
+msgid "ECDH: could not create key"
+msgstr "ECDH: chiave non creata"
 
-#: libpq/be-secure.c:1153
+#: libpq/be-secure-openssl.c:1032
 msgid "no SSL error reported"
 msgstr "nessun errore SSL riportato"
 
-#: libpq/be-secure.c:1157
+#: libpq/be-secure-openssl.c:1036
 #, c-format
 msgid "SSL error code %lu"
 msgstr "codice di errore SSL: %lu"
 
-#: libpq/crypt.c:67
+#: libpq/crypt.c:60
 #, c-format
 msgid "User \"%s\" has no password assigned."
 msgstr "L'utente \"%s\" non ha una password assegnata."
 
-#: libpq/crypt.c:160
+#: libpq/crypt.c:150
 #, c-format
 msgid "User \"%s\" has an expired password."
 msgstr "L'utente \"%s\" ha la password scaduta."
@@ -9743,430 +10620,430 @@ msgstr "apertura del file secondario di autenticazione \"@%s\" come \"%s\" falli
 msgid "authentication file line too long"
 msgstr "riga del file di autenticazione troppo lunga"
 
-#: libpq/hba.c:410 libpq/hba.c:787 libpq/hba.c:803 libpq/hba.c:833
-#: libpq/hba.c:879 libpq/hba.c:892 libpq/hba.c:914 libpq/hba.c:923
-#: libpq/hba.c:946 libpq/hba.c:958 libpq/hba.c:977 libpq/hba.c:998
-#: libpq/hba.c:1009 libpq/hba.c:1064 libpq/hba.c:1082 libpq/hba.c:1094
-#: libpq/hba.c:1111 libpq/hba.c:1121 libpq/hba.c:1135 libpq/hba.c:1151
-#: libpq/hba.c:1166 libpq/hba.c:1177 libpq/hba.c:1213 libpq/hba.c:1245
-#: libpq/hba.c:1256 libpq/hba.c:1276 libpq/hba.c:1287 libpq/hba.c:1304
-#: libpq/hba.c:1329 libpq/hba.c:1366 libpq/hba.c:1376 libpq/hba.c:1432
-#: libpq/hba.c:1444 libpq/hba.c:1457 libpq/hba.c:1540 libpq/hba.c:1611
-#: libpq/hba.c:1629 libpq/hba.c:1650 tsearch/ts_locale.c:182
+#: libpq/hba.c:410 libpq/hba.c:757 libpq/hba.c:773 libpq/hba.c:803
+#: libpq/hba.c:849 libpq/hba.c:862 libpq/hba.c:884 libpq/hba.c:893
+#: libpq/hba.c:914 libpq/hba.c:926 libpq/hba.c:945 libpq/hba.c:966
+#: libpq/hba.c:977 libpq/hba.c:1032 libpq/hba.c:1050 libpq/hba.c:1062
+#: libpq/hba.c:1079 libpq/hba.c:1089 libpq/hba.c:1103 libpq/hba.c:1119
+#: libpq/hba.c:1134 libpq/hba.c:1145 libpq/hba.c:1181 libpq/hba.c:1213
+#: libpq/hba.c:1224 libpq/hba.c:1244 libpq/hba.c:1255 libpq/hba.c:1272
+#: libpq/hba.c:1297 libpq/hba.c:1334 libpq/hba.c:1344 libpq/hba.c:1413
+#: libpq/hba.c:1425 libpq/hba.c:1438 libpq/hba.c:1521 libpq/hba.c:1592
+#: libpq/hba.c:1610 libpq/hba.c:1631 tsearch/ts_locale.c:182
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "riga %d del file di configurazione \"%s\""
 
 #. translator: the second %s is a list of auth methods
-#: libpq/hba.c:785
+#: libpq/hba.c:755
 #, c-format
 msgid "authentication option \"%s\" is only valid for authentication methods %s"
 msgstr "l'opzione di autenticazione \"%s\" è valida solo per i metodi di autenticazione %s"
 
-#: libpq/hba.c:801
+#: libpq/hba.c:771
 #, c-format
 msgid "authentication method \"%s\" requires argument \"%s\" to be set"
 msgstr "il metodo di autenticazione \"%s\" richiede che l'argomenti \"%s\" sia impostato"
 
-#: libpq/hba.c:822
+#: libpq/hba.c:792
 #, c-format
 msgid "missing entry in file \"%s\" at end of line %d"
 msgstr "voce mancante nel file \"%s\" alla fine della riga %d"
 
-#: libpq/hba.c:832
+#: libpq/hba.c:802
 #, c-format
 msgid "multiple values in ident field"
 msgstr "più di un valore nel campo ident"
 
-#: libpq/hba.c:877
+#: libpq/hba.c:847
 #, c-format
 msgid "multiple values specified for connection type"
 msgstr "più di un valore specificato per il tipo di connessione"
 
-#: libpq/hba.c:878
+#: libpq/hba.c:848
 #, c-format
 msgid "Specify exactly one connection type per line."
 msgstr "Specifica esattamente un tipo di connessione per riga."
 
-#: libpq/hba.c:891
+#: libpq/hba.c:861
 #, c-format
 msgid "local connections are not supported by this build"
 msgstr "le connessioni locali non sono supportate in questo binario"
 
-#: libpq/hba.c:912
+#: libpq/hba.c:882
 #, c-format
 msgid "hostssl requires SSL to be turned on"
 msgstr "hostssl richiede che SSL sia abilitato"
 
-#: libpq/hba.c:913
+#: libpq/hba.c:883
 #, c-format
 msgid "Set ssl = on in postgresql.conf."
 msgstr "Imposta ssl = on in postgresql.conf."
 
-#: libpq/hba.c:921
+#: libpq/hba.c:891
 #, c-format
 msgid "hostssl is not supported by this build"
 msgstr "hostssl non è supportato in questo binario"
 
-#: libpq/hba.c:922
+#: libpq/hba.c:892
 #, c-format
 msgid "Compile with --with-openssl to use SSL connections."
 msgstr "Compila con --with-openssl per usare connessioni SSL."
 
-#: libpq/hba.c:944
+#: libpq/hba.c:912
 #, c-format
 msgid "invalid connection type \"%s\""
 msgstr "tipo di connessione \"%s\" non valido"
 
-#: libpq/hba.c:957
+#: libpq/hba.c:925
 #, c-format
 msgid "end-of-line before database specification"
 msgstr "fine riga prima della specificazione del database"
 
-#: libpq/hba.c:976
+#: libpq/hba.c:944
 #, c-format
 msgid "end-of-line before role specification"
 msgstr "fine riga prima della specificazione del ruolo"
 
-#: libpq/hba.c:997
+#: libpq/hba.c:965
 #, c-format
 msgid "end-of-line before IP address specification"
 msgstr "fine riga prima della specificazione dell'indirizzo IP"
 
-#: libpq/hba.c:1007
+#: libpq/hba.c:975
 #, c-format
 msgid "multiple values specified for host address"
 msgstr "più di un valore specificato per l'indirizzo host"
 
-#: libpq/hba.c:1008
+#: libpq/hba.c:976
 #, c-format
 msgid "Specify one address range per line."
 msgstr "Specifica un intervallo di indirizzi per riga."
 
-#: libpq/hba.c:1062
+#: libpq/hba.c:1030
 #, c-format
 msgid "invalid IP address \"%s\": %s"
 msgstr "indirizzo IP non valido \"%s\": %s"
 
-#: libpq/hba.c:1080
+#: libpq/hba.c:1048
 #, c-format
 msgid "specifying both host name and CIDR mask is invalid: \"%s\""
 msgstr "specificare sia un nome host che una maschera CIDR non è consentito: \"%s\""
 
-#: libpq/hba.c:1092
+#: libpq/hba.c:1060
 #, c-format
 msgid "invalid CIDR mask in address \"%s\""
 msgstr "maschera CIDR non valida nell'indirizzo \"%s\""
 
-#: libpq/hba.c:1109
+#: libpq/hba.c:1077
 #, c-format
 msgid "end-of-line before netmask specification"
 msgstr "fine riga prima della specificazione della maschera di rete"
 
-#: libpq/hba.c:1110
+#: libpq/hba.c:1078
 #, c-format
 msgid "Specify an address range in CIDR notation, or provide a separate netmask."
 msgstr "Specifica un intervallo di indirizzi in notazione CIDR, oppure fornisci una maschera di rete separata."
 
-#: libpq/hba.c:1120
+#: libpq/hba.c:1088
 #, c-format
 msgid "multiple values specified for netmask"
 msgstr "più di un valore specificato per la maschera di rete"
 
-#: libpq/hba.c:1133
+#: libpq/hba.c:1101
 #, c-format
 msgid "invalid IP mask \"%s\": %s"
 msgstr "maschera IP non valida \"%s\": %s"
 
-#: libpq/hba.c:1150
+#: libpq/hba.c:1118
 #, c-format
 msgid "IP address and mask do not match"
 msgstr "l'indirizzo IP e la maschera non combaciano"
 
-#: libpq/hba.c:1165
+#: libpq/hba.c:1133
 #, c-format
 msgid "end-of-line before authentication method"
 msgstr "fine riga prima del metodo di autenticazione"
 
-#: libpq/hba.c:1175
+#: libpq/hba.c:1143
 #, c-format
 msgid "multiple values specified for authentication type"
 msgstr "più di un valore specificato per il tipo di autenticazione"
 
-#: libpq/hba.c:1176
+#: libpq/hba.c:1144
 #, c-format
 msgid "Specify exactly one authentication type per line."
 msgstr "Specifica esattamente un tipo di autenticazione per riga."
 
-#: libpq/hba.c:1243
+#: libpq/hba.c:1211
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "metodo di autenticazione \"%s\" non valido"
 
-#: libpq/hba.c:1254
+#: libpq/hba.c:1222
 #, c-format
 msgid "invalid authentication method \"%s\": not supported by this build"
 msgstr "metodo di autenticazione \"%s\" non valido: non supportato in questo binario"
 
-#: libpq/hba.c:1275
+#: libpq/hba.c:1243
 #, c-format
 msgid "gssapi authentication is not supported on local sockets"
 msgstr "l'autenticazione gssapi non è supportata su socket locali"
 
-#: libpq/hba.c:1286
+#: libpq/hba.c:1254
 #, c-format
 msgid "peer authentication is only supported on local sockets"
 msgstr "l'autenticazione peer è supportata solo su socket locali"
 
-#: libpq/hba.c:1303
+#: libpq/hba.c:1271
 #, c-format
 msgid "cert authentication is only supported on hostssl connections"
 msgstr "l'autenticazione cert è supportata solo su connessioni hostssl"
 
-#: libpq/hba.c:1328
+#: libpq/hba.c:1296
 #, c-format
 msgid "authentication option not in name=value format: %s"
 msgstr "opzione di autenticazione non in formato nome=valore: %s"
 
-#: libpq/hba.c:1365
+#: libpq/hba.c:1333
 #, c-format
 msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or ldapurl together with ldapprefix"
 msgstr "non si possono usare ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute né ldapurl insieme a ldapprefix"
 
-#: libpq/hba.c:1375
+#: libpq/hba.c:1343
 #, c-format
 msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set"
 msgstr "il metodo di autenticazione \"ldap\" richiede che gli argomenti \"ldapbasedn\", \"ldapprefix\" o \"ldapsuffix\" siano impostati"
 
-#: libpq/hba.c:1418
+#: libpq/hba.c:1399
 msgid "ident, peer, gssapi, sspi, and cert"
 msgstr "ident, peer, gssapi, sspi e cert"
 
-#: libpq/hba.c:1431
+#: libpq/hba.c:1412
 #, c-format
 msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "il clientcert può essere configurato solo per le righe \"hostssl\""
 
-#: libpq/hba.c:1442
+#: libpq/hba.c:1423
 #, c-format
 msgid "client certificates can only be checked if a root certificate store is available"
 msgstr "il certificato del client può essere controllato solo se un root certificate store è disponibile"
 
-#: libpq/hba.c:1443
-#, c-format
-msgid "Make sure the configuration parameter \"ssl_ca_file\" is set."
-msgstr "Assicurati che il parametro di configurazione \"ssl_ca_file\" sia impostato."
-
-#: libpq/hba.c:1456
+#: libpq/hba.c:1437
 #, c-format
 msgid "clientcert can not be set to 0 when using \"cert\" authentication"
 msgstr "clientcert non può essere impostato a 0 quando si usa l'autenticazione \"cert\""
 
-#: libpq/hba.c:1483
+#: libpq/hba.c:1464
 #, c-format
 msgid "could not parse LDAP URL \"%s\": %s"
 msgstr "impossibile interpretare la URL LDAP \"%s\": %s"
 
-#: libpq/hba.c:1491
+#: libpq/hba.c:1472
 #, c-format
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "schema di URL LDAP non supportato: %s"
 
-#: libpq/hba.c:1507
+#: libpq/hba.c:1488
 #, c-format
 msgid "filters not supported in LDAP URLs"
 msgstr "i filtri non sono supportati nelle URL LDAP"
 
-#: libpq/hba.c:1515
+#: libpq/hba.c:1496
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "URL LDAP non supportate su questa piattaforma"
 
-#: libpq/hba.c:1539
+#: libpq/hba.c:1520
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "numero di porta LDAP non valido: \"%s\""
 
-#: libpq/hba.c:1579 libpq/hba.c:1586
+#: libpq/hba.c:1560 libpq/hba.c:1567
 msgid "gssapi and sspi"
 msgstr "gssapi e sspi"
 
-#: libpq/hba.c:1628
+#: libpq/hba.c:1609
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "numero di porta RADIUS non valido: \"%s\""
 
-#: libpq/hba.c:1648
+#: libpq/hba.c:1629
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "nome di opzione di autenticazione sconosciuto: \"%s\""
 
-#: libpq/hba.c:1789 guc-file.l:517
+#: libpq/hba.c:1764 guc-file.l:595
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "apertura del file di configurazione \"%s\" fallita: %m"
 
-#: libpq/hba.c:1839
+#: libpq/hba.c:1815
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "il file di configurazione \"%s\" non contiene alcuna voce"
 
-#: libpq/hba.c:1935
+#: libpq/hba.c:1911
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "espressione regolare non valida \"%s\": %s"
 
-#: libpq/hba.c:1995
+#: libpq/hba.c:1971
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "corrispondenza dell'espressione regolare \"%s\" fallita: %s"
 
-#: libpq/hba.c:2012
+#: libpq/hba.c:1990
 #, c-format
 msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\""
 msgstr "l'espressione regolare \"%s\" non ha la sottoespressione richiesta dal riferimento in \"%s\""
 
-#: libpq/hba.c:2108
+#: libpq/hba.c:2087
 #, c-format
 msgid "provided user name (%s) and authenticated user name (%s) do not match"
 msgstr "il nome utente fornito (%s) e il nome utente autenticato (%s) non combaciano"
 
-#: libpq/hba.c:2128
+#: libpq/hba.c:2107
 #, c-format
 msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\""
 msgstr "nessuna corrispondenza nella mappa utenti \"%s\" per l'utente \"%s\" autenticato come \"%s\""
 
-#: libpq/hba.c:2163
+#: libpq/hba.c:2142
 #, c-format
 msgid "could not open usermap file \"%s\": %m"
 msgstr "apertura del file usermap \"%s\" fallita: %m"
 
-#: libpq/pqcomm.c:314
+#: libpq/pqcomm.c:198
+#, c-format
+msgid "could not set socket to nonblocking mode: %m"
+msgstr "impossibile impostare il socket in modalità non bloccante: %m"
+
+#: libpq/pqcomm.c:367
 #, c-format
 msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)"
 msgstr "Il percorso del socket di dominio unix \"%s\" è troppo lungo (massimo %d byte)"
 
-#: libpq/pqcomm.c:335
+#: libpq/pqcomm.c:388
 #, c-format
 msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
 msgstr "conversione del nome host \"%s\", servizio \"%s\" in indirizzo fallita: %s"
 
-#: libpq/pqcomm.c:339
+#: libpq/pqcomm.c:392
 #, c-format
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "conversione del servizio \"%s\" in indirizzo fallita: %s"
 
-#: libpq/pqcomm.c:366
+#: libpq/pqcomm.c:419
 #, c-format
 msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
 msgstr "bind a tutti gli indirizzi richiesti fallito: MAXLISTEN (%d) superato"
 
-#: libpq/pqcomm.c:375
+#: libpq/pqcomm.c:428
 msgid "IPv4"
 msgstr "IPv4"
 
-#: libpq/pqcomm.c:379
+#: libpq/pqcomm.c:432
 msgid "IPv6"
 msgstr "IPv6"
 
-#: libpq/pqcomm.c:384
+#: libpq/pqcomm.c:437
 msgid "Unix"
 msgstr "Unix"
 
-#: libpq/pqcomm.c:389
+#: libpq/pqcomm.c:442
 #, c-format
 msgid "unrecognized address family %d"
 msgstr "famiglia di indirizzi %d sconosciuto"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:400
+#: libpq/pqcomm.c:453
 #, c-format
 msgid "could not create %s socket: %m"
 msgstr "non è stato possibile creare il socket %s: %m"
 
-#: libpq/pqcomm.c:425
+#: libpq/pqcomm.c:478
 #, c-format
 msgid "setsockopt(SO_REUSEADDR) failed: %m"
 msgstr "setsockopt(SO_REUSEADDR) fallito: %m"
 
-#: libpq/pqcomm.c:440
+#: libpq/pqcomm.c:493
 #, c-format
 msgid "setsockopt(IPV6_V6ONLY) failed: %m"
 msgstr "setsockopt(IPV6_V6ONLY) fallito: %m"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:459
+#: libpq/pqcomm.c:512
 #, c-format
 msgid "could not bind %s socket: %m"
 msgstr "bind del socket %s fallito: %m"
 
-#: libpq/pqcomm.c:462
+#: libpq/pqcomm.c:515
 #, c-format
 msgid "Is another postmaster already running on port %d? If not, remove socket file \"%s\" and retry."
 msgstr "C'è già un altro postmaster in funzione sulla porta %d? Se non c'è, rimuovi il file socket \"%s\" e riprova."
 
-#: libpq/pqcomm.c:465
+#: libpq/pqcomm.c:518
 #, c-format
 msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry."
 msgstr "C'è già un altro postmaster in funzione sulla porta %d? Se non c'è, aspetta alcuni secondi e riprova."
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:498
+#: libpq/pqcomm.c:551
 #, c-format
 msgid "could not listen on %s socket: %m"
 msgstr "ascolto sul socket %s fallito: %m"
 
-#: libpq/pqcomm.c:588
+#: libpq/pqcomm.c:641
 #, c-format
 msgid "group \"%s\" does not exist"
 msgstr "il gruppo \"%s\" non esiste"
 
-#: libpq/pqcomm.c:598
+#: libpq/pqcomm.c:651
 #, c-format
 msgid "could not set group of file \"%s\": %m"
 msgstr "impostazione del gruppo del file \"%s\" fallita: %m"
 
-#: libpq/pqcomm.c:609
+#: libpq/pqcomm.c:662
 #, c-format
 msgid "could not set permissions of file \"%s\": %m"
 msgstr "impostazione dei permessi del file \"%s\" fallita: %m"
 
-#: libpq/pqcomm.c:639
+#: libpq/pqcomm.c:692
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "impossibile accettare la nuova connessione: %m"
 
-#: libpq/pqcomm.c:811
-#, c-format
-msgid "could not set socket to nonblocking mode: %m"
-msgstr "impossibile impostare il socket in modalità non bloccante: %m"
-
-#: libpq/pqcomm.c:817
+#: libpq/pqcomm.c:883
 #, c-format
-msgid "could not set socket to blocking mode: %m"
-msgstr "impostazione del socket in modalità bloccante fallita: %m"
+msgid "there is no client connection"
+msgstr "c'è alcuna connessione client"
 
-#: libpq/pqcomm.c:869 libpq/pqcomm.c:959
+#: libpq/pqcomm.c:934 libpq/pqcomm.c:1030
 #, c-format
 msgid "could not receive data from client: %m"
 msgstr "ricezione dati dal client fallita: %m"
 
-#: libpq/pqcomm.c:1110
+#: libpq/pqcomm.c:1175 tcop/postgres.c:3897
+#, c-format
+msgid "terminating connection because protocol sync was lost"
+msgstr "la connessione verrà terminata perché la sincronizzazione del protocollo è stata persa"
+
+#: libpq/pqcomm.c:1241
 #, c-format
 msgid "unexpected EOF within message length word"
 msgstr "fine file inattesa nella word della lunghezza del messaggio"
 
-#: libpq/pqcomm.c:1121
+#: libpq/pqcomm.c:1252
 #, c-format
 msgid "invalid message length"
 msgstr "lunghezza del messaggio non valida"
 
-#: libpq/pqcomm.c:1143 libpq/pqcomm.c:1153
+#: libpq/pqcomm.c:1274 libpq/pqcomm.c:1287
 #, c-format
 msgid "incomplete message from client"
 msgstr "messaggio incompleto dal client"
 
-#: libpq/pqcomm.c:1283
+#: libpq/pqcomm.c:1420
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "invio dati al client fallito: %m"
@@ -10177,7 +11054,7 @@ msgid "no data left in message"
 msgstr "nessun dato rimasto nel messaggio"
 
 #: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
-#: utils/adt/arrayfuncs.c:1444 utils/adt/rowtypes.c:561
+#: utils/adt/arrayfuncs.c:1460 utils/adt/rowtypes.c:561
 #, c-format
 msgid "insufficient data left in message"
 msgstr "i dati rimasti nel messaggio non sono sufficienti"
@@ -10192,17 +11069,12 @@ msgstr "stringa non valida nel messaggio"
 msgid "invalid message format"
 msgstr "formato del messaggio non valido"
 
-#: main/main.c:262
-#, c-format
-msgid "%s: setsysinfo failed: %s\n"
-msgstr "%s: setsysinfo fallita: %s\n"
-
-#: main/main.c:284
+#: main/main.c:257
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: WSAStartup fallita: %d\n"
 
-#: main/main.c:313
+#: main/main.c:304
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -10211,7 +11083,7 @@ msgstr ""
 "%s è il server PostgreSQL.\n"
 "\n"
 
-#: main/main.c:314
+#: main/main.c:305
 #, c-format
 msgid ""
 "Usage:\n"
@@ -10222,119 +11094,114 @@ msgstr ""
 "  %s [OPZIONE]...\n"
 "\n"
 
-#: main/main.c:315
+#: main/main.c:306
 #, c-format
 msgid "Options:\n"
 msgstr "Opzioni:\n"
 
-#: main/main.c:317
-#, c-format
-msgid "  -A 1|0             enable/disable run-time assert checking\n"
-msgstr "  -A 1|0             abilita/disabilita il controllo delle asserzioni in esecuzione\n"
-
-#: main/main.c:319
+#: main/main.c:307
 #, c-format
 msgid "  -B NBUFFERS        number of shared buffers\n"
 msgstr "  -B NBUFFERS        numero di buffer condivisi\n"
 
-#: main/main.c:320
+#: main/main.c:308
 #, c-format
 msgid "  -c NAME=VALUE      set run-time parameter\n"
 msgstr "  -c NOME=VALORE     imposta un parametro di esecuzione\n"
 
-#: main/main.c:321
+#: main/main.c:309
 #, c-format
 msgid "  -C NAME            print value of run-time parameter, then exit\n"
 msgstr "  -C NAME            stampa il valore del parametro di esecuzione ed esci\n"
 
-#: main/main.c:322
+#: main/main.c:310
 #, c-format
 msgid "  -d 1-5             debugging level\n"
 msgstr "  -d 1-5             livello di debugging\n"
 
-#: main/main.c:323
+#: main/main.c:311
 #, c-format
 msgid "  -D DATADIR         database directory\n"
 msgstr "  -D DATADIR         directory del database\n"
 
-#: main/main.c:324
+#: main/main.c:312
 #, c-format
 msgid "  -e                 use European date input format (DMY)\n"
 msgstr "  -e                 usa il formato date europeo (GMA)\n"
 
-#: main/main.c:325
+#: main/main.c:313
 #, c-format
 msgid "  -F                 turn fsync off\n"
 msgstr "  -F                 disabilita fsync\n"
 
-#: main/main.c:326
+#: main/main.c:314
 #, c-format
 msgid "  -h HOSTNAME        host name or IP address to listen on\n"
 msgstr "  -h HOSTNAME        nome host o indirizzo IP su cui ascoltare\n"
 
-#: main/main.c:327
+#: main/main.c:315
 #, c-format
 msgid "  -i                 enable TCP/IP connections\n"
 msgstr "  -i                 abilita le connessioni TCP/IP\n"
 
-#: main/main.c:328
+#: main/main.c:316
 #, c-format
 msgid "  -k DIRECTORY       Unix-domain socket location\n"
 msgstr "  -k DIRECTORY       posizione dei socket di dominio Unix\n"
 
-#: main/main.c:330
+#: main/main.c:318
 #, c-format
 msgid "  -l                 enable SSL connections\n"
 msgstr "  -l                 abilita la connessione SSL\n"
 
-#: main/main.c:332
+#: main/main.c:320
 #, c-format
 msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
 msgstr "  -N MAX-CONNECT     numero massimo di connessioni consentite\n"
 
-#: main/main.c:333
+#: main/main.c:321
 #, c-format
 msgid "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
 msgstr "  -o OPZIONI         passa \"OPZIONI\" ad ogni processo server (obsoleto)\n"
 
-#: main/main.c:334
+#: main/main.c:322
 #, c-format
 msgid "  -p PORT            port number to listen on\n"
 msgstr "  -p PORT            numero di porta sul quale ascoltare\n"
 
-#: main/main.c:335
+#: main/main.c:323
 #, c-format
 msgid "  -s                 show statistics after each query\n"
 msgstr "  -s                 mostra le statistiche dopo ogni query\n"
 
-#: main/main.c:336
+#: main/main.c:324
 #, c-format
 msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
 msgstr ""
 "  -S WORK-MEM        imposta la dimensione della memoria per gli ordinamenti\n"
 "                     (in kB)\n"
 
-#: main/main.c:337
+#: main/main.c:325
 #, c-format
 msgid "  -V, --version      output version information, then exit\n"
 msgstr "  -V, --version      mostra informazioni sulla versione ed esci\n"
 
-#: main/main.c:338
+#: main/main.c:326
 #, c-format
 msgid "  --NAME=VALUE       set run-time parameter\n"
 msgstr "  --NOME=VALORE      imposta un parametro di esecuzione\n"
 
-#: main/main.c:339
+#: main/main.c:327
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr "  --describe-config  descrivi i parametri di configurazione ed esci\n"
 
-#: main/main.c:340
+#: main/main.c:328
 #, c-format
 msgid "  -?, --help         show this help, then exit\n"
 msgstr "  -?, --help         mostra questo aiuto ed esci\n"
 
-#: main/main.c:342
+#: main/main.c:330
 #, c-format
 msgid ""
 "\n"
@@ -10343,48 +11210,48 @@ msgstr ""
 "\n"
 "Opzioni per gli sviluppatori:\n"
 
-#: main/main.c:343
+#: main/main.c:331
 #, c-format
 msgid "  -f s|i|n|m|h       forbid use of some plan types\n"
 msgstr "  -f s|i|n|m|h       vieta l'uso di alcuni tipi di piani\n"
 
-#: main/main.c:344
+#: main/main.c:332
 #, c-format
 msgid "  -n                 do not reinitialize shared memory after abnormal exit\n"
 msgstr ""
 "  -n                 non reinizializzare la memoria condivisa dopo un'uscita\n"
 "                     anormale\n"
 
-#: main/main.c:345
+#: main/main.c:333
 #, c-format
 msgid "  -O                 allow system table structure changes\n"
 msgstr ""
 "  -O                 consenti cambiamenti alla struttura delle tabelle\n"
 "                     di sistema\n"
 
-#: main/main.c:346
+#: main/main.c:334
 #, c-format
 msgid "  -P                 disable system indexes\n"
 msgstr "  -P                 disabilita gli indici di sistema\n"
 
-#: main/main.c:347
+#: main/main.c:335
 #, c-format
 msgid "  -t pa|pl|ex        show timings after each query\n"
 msgstr "  -t pa|pl|ex        mostra i tempi impiegati dopo ogni query\n"
 
-#: main/main.c:348
+#: main/main.c:336
 #, c-format
 msgid "  -T                 send SIGSTOP to all backend processes if one dies\n"
 msgstr "  -T                 invia SIGSTOP a tutti i processi backend se uno muore\n"
 
-#: main/main.c:349
+#: main/main.c:337
 #, c-format
 msgid "  -W NUM             wait NUM seconds to allow attach from a debugger\n"
 msgstr ""
 "  -W NUM             attendi NUM secondi per consentire ad un debugger\n"
 "                     di collegarsi\n"
 
-#: main/main.c:351
+#: main/main.c:339
 #, c-format
 msgid ""
 "\n"
@@ -10393,41 +11260,41 @@ msgstr ""
 "\n"
 "Opzione per la modalità a singolo utente:\n"
 
-#: main/main.c:352
+#: main/main.c:340
 #, c-format
 msgid "  --single           selects single-user mode (must be first argument)\n"
 msgstr ""
 "  --single           imposta la modalità utente singolo (deve essere il primo\n"
 "                     argomento)\n"
 
-#: main/main.c:353
+#: main/main.c:341
 #, c-format
 msgid "  DBNAME             database name (defaults to user name)\n"
 msgstr "  DBNAME             nome del database (il predefinito è il nome dell'utente)\n"
 
-#: main/main.c:354
+#: main/main.c:342
 #, c-format
 msgid "  -d 0-5             override debugging level\n"
 msgstr "  -d 0-5             scavalca il livello di debugging\n"
 
-#: main/main.c:355
+#: main/main.c:343
 #, c-format
 msgid "  -E                 echo statement before execution\n"
 msgstr "  -E                 stampa le istruzioni prima dell'esecuzione\n"
 
-#: main/main.c:356
+#: main/main.c:344
 #, c-format
 msgid "  -j                 do not use newline as interactive query delimiter\n"
 msgstr ""
 "  -j                 non usare \"a capo\" come delimitatore delle query\n"
 "                     interattivo\n"
 
-#: main/main.c:357 main/main.c:362
+#: main/main.c:345 main/main.c:350
 #, c-format
 msgid "  -r FILENAME        send stdout and stderr to given file\n"
 msgstr "  -r NOMEFILE        invia stdout e stderr al file in argomento\n"
 
-#: main/main.c:359
+#: main/main.c:347
 #, c-format
 msgid ""
 "\n"
@@ -10436,26 +11303,26 @@ msgstr ""
 "\n"
 "Opzioni per la modalità di inizializzazione:\n"
 
-#: main/main.c:360
+#: main/main.c:348
 #, c-format
 msgid "  --boot             selects bootstrapping mode (must be first argument)\n"
 msgstr ""
 "  --boot             seleziona la modalità di inizializzazione (dev'essere\n"
 "                     il primo argomento)\n"
 
-#: main/main.c:361
+#: main/main.c:349
 #, c-format
 msgid "  DBNAME             database name (mandatory argument in bootstrapping mode)\n"
 msgstr ""
 "  DBNAME             nome del database (obbligatorio in modalità di\n"
 "                     inizializzazione)\n"
 
-#: main/main.c:363
+#: main/main.c:351
 #, c-format
 msgid "  -x NUM             internal use\n"
 msgstr "  -x NUM             uso interno\n"
 
-#: main/main.c:365
+#: main/main.c:353
 #, c-format
 msgid ""
 "\n"
@@ -10472,7 +11339,7 @@ msgstr ""
 "\n"
 "Puoi segnalare eventuali bug a .\n"
 
-#: main/main.c:379
+#: main/main.c:367
 #, c-format
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
@@ -10485,12 +11352,12 @@ msgstr ""
 "prevenire possibili problemi di sicurezza. Consulta la documentazione\n"
 "per avere maggiori informazioni su come avviare il server correttamente.\n"
 
-#: main/main.c:396
+#: main/main.c:384
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s: utente gli ID reale e quello effettivo devono coincidere\n"
 
-#: main/main.c:403
+#: main/main.c:391
 #, c-format
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
@@ -10505,591 +11372,720 @@ msgstr ""
 "prevenire possibili problemi di sicurezza. Consulta la documentazione\n"
 "per avere maggiori informazioni su come avviare il server correttamente.\n"
 
-#: nodes/nodeFuncs.c:115 nodes/nodeFuncs.c:141 parser/parse_coerce.c:1782
+#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:1782
 #: parser/parse_coerce.c:1810 parser/parse_coerce.c:1886
-#: parser/parse_expr.c:1739 parser/parse_func.c:590 parser/parse_oper.c:948
+#: parser/parse_expr.c:1980 parser/parse_func.c:599 parser/parse_oper.c:952
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "non è stato possibile trovare il tipo di array per il tipo di dati %s"
 
-#: optimizer/path/joinrels.c:722
+#: optimizer/path/joinrels.c:725
 #, c-format
 msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions"
 msgstr "FULL JOIN è supportato solo con condizioni di join realizzabili con merge o hash"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:1079
+#: optimizer/plan/initsplan.c:1081
 #, c-format
 msgid "%s cannot be applied to the nullable side of an outer join"
 msgstr "%s non può essere applicato sul lato che può essere nullo di un join esterno"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1158 parser/analyze.c:1330 parser/analyze.c:1528
-#: parser/analyze.c:2287
+#: optimizer/plan/planner.c:1326 parser/analyze.c:1427 parser/analyze.c:1625
+#: parser/analyze.c:2406
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s non è consentito con UNION/INTERSECT/EXCEPT"
 
-#: optimizer/plan/planner.c:2723
+#: optimizer/plan/planner.c:3585
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "non è stato possibile implementare GROUP BY"
 
-#: optimizer/plan/planner.c:2724 optimizer/plan/planner.c:2892
-#: optimizer/prep/prepunion.c:825
+#: optimizer/plan/planner.c:3586 optimizer/plan/planner.c:3754
+#: optimizer/prep/prepunion.c:828
 #, c-format
 msgid "Some of the datatypes only support hashing, while others only support sorting."
 msgstr "Alcuni dei tipi di dati supportano solo l'hashing, mentre altri supportano solo l'ordinamento."
 
-#: optimizer/plan/planner.c:2891
+#: optimizer/plan/planner.c:3753
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "non è stato possibile implementare DISTINCT"
 
-#: optimizer/plan/planner.c:3497
+#: optimizer/plan/planner.c:4359
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "non è stato possibile implementare PARTITION BY della finestra"
 
-#: optimizer/plan/planner.c:3498
+#: optimizer/plan/planner.c:4360
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "La colonna di partizionamento della finestra dev'essere un tipo di dato ordinabile."
 
-#: optimizer/plan/planner.c:3502
+#: optimizer/plan/planner.c:4364
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "non è stato possibile implementare ORDER BY della finestra"
 
-#: optimizer/plan/planner.c:3503
+#: optimizer/plan/planner.c:4365
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "La colonna di ordinamento della finestra dev'essere un tipo di dato ordinabile."
 
-#: optimizer/plan/setrefs.c:402
+#: optimizer/plan/setrefs.c:409
 #, c-format
 msgid "too many range table entries"
 msgstr "troppi intervalli di tabella"
 
-#: optimizer/prep/prepunion.c:419
+#: optimizer/prep/prepunion.c:421
 #, c-format
 msgid "could not implement recursive UNION"
 msgstr "non è stato possibile implementare la UNION ricorsiva"
 
-#: optimizer/prep/prepunion.c:420
+#: optimizer/prep/prepunion.c:422
 #, c-format
 msgid "All column datatypes must be hashable."
 msgstr "Tutti i tipi di dati devono supportare l'hash."
 
 #. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:824
+#: optimizer/prep/prepunion.c:827
 #, c-format
 msgid "could not implement %s"
 msgstr "non è stato possibile implementare %s"
 
-#: optimizer/util/clauses.c:4529
+#: optimizer/util/clauses.c:4582
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "funzione SQL \"%s\" durante l'inlining"
 
-#: optimizer/util/plancat.c:104
+#: optimizer/util/plancat.c:108
 #, c-format
 msgid "cannot access temporary or unlogged relations during recovery"
 msgstr "non è possibile accedere a relazioni temporanee o non loggate durante il ripristino"
 
-#: parser/analyze.c:627 parser/analyze.c:1102
+#: optimizer/util/plancat.c:498
+#, c-format
+msgid "system columns cannot be used in an ON CONFLICT clause"
+msgstr "le colonne di sistema non possono essere usate in una clausola ON CONFLICT"
+
+#: optimizer/util/plancat.c:516
+#, c-format
+msgid "constraint in ON CONFLICT clause has no associated index"
+msgstr "il vincolo nella clausola ON CONFLICT non ha indici associati"
+
+#: optimizer/util/plancat.c:568
+#, c-format
+msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints"
+msgstr "ON CONFLICT DO UPDATE non supportato con vincoli di esclusione"
+
+#: optimizer/util/plancat.c:676
+#, c-format
+msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification"
+msgstr "non c'è alcun vincolo di unicità o esclusione che combaci con la specifica ON CONFLICT"
+
+#: parser/analyze.c:639 parser/analyze.c:1199
 #, c-format
 msgid "VALUES lists must all be the same length"
 msgstr "le liste VALUES devono essere tutte della stessa lunghezza"
 
-#: parser/analyze.c:794
+#: parser/analyze.c:811
 #, c-format
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT ha più espressioni che colonne di destinazione"
 
-#: parser/analyze.c:812
+#: parser/analyze.c:829
 #, c-format
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT ha più colonne di destinazione che espressioni"
 
-#: parser/analyze.c:816
+#: parser/analyze.c:833
 #, c-format
 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 "L'origine dell'inserimento è un'espressione riga con lo stesso numero di colonne attese da INSERT. Forse hai usato accidentalmente parentesi in eccesso?"
 
-#: parser/analyze.c:924 parser/analyze.c:1303
+#: parser/analyze.c:1020 parser/analyze.c:1400
 #, c-format
 msgid "SELECT ... INTO is not allowed here"
 msgstr "SELECT ... INTO non è permesso qui"
 
-#: parser/analyze.c:1116
+#: parser/analyze.c:1213
 #, c-format
 msgid "DEFAULT can only appear in a VALUES list within INSERT"
 msgstr "DEFAULT può apparire solo nella lista di VALUES usata in un INSERT"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:1235 parser/analyze.c:2459
+#: parser/analyze.c:1332 parser/analyze.c:2576
 #, c-format
 msgid "%s cannot be applied to VALUES"
 msgstr "%s non è consentito con VALUES"
 
-#: parser/analyze.c:1456
+#: parser/analyze.c:1553
 #, c-format
 msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
 msgstr "clausola UNION/INTERSECT/EXCEPT ORDER BY non valida"
 
-#: parser/analyze.c:1457
+#: parser/analyze.c:1554
 #, c-format
 msgid "Only result column names can be used, not expressions or functions."
 msgstr "Possono essere usati solo nomi di colonne risultanti, non espressioni o funzioni."
 
-#: parser/analyze.c:1458
+#: parser/analyze.c:1555
 #, c-format
 msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause."
 msgstr "Aggiungi l'espressione/funzione ad ogni SELECT, oppure sposta la UNION in una clausola FROM."
 
-#: parser/analyze.c:1518
+#: parser/analyze.c:1615
 #, c-format
 msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
 msgstr "INTO è permesso solo nella prima SELECT di UNION/INTERSECT/EXCEPT"
 
-#: parser/analyze.c:1582
+#: parser/analyze.c:1679
 #, c-format
 msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level"
 msgstr "l'istruzione membro di UNION/INTERSECT/EXCEPT non può riferirsi al altre relazione allo stesso livello della query"
 
-#: parser/analyze.c:1671
+#: parser/analyze.c:1768
 #, c-format
 msgid "each %s query must have the same number of columns"
 msgstr "ogni query in %s deve avere lo stesso numero di colonne"
 
-#: parser/analyze.c:2051
+#: parser/analyze.c:2161
 #, c-format
 msgid "RETURNING must have at least one column"
 msgstr "RETURNING deve avere almeno una colonna"
 
-#: parser/analyze.c:2088
+#: parser/analyze.c:2198
 #, c-format
 msgid "cannot specify both SCROLL and NO SCROLL"
 msgstr "non è possibile specificare sia SCROLL che NO SCROLL"
 
-#: parser/analyze.c:2106
+#: parser/analyze.c:2216
 #, c-format
 msgid "DECLARE CURSOR must not contain data-modifying statements in WITH"
 msgstr "DECLARE CURSOR non può contenere istruzioni di modifica dei dati nel WITH"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2114
+#: parser/analyze.c:2224
 #, c-format
 msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... %s non è supportato"
 
-#: parser/analyze.c:2117
+#: parser/analyze.c:2227
 #, c-format
 msgid "Holdable cursors must be READ ONLY."
 msgstr "I cursori trattenibili devono essere READ ONLY."
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2125
+#: parser/analyze.c:2235
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... %s is not supported"
 msgstr "DECLARE SCROLL CURSOR ... %s non è supportato"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2136
+#: parser/analyze.c:2246
 #, c-format
 msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
 msgstr "DECLARE INSENSITIVE CURSOR ... %s non è supportato"
 
-#: parser/analyze.c:2139
+#: parser/analyze.c:2249
 #, c-format
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "I cursori Insensitive devono essere READ ONLY."
 
-#: parser/analyze.c:2205
+#: parser/analyze.c:2315
 #, c-format
 msgid "materialized views must not use data-modifying statements in WITH"
 msgstr "le viste materializzate non possono usare istruzioni di modifica dei dati nel WITH"
 
-#: parser/analyze.c:2215
+#: parser/analyze.c:2325
 #, c-format
 msgid "materialized views must not use temporary tables or views"
 msgstr "le viste materializzate non possono usare tabelle temporanee o viste"
 
-#: parser/analyze.c:2225
+#: parser/analyze.c:2335
 #, c-format
 msgid "materialized views may not be defined using bound parameters"
 msgstr "le viste materializzate non possono essere definite con parametri impostati"
 
-#: parser/analyze.c:2237
+#: parser/analyze.c:2347
 #, c-format
 msgid "materialized views cannot be UNLOGGED"
 msgstr "le viste materializzate non possono essere UNLOGGED"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2294
+#: parser/analyze.c:2413
 #, c-format
 msgid "%s is not allowed with DISTINCT clause"
 msgstr "%s non è consentito con la clausola DISTINCT"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2301
+#: parser/analyze.c:2420
 #, c-format
 msgid "%s is not allowed with GROUP BY clause"
 msgstr "%s non è consentito con la clausola GROUP BY"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2308
+#: parser/analyze.c:2427
 #, c-format
 msgid "%s is not allowed with HAVING clause"
 msgstr "%s non è consentito con la clausola HAVING"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2315
+#: parser/analyze.c:2434
 #, c-format
 msgid "%s is not allowed with aggregate functions"
 msgstr "%s non è consentito con funzioni di aggregazione"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2322
+#: parser/analyze.c:2441
 #, c-format
 msgid "%s is not allowed with window functions"
 msgstr "%s non è consentito con funzioni finestra"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2329
+#: parser/analyze.c:2448
 #, c-format
 msgid "%s is not allowed with set-returning functions in the target list"
 msgstr "%s non è consentito con la le funzioni che restituiscono insiemi nella lista di destinazione"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2408
+#: parser/analyze.c:2527
 #, c-format
 msgid "%s must specify unqualified relation names"
 msgstr "%s deve specificare nomi di tabelle non qualificati"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2441
+#: parser/analyze.c:2558
 #, c-format
 msgid "%s cannot be applied to a join"
 msgstr "%s non può essere applicato ad un join"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2450
+#: parser/analyze.c:2567
 #, c-format
 msgid "%s cannot be applied to a function"
 msgstr "%s non può essere applicato ad una funzione"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2468
+#: parser/analyze.c:2585
 #, c-format
 msgid "%s cannot be applied to a WITH query"
 msgstr "%s non può essere applicato ad una query WITH"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2485
+#: parser/analyze.c:2602
 #, c-format
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "la relazione \"%s\" nella clausola %s non è stata trovata nella clausola FROM"
 
-#: parser/parse_agg.c:201 parser/parse_oper.c:219
+#: parser/parse_agg.c:207 parser/parse_oper.c:220
 #, c-format
 msgid "could not identify an ordering operator for type %s"
 msgstr "non è stato possibile identificare un operatore di ordinamento per il tipo %s"
 
-#: parser/parse_agg.c:203
+#: parser/parse_agg.c:209
 #, c-format
 msgid "Aggregates with DISTINCT must be able to sort their inputs."
 msgstr "Gli aggregati con DISTINCT devono essere in grado di ordinare i loro input."
 
-#: parser/parse_agg.c:254
+#: parser/parse_agg.c:244
+#, c-format
+msgid "GROUPING must have fewer than 32 arguments"
+msgstr "GROUPING deve avere meno di 32 argomenti"
+
+#: parser/parse_agg.c:347
 msgid "aggregate functions are not allowed in JOIN conditions"
 msgstr "le funzioni di aggregazione non sono ammesse nelle condizioni di JOIN"
 
-#: parser/parse_agg.c:260
+#: parser/parse_agg.c:349
+msgid "grouping operations are not allowed in JOIN conditions"
+msgstr "le operazioni di raggruppamento non sono ammesse nelle condizioni di JOIN"
+
+#: parser/parse_agg.c:361
 msgid "aggregate functions are not allowed in FROM clause of their own query level"
 msgstr "le funzioni di aggregazione non sono ammesse nella clausola FROM del loro stesso livello della query"
 
-#: parser/parse_agg.c:263
+#: parser/parse_agg.c:363
+msgid "grouping operations are not allowed in FROM clause of their own query level"
+msgstr "le operazioni di raggruppamento non sono ammesse nella clausola FROM del proprio livello di query"
+
+#: parser/parse_agg.c:368
 msgid "aggregate functions are not allowed in functions in FROM"
 msgstr "le funzioni di aggregazione non sono ammesse nelle funzioni in FROM"
 
-#: parser/parse_agg.c:281
+#: parser/parse_agg.c:370
+msgid "grouping operations are not allowed in functions in FROM"
+msgstr "le operazioni di raggruppamento non sono ammesse nelle funzioni in FROM"
+
+#: parser/parse_agg.c:390
 msgid "aggregate functions are not allowed in window RANGE"
 msgstr "le funzioni di aggregazione non sono ammesse nel RANGE della finestra"
 
-#: parser/parse_agg.c:284
+#: parser/parse_agg.c:392
+msgid "grouping operations are not allowed in window RANGE"
+msgstr "le operazioni di taggruppamento non sono ammesse nel RANGE della finestra"
+
+#: parser/parse_agg.c:397
 msgid "aggregate functions are not allowed in window ROWS"
 msgstr "le funzioni di aggregazione non sono ammesse nel ROWS della finestra"
 
-#: parser/parse_agg.c:315
+#: parser/parse_agg.c:399
+msgid "grouping operations are not allowed in window ROWS"
+msgstr "le operazioni di raggruppamento non sono ammesse nel ROWS della finestra"
+
+#: parser/parse_agg.c:432
 msgid "aggregate functions are not allowed in check constraints"
 msgstr "le funzioni di aggregazione non sono ammesse nei vincoli di controllo"
 
-#: parser/parse_agg.c:319
+#: parser/parse_agg.c:434
+msgid "grouping operations are not allowed in check constraints"
+msgstr "le operazioni di raggruppamento non sono ammesse nei vincoli di controllo"
+
+#: parser/parse_agg.c:441
 msgid "aggregate functions are not allowed in DEFAULT expressions"
 msgstr "le funzioni di aggregazione non sono ammesse nelle espressioni DEFAULT"
 
-#: parser/parse_agg.c:322
+#: parser/parse_agg.c:443
+msgid "grouping operations are not allowed in DEFAULT expressions"
+msgstr "le operazioni di raggruppamento non sono ammesse nelle espressioni DEFAULT"
+
+#: parser/parse_agg.c:448
 msgid "aggregate functions are not allowed in index expressions"
 msgstr "le funzioni di aggregazione non sono ammesse nelle espressioni degli indici"
 
-#: parser/parse_agg.c:325
+#: parser/parse_agg.c:450
+msgid "grouping operations are not allowed in index expressions"
+msgstr "le operazioni di raggruppamento non sono ammesse nelle espressioni degli indici"
+
+#: parser/parse_agg.c:455
 msgid "aggregate functions are not allowed in index predicates"
 msgstr "le funzioni di aggregazione non sono ammesse nei predicati degli indici"
 
-#: parser/parse_agg.c:328
+#: parser/parse_agg.c:457
+msgid "grouping operations are not allowed in index predicates"
+msgstr "le operazioni di raggruppamento non sono ammesse nei predicati degli indici"
+
+#: parser/parse_agg.c:462
 msgid "aggregate functions are not allowed in transform expressions"
 msgstr "le funzioni di aggregazione non sono ammesse nelle espressioni di trasformazione"
 
-#: parser/parse_agg.c:331
+#: parser/parse_agg.c:464
+msgid "grouping operations are not allowed in transform expressions"
+msgstr "le operazioni di raggruppamento non sono ammesse nelle espressioni di trasformazione"
+
+#: parser/parse_agg.c:469
 msgid "aggregate functions are not allowed in EXECUTE parameters"
 msgstr "le funzioni di aggregazione non sono ammesse nei parametri di EXECUTE"
 
-#: parser/parse_agg.c:334
+#: parser/parse_agg.c:471
+msgid "grouping operations are not allowed in EXECUTE parameters"
+msgstr "le operazioni di raggruppamento non sono ammesse nei parametri di EXECUTE"
+
+#: parser/parse_agg.c:476
 msgid "aggregate functions are not allowed in trigger WHEN conditions"
 msgstr "le funzioni di aggregazione non sono ammesse nelle condizioni WHEN dei trigger"
 
+#: parser/parse_agg.c:478
+msgid "grouping operations are not allowed in trigger WHEN conditions"
+msgstr "le operazioni di raggruppamento non sono ammesse nelle condizioni WHEN dei trigger"
+
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:354 parser/parse_clause.c:1407
+#: parser/parse_agg.c:501 parser/parse_clause.c:1470
 #, c-format
 msgid "aggregate functions are not allowed in %s"
 msgstr "le funzioni di aggregazione non sono ammesse in %s"
 
-#: parser/parse_agg.c:457
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_agg.c:504
+#, c-format
+msgid "grouping operations are not allowed in %s"
+msgstr "le operazioni di raggruppamento non sono ammesse in %s"
+
+#: parser/parse_agg.c:612
 #, c-format
 msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments"
 msgstr "gli aggregati di livello esterno non possono contenere una variabile di livello inferiore tra gli argomenti diretti"
 
-#: parser/parse_agg.c:514
+#: parser/parse_agg.c:683
 #, c-format
 msgid "aggregate function calls cannot contain window function calls"
 msgstr "le chiamate a funzioni di aggregazione non possono contenere chiamate a funzioni finestra"
 
-#: parser/parse_agg.c:591
+#: parser/parse_agg.c:761
 msgid "window functions are not allowed in JOIN conditions"
 msgstr "le funzioni finestra non sono ammesse nelle condizioni JOIN"
 
-#: parser/parse_agg.c:598
+#: parser/parse_agg.c:768
 msgid "window functions are not allowed in functions in FROM"
 msgstr "le funzioni finestra non sono ammesse nelle funzioni in FROM"
 
-#: parser/parse_agg.c:613
+#: parser/parse_agg.c:783
 msgid "window functions are not allowed in window definitions"
 msgstr "le funzioni finestra non sono ammesse nelle definizioni di finestre"
 
-#: parser/parse_agg.c:644
+#: parser/parse_agg.c:814
 msgid "window functions are not allowed in check constraints"
 msgstr "le funzioni finestra non sono ammesse nei vincoli di controllo"
 
-#: parser/parse_agg.c:648
+#: parser/parse_agg.c:818
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "le funzioni finestra non sono ammesse nelle espressioni DEFAULT"
 
-#: parser/parse_agg.c:651
+#: parser/parse_agg.c:821
 msgid "window functions are not allowed in index expressions"
 msgstr "le funzioni finestra non sono ammesse nelle espressioni degli indici"
 
-#: parser/parse_agg.c:654
+#: parser/parse_agg.c:824
 msgid "window functions are not allowed in index predicates"
 msgstr "le funzioni finestra non sono ammesse nei predicati degli indici"
 
-#: parser/parse_agg.c:657
+#: parser/parse_agg.c:827
 msgid "window functions are not allowed in transform expressions"
 msgstr "le funzioni finestra non sono ammesse nelle espressioni di trasformazione"
 
-#: parser/parse_agg.c:660
+#: parser/parse_agg.c:830
 msgid "window functions are not allowed in EXECUTE parameters"
 msgstr "le funzioni finestra non sono ammesse nei parametri di EXECUTE"
 
-#: parser/parse_agg.c:663
+#: parser/parse_agg.c:833
 msgid "window functions are not allowed in trigger WHEN conditions"
 msgstr "le funzioni finestra non sono ammesse nelle condizioni WHEN dei trigger"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:683 parser/parse_clause.c:1416
+#: parser/parse_agg.c:853 parser/parse_clause.c:1479
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "le funzioni finestra non sono ammesse in %s"
 
-#: parser/parse_agg.c:717 parser/parse_clause.c:1827
+#: parser/parse_agg.c:887 parser/parse_clause.c:2309
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "la finestra \"%s\" non esiste"
 
-#: parser/parse_agg.c:879
+#: parser/parse_agg.c:972
+#, c-format
+msgid "too many grouping sets present (max 4096)"
+msgstr "troppi insiemi di raggruppamento presenti (il massimo è 4096)"
+
+#: parser/parse_agg.c:1121
 #, c-format
 msgid "aggregate functions are not allowed in a recursive query's recursive term"
 msgstr "le funzioni di aggregazione non sono ammesse nel termine ricorsivo di una query ricorsiva"
 
-#: parser/parse_agg.c:1057
+#: parser/parse_agg.c:1314
 #, c-format
 msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function"
 msgstr "la colonna \"%s.%s\" deve comparire nella clausola GROUP BY o essere usata in una funzione di aggregazione"
 
-#: parser/parse_agg.c:1060
+#: parser/parse_agg.c:1317
 #, c-format
 msgid "Direct arguments of an ordered-set aggregate must use only grouped columns."
 msgstr "Gli argomenti diretti di un aggregato su insieme ordinato devono usare solo colonne raggruppate."
 
-#: parser/parse_agg.c:1065
+#: parser/parse_agg.c:1322
 #, c-format
 msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
 msgstr "la sottoquery usa la colonna non raggruppata \"%s.%s\" dalla query esterna"
 
-#: parser/parse_clause.c:636
+#: parser/parse_agg.c:1486
+#, c-format
+msgid "arguments to GROUPING must be grouping expressions of the associated query level"
+msgstr "gli argomenti di GROUPING devono essere espressioni di raggruppamento del livello della query associato"
+
+#: parser/parse_clause.c:450
+#, c-format
+msgid "TABLESAMPLE clause can only be used on tables and materialized views"
+msgstr "la clausola TABLESAMPLE può essere usata solo su tabelle e viste materializzate"
+
+#: parser/parse_clause.c:679
 #, c-format
 msgid "multiple column definition lists are not allowed for the same function"
 msgstr "non è consentita più di una lista di definizione di colonne multiple per la stessa funzione"
 
-#: parser/parse_clause.c:669
+#: parser/parse_clause.c:712
 #, c-format
 msgid "ROWS FROM() with multiple functions cannot have a column definition list"
 msgstr "ROWS FROM() con più di una funzione non può avere una lista di definizioni di colonne"
 
-#: parser/parse_clause.c:670
+#: parser/parse_clause.c:713
 #, c-format
 msgid "Put a separate column definition list for each function inside ROWS FROM()."
 msgstr "Specifica una lista di definizioni colonna separata per ogni funzione dentro ROWS FROM()"
 
-#: parser/parse_clause.c:676
+#: parser/parse_clause.c:719
 #, c-format
 msgid "UNNEST() with multiple arguments cannot have a column definition list"
 msgstr "UNNEST() con più di un argomento non può avere una lista di definizioni di colonne"
 
-#: parser/parse_clause.c:677
+#: parser/parse_clause.c:720
 #, c-format
 msgid "Use separate UNNEST() calls inside ROWS FROM(), and attach a column definition list to each one."
 msgstr "Usa una invocazione di UNNEST() separata in ROWS FROM() e collega una lista di definizioni di colonne ad ognuna di esse."
 
-#: parser/parse_clause.c:684
+#: parser/parse_clause.c:727
 #, c-format
 msgid "WITH ORDINALITY cannot be used with a column definition list"
 msgstr "WITH ORDINALITY non può essere usata con una lista di definizioni di colonne"
 
-#: parser/parse_clause.c:685
+#: parser/parse_clause.c:728
 #, c-format
 msgid "Put the column definition list inside ROWS FROM()."
 msgstr "Specifica la lista di definizioni di colonne dentro ROWS FROM()."
 
-#: parser/parse_clause.c:967
+#: parser/parse_clause.c:1010
 #, c-format
 msgid "column name \"%s\" appears more than once in USING clause"
 msgstr "il nome della colonna \"%s\" compare più di una volta nella clausola USING"
 
-#: parser/parse_clause.c:982
+#: parser/parse_clause.c:1025
 #, c-format
 msgid "common column name \"%s\" appears more than once in left table"
 msgstr "il nome comune della colonna \"%s\" compare più di una volta nella tabella di sinistra"
 
-#: parser/parse_clause.c:991
+#: parser/parse_clause.c:1034
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in left table"
 msgstr "la colonna \"%s\" specificata nella clausola USING non esiste nella tabella di sinistra"
 
-#: parser/parse_clause.c:1005
+#: parser/parse_clause.c:1048
 #, c-format
 msgid "common column name \"%s\" appears more than once in right table"
 msgstr "il nome comune della colonna \"%s\" compare più di una volta nella tabella di destra"
 
-#: parser/parse_clause.c:1014
+#: parser/parse_clause.c:1057
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr "la colonna \"%s\" specificata nella clausola USING non esiste nella tabella di destra"
 
-#: parser/parse_clause.c:1068
+#: parser/parse_clause.c:1111
 #, c-format
 msgid "column alias list for \"%s\" has too many entries"
 msgstr "la lista di alias delle colonne per \"%s\" ha troppi elementi"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1377
+#: parser/parse_clause.c:1440
 #, c-format
 msgid "argument of %s must not contain variables"
 msgstr "l'argomento di %s non può contenere variabili"
 
 #. translator: first %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1542
+#: parser/parse_clause.c:1605
 #, c-format
 msgid "%s \"%s\" is ambiguous"
 msgstr "%s \"%s\" è ambiguo"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1571
+#: parser/parse_clause.c:1634
 #, c-format
 msgid "non-integer constant in %s"
 msgstr "costante non intera in %s"
 
 #  translator: %s is name of a SQL construct, eg ORDER BY
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1593
+#: parser/parse_clause.c:1656
 #, c-format
 msgid "%s position %d is not in select list"
 msgstr "%s in posizione %d non è nella lista SELECT"
 
-#: parser/parse_clause.c:1815
+#: parser/parse_clause.c:2091
+#, c-format
+msgid "CUBE is limited to 12 elements"
+msgstr "CUBE è limitato a 12 elementi"
+
+#: parser/parse_clause.c:2297
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "la finestra \"%s\" è già definita"
 
-#: parser/parse_clause.c:1876
+#: parser/parse_clause.c:2359
 #, c-format
 msgid "cannot override PARTITION BY clause of window \"%s\""
 msgstr "non è possibile scavalcare la clausola PARTITION BY della finestra \"%s\""
 
-#: parser/parse_clause.c:1888
+#: parser/parse_clause.c:2371
 #, c-format
 msgid "cannot override ORDER BY clause of window \"%s\""
 msgstr "non è possibile scavalcare la clausola ORDER BY della finestra \"%s\""
 
-#: parser/parse_clause.c:1918 parser/parse_clause.c:1924
+#: parser/parse_clause.c:2401 parser/parse_clause.c:2407
 #, c-format
 msgid "cannot copy window \"%s\" because it has a frame clause"
 msgstr "non è possibile copiare la finestra \"%s\" perché ha una clausola frame"
 
-#: parser/parse_clause.c:1926
+#: parser/parse_clause.c:2409
 #, c-format
 msgid "Omit the parentheses in this OVER clause."
 msgstr "Omettere le parentesi in questa clausola OVER."
 
-#: parser/parse_clause.c:1992
+#: parser/parse_clause.c:2475
 #, c-format
 msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list"
 msgstr "in un aggregato con DISTINCT, le espressioni ORDER BY devono figurare nella lista di argomenti"
 
-#: parser/parse_clause.c:1993
+#: parser/parse_clause.c:2476
 #, c-format
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr "per SELECT DISTINCT, le espressioni ORDER BY devono figurare nella lista di argomenti"
 
-#: parser/parse_clause.c:2026
+#: parser/parse_clause.c:2509
 #, c-format
 msgid "an aggregate with DISTINCT must have at least one argument"
 msgstr "un aggregato con DISTINCT deve avere almeno un argomento"
 
-#: parser/parse_clause.c:2027
+#: parser/parse_clause.c:2510
 #, c-format
 msgid "SELECT DISTINCT must have at least one column"
 msgstr "SELECT DISTINCT deve avere almeno una colonna"
 
-#: parser/parse_clause.c:2093 parser/parse_clause.c:2125
+#: parser/parse_clause.c:2576 parser/parse_clause.c:2608
 #, c-format
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr "le espressioni SELECT DISTINCT ON devono coincidere con l'espressione ORDER BY iniziale"
 
-#: parser/parse_clause.c:2253
+#: parser/parse_clause.c:2687
+#, c-format
+msgid "ASC/DESC is not allowed in ON CONFLICT clause"
+msgstr "ASC/DESC non è permesso nelle clausole ON CONFLICT"
+
+#: parser/parse_clause.c:2693
+#, c-format
+msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause"
+msgstr "NULLS FIRST/LAST non è permesso nelle clausole ON CONFLICT"
+
+#: parser/parse_clause.c:2773
+#, c-format
+msgid "ON CONFLICT DO UPDATE requires inference specification or constraint name"
+msgstr "ON CONFLICT DO UPDATE richiede una specifica di inferenza o il nome di un vincolo"
+
+#: parser/parse_clause.c:2774
+#, c-format
+msgid "For example, ON CONFLICT ()."
+msgstr "Per esempio, ON CONFLICT ()."
+
+#: parser/parse_clause.c:2785
+#, c-format
+msgid "ON CONFLICT not supported with system catalog tables"
+msgstr "ON CONFLICT non supportato sulle tabelle del catalogo di sistema"
+
+#: parser/parse_clause.c:2793
+#, c-format
+msgid "ON CONFLICT not supported on table \"%s\" used as a catalog table"
+msgstr "ON CONFLICT non supportato sulla tabella \"%s\" usata da una tabella di catalogo"
+
+#: parser/parse_clause.c:2925
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "l'operatore %s non è un operatore di ordinamento valido"
 
-#: parser/parse_clause.c:2255
+#: parser/parse_clause.c:2927
 #, c-format
 msgid "Ordering operators must be \"<\" or \">\" members of btree operator families."
 msgstr "Gli operatori di ordinamento devono essere i membri \"<\" oppure \">\" di una famiglia di operatori btree."
 
 #: parser/parse_coerce.c:933 parser/parse_coerce.c:963
 #: parser/parse_coerce.c:981 parser/parse_coerce.c:996
-#: parser/parse_expr.c:1773 parser/parse_expr.c:2247 parser/parse_target.c:854
+#: parser/parse_expr.c:2014 parser/parse_expr.c:2527 parser/parse_target.c:874
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "non è possibile convertire il tipo %s in %s"
@@ -11197,18 +12193,18 @@ msgid "could not find range type for data type %s"
 msgstr "tipo dell'intervallo non trovato per il tipo di dato %s"
 
 #: parser/parse_collate.c:228 parser/parse_collate.c:475
-#: parser/parse_collate.c:984
+#: parser/parse_collate.c:986
 #, c-format
 msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
 msgstr "mancata corrispondenza degli ordinamenti impliciti \"%s\" e \"%s\""
 
 #: parser/parse_collate.c:231 parser/parse_collate.c:478
-#: parser/parse_collate.c:987
+#: parser/parse_collate.c:989
 #, c-format
 msgid "You can choose the collation by applying the COLLATE clause to one or both expressions."
 msgstr "Puoi scegliere l'ordinamento applicando la clausola COLLATE ad una o ad entrambe le espressioni."
 
-#: parser/parse_collate.c:832
+#: parser/parse_collate.c:834
 #, c-format
 msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
 msgstr "mancata corrispondenza degli ordinamenti espliciti \"%s\" e \"%s\""
@@ -11313,38 +12309,39 @@ msgstr "FOR UPDATE/SHARE non è implementato in una query ricorsiva"
 msgid "recursive reference to query \"%s\" must not appear more than once"
 msgstr "il riferimento ricorsivo alla query \"%s\" non può apparire più di una volta"
 
-#: parser/parse_expr.c:389 parser/parse_relation.c:2875
+#: parser/parse_expr.c:387 parser/parse_relation.c:3077
+#: parser/parse_relation.c:3097
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "la colonna %s.%s non esiste"
 
-#: parser/parse_expr.c:401
+#: parser/parse_expr.c:399
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "la colonna \"%s\" non è stata trovata nel tipo di dato %s"
 
-#: parser/parse_expr.c:407
+#: parser/parse_expr.c:405
 #, c-format
 msgid "could not identify column \"%s\" in record data type"
 msgstr "la colonna \"%s\" non identificata nel tipo di dato record"
 
-#: parser/parse_expr.c:413
+#: parser/parse_expr.c:411
 #, c-format
 msgid "column notation .%s applied to type %s, which is not a composite type"
 msgstr "la notazione della colonna .%s sembra essere di tipo %s, che non è un tipo composito"
 
-#: parser/parse_expr.c:443 parser/parse_target.c:640
+#: parser/parse_expr.c:441 parser/parse_target.c:660
 #, c-format
 msgid "row expansion via \"*\" is not supported here"
 msgstr "l'espansione della riga tramite \"*\" non è supportata qui"
 
-#: parser/parse_expr.c:766 parser/parse_relation.c:561
-#: parser/parse_relation.c:652 parser/parse_target.c:1089
+#: parser/parse_expr.c:767 parser/parse_relation.c:666
+#: parser/parse_relation.c:763 parser/parse_target.c:1109
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "il riferimento alla colonna \"%s\" è ambiguo"
 
-#: parser/parse_expr.c:822 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_expr.c:823 parser/parse_param.c:110 parser/parse_param.c:142
 #: parser/parse_param.c:199 parser/parse_param.c:298
 #, c-format
 msgid "there is no parameter $%d"
@@ -11355,280 +12352,307 @@ msgstr "parametro $%d non presente"
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "NULLIF richiede che l'operatore = restituisca un valore booleano"
 
-#: parser/parse_expr.c:1469
+#: parser/parse_expr.c:1468 gram.y:9732
+#, c-format
+msgid "number of columns does not match number of values"
+msgstr "il numero di colonne non corrisponde al numero di valori"
+
+#: parser/parse_expr.c:1696
 msgid "cannot use subquery in check constraint"
 msgstr "non si può usare una sottoquery nel vincolo di controllo"
 
-#: parser/parse_expr.c:1473
+#: parser/parse_expr.c:1700
 msgid "cannot use subquery in DEFAULT expression"
 msgstr "non si può usare una sottoquery in un'espressione DEFAULT"
 
-#: parser/parse_expr.c:1476
+#: parser/parse_expr.c:1703
 msgid "cannot use subquery in index expression"
 msgstr "non si possono usare sottoquery nell'espressione dell'indice"
 
-#: parser/parse_expr.c:1479
+#: parser/parse_expr.c:1706
 msgid "cannot use subquery in index predicate"
 msgstr "non è possibile usare sottoquery nel predicato dell'indice"
 
-#: parser/parse_expr.c:1482
+#: parser/parse_expr.c:1709
 msgid "cannot use subquery in transform expression"
 msgstr "non è possibile usare sottoquery in un'espressione di trasformazione"
 
-#: parser/parse_expr.c:1485
+#: parser/parse_expr.c:1712
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "non si possono usare sottoquery nel parametro EXECUTE"
 
-#: parser/parse_expr.c:1488
+#: parser/parse_expr.c:1715
 msgid "cannot use subquery in trigger WHEN condition"
 msgstr "non è possibile usare sottoquery nella condizione WHEN del trigger"
 
-#: parser/parse_expr.c:1545
-#, c-format
-msgid "subquery must return a column"
-msgstr "la sottoquery deve restituire una colonna"
-
-#: parser/parse_expr.c:1552
+#: parser/parse_expr.c:1769
 #, c-format
 msgid "subquery must return only one column"
 msgstr "la sottoquery deve restituire solo una colonna"
 
-#: parser/parse_expr.c:1612
+#: parser/parse_expr.c:1853
 #, c-format
 msgid "subquery has too many columns"
 msgstr "la sottoquery ha troppe colonne"
 
-#: parser/parse_expr.c:1617
+#: parser/parse_expr.c:1858
 #, c-format
 msgid "subquery has too few columns"
 msgstr "la sottoquery ha troppe poche colonne"
 
-#: parser/parse_expr.c:1713
+#: parser/parse_expr.c:1954
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "non è possibile determinare il tipo di un array vuoto"
 
-#: parser/parse_expr.c:1714
+#: parser/parse_expr.c:1955
 #, c-format
 msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
 msgstr "Effettua una conversione esplicita al tipo desiderato, ad esempio ARRAY[]::integer[]."
 
-#: parser/parse_expr.c:1728
+#: parser/parse_expr.c:1969
 #, c-format
 msgid "could not find element type for data type %s"
 msgstr "tipo dell'elemento non trovato per il tipo di dato %s"
 
-#: parser/parse_expr.c:1954
+#: parser/parse_expr.c:2192
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "il valore dell'attributo XML senza nome dev'essere un riferimento ad una colonna"
 
-#: parser/parse_expr.c:1955
+#: parser/parse_expr.c:2193
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "il valore dell'elemento XML senza nome dev'essere un riferimento ad una colonna"
 
-#: parser/parse_expr.c:1970
+#: parser/parse_expr.c:2208
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "l'attributo XML di nome \"%s\" compare più di una volta"
 
-#: parser/parse_expr.c:2077
+#: parser/parse_expr.c:2315
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "non è possibile convertire il risultato di XMLSERIALIZE a %s"
 
-#: parser/parse_expr.c:2320 parser/parse_expr.c:2520
+#: parser/parse_expr.c:2600 parser/parse_expr.c:2796
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "numero di elementi differente nelle espressioni di riga"
 
-#: parser/parse_expr.c:2330
+#: parser/parse_expr.c:2610
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "non possono comparire righe di lunghezza zero"
 
-#: parser/parse_expr.c:2355
+#: parser/parse_expr.c:2635
 #, c-format
 msgid "row comparison operator must yield type boolean, not type %s"
 msgstr "l'operatore di comparazione tra righe deve restituire il tipo booleano, non il tipo %s"
 
-#: parser/parse_expr.c:2362
+#: parser/parse_expr.c:2642
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "l'operatore di comparazione tra righe non può restituire un insieme"
 
-#: parser/parse_expr.c:2421 parser/parse_expr.c:2466
+#: parser/parse_expr.c:2701 parser/parse_expr.c:2742
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "non è stato possibile determinare un'interpretazione dell'operatore di comparazione tra righe %s"
 
-#: parser/parse_expr.c:2423
+#: parser/parse_expr.c:2703
 #, c-format
 msgid "Row comparison operators must be associated with btree operator families."
 msgstr "Gli operatori di comparazione tra righe devono essere associati a famiglie di operatori btree."
 
-#: parser/parse_expr.c:2468
+#: parser/parse_expr.c:2744
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "C'è più di un candidato egualmente plausibile."
 
-#: parser/parse_expr.c:2560
+#: parser/parse_expr.c:2836
 #, c-format
 msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr "IS DISTINCT FROM richiede che l'operatore = restituisca un valore booleano"
 
-#: parser/parse_func.c:173
+#: parser/parse_expr.c:3126 parser/parse_expr.c:3144
+#, c-format
+msgid "operator precedence change: %s is now lower precedence than %s"
+msgstr "cambio di precedenza di operatori: %s ora ha precedenza inferiore di %s"
+
+#: parser/parse_func.c:176
 #, c-format
 msgid "argument name \"%s\" used more than once"
 msgstr "il nome dell'argomento \"%s\" è usato più di una volta"
 
-#: parser/parse_func.c:184
+#: parser/parse_func.c:187
 #, c-format
 msgid "positional argument cannot follow named argument"
 msgstr "gli argomenti posizionali non possono seguire gli argomenti con nome"
 
-#: parser/parse_func.c:263
+#: parser/parse_func.c:272
 #, c-format
 msgid "%s(*) specified, but %s is not an aggregate function"
 msgstr "%s(*) specificato, ma %s non è una funzione di aggregazione"
 
-#: parser/parse_func.c:270
+#: parser/parse_func.c:279
 #, c-format
 msgid "DISTINCT specified, but %s is not an aggregate function"
 msgstr "DISTINCT specificato, ma %s non è una funzione di aggregazione"
 
-#: parser/parse_func.c:276
+#: parser/parse_func.c:285
 #, c-format
 msgid "WITHIN GROUP specified, but %s is not an aggregate function"
 msgstr "WITHIN GROUP specificato, ma %s non è una funzione di aggregazione"
 
-#: parser/parse_func.c:282
+#: parser/parse_func.c:291
 #, c-format
 msgid "ORDER BY specified, but %s is not an aggregate function"
 msgstr "ORDER BY specificato, ma %s non è una funzione di aggregazione"
 
-#: parser/parse_func.c:288
+#: parser/parse_func.c:297
 #, c-format
 msgid "FILTER specified, but %s is not an aggregate function"
 msgstr "FILTER specificato, ma %s non è una funzione di aggregazione"
 
-#: parser/parse_func.c:294
+#: parser/parse_func.c:303
 #, c-format
 msgid "OVER specified, but %s is not a window function nor an aggregate function"
 msgstr "OVER specificato, ma %s non è una funzione finestra né una funzione di aggregazione"
 
-#: parser/parse_func.c:324
+#: parser/parse_func.c:333
 #, c-format
 msgid "WITHIN GROUP is required for ordered-set aggregate %s"
 msgstr "WITHIN GROUP è richiesto per l'aggregato su insieme ordinato %s"
 
-#: parser/parse_func.c:330
+#: parser/parse_func.c:339
 #, c-format
 msgid "OVER is not supported for ordered-set aggregate %s"
 msgstr "OVER non è supportato per l'aggregato su insieme ordinato %s"
 
-#: parser/parse_func.c:361 parser/parse_func.c:390
+#: parser/parse_func.c:370 parser/parse_func.c:399
 #, c-format
 msgid "There is an ordered-set aggregate %s, but it requires %d direct arguments, not %d."
 msgstr "Esiste un aggregato su insieme ordinato %s, ma richiede %d argomenti diretti, non %d."
 
-#: parser/parse_func.c:415
+#: parser/parse_func.c:424
 #, c-format
 msgid "To use the hypothetical-set aggregate %s, the number of hypothetical direct arguments (here %d) must match the number of ordering columns (here %d)."
 msgstr "Per usare l'aggregato su insieme ipotetico %s il numero di argomenti ipotetici diretti (qui %d) deve combaciare con quello di colonne di ordinamento (qui %d)."
 
-#: parser/parse_func.c:429
+#: parser/parse_func.c:438
 #, c-format
 msgid "There is an ordered-set aggregate %s, but it requires at least %d direct arguments."
 msgstr "Esiste un aggregato su insieme ordinato %s, ma richiede almeno %d argomenti diretti."
 
-#: parser/parse_func.c:448
+#: parser/parse_func.c:457
 #, c-format
 msgid "%s is not an ordered-set aggregate, so it cannot have WITHIN GROUP"
 msgstr "%s non è un aggregato su insieme ordinato, per cui non può avere WITHIN GROUP"
 
-#: parser/parse_func.c:461
+#: parser/parse_func.c:470
 #, c-format
 msgid "window function %s requires an OVER clause"
 msgstr "la funzione finestra %s richiede una clausola OVER"
 
-#: parser/parse_func.c:468
+#: parser/parse_func.c:477
 #, c-format
 msgid "window function %s cannot have WITHIN GROUP"
 msgstr "la funzione di aggregazione %s non può avere WITHIN GROUP"
 
-#: parser/parse_func.c:489
+#: parser/parse_func.c:498
 #, c-format
 msgid "function %s is not unique"
 msgstr "la funzione %s non è unica"
 
-#: parser/parse_func.c:492
+#: parser/parse_func.c:501
 #, c-format
 msgid "Could not choose a best candidate function. You might need to add explicit type casts."
 msgstr "Non è stato possibile scegliere la funzione migliore. Potrebbe essere necessario convertire i tipi esplicitamente."
 
-#: parser/parse_func.c:503
+#: parser/parse_func.c:512
 #, c-format
 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 "Nessuna funzione di aggregazione trovata con nome e tipi di argomenti forniti. Forse hai posizionato ORDER BY male: ORDER BY deve apparire dopo tutti gli argomenti regolari della funzione di aggregazione."
 
-#: parser/parse_func.c:514
+#: parser/parse_func.c:523
 #, c-format
 msgid "No function matches the given name and argument types. You might need to add explicit type casts."
 msgstr "Nessuna funzione trovata con nome e tipi di argomenti forniti. Potrebbe essere necessario convertire i tipi esplicitamente."
 
-#: parser/parse_func.c:616
+#: parser/parse_func.c:625
 #, c-format
 msgid "VARIADIC argument must be an array"
 msgstr "l'argomento VARIADIC deve essere un array"
 
-#: parser/parse_func.c:661 parser/parse_func.c:725
+#: parser/parse_func.c:670 parser/parse_func.c:734
 #, c-format
 msgid "%s(*) must be used to call a parameterless aggregate function"
 msgstr "%s(*) dev'essere usato per richiamare una funzione di aggregazione senza parametri"
 
-#: parser/parse_func.c:668
+#: parser/parse_func.c:677
 #, c-format
 msgid "aggregates cannot return sets"
 msgstr "le funzioni di aggregazione non possono restituire insiemi"
 
-#: parser/parse_func.c:683
+#: parser/parse_func.c:692
 #, c-format
 msgid "aggregates cannot use named arguments"
 msgstr "le funzioni di aggregazione non possono usare argomenti con nome"
 
-#: parser/parse_func.c:715
+#: parser/parse_func.c:724
 #, c-format
 msgid "DISTINCT is not implemented for window functions"
 msgstr "DISTINCT non è implementato per funzioni finestra"
 
-#: parser/parse_func.c:735
+#: parser/parse_func.c:744
 #, c-format
 msgid "aggregate ORDER BY is not implemented for window functions"
 msgstr "ORDER BY delle funzioni di aggregazione non è implementato per funzioni finestra"
 
-#: parser/parse_func.c:744
+#: parser/parse_func.c:753
 #, c-format
 msgid "FILTER is not implemented for non-aggregate window functions"
 msgstr "FILTER non è implementato per funzioni finestra non aggregate"
 
-#: parser/parse_func.c:750
+#: parser/parse_func.c:759
 #, c-format
 msgid "window functions cannot return sets"
 msgstr "le funzioni finestra non possono restituire insiemi"
 
-#: parser/parse_func.c:1994
+#: parser/parse_func.c:796
+#, c-format
+msgid "tablesample method \"%s\" does not exist"
+msgstr "il metodo tablesample \"%s\" non esiste"
+
+#: parser/parse_func.c:871
+#, c-format
+msgid "tablesample method \"%s\" expects %d argument got %d"
+msgid_plural "tablesample method \"%s\" expects %d arguments got %d"
+msgstr[0] "il metodo tablesample \"%s\" si aspetta %d argumenti, ricevuti %d"
+msgstr[1] "il metodo tablesample \"%s\" si aspetta %d argumenti, ricevuti %d"
+
+#: parser/parse_func.c:893
+#, c-format
+msgid "wrong parameter %d for tablesample method \"%s\""
+msgstr "parametro %d errato per il metodo tablesample \"%s\""
+
+#: parser/parse_func.c:895
+#, c-format
+msgid "Expected type %s got %s."
+msgstr "Atteso un tipo %s, ricevuto %s."
+
+#: parser/parse_func.c:2151
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "la funzione di aggregazione %s(*) non esiste"
 
-#: parser/parse_func.c:1999
+#: parser/parse_func.c:2156
 #, c-format
 msgid "aggregate %s does not exist"
 msgstr "la funzione di aggregazione %s non esiste"
 
-#: parser/parse_func.c:2018
+#: parser/parse_func.c:2175
 #, c-format
 msgid "function %s is not an aggregate"
 msgstr "la funzione %s non è una funzione di aggregazione"
@@ -11653,60 +12677,61 @@ msgstr "l'indice di un array dev'essere di tipo intero"
 msgid "array assignment requires type %s but expression is of type %s"
 msgstr "l'assegnamento all'array richiede il tipo %s ma l'espressione è di tipo %s"
 
-#: parser/parse_oper.c:124 parser/parse_oper.c:718 utils/adt/regproc.c:547
-#: utils/adt/regproc.c:567 utils/adt/regproc.c:751
+#: parser/parse_oper.c:125 parser/parse_oper.c:722 utils/adt/regproc.c:583
+#: utils/adt/regproc.c:603 utils/adt/regproc.c:787
 #, c-format
 msgid "operator does not exist: %s"
 msgstr "l'operatore non esiste: %s"
 
-#: parser/parse_oper.c:221
+#: parser/parse_oper.c:222
 #, c-format
 msgid "Use an explicit ordering operator or modify the query."
 msgstr "Usa un operatore di ordinamento esplicito, oppure modifica la query."
 
-#: parser/parse_oper.c:225 utils/adt/arrayfuncs.c:3222
-#: utils/adt/arrayfuncs.c:3741 utils/adt/arrayfuncs.c:5294
+#: parser/parse_oper.c:226 utils/adt/array_userfuncs.c:782
+#: utils/adt/array_userfuncs.c:920 utils/adt/arrayfuncs.c:3613
+#: utils/adt/arrayfuncs.c:4051 utils/adt/arrayfuncs.c:6029
 #: utils/adt/rowtypes.c:1159
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "operatore di uguaglianza per il tipo %s non trovato"
 
-#: parser/parse_oper.c:476
+#: parser/parse_oper.c:478
 #, c-format
 msgid "operator requires run-time type coercion: %s"
 msgstr "l'operatore richiede una coercizione di tipo a run-time: %s"
 
-#: parser/parse_oper.c:710
+#: parser/parse_oper.c:714
 #, c-format
 msgid "operator is not unique: %s"
 msgstr "l'operatore non è unico: %s"
 
-#: parser/parse_oper.c:712
+#: parser/parse_oper.c:716
 #, c-format
 msgid "Could not choose a best candidate operator. You might need to add explicit type casts."
 msgstr "Non è stato possibile scegliere l'operatore migliore. Potrebbe essere necessario convertire i tipi esplicitamente."
 
-#: parser/parse_oper.c:720
+#: parser/parse_oper.c:724
 #, c-format
 msgid "No operator matches the given name and argument type(s). You might need to add explicit type casts."
 msgstr "Nessun operatore trovato con nome e tipi di argomenti forniti. Potrebbe essere necessario convertire i tipi esplicitamente."
 
-#: parser/parse_oper.c:779 parser/parse_oper.c:893
+#: parser/parse_oper.c:783 parser/parse_oper.c:897
 #, c-format
 msgid "operator is only a shell: %s"
 msgstr "l'operatore non è completamente definito: %s"
 
-#: parser/parse_oper.c:881
+#: parser/parse_oper.c:885
 #, c-format
 msgid "op ANY/ALL (array) requires array on right side"
 msgstr "op ANY/ALL (array) richiede un array sul lato destro"
 
-#: parser/parse_oper.c:923
+#: parser/parse_oper.c:927
 #, c-format
 msgid "op ANY/ALL (array) requires operator to yield boolean"
 msgstr "op ANY/ALL (array) richiede che l'operatore restituisca un valore booleano"
 
-#: parser/parse_oper.c:928
+#: parser/parse_oper.c:932
 #, c-format
 msgid "op ANY/ALL (array) requires operator not to return a set"
 msgstr "op ANY/ALL (array) richiede che l'operatore non restituisca un insieme"
@@ -11716,148 +12741,158 @@ msgstr "op ANY/ALL (array) richiede che l'operatore non restituisca un insieme"
 msgid "inconsistent types deduced for parameter $%d"
 msgstr "tipi di dati dedotti per il parametro $%d non consistenti"
 
-#: parser/parse_relation.c:172
+#: parser/parse_relation.c:174
 #, c-format
 msgid "table reference \"%s\" is ambiguous"
 msgstr "il riferimento alla tabella \"%s\" è ambiguo"
 
-#: parser/parse_relation.c:216
+#: parser/parse_relation.c:218
 #, c-format
 msgid "table reference %u is ambiguous"
 msgstr "il riferimento alla tabella %u è ambiguo"
 
-#: parser/parse_relation.c:395
+#: parser/parse_relation.c:397
 #, c-format
 msgid "table name \"%s\" specified more than once"
 msgstr "la tabella di nome \"%s\" è stata specificata più di una volta"
 
-#: parser/parse_relation.c:422 parser/parse_relation.c:2839
+#: parser/parse_relation.c:424 parser/parse_relation.c:3017
 #, c-format
 msgid "invalid reference to FROM-clause entry for table \"%s\""
 msgstr "riferimento non valido all'elemento della clausola FROM per la tabella \"%s\""
 
-#: parser/parse_relation.c:425 parser/parse_relation.c:2844
+#: parser/parse_relation.c:427 parser/parse_relation.c:3022
 #, c-format
 msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query."
 msgstr "C'è un elemento per la tabella \"%s\", ma non può essere referenziato da questa parte della query."
 
-#: parser/parse_relation.c:427
+#: parser/parse_relation.c:429
 #, c-format
 msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference."
 msgstr "Il tipo del JOIN deve essere INNER oppure LEFT per un riferimento LATERAL."
 
-#: parser/parse_relation.c:591
+#: parser/parse_relation.c:701
 #, c-format
 msgid "system column \"%s\" reference in check constraint is invalid"
 msgstr "la colonna di sistema \"%s\" referenziata nel vincolo di controllo non è valida"
 
-#: parser/parse_relation.c:892 parser/parse_relation.c:1169
-#: parser/parse_relation.c:1663
+#: parser/parse_relation.c:1059 parser/parse_relation.c:1339
+#: parser/parse_relation.c:1841
 #, c-format
 msgid "table \"%s\" has %d columns available but %d columns specified"
 msgstr "la tabella \"%s\" ha %d colonne disponibili ma %d colonne specificate"
 
-#: parser/parse_relation.c:979
+#: parser/parse_relation.c:1146
 #, c-format
 msgid "There is a WITH item named \"%s\", but it cannot be referenced from this part of the query."
 msgstr "C'è un elemento di WITH di nome \"%s\", ma non può essere referenziato da questa parte della query."
 
-#: parser/parse_relation.c:981
+#: parser/parse_relation.c:1148
 #, c-format
 msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references."
 msgstr "Usa WITH RECURSIVE, oppure riordina gli elementi di WITH per rimuovere i riferimenti in avanti."
 
-#: parser/parse_relation.c:1287
+#: parser/parse_relation.c:1459
 #, c-format
 msgid "a column definition list is only allowed for functions returning \"record\""
 msgstr "la lista di definizione di colonne è consentita solo per funzioni che restituiscono \"record\""
 
-#: parser/parse_relation.c:1296
+#: parser/parse_relation.c:1468
 #, c-format
 msgid "a column definition list is required for functions returning \"record\""
 msgstr "la lista di definizione di colonne è necessaria per funzioni che restituiscono \"record\""
 
-#: parser/parse_relation.c:1375
+#: parser/parse_relation.c:1547
 #, c-format
 msgid "function \"%s\" in FROM has unsupported return type %s"
 msgstr "la funzione \"%s\" in FROM restituisce il tipo non supportato %s"
 
-#: parser/parse_relation.c:1495
+#: parser/parse_relation.c:1669
 #, c-format
 msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
 msgstr "le liste VALUES \"%s\" hanno %d colonne disponibili ma %d colonne specificate"
 
-#: parser/parse_relation.c:1548
+#: parser/parse_relation.c:1724
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "i join possono avere al più %d colonne"
 
-#: parser/parse_relation.c:1636
+#: parser/parse_relation.c:1814
 #, c-format
 msgid "WITH query \"%s\" does not have a RETURNING clause"
 msgstr "la query WITH \"%s\" non ha una clausola RETURNING"
 
-#: parser/parse_relation.c:2468 parser/parse_relation.c:2623
+#: parser/parse_relation.c:2646 parser/parse_relation.c:2801
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "la colonna %d della relazione \"%s\" non esiste"
 
-#: parser/parse_relation.c:2842
+#: parser/parse_relation.c:3020
 #, c-format
 msgid "Perhaps you meant to reference the table alias \"%s\"."
 msgstr "Forse intendevi utilizzare l'alias \"%s\" della tabella."
 
-#: parser/parse_relation.c:2850
+#: parser/parse_relation.c:3028
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "elemento FROM per la tabella \"%s\" mancante"
 
-#: parser/parse_relation.c:2890
+#: parser/parse_relation.c:3080
+#, c-format
+msgid "Perhaps you meant to reference the column \"%s\".\"%s\"."
+msgstr "Forse intendevi referenziare la colonna \"%s\".\"%s\"."
+
+#: parser/parse_relation.c:3082
 #, c-format
 msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query."
 msgstr "Esiste una colonna di nome \"%s\" nella tabella \"%s\", ma non può essere referenziata da questa parte della query."
 
-#: parser/parse_target.c:402 parser/parse_target.c:693
+#: parser/parse_relation.c:3099
+#, c-format
+msgid "Perhaps you meant to reference the column \"%s\".\"%s\" or the column \"%s\".\"%s\"."
+msgstr "Forse intendevi referenziare la colonna \"%s\".\"%s\" o la colonna \"%s\".\"%s\"."
+
+#: parser/parse_target.c:421 parser/parse_target.c:713
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "non è possibile assegnare alla colonna di sistema \"%s\""
 
-#: parser/parse_target.c:430
+#: parser/parse_target.c:449
 #, c-format
 msgid "cannot set an array element to DEFAULT"
 msgstr "non è possibile impostare gli elementi di un array a DEFAULT"
 
-#: parser/parse_target.c:435
+#: parser/parse_target.c:454
 #, c-format
 msgid "cannot set a subfield to DEFAULT"
 msgstr "non è possibile impostare un sottocampo a DEFAULT"
 
-#: parser/parse_target.c:504
+#: parser/parse_target.c:523
 #, c-format
 msgid "column \"%s\" is of type %s but expression is of type %s"
 msgstr "la colonna \"%s\" è di tipo %s ma l'espressione è di tipo %s"
 
-#: parser/parse_target.c:677
+#: parser/parse_target.c:697
 #, c-format
 msgid "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type"
 msgstr "non è possibile assegnare al campo \"%s\" della colonna \"%s\" perché il suo tipo %s non è un tipo composito"
 
-#: parser/parse_target.c:686
+#: parser/parse_target.c:706
 #, c-format
 msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s"
 msgstr "non è possibile assegnare al campo \"%s\" della colonna \"%s\" perché non questa colonna non compare nel tipo di dato %s"
 
-#: parser/parse_target.c:753
+#: parser/parse_target.c:773
 #, c-format
 msgid "array assignment to \"%s\" requires type %s but expression is of type %s"
 msgstr "l'assegnamento array a \"%s\" richiede il tipo %s ma l'espressione è di tipo %s"
 
-#: parser/parse_target.c:763
+#: parser/parse_target.c:783
 #, c-format
 msgid "subfield \"%s\" is of type %s but expression is of type %s"
 msgstr "il sottocampo \"%s\" è di tipo %s ma l'espressione è di tipo %s"
 
-#: parser/parse_target.c:1179
+#: parser/parse_target.c:1199
 #, c-format
 msgid "SELECT * with no tables specified is not valid"
 msgstr "SELECT * senza tabelle specificate non è consentito"
@@ -11877,224 +12912,244 @@ msgstr "riferimento %%TYPE improprio (troppi nomi puntati): %s"
 msgid "type reference %s converted to %s"
 msgstr "riferimento al tipo %s convertito in %s"
 
-#: parser/parse_type.c:257 parser/parse_type.c:805 utils/cache/typcache.c:198
+#: parser/parse_type.c:262 parser/parse_type.c:834 utils/cache/typcache.c:230
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "il tipo \"%s\" non è completamente definito"
 
-#: parser/parse_type.c:342
+#: parser/parse_type.c:347
 #, c-format
 msgid "type modifier is not allowed for type \"%s\""
 msgstr "modificatore di tipo non ammesso per il tipo \"%s\""
 
-#: parser/parse_type.c:384
+#: parser/parse_type.c:389
 #, c-format
 msgid "type modifiers must be simple constants or identifiers"
 msgstr "i modificatori di tipo devono essere costanti o identificatori semplici"
 
-#: parser/parse_type.c:695 parser/parse_type.c:819
+#: parser/parse_type.c:700 parser/parse_type.c:799
 #, c-format
 msgid "invalid type name \"%s\""
 msgstr "nome di tipo \"%s\" non valido"
 
-#: parser/parse_utilcmd.c:177
-#, c-format
-msgid "relation \"%s\" already exists, skipping"
-msgstr "la relazione \"%s\" esiste già, saltata"
-
-#: parser/parse_utilcmd.c:342
+#: parser/parse_utilcmd.c:358
 #, c-format
 msgid "array of serial is not implemented"
 msgstr "gli array di serial non sono implementati"
 
-#: parser/parse_utilcmd.c:390
+#: parser/parse_utilcmd.c:406
 #, c-format
 msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
 msgstr "%s creerà la sequenza implicita \"%s\" per la colonna serial \"%s.%s\""
 
-#: parser/parse_utilcmd.c:484 parser/parse_utilcmd.c:496
+#: parser/parse_utilcmd.c:500 parser/parse_utilcmd.c:512
 #, c-format
 msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "dichiarazioni NULL/NOT NULL in conflitto per la colonna \"%s\" della tabella \"%s\""
 
-#: parser/parse_utilcmd.c:508
+#: parser/parse_utilcmd.c:524
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr "più di un valore predefinito specificato per la colonna \"%s\" della tabella \"%s\""
 
-#: parser/parse_utilcmd.c:675
+#: parser/parse_utilcmd.c:541 parser/parse_utilcmd.c:632
+#, c-format
+msgid "primary key constraints are not supported on foreign tables"
+msgstr "i vincoli di chiave primaria non sono supportati sulle tabelle esterne"
+
+#: parser/parse_utilcmd.c:550 parser/parse_utilcmd.c:642
+#, c-format
+msgid "unique constraints are not supported on foreign tables"
+msgstr "i vincoli di unicità non sono supportati sulle tabelle esterne"
+
+#: parser/parse_utilcmd.c:567 parser/parse_utilcmd.c:666
+#, c-format
+msgid "foreign key constraints are not supported on foreign tables"
+msgstr "i vincoli di chiave esterna non sono supportati sulle tabelle esterne"
+
+#: parser/parse_utilcmd.c:652
+#, c-format
+msgid "exclusion constraints are not supported on foreign tables"
+msgstr "i vincoli esclusione non sono supportati sulle tabelle esterne"
+
+#: parser/parse_utilcmd.c:716
 #, c-format
 msgid "LIKE is not supported for creating foreign tables"
 msgstr "LIKE non è supportato nella creazione di tabelle esterne"
 
-#: parser/parse_utilcmd.c:1196 parser/parse_utilcmd.c:1272
+#: parser/parse_utilcmd.c:1239 parser/parse_utilcmd.c:1315
 #, c-format
 msgid "Index \"%s\" contains a whole-row table reference."
 msgstr "L'indice \"%s\" contiene un riferimento all'intera riga della tabella."
 
-#: parser/parse_utilcmd.c:1539
+#: parser/parse_utilcmd.c:1584
 #, c-format
 msgid "cannot use an existing index in CREATE TABLE"
 msgstr "non è possibile usare un indice preesistente in CREATE TABLE"
 
-#: parser/parse_utilcmd.c:1559
+#: parser/parse_utilcmd.c:1604
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "l'indice \"%s\" è già associato ad un vincolo"
 
-#: parser/parse_utilcmd.c:1567
+#: parser/parse_utilcmd.c:1612
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "l'indice \"%s\" non appartiene alla tabella \"%s\""
 
-#: parser/parse_utilcmd.c:1574
+#: parser/parse_utilcmd.c:1619
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "l'indice \"%s\" non è valido"
 
-#: parser/parse_utilcmd.c:1580
+#: parser/parse_utilcmd.c:1625
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "\"%s\" non è un indice univoco"
 
-#: parser/parse_utilcmd.c:1581 parser/parse_utilcmd.c:1588
-#: parser/parse_utilcmd.c:1595 parser/parse_utilcmd.c:1665
+#: parser/parse_utilcmd.c:1626 parser/parse_utilcmd.c:1633
+#: parser/parse_utilcmd.c:1640 parser/parse_utilcmd.c:1710
 #, c-format
 msgid "Cannot create a primary key or unique constraint using such an index."
 msgstr "Non è possibile creare una chiave primaria o un vincolo univoco usando tale indice."
 
-#: parser/parse_utilcmd.c:1587
+#: parser/parse_utilcmd.c:1632
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "l'indice \"%s\" contiene espressioni"
 
-#: parser/parse_utilcmd.c:1594
+#: parser/parse_utilcmd.c:1639
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "\"%s\" è un indice parziale"
 
-#: parser/parse_utilcmd.c:1606
+#: parser/parse_utilcmd.c:1651
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "\"%s\" è un indice deferibile"
 
-#: parser/parse_utilcmd.c:1607
+#: parser/parse_utilcmd.c:1652
 #, c-format
 msgid "Cannot create a non-deferrable constraint using a deferrable index."
 msgstr "Non è possibile creare un vincolo non deferibile usando un indice deferibile."
 
-#: parser/parse_utilcmd.c:1664
+#: parser/parse_utilcmd.c:1709
 #, c-format
 msgid "index \"%s\" does not have default sorting behavior"
 msgstr "l'indice \"%s\" non ha un ordinamento predefinito"
 
-#: parser/parse_utilcmd.c:1809
+#: parser/parse_utilcmd.c:1856
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "la colonna \"%s\" appare due volte nel vincolo di chiave primaria"
 
-#: parser/parse_utilcmd.c:1815
+#: parser/parse_utilcmd.c:1862
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "la colonna \"%s\" appare due volte nel vincolo univoco"
 
-#: parser/parse_utilcmd.c:1981
+#: parser/parse_utilcmd.c:2032
 #, c-format
 msgid "index expression cannot return a set"
 msgstr "l'espressione dell'indice non può restituire un insieme"
 
-#: parser/parse_utilcmd.c:1992
+#: parser/parse_utilcmd.c:2043
 #, c-format
 msgid "index expressions and predicates can refer only to the table being indexed"
 msgstr "le espressioni e i predicati dell'indice possono riferirsi solo alla tabella indicizzata"
 
-#: parser/parse_utilcmd.c:2035
+#: parser/parse_utilcmd.c:2089
 #, c-format
 msgid "rules on materialized views are not supported"
 msgstr "le regole sulle viste materializzate non sono supportate"
 
-#: parser/parse_utilcmd.c:2096
+#: parser/parse_utilcmd.c:2150
 #, c-format
 msgid "rule WHERE condition cannot contain references to other relations"
 msgstr "le condizioni WHERE delle regole non possono avere riferimenti ad altre relazioni"
 
-#: parser/parse_utilcmd.c:2168
+#: parser/parse_utilcmd.c:2222
 #, c-format
 msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions"
 msgstr "le regole con una condizione WHERE possono avere solo azione SELECT, INSERT, UPDATE o DELETE"
 
-#: parser/parse_utilcmd.c:2186 parser/parse_utilcmd.c:2285
-#: rewrite/rewriteHandler.c:469 rewrite/rewriteManip.c:968
+#: parser/parse_utilcmd.c:2240 parser/parse_utilcmd.c:2339
+#: rewrite/rewriteHandler.c:474 rewrite/rewriteManip.c:1018
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "le istruzioni UNION/INTERSECT/EXCEPT condizionali non sono implementate"
 
-#: parser/parse_utilcmd.c:2204
+#: parser/parse_utilcmd.c:2258
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "la regola ON SELECT non può usare OLD"
 
-#: parser/parse_utilcmd.c:2208
+#: parser/parse_utilcmd.c:2262
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "la regola ON SELECT non può usare NEW"
 
-#: parser/parse_utilcmd.c:2217
+#: parser/parse_utilcmd.c:2271
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "la regola ON INSERT non può usare OLD"
 
-#: parser/parse_utilcmd.c:2223
+#: parser/parse_utilcmd.c:2277
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "La regola ON DELETE non può usare NEW"
 
-#: parser/parse_utilcmd.c:2251
+#: parser/parse_utilcmd.c:2305
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "non ci si può riferire ad OLD nella query WITH"
 
-#: parser/parse_utilcmd.c:2258
+#: parser/parse_utilcmd.c:2312
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "non ci si può riferire a NEW nella query WITH"
 
-#: parser/parse_utilcmd.c:2541
+#: parser/parse_utilcmd.c:2515
+#, c-format
+msgid "transform expression must not return a set"
+msgstr "l'espressione di trasformazione non può restituire un insieme"
+
+#: parser/parse_utilcmd.c:2629
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "clausola DEFERRABLE mal posizionata"
 
-#: parser/parse_utilcmd.c:2546 parser/parse_utilcmd.c:2561
+#: parser/parse_utilcmd.c:2634 parser/parse_utilcmd.c:2649
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "clausole DEFERRABLE/NOT DEFERRABLE multiple non consentite"
 
-#: parser/parse_utilcmd.c:2556
+#: parser/parse_utilcmd.c:2644
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "clausola NOT DEFERRABLE mal posizionata"
 
-#: parser/parse_utilcmd.c:2569 parser/parse_utilcmd.c:2595 gram.y:4577
+#: parser/parse_utilcmd.c:2657 parser/parse_utilcmd.c:2683 gram.y:4839
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "un vincolo dichiarato INITIALLY DEFERRED dev'essere DEFERRABLE"
 
-#: parser/parse_utilcmd.c:2577
+#: parser/parse_utilcmd.c:2665
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "clausola INITIALLY DEFERRED mal posizionata"
 
-#: parser/parse_utilcmd.c:2582 parser/parse_utilcmd.c:2608
+#: parser/parse_utilcmd.c:2670 parser/parse_utilcmd.c:2696
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "clausole INITIALLY IMMEDIATE/DEFERRED multiple non sono consentite"
 
-#: parser/parse_utilcmd.c:2603
+#: parser/parse_utilcmd.c:2691
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "clausola INITIALLY IMMEDIATE mal posizionata"
 
-#: parser/parse_utilcmd.c:2794
+#: parser/parse_utilcmd.c:2882
 #, c-format
 msgid "CREATE specifies a schema (%s) different from the one being created (%s)"
 msgstr "CREATE specifica uno schema (%s) differente da quello che sta venendo creato (%s)"
@@ -12104,13 +13159,13 @@ msgstr "CREATE specifica uno schema (%s) differente da quello che sta venendo cr
 msgid "identifier \"%s\" will be truncated to \"%s\""
 msgstr "l'identificativo \"%s\" sarà troncato a \"%s\""
 
-#: port/pg_latch.c:336 port/unix_latch.c:336
+#: port/pg_latch.c:344 port/unix_latch.c:344
 #, c-format
 msgid "poll() failed: %m"
 msgstr "poll() fallito: %m"
 
-#: port/pg_latch.c:423 port/unix_latch.c:423
-#: replication/libpqwalreceiver/libpqwalreceiver.c:363
+#: port/pg_latch.c:440 port/unix_latch.c:440
+#: replication/libpqwalreceiver/libpqwalreceiver.c:374
 #, c-format
 msgid "select() failed: %m"
 msgstr "select() fallita: %m"
@@ -12261,17 +13316,17 @@ msgstr "creazione del thread per la distribuzione dei segnali fallita: codice er
 msgid "could not create semaphore: error code %lu"
 msgstr "creazione del semaforo fallita: codice errore %lu"
 
-#: port/win32_sema.c:165
+#: port/win32_sema.c:167
 #, c-format
 msgid "could not lock semaphore: error code %lu"
 msgstr "lock del semaforo fallito: codice errore %lu"
 
-#: port/win32_sema.c:178
+#: port/win32_sema.c:187
 #, c-format
 msgid "could not unlock semaphore: error code %lu"
 msgstr "unlock del semaforo fallito: codice errore %lu"
 
-#: port/win32_sema.c:207
+#: port/win32_sema.c:216
 #, c-format
 msgid "could not try-lock semaphore: error code %lu"
 msgstr "try-lock del semaforo fallito: codice errore %lu"
@@ -12306,277 +13361,277 @@ msgstr "La chiamata di sistema fallita era DuplicateHandle."
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "La chiamata di sistema fallita era MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:380
+#: postmaster/autovacuum.c:377
 #, c-format
 msgid "could not fork autovacuum launcher process: %m"
 msgstr "fork del processo di esecuzione di autovacuum fallito: %m"
 
-#: postmaster/autovacuum.c:425
+#: postmaster/autovacuum.c:413
 #, c-format
 msgid "autovacuum launcher started"
 msgstr "esecutore di autovacuum avviato"
 
-#: postmaster/autovacuum.c:790
+#: postmaster/autovacuum.c:775
 #, c-format
 msgid "autovacuum launcher shutting down"
 msgstr "arresto dell'esecutore di autovacuum"
 
-#: postmaster/autovacuum.c:1453
+#: postmaster/autovacuum.c:1443
 #, c-format
 msgid "could not fork autovacuum worker process: %m"
 msgstr "fork del processo di lavoro di autovacuum fallito: %m"
 
-#: postmaster/autovacuum.c:1672
+#: postmaster/autovacuum.c:1639
 #, c-format
 msgid "autovacuum: processing database \"%s\""
 msgstr "autovacuum: elaborazione del database \"%s\""
 
-#: postmaster/autovacuum.c:2076
+#: postmaster/autovacuum.c:2051
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr "autovacuum: eliminazione della tabella temporanea orfana \"%s\".\"%s\" nel database \"%s\""
 
-#: postmaster/autovacuum.c:2088
+#: postmaster/autovacuum.c:2063
 #, c-format
 msgid "autovacuum: found orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr "autovacuum: trovata tabella temporanea orfana \"%s\".\"%s\" nel database \"%s\""
 
-#: postmaster/autovacuum.c:2353
+#: postmaster/autovacuum.c:2346
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "pulizia automatica della tabella \"%s.%s.%s\""
 
-#: postmaster/autovacuum.c:2356
+#: postmaster/autovacuum.c:2349
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "analisi automatica della tabella \"%s.%s.%s\""
 
-#: postmaster/autovacuum.c:2889
+#: postmaster/autovacuum.c:2877
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "autovacuum non avviato a causa di configurazione errata"
 
-#: postmaster/autovacuum.c:2890
+#: postmaster/autovacuum.c:2878
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Abilita l'opzione \"track_counts\"."
 
-#: postmaster/bgworker.c:323 postmaster/bgworker.c:732
+#: postmaster/bgworker.c:345 postmaster/bgworker.c:745
 #, c-format
 msgid "registering background worker \"%s\""
 msgstr "registrazione del processo di lavoro in background \"%s\""
 
-#: postmaster/bgworker.c:352
+#: postmaster/bgworker.c:374
 #, c-format
 msgid "unregistering background worker \"%s\""
 msgstr "annullamento registrazione del processo di lavoro in background \"%s\""
 
-#: postmaster/bgworker.c:454
+#: postmaster/bgworker.c:483
 #, c-format
 msgid "background worker \"%s\": must attach to shared memory in order to request a database connection"
 msgstr "processo di lavoro in background \"%s\": occorre collegarsi al segmento di memoria per richiedere una connessione al database"
 
-#: postmaster/bgworker.c:463
+#: postmaster/bgworker.c:492
 #, c-format
 msgid "background worker \"%s\": cannot request database access if starting at postmaster start"
 msgstr "processo di lavoro in background \"%s\": non è possibile richiedere accesso al database se avviato all'avvio di postmaster"
 
-#: postmaster/bgworker.c:477
+#: postmaster/bgworker.c:506
 #, c-format
 msgid "background worker \"%s\": invalid restart interval"
 msgstr "processo di lavoro in background \"%s\": intervallo di riavvio non valido"
 
-#: postmaster/bgworker.c:522
+#: postmaster/bgworker.c:551
 #, c-format
 msgid "terminating background worker \"%s\" due to administrator command"
 msgstr "interruzione del processo di lavoro in background \"%s\" a causa di comando amministrativo"
 
-#: postmaster/bgworker.c:739
+#: postmaster/bgworker.c:752
 #, c-format
 msgid "background worker \"%s\": must be registered in shared_preload_libraries"
 msgstr "processo di lavoro in background \"%s\": deve essere registrato in shared_preload_libraries"
 
-#: postmaster/bgworker.c:751
+#: postmaster/bgworker.c:764
 #, c-format
 msgid "background worker \"%s\": only dynamic background workers can request notification"
 msgstr "processo di lavoro in background \"%s\": solo i processi dinamici possono richiedere notifiche"
 
-#: postmaster/bgworker.c:766
+#: postmaster/bgworker.c:779
 #, c-format
 msgid "too many background workers"
 msgstr "troppi processi di lavoro in background"
 
-#: postmaster/bgworker.c:767
+#: postmaster/bgworker.c:780
 #, c-format
 msgid "Up to %d background worker can be registered with the current settings."
 msgid_plural "Up to %d background workers can be registered with the current settings."
 msgstr[0] "Le impostazioni correnti consentono la registrazione di un massimo di %d processi di lavoro in background."
 msgstr[1] "Le impostazioni correnti consentono la registrazione di un massimo di %d processi di lavoro in background."
 
-#: postmaster/bgworker.c:771
+#: postmaster/bgworker.c:784
 #, c-format
 msgid "Consider increasing the configuration parameter \"max_worker_processes\"."
 msgstr "Considera di incrementare il parametro di configurazione \"max_worker_processes\"."
 
-#: postmaster/checkpointer.c:481
+#: postmaster/checkpointer.c:470
 #, c-format
 msgid "checkpoints are occurring too frequently (%d second apart)"
 msgid_plural "checkpoints are occurring too frequently (%d seconds apart)"
 msgstr[0] "i checkpoint stanno avvenendo troppo frequentemente (a distanza di %d secondo)"
 msgstr[1] "i checkpoint stanno avvenendo troppo frequentemente (a distanza di %d secondi)"
 
-#: postmaster/checkpointer.c:485
+#: postmaster/checkpointer.c:474
 #, c-format
-msgid "Consider increasing the configuration parameter \"checkpoint_segments\"."
-msgstr "Considera di incrementare il parametro di configurazione \"checkpoint_segments\"."
+msgid "Consider increasing the configuration parameter \"max_wal_size\"."
+msgstr "Considera di incrementare il parametro di configurazione \"max_wal_size\"."
 
-#: postmaster/checkpointer.c:630
+#: postmaster/checkpointer.c:621
 #, c-format
 msgid "transaction log switch forced (archive_timeout=%d)"
 msgstr "passaggio al prossimo log delle transazioni forzato (archive_timeout=%d)"
 
-#: postmaster/checkpointer.c:1083
+#: postmaster/checkpointer.c:1081
 #, c-format
 msgid "checkpoint request failed"
 msgstr "richiesta di checkpoint fallita"
 
-#: postmaster/checkpointer.c:1084
+#: postmaster/checkpointer.c:1082
 #, c-format
 msgid "Consult recent messages in the server log for details."
 msgstr "Consulta i messaggi recenti nel log del server per i dettagli."
 
-#: postmaster/checkpointer.c:1280
+#: postmaster/checkpointer.c:1277
 #, c-format
 msgid "compacted fsync request queue from %d entries to %d entries"
 msgstr "coda di richieste di fsync ridotta da %d a %d elementi"
 
-#: postmaster/pgarch.c:154
+#: postmaster/pgarch.c:149
 #, c-format
 msgid "could not fork archiver: %m"
 msgstr "non è possibile fare un fork dell'archiver: %m"
 
-#: postmaster/pgarch.c:481
+#: postmaster/pgarch.c:456
 #, c-format
 msgid "archive_mode enabled, yet archive_command is not set"
 msgstr "archive_mode abilitato, ma archive_command non è impostato"
 
-#: postmaster/pgarch.c:509
+#: postmaster/pgarch.c:484
 #, c-format
 msgid "archiving transaction log file \"%s\" failed too many times, will try again later"
 msgstr "archiviazione del file di log delle transazioni \"%s\" fallita troppe volte, verrà riprovato più tardi"
 
-#: postmaster/pgarch.c:612
+#: postmaster/pgarch.c:587
 #, c-format
 msgid "archive command failed with exit code %d"
 msgstr "comando di archiviazione fallito con codice di uscita %d"
 
-#: postmaster/pgarch.c:614 postmaster/pgarch.c:624 postmaster/pgarch.c:631
-#: postmaster/pgarch.c:637 postmaster/pgarch.c:646
+#: postmaster/pgarch.c:589 postmaster/pgarch.c:599 postmaster/pgarch.c:606
+#: postmaster/pgarch.c:612 postmaster/pgarch.c:621
 #, c-format
 msgid "The failed archive command was: %s"
 msgstr "Il comando di archiviazione fallito era: %s"
 
-#: postmaster/pgarch.c:621
+#: postmaster/pgarch.c:596
 #, c-format
 msgid "archive command was terminated by exception 0x%X"
 msgstr "comando di archiviazione terminato da eccezione 0x%X"
 
-#: postmaster/pgarch.c:623 postmaster/postmaster.c:3303
+#: postmaster/pgarch.c:598 postmaster/postmaster.c:3352
 #, c-format
 msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
 msgstr "Consulta il file include C \"ntstatus.h\" per una spiegazione del valore esadecimale."
 
-#: postmaster/pgarch.c:628
+#: postmaster/pgarch.c:603
 #, c-format
 msgid "archive command was terminated by signal %d: %s"
 msgstr "comando di archiviazione terminato dal segnale %d: %s"
 
-#: postmaster/pgarch.c:635
+#: postmaster/pgarch.c:610
 #, c-format
 msgid "archive command was terminated by signal %d"
 msgstr "comando di archiviazione terminato dal segnale %d"
 
-#: postmaster/pgarch.c:644
+#: postmaster/pgarch.c:619
 #, c-format
 msgid "archive command exited with unrecognized status %d"
 msgstr "processo di archiviazione uscito con stato sconosciuto %d"
 
-#: postmaster/pgarch.c:656
+#: postmaster/pgarch.c:631
 #, c-format
 msgid "archived transaction log file \"%s\""
 msgstr "file di log delle transazioni archiviato \"%s\""
 
-#: postmaster/pgarch.c:705
+#: postmaster/pgarch.c:680
 #, c-format
 msgid "could not open archive status directory \"%s\": %m"
 msgstr "apertura della directory dello stato dell'archivio \"%s\" fallita: %m"
 
-#: postmaster/pgstat.c:354
+#: postmaster/pgstat.c:356
 #, c-format
 msgid "could not resolve \"localhost\": %s"
 msgstr "risoluzione di \"localhost\" fallita: %s"
 
-#: postmaster/pgstat.c:377
+#: postmaster/pgstat.c:379
 #, c-format
 msgid "trying another address for the statistics collector"
 msgstr "si sta tentando di usare un diverso indirizzo per il raccoglitore di statistiche"
 
-#: postmaster/pgstat.c:386
+#: postmaster/pgstat.c:388
 #, c-format
 msgid "could not create socket for statistics collector: %m"
 msgstr "creazione del socket per il raccoglitore di statistiche fallita: %m"
 
-#: postmaster/pgstat.c:398
+#: postmaster/pgstat.c:400
 #, c-format
 msgid "could not bind socket for statistics collector: %m"
 msgstr "bind del socket per il raccoglitore di statistiche fallito: %m"
 
-#: postmaster/pgstat.c:409
+#: postmaster/pgstat.c:411
 #, c-format
 msgid "could not get address of socket for statistics collector: %m"
 msgstr "non è stato possibile ottenere l'indirizzo del socket per il raccoglitore di statistiche: %m"
 
-#: postmaster/pgstat.c:425
+#: postmaster/pgstat.c:427
 #, c-format
 msgid "could not connect socket for statistics collector: %m"
 msgstr "connessione al socket per il raccoglitore statistiche fallita: %m"
 
-#: postmaster/pgstat.c:446
+#: postmaster/pgstat.c:448
 #, c-format
 msgid "could not send test message on socket for statistics collector: %m"
 msgstr "invio del messaggio di prova al socket per il raccoglitore di statistiche fallito: %m"
 
-#: postmaster/pgstat.c:472
+#: postmaster/pgstat.c:474
 #, c-format
 msgid "select() failed in statistics collector: %m"
 msgstr "select() fallita nel raccoglitore di statistiche: %m"
 
-#: postmaster/pgstat.c:487
+#: postmaster/pgstat.c:489
 #, c-format
 msgid "test message did not get through on socket for statistics collector"
 msgstr "il messaggio di prova non ha raggiunto il socket per il raccoglitore di statistiche"
 
-#: postmaster/pgstat.c:502
+#: postmaster/pgstat.c:504
 #, c-format
 msgid "could not receive test message on socket for statistics collector: %m"
 msgstr "ricezione del messaggio di prova sul socket per il raccoglitore di statistiche fallito: %m"
 
-#: postmaster/pgstat.c:512
+#: postmaster/pgstat.c:514
 #, c-format
 msgid "incorrect test message transmission on socket for statistics collector"
 msgstr "trasmissione errata del messaggio di prova per il raccoglitore di statistiche"
 
-#: postmaster/pgstat.c:535
+#: postmaster/pgstat.c:537
 #, c-format
 msgid "could not set statistics collector socket to nonblocking mode: %m"
 msgstr "impostazione del socket per il raccoglitore di statistiche in modalità non bloccante fallita: %m"
 
-#: postmaster/pgstat.c:545
+#: postmaster/pgstat.c:547
 #, c-format
 msgid "disabling statistics collector for lack of working socket"
 msgstr "raccoglitore di statistiche disabilitato per mancanza di un socket funzionante"
 
-#: postmaster/pgstat.c:692
+#: postmaster/pgstat.c:694
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr "fork del raccoglitore di statistiche fallito: %m"
@@ -12596,198 +13651,213 @@ msgstr "obiettivo del reset sconosciuto: \"%s\""
 msgid "Target must be \"archiver\" or \"bgwriter\"."
 msgstr "L'obiettivo deve essere \"archiver\" o \"bgwriter\"."
 
-#: postmaster/pgstat.c:3280
+#: postmaster/pgstat.c:3414
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "lettura del messaggio delle statistiche fallito: %m"
 
-#: postmaster/pgstat.c:3613 postmaster/pgstat.c:3790
+#: postmaster/pgstat.c:3745 postmaster/pgstat.c:3922
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "apertura del file temporaneo delle statistiche \"%s\" fallita: %m"
 
-#: postmaster/pgstat.c:3681 postmaster/pgstat.c:3835
+#: postmaster/pgstat.c:3813 postmaster/pgstat.c:3967
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "scrittura del file temporaneo delle statistiche \"%s\" fallita: %m"
 
-#: postmaster/pgstat.c:3690 postmaster/pgstat.c:3844
+#: postmaster/pgstat.c:3822 postmaster/pgstat.c:3976
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "chiusura del file temporaneo delle statistiche \"%s\" fallita: %m"
 
-#: postmaster/pgstat.c:3698 postmaster/pgstat.c:3852
+#: postmaster/pgstat.c:3830 postmaster/pgstat.c:3984
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr "non è stato possibile rinominare il file temporaneo delle statistiche \"%s\" in \"%s\": %m"
 
-#: postmaster/pgstat.c:3935 postmaster/pgstat.c:4120 postmaster/pgstat.c:4275
+#: postmaster/pgstat.c:4066 postmaster/pgstat.c:4249 postmaster/pgstat.c:4404
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "apertura del file delle statistiche \"%s\" fallita: %m"
 
-#: postmaster/pgstat.c:3947 postmaster/pgstat.c:3957 postmaster/pgstat.c:3967
-#: postmaster/pgstat.c:3988 postmaster/pgstat.c:4003 postmaster/pgstat.c:4061
-#: postmaster/pgstat.c:4132 postmaster/pgstat.c:4152 postmaster/pgstat.c:4170
-#: postmaster/pgstat.c:4186 postmaster/pgstat.c:4204 postmaster/pgstat.c:4220
-#: postmaster/pgstat.c:4287 postmaster/pgstat.c:4299 postmaster/pgstat.c:4311
-#: postmaster/pgstat.c:4336 postmaster/pgstat.c:4358
+#: postmaster/pgstat.c:4078 postmaster/pgstat.c:4088 postmaster/pgstat.c:4098
+#: postmaster/pgstat.c:4119 postmaster/pgstat.c:4134 postmaster/pgstat.c:4190
+#: postmaster/pgstat.c:4261 postmaster/pgstat.c:4281 postmaster/pgstat.c:4299
+#: postmaster/pgstat.c:4315 postmaster/pgstat.c:4333 postmaster/pgstat.c:4349
+#: postmaster/pgstat.c:4416 postmaster/pgstat.c:4428 postmaster/pgstat.c:4440
+#: postmaster/pgstat.c:4465 postmaster/pgstat.c:4487
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "file delle statistiche corrotto \"%s\""
 
-#: postmaster/pgstat.c:4785
+#: postmaster/pgstat.c:4604
+#, c-format
+msgid "using stale statistics instead of current ones because stats collector is not responding"
+msgstr "verranno utilizzate statistiche vecchie invece di quelle correnti perché il processo di raccolta statistiche non risponde"
+
+#: postmaster/pgstat.c:4922
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "tabella hash del database corrotta durante la pulizia --- interruzione"
 
-#: postmaster/postmaster.c:650
+#: postmaster/postmaster.c:664
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s: argomento non valido per l'opzione -f: \"%s\"\n"
 
-#: postmaster/postmaster.c:736
+#: postmaster/postmaster.c:750
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s: argomento non valido per l'opzione -t: \"%s\"\n"
 
-#: postmaster/postmaster.c:787
+#: postmaster/postmaster.c:801
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: argomento non valido: \"%s\"\n"
 
-#: postmaster/postmaster.c:822
+#: postmaster/postmaster.c:836
 #, c-format
 msgid "%s: superuser_reserved_connections must be less than max_connections\n"
 msgstr "%s: superuser_reserved_connections dev'essere minore di max_connections\n"
 
-#: postmaster/postmaster.c:827
+#: postmaster/postmaster.c:841
 #, c-format
 msgid "%s: max_wal_senders must be less than max_connections\n"
 msgstr "%s: max_wal_senders dev'essere minore di max_connections\n"
 
-#: postmaster/postmaster.c:832
+#: postmaster/postmaster.c:846
 #, c-format
-msgid "WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
-msgstr "l'archiviazione WAL (archive_mode=on) richiede wal_level \"archive\", \"hot_standby\" oppure \"logical\""
+msgid "WAL archival cannot be enabled when wal_level is \"minimal\""
+msgstr "l'archiviazione dei WAL non può essere attivata quando wal_level è \"minimal\""
 
-#: postmaster/postmaster.c:835
+#: postmaster/postmaster.c:849
 #, c-format
 msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
 msgstr "lo streaming WAL (max_wal_senders > 0) richiede wal_level \"archive\", \"hot_standby\" oppure \"logical\""
 
-#: postmaster/postmaster.c:843
+#: postmaster/postmaster.c:857
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: datetoken tables non valido, per favore correggilo\n"
 
-#: postmaster/postmaster.c:925 postmaster/postmaster.c:1023
-#: utils/init/miscinit.c:1188
+#: postmaster/postmaster.c:939 postmaster/postmaster.c:1037
+#: utils/init/miscinit.c:1310
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "sintassi di lista non valida nel parametro \"%s\""
 
-#: postmaster/postmaster.c:956
+#: postmaster/postmaster.c:970
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "creazione del socket di ascolto per \"%s\" fallita"
 
-#: postmaster/postmaster.c:962
+#: postmaster/postmaster.c:976
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "non è stato possibile creare alcun socket TCP/IP"
 
-#: postmaster/postmaster.c:1045
+#: postmaster/postmaster.c:1059
 #, c-format
 msgid "could not create Unix-domain socket in directory \"%s\""
 msgstr "creazione del socket di dominio Unix fallita nella directory \"%s\""
 
-#: postmaster/postmaster.c:1051
+#: postmaster/postmaster.c:1065
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "creazione del socket di dominio Unix fallita"
 
-#: postmaster/postmaster.c:1063
+#: postmaster/postmaster.c:1077
 #, c-format
 msgid "no socket created for listening"
 msgstr "nessun socket per l'ascolto è stato creato"
 
-#: postmaster/postmaster.c:1103
+#: postmaster/postmaster.c:1117
 #, c-format
 msgid "could not create I/O completion port for child queue"
 msgstr "creazione della porta di completamento I/O per la coda dei figli fallita"
 
-#: postmaster/postmaster.c:1132
+#: postmaster/postmaster.c:1146
 #, c-format
 msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
 msgstr "%s: modifica dei permessi del file PID esterno \"%s\" fallita: %s\n"
 
-#: postmaster/postmaster.c:1136
+#: postmaster/postmaster.c:1150
 #, c-format
 msgid "%s: could not write external PID file \"%s\": %s\n"
 msgstr "%s: scrittura del file PID esterno \"%s\" fallita: %s\n"
 
-#: postmaster/postmaster.c:1160
+#: postmaster/postmaster.c:1180
 #, c-format
 msgid "ending log output to stderr"
 msgstr "terminazione dell'output del log su stderr"
 
-#: postmaster/postmaster.c:1161
+#: postmaster/postmaster.c:1181
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "L'output dei prossimi log andrà su \"%s\"."
 
-#: postmaster/postmaster.c:1187 utils/init/postinit.c:199
+#: postmaster/postmaster.c:1207 utils/init/postinit.c:213
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "caricamento di pg_hba.conf fallito"
 
-#: postmaster/postmaster.c:1263
+#: postmaster/postmaster.c:1233
+#, c-format
+msgid "postmaster became multithreaded during startup"
+msgstr "il postmaster è diventato multithread durante l'avvio"
+
+#: postmaster/postmaster.c:1234
+#, c-format
+msgid "Set the LC_ALL environment variable to a valid locale."
+msgstr "Imposta la variabile d'ambiente LC_ALL non corrisponde ad un locale valido."
+
+#: postmaster/postmaster.c:1294
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: eseguibile postgres corrispondente non trovato"
 
-#: postmaster/postmaster.c:1286 utils/misc/tzparser.c:341
+#: postmaster/postmaster.c:1317 utils/misc/tzparser.c:341
 #, c-format
 msgid "This may indicate an incomplete PostgreSQL installation, or that the file \"%s\" has been moved away from its proper location."
 msgstr "Questo potrebbe indicare una installazione di PostgreSQL incompleta, o che il file \"%s\" sia stato spostato dalla sua posizione corretta."
 
-#: postmaster/postmaster.c:1314
+#: postmaster/postmaster.c:1345
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "la directory dei dati \"%s\" non esiste"
 
-#: postmaster/postmaster.c:1319
+#: postmaster/postmaster.c:1350
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "lettura dei permessi della directory \"%s\" fallita: %m"
 
-#: postmaster/postmaster.c:1327
+#: postmaster/postmaster.c:1358
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "la directory dei dati specificata \"%s\" non è una directory"
 
-#: postmaster/postmaster.c:1343
+#: postmaster/postmaster.c:1374
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "la directory dei dati \"%s\" ha il proprietario errato"
 
-#: postmaster/postmaster.c:1345
+#: postmaster/postmaster.c:1376
 #, c-format
 msgid "The server must be started by the user that owns the data directory."
 msgstr "Il server deve essere avviato dall'utente che possiede la directory dei dati."
 
-#: postmaster/postmaster.c:1365
+#: postmaster/postmaster.c:1396
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr "la directory dei dati \"%s\" è accessibile dal gruppo o da tutti"
 
-#: postmaster/postmaster.c:1367
+#: postmaster/postmaster.c:1398
 #, c-format
 msgid "Permissions should be u=rwx (0700)."
 msgstr "I permessi dovrebbero essere u=rwx (0700)."
 
-#: postmaster/postmaster.c:1378
+#: postmaster/postmaster.c:1409
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -12798,404 +13868,414 @@ msgstr ""
 "Sarebbe dovuto essere nella directory \"%s\",\n"
 "ma l'apertura del file \"%s\" è fallita: %s\n"
 
-#: postmaster/postmaster.c:1552
+#: postmaster/postmaster.c:1585
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "select() fallita in postmaster: %m"
 
-#: postmaster/postmaster.c:1747 postmaster/postmaster.c:1778
+#: postmaster/postmaster.c:1783 postmaster/postmaster.c:1814
 #, c-format
 msgid "incomplete startup packet"
 msgstr "pacchetto di avvio incompleto"
 
-#: postmaster/postmaster.c:1759
+#: postmaster/postmaster.c:1795
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "dimensione del pacchetto di avvio non valida"
 
-#: postmaster/postmaster.c:1816
+#: postmaster/postmaster.c:1853
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "invio della risposta di negoziazione SSL fallito: %m"
 
-#: postmaster/postmaster.c:1845
+#: postmaster/postmaster.c:1882
 #, c-format
 msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr "protocollo frontend non supportato %u.%u: il server supporta da %u.0 a %u.%u"
 
-#: postmaster/postmaster.c:1908
+#: postmaster/postmaster.c:1945
 #, c-format
 msgid "invalid value for parameter \"replication\""
 msgstr "valore non valido per il parametro \"replication\""
 
-#: postmaster/postmaster.c:1909
+#: postmaster/postmaster.c:1946
 #, c-format
 msgid "Valid values are: false, 0, true, 1, database."
 msgstr "I valori validi sono: false, 0, true, 1, database."
 
-#: postmaster/postmaster.c:1929
+#: postmaster/postmaster.c:1966
 #, c-format
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr "formato del pacchetto di avvio non valido: atteso il terminatore all'ultimo byte"
 
-#: postmaster/postmaster.c:1957
+#: postmaster/postmaster.c:1994
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "nessun utente PostgreSQL specificato nel pacchetto di avvio"
 
-#: postmaster/postmaster.c:2016
+#: postmaster/postmaster.c:2053
 #, c-format
 msgid "the database system is starting up"
 msgstr "il database si sta avviando"
 
-#: postmaster/postmaster.c:2021
+#: postmaster/postmaster.c:2058
 #, c-format
 msgid "the database system is shutting down"
 msgstr "il database si sta spegnendo"
 
-#: postmaster/postmaster.c:2026
+#: postmaster/postmaster.c:2063
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "il database è in modalità di ripristino"
 
-#: postmaster/postmaster.c:2031 storage/ipc/procarray.c:286
-#: storage/ipc/sinvaladt.c:305 storage/lmgr/proc.c:339
+#: postmaster/postmaster.c:2068 storage/ipc/procarray.c:284
+#: storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:334
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "spiacente, troppi client già connessi"
 
-#: postmaster/postmaster.c:2093
+#: postmaster/postmaster.c:2130
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "chiave sbagliata nella richiesta di annullamento per il processo %d"
 
-#: postmaster/postmaster.c:2101
+#: postmaster/postmaster.c:2138
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "il PID %d nella richiesta di annullamento non corrisponde ad alcun processo"
 
-#: postmaster/postmaster.c:2321
+#: postmaster/postmaster.c:2358
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "SIGHUP ricevuto, sto ricaricando i file di configurazione"
 
-#: postmaster/postmaster.c:2347
+#: postmaster/postmaster.c:2384
 #, c-format
 msgid "pg_hba.conf not reloaded"
 msgstr "pg_hba.conf non è stato ricaricato"
 
-#: postmaster/postmaster.c:2351
+#: postmaster/postmaster.c:2388
 #, c-format
 msgid "pg_ident.conf not reloaded"
 msgstr "pg_ident.conf non è stato ricaricato"
 
-#: postmaster/postmaster.c:2392
+#: postmaster/postmaster.c:2429
 #, c-format
 msgid "received smart shutdown request"
 msgstr "richiesta di arresto smart ricevuta"
 
-#: postmaster/postmaster.c:2445
+#: postmaster/postmaster.c:2482
 #, c-format
 msgid "received fast shutdown request"
 msgstr "richiesta di arresto fast ricevuta"
 
-#: postmaster/postmaster.c:2471
+#: postmaster/postmaster.c:2508
 #, c-format
 msgid "aborting any active transactions"
 msgstr "interruzione di tutte le transazioni attive"
 
-#: postmaster/postmaster.c:2505
+#: postmaster/postmaster.c:2542
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "richiesta di arresto immediate ricevuta"
 
-#: postmaster/postmaster.c:2569 postmaster/postmaster.c:2590
+#: postmaster/postmaster.c:2602
+#, c-format
+msgid "shutdown at recovery target"
+msgstr "arresto all'obiettivo di recupero"
+
+#: postmaster/postmaster.c:2617 postmaster/postmaster.c:2638
 msgid "startup process"
 msgstr "avvio del processo"
 
-#: postmaster/postmaster.c:2572
+#: postmaster/postmaster.c:2620
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "avvio interrotto a causa del fallimento del processo di avvio"
 
-#: postmaster/postmaster.c:2630
+#: postmaster/postmaster.c:2678
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "il database è pronto ad accettare connessioni"
 
-#: postmaster/postmaster.c:2645
+#: postmaster/postmaster.c:2693
 msgid "background writer process"
 msgstr "processo di scrittura in background"
 
-#: postmaster/postmaster.c:2699
+#: postmaster/postmaster.c:2747
 msgid "checkpointer process"
 msgstr "processo di creazione checkpoint"
 
-#: postmaster/postmaster.c:2715
+#: postmaster/postmaster.c:2763
 msgid "WAL writer process"
 msgstr "processo di scrittura WAL"
 
-#: postmaster/postmaster.c:2729
+#: postmaster/postmaster.c:2777
 msgid "WAL receiver process"
 msgstr "processo di ricezione WAL"
 
-#: postmaster/postmaster.c:2744
+#: postmaster/postmaster.c:2792
 msgid "autovacuum launcher process"
 msgstr "processo del lanciatore di autovacuum"
 
-#: postmaster/postmaster.c:2759
+#: postmaster/postmaster.c:2807
 msgid "archiver process"
 msgstr "processo di archiviazione"
 
-#: postmaster/postmaster.c:2775
+#: postmaster/postmaster.c:2823
 msgid "statistics collector process"
 msgstr "processo del raccoglitore di statistiche"
 
-#: postmaster/postmaster.c:2789
+#: postmaster/postmaster.c:2837
 msgid "system logger process"
 msgstr "processo del logger di sistema"
 
-#: postmaster/postmaster.c:2851
+#: postmaster/postmaster.c:2899
 msgid "worker process"
 msgstr "processo di lavoro"
 
-#: postmaster/postmaster.c:2937 postmaster/postmaster.c:2957
-#: postmaster/postmaster.c:2964 postmaster/postmaster.c:2982
+#: postmaster/postmaster.c:2986 postmaster/postmaster.c:3006
+#: postmaster/postmaster.c:3013 postmaster/postmaster.c:3031
 msgid "server process"
 msgstr "processo del server"
 
-#: postmaster/postmaster.c:3036
+#: postmaster/postmaster.c:3085
 #, c-format
 msgid "terminating any other active server processes"
 msgstr "interruzione di tutti gli altri processi attivi del server"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3291
+#: postmaster/postmaster.c:3340
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) è uscito con codice di uscita %d"
 
-#: postmaster/postmaster.c:3293 postmaster/postmaster.c:3304
-#: postmaster/postmaster.c:3315 postmaster/postmaster.c:3324
-#: postmaster/postmaster.c:3334
+#: postmaster/postmaster.c:3342 postmaster/postmaster.c:3353
+#: postmaster/postmaster.c:3364 postmaster/postmaster.c:3373
+#: postmaster/postmaster.c:3383
 #, c-format
 msgid "Failed process was running: %s"
 msgstr "Il processo fallito stava eseguendo: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3301
+#: postmaster/postmaster.c:3350
 #, c-format
 msgid "%s (PID %d) was terminated by exception 0x%X"
 msgstr "%s (PID %d) è stato terminato dall'eccezione 0x%X"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3311
+#: postmaster/postmaster.c:3360
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d: %s"
 msgstr "%s (PID %d) è stato terminato dal segnale %d: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3322
+#: postmaster/postmaster.c:3371
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d"
 msgstr "%s (PID %d) è stato terminato dal segnale %d"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3332
+#: postmaster/postmaster.c:3381
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) uscito con stato sconosciuto %d"
 
-#: postmaster/postmaster.c:3520
+#: postmaster/postmaster.c:3569
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "spegnimento anormale del database"
 
-#: postmaster/postmaster.c:3559
+#: postmaster/postmaster.c:3608
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "tutti i processi server sono terminati; re-inizializzazione"
 
-#: postmaster/postmaster.c:3811
+#: postmaster/postmaster.c:3849
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "fork del nuovo processo per la connessione fallito: %m"
 
-#: postmaster/postmaster.c:3853
+#: postmaster/postmaster.c:3891
 msgid "could not fork new process for connection: "
 msgstr "fork del nuovo processo per la connessione fallito: "
 
-#: postmaster/postmaster.c:3960
+#: postmaster/postmaster.c:3997
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "connessione ricevuta: host=%s porta=%s"
 
-#: postmaster/postmaster.c:3965
+#: postmaster/postmaster.c:4002
 #, c-format
 msgid "connection received: host=%s"
 msgstr "connessione ricevuta: host=%s"
 
-#: postmaster/postmaster.c:4255
+#: postmaster/postmaster.c:4291
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "esecuzione del processo del server \"%s\" fallita: %m"
 
-#: postmaster/postmaster.c:4804
+#: postmaster/postmaster.c:4848
 #, c-format
 msgid "database system is ready to accept read only connections"
 msgstr "il database è pronto ad accettare connessioni in sola lettura"
 
-#: postmaster/postmaster.c:5117
+#: postmaster/postmaster.c:5158
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "fork del processo di avvio fallito: %m"
 
-#: postmaster/postmaster.c:5121
+#: postmaster/postmaster.c:5162
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "fork del processo di scrittura in background fallito: %m"
 
-#: postmaster/postmaster.c:5125
+#: postmaster/postmaster.c:5166
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "fork del processo di creazione dei checkpoint fallito: %m"
 
-#: postmaster/postmaster.c:5129
+#: postmaster/postmaster.c:5170
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "fork del processo di scrittura dei WAL fallito: %m"
 
-#: postmaster/postmaster.c:5133
+#: postmaster/postmaster.c:5174
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "fork del processo di ricezione dei WAL fallito: %m"
 
-#: postmaster/postmaster.c:5137
+#: postmaster/postmaster.c:5178
 #, c-format
 msgid "could not fork process: %m"
 msgstr "fork del processo fallito: %m"
 
-#: postmaster/postmaster.c:5299
+#: postmaster/postmaster.c:5340 postmaster/postmaster.c:5363
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr "requisiti di connessione a database non indicati durante la registrazione"
 
-#: postmaster/postmaster.c:5306
+#: postmaster/postmaster.c:5347 postmaster/postmaster.c:5370
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "modalità di processo non valida nel processo di lavoro in background"
 
-#: postmaster/postmaster.c:5358
+#: postmaster/postmaster.c:5422
 #, c-format
 msgid "starting background worker process \"%s\""
 msgstr "avvio del processo di lavoro in background \"%s\""
 
-#: postmaster/postmaster.c:5369
+#: postmaster/postmaster.c:5433
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "fork del processo di lavoro in background fallito: %m"
 
-#: postmaster/postmaster.c:5758
+#: postmaster/postmaster.c:5821
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr "duplicazione del socket %d da usare nel backend fallita: codice errore %d"
 
-#: postmaster/postmaster.c:5790
+#: postmaster/postmaster.c:5853
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "creazione del socket ereditato fallita: codice errore %d\n"
 
-#: postmaster/postmaster.c:5819 postmaster/postmaster.c:5826
+#: postmaster/postmaster.c:5882
+#, c-format
+msgid "could not open backend variables file \"%s\": %s\n"
+msgstr "apertura del file delle variabili del backend \"%s\" fallita: %s\n"
+
+#: postmaster/postmaster.c:5889
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "lettura dal file delle variabili del backend \"%s\" fallita: %s\n"
 
-#: postmaster/postmaster.c:5835
+#: postmaster/postmaster.c:5898
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "rimozione del file \"%s\" fallita: %s\n"
 
-#: postmaster/postmaster.c:5852
+#: postmaster/postmaster.c:5915
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr "non è stato possibile mappare la vista delle variabili del backend: codice errore %lu\n"
 
-#: postmaster/postmaster.c:5861
+#: postmaster/postmaster.c:5924
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr "non è stato possibile rimuovere la mappa della vista delle variabili del backend: codice errore %lu\n"
 
-#: postmaster/postmaster.c:5868
+#: postmaster/postmaster.c:5931
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr "chiusura dell'handle dei parametri variabili del backend fallita: codice errore %lu\n"
 
-#: postmaster/postmaster.c:6027
+#: postmaster/postmaster.c:6090
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "lettura del codice di uscita del processo fallita\n"
 
-#: postmaster/postmaster.c:6032
+#: postmaster/postmaster.c:6095
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "invio dello stato di completamento del figlio fallito\n"
 
-#: postmaster/syslogger.c:463 postmaster/syslogger.c:1064
+#: postmaster/syslogger.c:441 postmaster/syslogger.c:1041
 #, c-format
 msgid "could not read from logger pipe: %m"
 msgstr "lettura dalla pipe del logger fallita: %m"
 
-#: postmaster/syslogger.c:512
+#: postmaster/syslogger.c:490
 #, c-format
 msgid "logger shutting down"
 msgstr "spegnimento del logger"
 
-#: postmaster/syslogger.c:556 postmaster/syslogger.c:570
+#: postmaster/syslogger.c:534 postmaster/syslogger.c:548
 #, c-format
 msgid "could not create pipe for syslog: %m"
 msgstr "creazione della pipe per il syslog fallita: %m"
 
-#: postmaster/syslogger.c:606
+#: postmaster/syslogger.c:584
 #, c-format
 msgid "could not fork system logger: %m"
 msgstr "fork del logger di sistema fallito: %m"
 
-#: postmaster/syslogger.c:643
+#: postmaster/syslogger.c:620
 #, c-format
 msgid "redirecting log output to logging collector process"
 msgstr "redirezione dell'output ti log al processo di raccolta dei log"
 
-#: postmaster/syslogger.c:644
+#: postmaster/syslogger.c:621
 #, c-format
 msgid "Future log output will appear in directory \"%s\"."
 msgstr "I prossimi output di log appariranno nella directory \"%s\"."
 
-#: postmaster/syslogger.c:652
+#: postmaster/syslogger.c:629
 #, c-format
 msgid "could not redirect stdout: %m"
 msgstr "redirezione di stdout fallita: %m"
 
-#: postmaster/syslogger.c:657 postmaster/syslogger.c:674
+#: postmaster/syslogger.c:634 postmaster/syslogger.c:651
 #, c-format
 msgid "could not redirect stderr: %m"
 msgstr "redirezione di stderr fallita: %m"
 
-#: postmaster/syslogger.c:1019
+#: postmaster/syslogger.c:996
 #, c-format
 msgid "could not write to log file: %s\n"
 msgstr "scrittura nel file di log fallita: %s\n"
 
-#: postmaster/syslogger.c:1159
+#: postmaster/syslogger.c:1136
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "apertura del file di log \"%s\" fallita: %m"
 
-#: postmaster/syslogger.c:1221 postmaster/syslogger.c:1265
+#: postmaster/syslogger.c:1198 postmaster/syslogger.c:1242
 #, c-format
 msgid "disabling automatic rotation (use SIGHUP to re-enable)"
 msgstr "rotazione automatica disabilitata (usa SIGHUP per abilitarla di nuovo)"
@@ -13205,257 +14285,334 @@ msgstr "rotazione automatica disabilitata (usa SIGHUP per abilitarla di nuovo)"
 msgid "could not determine which collation to use for regular expression"
 msgstr "non è stato possibile determinare quale ordinamento usare per le espressioni regolari"
 
-#: replication/basebackup.c:184 replication/basebackup.c:1044
-#: utils/adt/misc.c:353
-#, c-format
-msgid "could not read symbolic link \"%s\": %m"
-msgstr "lettura del link simbolico \"%s\" fallita: %m"
-
-#: replication/basebackup.c:191 replication/basebackup.c:1048
-#: utils/adt/misc.c:357
-#, c-format
-msgid "symbolic link \"%s\" target is too long"
-msgstr "la destinazione del link simbolico \"%s\" è troppo lunga"
-
-#: replication/basebackup.c:284
+#: replication/basebackup.c:227
 #, c-format
 msgid "could not stat control file \"%s\": %m"
 msgstr "non è stato possibile ottenere informazioni sul file di controllo \"%s\": %m"
 
-#: replication/basebackup.c:396
+#: replication/basebackup.c:336
 #, c-format
 msgid "could not find any WAL files"
 msgstr "nessun file WAL trovato"
 
-#: replication/basebackup.c:409 replication/basebackup.c:423
-#: replication/basebackup.c:432
+#: replication/basebackup.c:349 replication/basebackup.c:363
+#: replication/basebackup.c:372
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "file WAL \"%s\" non trovato"
 
-#: replication/basebackup.c:471 replication/basebackup.c:496
+#: replication/basebackup.c:411 replication/basebackup.c:437
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "dimensione inaspettata del file WAL \"%s\""
 
-#: replication/basebackup.c:482 replication/basebackup.c:1186
+#: replication/basebackup.c:423 replication/basebackup.c:1177
 #, c-format
 msgid "base backup could not send data, aborting backup"
 msgstr "invio dati da parte del backup di base fallito, backup interrotto"
 
-#: replication/basebackup.c:569 replication/basebackup.c:578
-#: replication/basebackup.c:587 replication/basebackup.c:596
-#: replication/basebackup.c:605 replication/basebackup.c:616
+#: replication/basebackup.c:525 replication/basebackup.c:534
+#: replication/basebackup.c:543 replication/basebackup.c:552
+#: replication/basebackup.c:561 replication/basebackup.c:572
+#: replication/basebackup.c:589
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "opzione duplicata \"%s\""
 
-#: replication/basebackup.c:622 utils/misc/guc.c:5409
+#: replication/basebackup.c:578 utils/misc/guc.c:5503
 #, c-format
 msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d non è compreso nell'intervallo di validità del il parametro \"%s\" (%d .. %d)"
 
-#: replication/basebackup.c:879 replication/basebackup.c:972
+#: replication/basebackup.c:844 replication/basebackup.c:946
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "non è stato possibile ottenere informazioni sul file o directory \"%s\": %m"
 
-#: replication/basebackup.c:1122
+#: replication/basebackup.c:1113
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "file speciale \"%s\" saltato"
 
-#: replication/basebackup.c:1176
+#: replication/basebackup.c:1167
 #, c-format
 msgid "archive member \"%s\" too large for tar format"
 msgstr "il membro \"%s\" dell'archivio è troppo grande per il formato tar"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:106
+#: replication/basebackup.c:1240
+#, c-format
+msgid "file name too long for tar format: \"%s\""
+msgstr "nome del file troppo lungo per il formato tar: \"%s\""
+
+#: replication/basebackup.c:1245
+#, c-format
+msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\""
+msgstr "obiettivo del link simbolico troppo lungo per il formato tar: nome del file \"%s\", obiettivo \"%s\""
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:116
 #, c-format
 msgid "could not connect to the primary server: %s"
 msgstr "connessione al server primario fallita: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:130
+#: replication/libpqwalreceiver/libpqwalreceiver.c:140
 #, c-format
 msgid "could not receive database system identifier and timeline ID from the primary server: %s"
 msgstr "ricezione fallita dell'identificativo del database e l'ID della timeline dal server primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:141
-#: replication/libpqwalreceiver/libpqwalreceiver.c:294
+#: replication/libpqwalreceiver/libpqwalreceiver.c:151
+#: replication/libpqwalreceiver/libpqwalreceiver.c:305
 #, c-format
 msgid "invalid response from primary server"
 msgstr "risposta non valida dal server primario"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:142
+#: replication/libpqwalreceiver/libpqwalreceiver.c:152
 #, c-format
 msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields."
 msgstr "Identificazione del sistema non riuscita: ricevute %d righe and %d campi, attese %d righe e %d o più campi."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:158
+#: replication/libpqwalreceiver/libpqwalreceiver.c:168
 #, c-format
 msgid "database system identifier differs between the primary and standby"
 msgstr "l'identificativo del database è diverso tra il primario e lo standby"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:159
+#: replication/libpqwalreceiver/libpqwalreceiver.c:169
 #, c-format
 msgid "The primary's identifier is %s, the standby's identifier is %s."
 msgstr "L'identificativo del primario è %s, quello dello standby è %s."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:201
+#: replication/libpqwalreceiver/libpqwalreceiver.c:211
 #, c-format
 msgid "could not start WAL streaming: %s"
 msgstr "avvio dello streaming dei WAL fallito: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:219
+#: replication/libpqwalreceiver/libpqwalreceiver.c:229
 #, c-format
 msgid "could not send end-of-streaming message to primary: %s"
 msgstr "invio del messaggio di fine stream al primario fallito: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:241
+#: replication/libpqwalreceiver/libpqwalreceiver.c:251
 #, c-format
 msgid "unexpected result set after end-of-streaming"
 msgstr "risultato imprevisto dopo la fine stream"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:253
+#: replication/libpqwalreceiver/libpqwalreceiver.c:263
 #, c-format
 msgid "error reading result of streaming command: %s"
 msgstr "errore nella lettura del risultato del comando di streaming: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:260
+#: replication/libpqwalreceiver/libpqwalreceiver.c:271
 #, c-format
 msgid "unexpected result after CommandComplete: %s"
 msgstr "risultato imprevisto dopo CommandComplete: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:283
+#: replication/libpqwalreceiver/libpqwalreceiver.c:294
 #, c-format
 msgid "could not receive timeline history file from the primary server: %s"
 msgstr "errore nella ricezione del file di storia della timeline dal server primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:295
+#: replication/libpqwalreceiver/libpqwalreceiver.c:306
 #, c-format
 msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
 msgstr "Attesa una tupla con 2 campi, ricevute %d tuple con %d campi."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:323
+#: replication/libpqwalreceiver/libpqwalreceiver.c:334
 #, c-format
 msgid "socket not open"
 msgstr "socket non aperto"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:496
-#: replication/libpqwalreceiver/libpqwalreceiver.c:519
-#: replication/libpqwalreceiver/libpqwalreceiver.c:525
+#: replication/libpqwalreceiver/libpqwalreceiver.c:507
+#: replication/libpqwalreceiver/libpqwalreceiver.c:530
+#: replication/libpqwalreceiver/libpqwalreceiver.c:536
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "ricezione dati dallo stream WAL fallita: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:544
+#: replication/libpqwalreceiver/libpqwalreceiver.c:555
 #, c-format
 msgid "could not send data to WAL stream: %s"
 msgstr "invio dati allo stream WAL fallito: %s"
 
-#: replication/logical/logical.c:81
+#: replication/logical/logical.c:83
 #, c-format
 msgid "logical decoding requires wal_level >= logical"
 msgstr "la decodifica logica richiede wal_level >= logical"
 
-#: replication/logical/logical.c:86
+#: replication/logical/logical.c:88
 #, c-format
 msgid "logical decoding requires a database connection"
 msgstr "la decodifica logica richiede una connessione al database"
 
-#: replication/logical/logical.c:104
+#: replication/logical/logical.c:106
 #, c-format
 msgid "logical decoding cannot be used while in recovery"
 msgstr "la decodifica logica non può essere usata in modalità di recupero"
 
-#: replication/logical/logical.c:230 replication/logical/logical.c:381
+#: replication/logical/logical.c:237 replication/logical/logical.c:386
 #, c-format
 msgid "cannot use physical replication slot for logical decoding"
 msgstr "non si possono usare slot di replica fisica per la decodifica logica"
 
-#: replication/logical/logical.c:235 replication/logical/logical.c:386
+#: replication/logical/logical.c:242 replication/logical/logical.c:391
 #, c-format
 msgid "replication slot \"%s\" was not created in this database"
 msgstr "lo slot di replica \"%s\" non è stato creato in questo database"
 
-#: replication/logical/logical.c:242
+#: replication/logical/logical.c:249
 #, c-format
 msgid "cannot create logical replication slot in transaction that has performed writes"
 msgstr "non si possono creare slot di replica logica in transazioni che hanno effettuato scritture"
 
-#: replication/logical/logical.c:422
+#: replication/logical/logical.c:427
 #, c-format
 msgid "starting logical decoding for slot \"%s\""
 msgstr "avvio della decodifica logica per lo slot \"%s\""
 
-#: replication/logical/logical.c:424
+#: replication/logical/logical.c:429
 #, c-format
 msgid "streaming transactions committing after %X/%X, reading WAL from %X/%X"
 msgstr "commit dello streaming delle transazioni dopo %X/%X, lettura del wal a partire da %X/%X"
 
-#: replication/logical/logical.c:559
+#: replication/logical/logical.c:564
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
 msgstr "slot \"%s\", plugin di output \"%s\", nel callback %s, LSN associato %X/%X"
 
-#: replication/logical/logical.c:566
+#: replication/logical/logical.c:571
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
 msgstr "slot \"%s\", plugin di output \"%s\", nel callback %s"
 
-#: replication/logical/logicalfuncs.c:190 replication/walsender.c:2123
+#: replication/logical/logicalfuncs.c:192 replication/walsender.c:2109
 #, c-format
 msgid "could not read from log segment %s, offset %u, length %lu: %m"
 msgstr "lettura del segmento di log %s, posizione %u, lunghezza %lu fallita: %m"
 
-#: replication/logical/logicalfuncs.c:209 replication/slotfuncs.c:32
+#: replication/logical/logicalfuncs.c:211 replication/slotfuncs.c:32
 #, c-format
 msgid "must be superuser or replication role to use replication slots"
 msgstr "solo un superutente o il ruolo di replica può usare uno slot di replica"
 
-#: replication/logical/logicalfuncs.c:339
+#: replication/logical/logicalfuncs.c:341
 #, c-format
 msgid "array must be one-dimensional"
 msgstr "l'array deve essere monodimensionale"
 
-#: replication/logical/logicalfuncs.c:345
+#: replication/logical/logicalfuncs.c:347
 #, c-format
 msgid "array must not contain nulls"
 msgstr "l'array non deve contenere NULL"
 
-#: replication/logical/logicalfuncs.c:361 utils/adt/json.c:2198
+#: replication/logical/logicalfuncs.c:363 utils/adt/json.c:2211
+#: utils/adt/jsonb.c:1368
 #, c-format
 msgid "array must have even number of elements"
 msgstr "l'array deve avere un numero pari di elementi"
 
-#: replication/logical/logicalfuncs.c:404
+#: replication/logical/logicalfuncs.c:406
 #, c-format
 msgid "logical decoding output plugin \"%s\" produces binary output, but \"%s\" expects textual data"
 msgstr "il plugin di output di decodifica logica \"%s\" produce dati binari, ma \"%s\" si aspetta dati testuali"
 
-#: replication/logical/reorderbuffer.c:2100
+#: replication/logical/origin.c:181
+#, c-format
+msgid "only superusers can query or manipulate replication origins"
+msgstr "solo i superutenti possono interrogare o replicare le origini di replica"
+
+#: replication/logical/origin.c:186
+#, c-format
+msgid "cannot query or manipulate replication origin when max_replication_slots = 0"
+msgstr "non è possibile interrogare o manipolare le origini di replica quando max_replication_slots = 0"
+
+#: replication/logical/origin.c:191
+#, c-format
+msgid "cannot manipulate replication origins during recovery"
+msgstr "non è possibile manipolare le origini di replica durante il recupero"
+
+#: replication/logical/origin.c:316
+#, c-format
+msgid "no free replication oid could be found"
+msgstr "nessun oid di replica libero trovato"
+
+#: replication/logical/origin.c:353
+#, c-format
+msgid "cannot drop replication origin with oid %d, in use by pid %d"
+msgstr "impossibile eliminare l'origine di replica con oid %d, in uso dal pid %d"
+
+#: replication/logical/origin.c:686
+#, c-format
+msgid "replication checkpoint has wrong magic %u instead of %u"
+msgstr "il checkpoint di replica ha numero magico sbagliato %u invece di %u"
+
+#: replication/logical/origin.c:718
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "lettura del file \"%s\" fallita: letti %d di %zu"
+
+#: replication/logical/origin.c:727
+#, c-format
+msgid "no free replication state could be found, increase max_replication_slots"
+msgstr "nessuno stato di replica libero trovato, incrementa \"max_replication_slots\""
+
+#: replication/logical/origin.c:745
+#, c-format
+msgid "replication_slot_checkpoint has wrong checksum %u, expected %u"
+msgstr "replication_slot_checkpoint ha il checksum sbagliato %u, atteso %u"
+
+#: replication/logical/origin.c:869
+#, c-format
+msgid "replication origin with oid %d is already active for pid %d"
+msgstr "l'origine di replica con oid %d è già attiva per il pid %d"
+
+#: replication/logical/origin.c:880 replication/logical/origin.c:1060
+#, c-format
+msgid "no free replication state slot could be found for replication origin with oid %u"
+msgstr "nessuno slot di stato di replica trovato per l'origine di replica con oid %u"
+
+#: replication/logical/origin.c:882 replication/logical/origin.c:1062
+#: replication/slot.c:1241
+#, c-format
+msgid "Increase max_replication_slots and try again."
+msgstr "Incrementa max_replication_slots e prova di nuovo."
+
+#: replication/logical/origin.c:1019
+#, c-format
+msgid "cannot setup replication origin when one is already setup"
+msgstr "non è possibile impostare l'origine di replica quando una è già impostata"
+
+#: replication/logical/origin.c:1048
+#, c-format
+msgid "replication identiefer %d is already active for pid %d"
+msgstr "l'identificatore di replica %d è già attivo per il pid %d"
+
+#: replication/logical/origin.c:1094 replication/logical/origin.c:1290
+#: replication/logical/origin.c:1310
+#, c-format
+msgid "no replication origin is configured"
+msgstr "nessuna origine di replica configurata"
+
+#: replication/logical/reorderbuffer.c:2170
 #, c-format
 msgid "could not write to data file for XID %u: %m"
 msgstr "scrittura nel file di dati per lo XID %u non riuscita: %m"
 
-#: replication/logical/reorderbuffer.c:2196
-#: replication/logical/reorderbuffer.c:2216
+#: replication/logical/reorderbuffer.c:2266
+#: replication/logical/reorderbuffer.c:2286
 #, c-format
 msgid "could not read from reorderbuffer spill file: %m"
 msgstr "lettura dal file spill reorderbuffer non riuscita: %m"
 
-#: replication/logical/reorderbuffer.c:2200
-#: replication/logical/reorderbuffer.c:2220
+#: replication/logical/reorderbuffer.c:2270
+#: replication/logical/reorderbuffer.c:2290
 #, c-format
 msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
 msgstr "lettura dal file spill reorderbuffer non riuscita: letti %d byte invece di %u"
 
-#: replication/logical/reorderbuffer.c:2826
+#: replication/logical/reorderbuffer.c:2894
 #, c-format
 msgid "could not read from file \"%s\": read %d instead of %d bytes"
 msgstr "lettura dal file \"%s\" non riuscita: letti %d byte invece di %d"
 
-#: replication/logical/snapbuild.c:601
+#: replication/logical/snapbuild.c:600
 #, c-format
 msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID"
 msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs"
@@ -13521,122 +14678,117 @@ msgstr "La decodifica logica inizierà usando uno snapshot salvato."
 msgid "could not parse file name \"%s\""
 msgstr "interpretazione del nome di file \"%s\" fallita"
 
-#: replication/slot.c:173
+#: replication/slot.c:174
 #, c-format
 msgid "replication slot name \"%s\" is too short"
 msgstr "il nome dello slot di replica \"%s\" è troppo corto"
 
-#: replication/slot.c:182
+#: replication/slot.c:183
 #, c-format
 msgid "replication slot name \"%s\" is too long"
 msgstr "il nome dello slot di replica \"%s\" è troppo lungo"
 
-#: replication/slot.c:195
+#: replication/slot.c:196
 #, c-format
 msgid "replication slot name \"%s\" contains invalid character"
 msgstr "il nome dello slot di replica \"%s\" contiene caratteri non validi"
 
-#: replication/slot.c:197
+#: replication/slot.c:198
 #, c-format
 msgid "Replication slot names may only contain letters, numbers, and the underscore character."
 msgstr "I nomi degli slot di replica possono contenere solo lettere, numeri e il carattere underscore."
 
-#: replication/slot.c:244
+#: replication/slot.c:245
 #, c-format
 msgid "replication slot \"%s\" already exists"
 msgstr "lo slot di replica \"%s\" esiste già"
 
-#: replication/slot.c:254
+#: replication/slot.c:255
 #, c-format
 msgid "all replication slots are in use"
 msgstr "tutti gli slot di replica sono in uso"
 
-#: replication/slot.c:255
+#: replication/slot.c:256
 #, c-format
 msgid "Free one or increase max_replication_slots."
 msgstr "Liberane uno o incrementa max_replication_slots."
 
-#: replication/slot.c:347
+#: replication/slot.c:348
 #, c-format
 msgid "replication slot \"%s\" does not exist"
 msgstr "lo slot di replica \"%s\" non esiste"
 
-#: replication/slot.c:351
+#: replication/slot.c:352
 #, c-format
-msgid "replication slot \"%s\" is already active"
-msgstr "lo slot di replica \"%s\" è già attivo"
+msgid "replication slot \"%s\" is already active for pid %d"
+msgstr "lo slot di replica \"%s\" è già attivo per il pid %d"
 
-#: replication/slot.c:499 replication/slot.c:873 replication/slot.c:1218
+#: replication/slot.c:501 replication/slot.c:857 replication/slot.c:1202
 #, c-format
 msgid "could not remove directory \"%s\""
 msgstr "eliminazione della directory \"%s\" fallita"
 
-#: replication/slot.c:774
+#: replication/slot.c:776
 #, c-format
 msgid "replication slots can only be used if max_replication_slots > 0"
 msgstr "gli slot di replica possono essere usati solo se max_replication_slots > 0"
 
-#: replication/slot.c:779
+#: replication/slot.c:781
 #, c-format
 msgid "replication slots can only be used if wal_level >= archive"
 msgstr "gli slot di replica possono essere usati solo se wal_level >= archive"
 
-#: replication/slot.c:1150 replication/slot.c:1188
+#: replication/slot.c:1134 replication/slot.c:1172
 #, c-format
 msgid "could not read file \"%s\", read %d of %u: %m"
 msgstr "lettura del file \"%s\" fallita, letti %d su %u: %m"
 
-#: replication/slot.c:1159
+#: replication/slot.c:1143
 #, c-format
 msgid "replication slot file \"%s\" has wrong magic %u instead of %u"
 msgstr "il file dello slot di replica \"%s\" ha il numero magico sbagliato %u invece di %u"
 
-#: replication/slot.c:1166
+#: replication/slot.c:1150
 #, c-format
 msgid "replication slot file \"%s\" has unsupported version %u"
 msgstr "il file dello slot di replica \"%s\" ha la versione non supportata %u"
 
-#: replication/slot.c:1173
+#: replication/slot.c:1157
 #, c-format
 msgid "replication slot file \"%s\" has corrupted length %u"
 msgstr "il file dello slot di replica \"%s\" ha la lunghezza corrotta %u"
 
-#: replication/slot.c:1203
+#: replication/slot.c:1187
 #, c-format
 msgid "replication slot file %s: checksum mismatch, is %u, should be %u"
 msgstr "file dello slot di replica %s: il checksum %u non combacia, sarebbe dovuto essere %u"
 
-#: replication/slot.c:1256
+#: replication/slot.c:1240
 #, c-format
 msgid "too many replication slots active before shutdown"
 msgstr "troppi slot di replica attivi prima dell'arresto"
 
-#: replication/slot.c:1257
-#, c-format
-msgid "Increase max_replication_slots and try again."
-msgstr "Incrementa max_replication_slots e prova di nuovo."
-
-#: replication/syncrep.c:208
+#: replication/syncrep.c:199
 #, c-format
 msgid "canceling the wait for synchronous replication and terminating connection due to administrator command"
 msgstr "annullamento dell'attesa di replica sincrona ed interruzione della connessione su comando dell'amministratore"
 
-#: replication/syncrep.c:209 replication/syncrep.c:226
+#: replication/syncrep.c:200 replication/syncrep.c:217
 #, c-format
 msgid "The transaction has already committed locally, but might not have been replicated to the standby."
 msgstr "La transazione ha già effettuato il commit localmente, ma potrebbe non essere stata replicata agli standby."
 
-#: replication/syncrep.c:225
+#: replication/syncrep.c:216
 #, c-format
 msgid "canceling wait for synchronous replication due to user request"
 msgstr "annullamento dell'attesa di replica sincrona su richiesta utente"
 
-#: replication/syncrep.c:355
+#: replication/syncrep.c:346
 #, c-format
 msgid "standby \"%s\" now has synchronous standby priority %u"
 msgstr "lo standby \"%s\" ha ora priorità di standby sincrono %u"
 
-#: replication/syncrep.c:457
+#: replication/syncrep.c:480
 #, c-format
 msgid "standby \"%s\" is now the synchronous standby with priority %u"
 msgstr "lo standby \"%s\" è ora in standby sincrono con priorità %u"
@@ -13646,57 +14798,57 @@ msgstr "lo standby \"%s\" è ora in standby sincrono con priorità %u"
 msgid "terminating walreceiver process due to administrator command"
 msgstr "interruzione del processo walreceiver su comando dell'amministratore"
 
-#: replication/walreceiver.c:332
+#: replication/walreceiver.c:321
 #, c-format
 msgid "highest timeline %u of the primary is behind recovery timeline %u"
 msgstr "la timeline massima %u del primario è dietro la timeline di recupero %u"
 
-#: replication/walreceiver.c:367
+#: replication/walreceiver.c:356
 #, c-format
 msgid "started streaming WAL from primary at %X/%X on timeline %u"
 msgstr "streaming WAL avviato dal primario a %X/%X sulla timeline %u"
 
-#: replication/walreceiver.c:372
+#: replication/walreceiver.c:361
 #, c-format
 msgid "restarted WAL streaming at %X/%X on timeline %u"
 msgstr "streaming WAL riavviato sulla timeline %X/%X sulla timeline %u"
 
-#: replication/walreceiver.c:406
+#: replication/walreceiver.c:395
 #, c-format
 msgid "cannot continue WAL streaming, recovery has already ended"
 msgstr "non è possibile continuare lo streaming dei WAL, il recupero è già terminato"
 
-#: replication/walreceiver.c:443
+#: replication/walreceiver.c:432
 #, c-format
 msgid "replication terminated by primary server"
 msgstr "replica terminata dal server primario"
 
-#: replication/walreceiver.c:444
+#: replication/walreceiver.c:433
 #, c-format
 msgid "End of WAL reached on timeline %u at %X/%X."
 msgstr "Fine del WAL raggiunta sulla timeline %u a %X/%X."
 
-#: replication/walreceiver.c:491
+#: replication/walreceiver.c:480
 #, c-format
 msgid "terminating walreceiver due to timeout"
 msgstr "walreceiver terminato a causa di timeout"
 
-#: replication/walreceiver.c:531
+#: replication/walreceiver.c:520
 #, c-format
 msgid "primary server contains no more WAL on requested timeline %u"
 msgstr "il server primario non contiene più alcun WAL sulla timeline richiesta %u"
 
-#: replication/walreceiver.c:546 replication/walreceiver.c:903
+#: replication/walreceiver.c:535 replication/walreceiver.c:895
 #, c-format
 msgid "could not close log segment %s: %m"
 msgstr "chiusura del segmento di log %s fallita: %m"
 
-#: replication/walreceiver.c:668
+#: replication/walreceiver.c:660
 #, c-format
 msgid "fetching timeline history file for timeline %u from primary server"
 msgstr "recupero del file di storia della timeline %u dal server primario"
 
-#: replication/walreceiver.c:954
+#: replication/walreceiver.c:949
 #, c-format
 msgid "could not write to log segment %s at offset %u, length %lu: %m"
 msgstr "scrittura nel segmento di log %s in posizione %u, lunghezza %lu fallita: %m"
@@ -13726,384 +14878,407 @@ msgstr "La storia di questo server si è separata dalla timeline %u a %X/%X."
 msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
 msgstr "il punto di avvio richiesto %X/%X è più avanti della posizione di flush del WAL %X/%X di questo server"
 
-#: replication/walsender.c:947
+#: replication/walsender.c:948
 #, c-format
 msgid "terminating walsender process after promotion"
 msgstr "interruzione del processo walsender dopo la promozione"
 
-#: replication/walsender.c:1362 replication/walsender.c:1412
-#: replication/walsender.c:1461
+#: replication/walsender.c:1275
+#, c-format
+msgid "received replication command: %s"
+msgstr "ricevuto comando di replica: %s"
+
+#: replication/walsender.c:1368 replication/walsender.c:1384
 #, c-format
 msgid "unexpected EOF on standby connection"
 msgstr "fine del file inaspettato sulla connessione di standby"
 
-#: replication/walsender.c:1381
+#: replication/walsender.c:1398
 #, c-format
 msgid "unexpected standby message type \"%c\", after receiving CopyDone"
 msgstr "tipo di messaggio di standby \"%c\" imprevisto, dopo la ricezione di CopyDone"
 
-#: replication/walsender.c:1429
+#: replication/walsender.c:1436
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "tipo di messaggio \"%c\" di standby non valido"
 
-#: replication/walsender.c:1483
+#: replication/walsender.c:1477
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "tipo di messaggio \"%c\" inatteso"
 
-#: replication/walsender.c:1770
+#: replication/walsender.c:1764
 #, c-format
 msgid "terminating walsender process due to replication timeout"
 msgstr "interruzione del processo walsender a causa di timeout di replica"
 
-#: replication/walsender.c:1863
+#: replication/walsender.c:1857
 #, c-format
 msgid "standby \"%s\" has now caught up with primary"
 msgstr "lo standby \"%s\" ha ora raggiunto il primario"
 
-#: replication/walsender.c:1967
+#: replication/walsender.c:1958
 #, c-format
 msgid "number of requested standby connections exceeds max_wal_senders (currently %d)"
 msgstr "il numero di richieste di connessioni di standby supera max_wal_senders (attualmente %d)"
 
-#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:942
+#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:947
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" already exists"
 msgstr "la regola \"%s\" per la relazione \"%s\" esiste già"
 
-#: rewrite/rewriteDefine.c:295
+#: rewrite/rewriteDefine.c:296
 #, c-format
 msgid "rule actions on OLD are not implemented"
 msgstr "le regole di azione su OLD non sono implementate"
 
-#: rewrite/rewriteDefine.c:296
+#: rewrite/rewriteDefine.c:297
 #, c-format
 msgid "Use views or triggers instead."
 msgstr "Usa le viste o i trigger invece."
 
-#: rewrite/rewriteDefine.c:300
+#: rewrite/rewriteDefine.c:301
 #, c-format
 msgid "rule actions on NEW are not implemented"
 msgstr "le regole di azione su NEW non sono implementate"
 
-#: rewrite/rewriteDefine.c:301
+#: rewrite/rewriteDefine.c:302
 #, c-format
 msgid "Use triggers instead."
 msgstr "Usa i trigger invece."
 
-#: rewrite/rewriteDefine.c:314
+#: rewrite/rewriteDefine.c:315
 #, c-format
 msgid "INSTEAD NOTHING rules on SELECT are not implemented"
 msgstr "le regole INSTEAD NOTHING su SELECT non sono implementate"
 
-#: rewrite/rewriteDefine.c:315
+#: rewrite/rewriteDefine.c:316
 #, c-format
 msgid "Use views instead."
 msgstr "Usa le viste invece."
 
-#: rewrite/rewriteDefine.c:323
+#: rewrite/rewriteDefine.c:324
 #, c-format
 msgid "multiple actions for rules on SELECT are not implemented"
 msgstr "avere più di una azione per le regole su SELECT non è implementato"
 
-#: rewrite/rewriteDefine.c:334
+#: rewrite/rewriteDefine.c:335
 #, c-format
 msgid "rules on SELECT must have action INSTEAD SELECT"
 msgstr "le regole su SELECT devono avere un'azione INSTEAD SELECT"
 
-#: rewrite/rewriteDefine.c:342
+#: rewrite/rewriteDefine.c:343
 #, c-format
 msgid "rules on SELECT must not contain data-modifying statements in WITH"
 msgstr "le regole su SELECT non possono contenere istruzioni di modifica dei dati nel WITH"
 
-#: rewrite/rewriteDefine.c:350
+#: rewrite/rewriteDefine.c:351
 #, c-format
 msgid "event qualifications are not implemented for rules on SELECT"
 msgstr "le qualificazioni di evento non sono implementate per le regole su SELECT"
 
-#: rewrite/rewriteDefine.c:377
+#: rewrite/rewriteDefine.c:378
 #, c-format
 msgid "\"%s\" is already a view"
 msgstr "\"%s\" è già una vista"
 
-#: rewrite/rewriteDefine.c:401
+#: rewrite/rewriteDefine.c:402
 #, c-format
 msgid "view rule for \"%s\" must be named \"%s\""
 msgstr "la regola della vista \"%s\" deve essere chiamata \"%s\""
 
-#: rewrite/rewriteDefine.c:429
+#: rewrite/rewriteDefine.c:430
 #, c-format
 msgid "could not convert table \"%s\" to a view because it is not empty"
 msgstr "conversione della tabella \"%s\" in vista fallita perché non è vuota"
 
-#: rewrite/rewriteDefine.c:437
+#: rewrite/rewriteDefine.c:438
 #, c-format
 msgid "could not convert table \"%s\" to a view because it has triggers"
 msgstr "conversione della tabella \"%s\" in vista fallita perché ha dei trigger"
 
-#: rewrite/rewriteDefine.c:439
+#: rewrite/rewriteDefine.c:440
 #, c-format
 msgid "In particular, the table cannot be involved in any foreign key relationships."
 msgstr "In particolare, la tabella non può prendere parte in alcuna relazione di chiave esterna."
 
-#: rewrite/rewriteDefine.c:444
+#: rewrite/rewriteDefine.c:445
 #, c-format
 msgid "could not convert table \"%s\" to a view because it has indexes"
 msgstr "conversione della tabella \"%s\" in vista fallita perché ha indici"
 
-#: rewrite/rewriteDefine.c:450
+#: rewrite/rewriteDefine.c:451
 #, c-format
 msgid "could not convert table \"%s\" to a view because it has child tables"
 msgstr "conversione della tabella \"%s\" in vista fallita perché ha tabelle figlie"
 
-#: rewrite/rewriteDefine.c:477
+#: rewrite/rewriteDefine.c:478
 #, c-format
 msgid "cannot have multiple RETURNING lists in a rule"
 msgstr "non è possibile avere più di una lista RETURNING in una regola"
 
-#: rewrite/rewriteDefine.c:482
+#: rewrite/rewriteDefine.c:483
 #, c-format
 msgid "RETURNING lists are not supported in conditional rules"
 msgstr "le liste RETURNING non sono supportate in regole condizionali"
 
-#: rewrite/rewriteDefine.c:486
+#: rewrite/rewriteDefine.c:487
 #, c-format
 msgid "RETURNING lists are not supported in non-INSTEAD rules"
 msgstr "le liste RETURNING non sono supportate in regole che non siano INSTEAD"
 
-#: rewrite/rewriteDefine.c:649
+#: rewrite/rewriteDefine.c:653
 #, c-format
 msgid "SELECT rule's target list has too many entries"
 msgstr "la lista di destinazione della regola SELECT ha troppi elementi"
 
-#: rewrite/rewriteDefine.c:650
+#: rewrite/rewriteDefine.c:654
 #, c-format
 msgid "RETURNING list has too many entries"
 msgstr "la lista RETURNING ha troppi elementi"
 
-#: rewrite/rewriteDefine.c:666
+#: rewrite/rewriteDefine.c:670
 #, c-format
 msgid "cannot convert relation containing dropped columns to view"
 msgstr "non è possibile convertire una relazione contenente colonne eliminate in una vista"
 
-#: rewrite/rewriteDefine.c:672
+#: rewrite/rewriteDefine.c:676
 #, c-format
 msgid "SELECT rule's target entry %d has different column name from column \"%s\""
 msgstr "elemento di destinazione %d della regola SELECT ha nome di colonna diverso dalla colonna \"%s\""
 
-#: rewrite/rewriteDefine.c:674
+#: rewrite/rewriteDefine.c:678
 #, c-format
 msgid "SELECT target entry is named \"%s\"."
 msgstr "L'elemento di destinazione di SELECT si chiama \"%s\"."
 
-#: rewrite/rewriteDefine.c:683
+#: rewrite/rewriteDefine.c:687
 #, c-format
 msgid "SELECT rule's target entry %d has different type from column \"%s\""
 msgstr "l'elemento %d di destinazione della regola SELECT è di tipo diverso dalla colonna \"%s\""
 
-#: rewrite/rewriteDefine.c:685
+#: rewrite/rewriteDefine.c:689
 #, c-format
 msgid "RETURNING list's entry %d has different type from column \"%s\""
 msgstr "l'elemento %d della lista RETURNING è di tipo diverso dalla colonna \"%s\""
 
-#: rewrite/rewriteDefine.c:688 rewrite/rewriteDefine.c:712
+#: rewrite/rewriteDefine.c:692 rewrite/rewriteDefine.c:716
 #, c-format
 msgid "SELECT target entry has type %s, but column has type %s."
 msgstr "L'elemento di destinazione di SELECT è di tipo %s, ma la colonna è di tipo %s."
 
-#: rewrite/rewriteDefine.c:691 rewrite/rewriteDefine.c:716
+#: rewrite/rewriteDefine.c:695 rewrite/rewriteDefine.c:720
 #, c-format
 msgid "RETURNING list entry has type %s, but column has type %s."
 msgstr "la lista di elementi di RETURNING è di tipo %s, ma la colonna è di tipo %s."
 
-#: rewrite/rewriteDefine.c:707
+#: rewrite/rewriteDefine.c:711
 #, c-format
 msgid "SELECT rule's target entry %d has different size from column \"%s\""
 msgstr "l'elemento %d di destinazione della regola SELECT ha dimensione diversa dalla colonna \"%s\""
 
-#: rewrite/rewriteDefine.c:709
+#: rewrite/rewriteDefine.c:713
 #, c-format
 msgid "RETURNING list's entry %d has different size from column \"%s\""
 msgstr "l'elemento %d della lista RETURNING ha dimensione diversa dalla colonna \"%s\""
 
-#: rewrite/rewriteDefine.c:726
+#: rewrite/rewriteDefine.c:730
 #, c-format
 msgid "SELECT rule's target list has too few entries"
 msgstr "la lista di destinazione della regola SELECT ha troppi pochi elementi"
 
-#: rewrite/rewriteDefine.c:727
+#: rewrite/rewriteDefine.c:731
 #, c-format
 msgid "RETURNING list has too few entries"
 msgstr "la lista RETURNING ha troppi pochi elementi"
 
-#: rewrite/rewriteDefine.c:819 rewrite/rewriteDefine.c:933
+#: rewrite/rewriteDefine.c:823 rewrite/rewriteDefine.c:938
 #: rewrite/rewriteSupport.c:112
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist"
 msgstr "la regola \"%s\" per la relazione \"%s\" non esiste"
 
-#: rewrite/rewriteDefine.c:952
+#: rewrite/rewriteDefine.c:957
 #, c-format
 msgid "renaming an ON SELECT rule is not allowed"
 msgstr "non è consentire rinominare una regola ON SELECT"
 
-#: rewrite/rewriteHandler.c:512
+#: rewrite/rewriteHandler.c:517
 #, c-format
 msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten"
 msgstr "la query WITH \"%s\" appare sia in una regola di azione che nella query che deve essere riscritta"
 
-#: rewrite/rewriteHandler.c:572
+#: rewrite/rewriteHandler.c:577
 #, c-format
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "non è possibile avere liste RETURNING in più di una regola"
 
-#: rewrite/rewriteHandler.c:910 rewrite/rewriteHandler.c:928
+#: rewrite/rewriteHandler.c:917 rewrite/rewriteHandler.c:935
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "più di un assegnamento alla stessa colonna \"%s\""
 
-#: rewrite/rewriteHandler.c:1698 rewrite/rewriteHandler.c:3129
+#: rewrite/rewriteHandler.c:1710 rewrite/rewriteHandler.c:3268
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "ricorsione infinita individuata nelle regole per la relazione \"%s\""
 
-#: rewrite/rewriteHandler.c:1995
+#: rewrite/rewriteHandler.c:1793
+#, c-format
+msgid "infinite recursion detected in policy for relation \"%s\""
+msgstr "ricorsione infinita individuata nella politica per la relazione \"%s\""
+
+#: rewrite/rewriteHandler.c:2090
 msgid "Junk view columns are not updatable."
 msgstr "Le colonne junk di una vista non sono aggiornabili."
 
-#: rewrite/rewriteHandler.c:2000
+#: rewrite/rewriteHandler.c:2095
 msgid "View columns that are not columns of their base relation are not updatable."
 msgstr "Le colonne di vista che non sono colonne della loro relazione di base non sono aggiornabili."
 
-#: rewrite/rewriteHandler.c:2003
+#: rewrite/rewriteHandler.c:2098
 msgid "View columns that refer to system columns are not updatable."
 msgstr "Le colonne di vista che si riferiscono a colonne di sistema non sono aggiornabili."
 
-#: rewrite/rewriteHandler.c:2006
+#: rewrite/rewriteHandler.c:2101
 msgid "View columns that return whole-row references are not updatable."
 msgstr "Le colonne di vista che restituiscono riferimenti a righe intere non sono aggiornabili."
 
-#: rewrite/rewriteHandler.c:2064
+#: rewrite/rewriteHandler.c:2159
 msgid "Views containing DISTINCT are not automatically updatable."
 msgstr "Le viste contenenti DISTINCT non sono aggiornabili automaticamente."
 
-#: rewrite/rewriteHandler.c:2067
+#: rewrite/rewriteHandler.c:2162
 msgid "Views containing GROUP BY are not automatically updatable."
 msgstr "Le viste contenenti GROUP BY non sono aggiornabili automaticamente."
 
-#: rewrite/rewriteHandler.c:2070
+#: rewrite/rewriteHandler.c:2165
 msgid "Views containing HAVING are not automatically updatable."
 msgstr "Le viste contenenti HAVING non sono aggiornabili automaticamente."
 
-#: rewrite/rewriteHandler.c:2073
+#: rewrite/rewriteHandler.c:2168
 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
 msgstr "Le viste che contengono UNION, INTERSECT o EXCEPT non sono automaticamente aggiornabili."
 
-#: rewrite/rewriteHandler.c:2076
+#: rewrite/rewriteHandler.c:2171
 msgid "Views containing WITH are not automatically updatable."
 msgstr "Le viste contenenti WITH non sono aggiornabili automaticamente."
 
-#: rewrite/rewriteHandler.c:2079
+#: rewrite/rewriteHandler.c:2174
 msgid "Views containing LIMIT or OFFSET are not automatically updatable."
 msgstr "Le viste contenenti LIMIT o OFFSET non sono aggiornabili automaticamente."
 
-#: rewrite/rewriteHandler.c:2091
+#: rewrite/rewriteHandler.c:2186
 msgid "Views that return aggregate functions are not automatically updatable."
 msgstr "Le viste che restituiscono funzioni di aggregazione non sono aggiornabili automaticamente."
 
-#: rewrite/rewriteHandler.c:2094
+#: rewrite/rewriteHandler.c:2189
 msgid "Views that return window functions are not automatically updatable."
 msgstr "Le viste che restituiscono funzioni finestra non sono aggiornabili automaticamente."
 
-#: rewrite/rewriteHandler.c:2097
+#: rewrite/rewriteHandler.c:2192
 msgid "Views that return set-returning functions are not automatically updatable."
 msgstr "Le viste che restituiscono funzioni insieme non sono aggiornabili automaticamente"
 
-#: rewrite/rewriteHandler.c:2104 rewrite/rewriteHandler.c:2108
-#: rewrite/rewriteHandler.c:2115
+#: rewrite/rewriteHandler.c:2199 rewrite/rewriteHandler.c:2203
+#: rewrite/rewriteHandler.c:2210
 msgid "Views that do not select from a single table or view are not automatically updatable."
 msgstr "Le viste che non leggono da una singola tabella o vista non sono aggiornabili automaticamente."
 
-#: rewrite/rewriteHandler.c:2139
+#: rewrite/rewriteHandler.c:2213
+msgid "Views containing TABLESAMPLE are not automatically updatable."
+msgstr "Le viste che contengono TABLESAMPLE non sono automaticamente aggiornabili."
+
+#: rewrite/rewriteHandler.c:2237
 msgid "Views that have no updatable columns are not automatically updatable."
 msgstr "Le viste che non hanno colonne aggiornabili non sono automaticamente aggiornabili."
 
-#: rewrite/rewriteHandler.c:2576
+#: rewrite/rewriteHandler.c:2684
 #, c-format
 msgid "cannot insert into column \"%s\" of view \"%s\""
 msgstr "non si può inserire nella colonna \"%s\" della vista \"%s\""
 
-#: rewrite/rewriteHandler.c:2584
+#: rewrite/rewriteHandler.c:2692
 #, c-format
 msgid "cannot update column \"%s\" of view \"%s\""
 msgstr "non si può modificare la colonna \"%s\" della vista \"%s\""
 
-#: rewrite/rewriteHandler.c:2952
+#: rewrite/rewriteHandler.c:3067
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH"
 msgstr "le regole DO INSTEAD NOTHING non sono supportate per istruzioni di modifica dei dati nel WITH"
 
-#: rewrite/rewriteHandler.c:2966
+#: rewrite/rewriteHandler.c:3081
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr "le regole DO INSTEAD NOTHING condizionali non sono supportate per istruzioni di modifica dei dati nel WITH"
 
-#: rewrite/rewriteHandler.c:2970
+#: rewrite/rewriteHandler.c:3085
 #, c-format
 msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
 msgstr "le regole DO ALSO non sono supportate per istruzioni di modifica dei dati nel WITH"
 
-#: rewrite/rewriteHandler.c:2975
+#: rewrite/rewriteHandler.c:3090
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr "le regole DO INSTEAD multi-istruzione non sono supportate per istruzioni di modifica dei dati nel WITH"
 
-#: rewrite/rewriteHandler.c:3166
+#: rewrite/rewriteHandler.c:3305
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "non è possibile eseguire INSERT RETURNING sulla relazione \"%s\""
 
-#: rewrite/rewriteHandler.c:3168
+#: rewrite/rewriteHandler.c:3307
 #, c-format
 msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
 msgstr "È necessaria una regola ON INSERT DO INSTEAD non condizionale con una clausola RETURNING."
 
-#: rewrite/rewriteHandler.c:3173
+#: rewrite/rewriteHandler.c:3312
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "non è possibile eseguire UPDATE RETURNING sulla relazione \"%s\""
 
-#: rewrite/rewriteHandler.c:3175
+#: rewrite/rewriteHandler.c:3314
 #, c-format
 msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
 msgstr "È necessaria una regola ON UPDATE DO INSTEAD non condizionale con una clausola RETURNING."
 
-#: rewrite/rewriteHandler.c:3180
+#: rewrite/rewriteHandler.c:3319
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "non è possibile eseguire DELETE RETURNING sulla relazione \"%s\""
 
-#: rewrite/rewriteHandler.c:3182
+#: rewrite/rewriteHandler.c:3321
 #, c-format
 msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
 msgstr "È necessaria una regola ON DELETE DO INSTEAD non condizionale con una clausola RETURNING."
 
-#: rewrite/rewriteHandler.c:3246
+#: rewrite/rewriteHandler.c:3339
+#, c-format
+msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules"
+msgstr "INSERT con clausola ON CONFLICT non può essere usato in tabelle con una regola su INSERT o UPDATE"
+
+#: rewrite/rewriteHandler.c:3396
 #, c-format
 msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries"
 msgstr "WITH non può essere usato in una query che viene riscritta da regole in più di una query"
 
-#: rewrite/rewriteManip.c:956
+#: rewrite/rewriteManip.c:1006
 #, c-format
 msgid "conditional utility statements are not implemented"
 msgstr "i comandi di utilità condizionali non sono implementati"
 
-#: rewrite/rewriteManip.c:1121
+#: rewrite/rewriteManip.c:1172
 #, c-format
 msgid "WHERE CURRENT OF on a view is not implemented"
 msgstr "WHERE CURRENT OF su una vista non è implementato"
 
+#: rewrite/rewriteManip.c:1437
+#, c-format
+msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command"
+msgstr "la variabile NEW nelle regole ON UPDATE non può riferirsi a colonne che fanno parte di un assegnamento multiplo nel comando UPDATE soggetto"
+
 #: rewrite/rewriteSupport.c:154
 #, c-format
 msgid "rule \"%s\" does not exist"
@@ -14119,63 +15294,63 @@ msgstr "esiste più di una regola chiamata \"%s\""
 msgid "Specify a relation name as well as a rule name."
 msgstr "Specifica sia un nome di relazione che un nome di regola."
 
-#: snowball/dict_snowball.c:180
+#: snowball/dict_snowball.c:177
 #, c-format
 msgid "no Snowball stemmer available for language \"%s\" and encoding \"%s\""
 msgstr "non è disponibile uno stemmer Snowball per la lingua \"%s\" e la codifica \"%s\""
 
-#: snowball/dict_snowball.c:203 tsearch/dict_ispell.c:73
+#: snowball/dict_snowball.c:200 tsearch/dict_ispell.c:73
 #: tsearch/dict_simple.c:48
 #, c-format
 msgid "multiple StopWords parameters"
 msgstr "più di un parametro StopWords"
 
-#: snowball/dict_snowball.c:212
+#: snowball/dict_snowball.c:209
 #, c-format
 msgid "multiple Language parameters"
 msgstr "più di un parametro Language"
 
-#: snowball/dict_snowball.c:219
+#: snowball/dict_snowball.c:216
 #, c-format
 msgid "unrecognized Snowball parameter: \"%s\""
 msgstr "parametro Snowball sconosciuto: \"%s\""
 
-#: snowball/dict_snowball.c:227
+#: snowball/dict_snowball.c:224
 #, c-format
 msgid "missing Language parameter"
 msgstr "parametro Language mancante"
 
-#: storage/buffer/bufmgr.c:139 storage/buffer/bufmgr.c:252
+#: storage/buffer/bufmgr.c:442 storage/buffer/bufmgr.c:555
 #, c-format
 msgid "cannot access temporary tables of other sessions"
 msgstr "non è possibile accedere a tabelle temporanee di altre sessioni"
 
-#: storage/buffer/bufmgr.c:401
+#: storage/buffer/bufmgr.c:704
 #, c-format
 msgid "unexpected data beyond EOF in block %u of relation %s"
 msgstr "dati oltre fine file inaspettati nel blocco %u della relazione %s"
 
-#: storage/buffer/bufmgr.c:403
+#: storage/buffer/bufmgr.c:706
 #, c-format
 msgid "This has been seen to occur with buggy kernels; consider updating your system."
 msgstr "Questo fenomeno è stato riportato con kernel difettosi: considera l'aggiornamento del tuo sistema."
 
-#: storage/buffer/bufmgr.c:493
+#: storage/buffer/bufmgr.c:793
 #, c-format
 msgid "invalid page in block %u of relation %s; zeroing out page"
 msgstr "pagina non valida nel blocco %u della relazione %s; azzeramento della pagina"
 
-#: storage/buffer/bufmgr.c:3178
+#: storage/buffer/bufmgr.c:3567
 #, c-format
 msgid "could not write block %u of %s"
 msgstr "scrittura del blocco %u di %s fallita"
 
-#: storage/buffer/bufmgr.c:3180
+#: storage/buffer/bufmgr.c:3569
 #, c-format
 msgid "Multiple failures --- write error might be permanent."
 msgstr "Più di un fallimento --- l'errore in scrittura potrebbe essere permanente."
 
-#: storage/buffer/bufmgr.c:3201 storage/buffer/bufmgr.c:3220
+#: storage/buffer/bufmgr.c:3590 storage/buffer/bufmgr.c:3609
 #, c-format
 msgid "writing block %u of relation %s"
 msgstr "scrittura del blocco %u della relazione %s"
@@ -14185,53 +15360,53 @@ msgstr "scrittura del blocco %u della relazione %s"
 msgid "no empty local buffer available"
 msgstr "nessun buffer locale vuoto disponibile"
 
-#: storage/file/fd.c:505
+#: storage/file/fd.c:528
 #, c-format
 msgid "getrlimit failed: %m"
 msgstr "getrlimit fallito: %m"
 
-#: storage/file/fd.c:595
+#: storage/file/fd.c:618
 #, c-format
 msgid "insufficient file descriptors available to start server process"
 msgstr "descrittori di file non sufficienti per avviare il processo server"
 
-#: storage/file/fd.c:596
+#: storage/file/fd.c:619
 #, c-format
 msgid "System allows %d, we need at least %d."
 msgstr "Il sistema ne consente %d, ne occorrono almeno %d."
 
-#: storage/file/fd.c:637 storage/file/fd.c:1671 storage/file/fd.c:1764
-#: storage/file/fd.c:1912
+#: storage/file/fd.c:660 storage/file/fd.c:1694 storage/file/fd.c:1787
+#: storage/file/fd.c:1935
 #, c-format
 msgid "out of file descriptors: %m; release and retry"
 msgstr "descrittori di file esauriti: %m; sto rilasciando e riprovando"
 
-#: storage/file/fd.c:1211
+#: storage/file/fd.c:1234
 #, c-format
 msgid "temporary file: path \"%s\", size %lu"
 msgstr "file temporaneo: percorso \"%s\", dimensione %lu"
 
-#: storage/file/fd.c:1360
+#: storage/file/fd.c:1383
 #, c-format
 msgid "temporary file size exceeds temp_file_limit (%dkB)"
 msgstr "la dimensione del file temporaneo supera temp_file_limit (%dkB)"
 
-#: storage/file/fd.c:1647 storage/file/fd.c:1697
+#: storage/file/fd.c:1670 storage/file/fd.c:1720
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
 msgstr "maxAllocatedDescs (%d) superato tentando di aprire il file \"%s\""
 
-#: storage/file/fd.c:1737
+#: storage/file/fd.c:1760
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
 msgstr "maxAllocatedDescs (%d) superato tentando di eseguire il comando \"%s\""
 
-#: storage/file/fd.c:1888
+#: storage/file/fd.c:1911
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
 msgstr "maxAllocatedDescs (%d) superato tentando di aprire la directory \"%s\""
 
-#: storage/file/fd.c:1961
+#: storage/file/fd.c:1997
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "lettura della directory \"%s\" fallita: %m"
@@ -14256,7 +15431,7 @@ msgstr "Imposta dynamic_shared_memory_type ad un valore diverso da \"none\"."
 msgid "dynamic shared memory control segment is not valid"
 msgstr "il segmento di controllo della memoria dinamica condivisa non è valido"
 
-#: storage/ipc/dsm.c:501
+#: storage/ipc/dsm.c:516
 #, c-format
 msgid "too many dynamic shared memory segments"
 msgstr "troppi segmenti di memoria dinamica condivisa"
@@ -14314,11 +15489,11 @@ msgid "could not duplicate handle for \"%s\": %m"
 msgstr "duplicazione dell'handle per \"%s\" fallita: %m"
 
 #: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:205
-#: storage/lmgr/lock.c:872 storage/lmgr/lock.c:906 storage/lmgr/lock.c:2601
-#: storage/lmgr/lock.c:3713 storage/lmgr/lock.c:3778 storage/lmgr/lock.c:4068
-#: storage/lmgr/predicate.c:2323 storage/lmgr/predicate.c:2338
-#: storage/lmgr/predicate.c:3731 storage/lmgr/predicate.c:4874
-#: storage/lmgr/proc.c:198 utils/hash/dynahash.c:966
+#: storage/lmgr/lock.c:867 storage/lmgr/lock.c:901 storage/lmgr/lock.c:2596
+#: storage/lmgr/lock.c:3712 storage/lmgr/lock.c:3777 storage/lmgr/lock.c:4067
+#: storage/lmgr/predicate.c:2328 storage/lmgr/predicate.c:2343
+#: storage/lmgr/predicate.c:3736 storage/lmgr/predicate.c:4879
+#: storage/lmgr/proc.c:200 utils/hash/dynahash.c:998
 #, c-format
 msgid "out of shared memory"
 msgstr "memoria condivisa esaurita"
@@ -14343,12 +15518,12 @@ msgstr "dimensione elemento ShmemIndex errata per la struttura di dati \"%s\": a
 msgid "requested shared memory size overflows size_t"
 msgstr "la dimensione richiesta di memoria condivisa supera size_t"
 
-#: storage/ipc/standby.c:499 tcop/postgres.c:2952
+#: storage/ipc/standby.c:500 tcop/postgres.c:2974
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr "annullamento dell'istruzione a causa di un conflitto con il ripristino"
 
-#: storage/ipc/standby.c:500 tcop/postgres.c:2216
+#: storage/ipc/standby.c:501 tcop/postgres.c:2274
 #, c-format
 msgid "User transaction caused buffer deadlock with recovery."
 msgstr "La transazione utente ha causato un deadlock del buffer con il ripristino."
@@ -14368,7 +15543,7 @@ msgstr "flag non validi per l'apertura di un large object: %d"
 msgid "invalid whence setting: %d"
 msgstr "impostazione \"da dove\" non valida: %d"
 
-#: storage/large_object/inv_api.c:591
+#: storage/large_object/inv_api.c:593
 #, c-format
 msgid "invalid large object write request size: %d"
 msgstr "dimensione della richiesta di scrittura large object non valida: %d"
@@ -14393,237 +15568,253 @@ msgstr "rilevato deadlock"
 msgid "See server log for query details."
 msgstr "Vedi i log del server per i dettagli della query."
 
-#: storage/lmgr/lmgr.c:599
+#: storage/lmgr/lmgr.c:684
 #, c-format
 msgid "while updating tuple (%u,%u) in relation \"%s\""
 msgstr "durante la modifica della tupla (%u,%u) nella relazione \"%s\""
 
-#: storage/lmgr/lmgr.c:602
+#: storage/lmgr/lmgr.c:687
 #, c-format
 msgid "while deleting tuple (%u,%u) in relation \"%s\""
 msgstr "durante l'eliminazione della tupla (%u,%u) nella relazione \"%s\""
 
-#: storage/lmgr/lmgr.c:605
+#: storage/lmgr/lmgr.c:690
 #, c-format
 msgid "while locking tuple (%u,%u) in relation \"%s\""
 msgstr "durante il blocco della tupla (%u,%u) nella relazione \"%s\""
 
-#: storage/lmgr/lmgr.c:608
+#: storage/lmgr/lmgr.c:693
 #, c-format
 msgid "while locking updated version (%u,%u) of tuple in relation \"%s\""
 msgstr "durante il blocco della versione modificata (%u,%u) della tupla nella relazione \"%s\""
 
-#: storage/lmgr/lmgr.c:611
+#: storage/lmgr/lmgr.c:696
 #, c-format
 msgid "while inserting index tuple (%u,%u) in relation \"%s\""
 msgstr "durante l'inserimento della tupla di indice (%u,%u) nella relazione \"%s\""
 
-#: storage/lmgr/lmgr.c:614
+#: storage/lmgr/lmgr.c:699
 #, c-format
 msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\""
 msgstr "durante il controllo di univocità della tupla (%u,%u) nella relazione \"%s\""
 
-#: storage/lmgr/lmgr.c:617
+#: storage/lmgr/lmgr.c:702
 #, c-format
 msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
 msgstr "durante il ricontrollo della tupla modificata (%u,%u) nella relazione \"%s\""
 
-#: storage/lmgr/lmgr.c:620
+#: storage/lmgr/lmgr.c:705
 #, c-format
 msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
 msgstr "durante il controllo del vincolo di esclusione sulla tupla (%u,%u) nella relazione \"%s\""
 
-#: storage/lmgr/lmgr.c:840
+#: storage/lmgr/lmgr.c:925
 #, c-format
 msgid "relation %u of database %u"
 msgstr "la relazione %u del database %u"
 
-#: storage/lmgr/lmgr.c:846
+#: storage/lmgr/lmgr.c:931
 #, c-format
 msgid "extension of relation %u of database %u"
 msgstr "l'estensione della relazione %u del database %u"
 
-#: storage/lmgr/lmgr.c:852
+#: storage/lmgr/lmgr.c:937
 #, c-format
 msgid "page %u of relation %u of database %u"
 msgstr "la pagina %u della relazione %u del database %u"
 
-#: storage/lmgr/lmgr.c:859
+#: storage/lmgr/lmgr.c:944
 #, c-format
 msgid "tuple (%u,%u) of relation %u of database %u"
 msgstr "la tupla (%u,%u) della relazione %u del database %u"
 
-#: storage/lmgr/lmgr.c:867
+#: storage/lmgr/lmgr.c:952
 #, c-format
 msgid "transaction %u"
 msgstr "la transazione %u"
 
-#: storage/lmgr/lmgr.c:872
+#: storage/lmgr/lmgr.c:957
 #, c-format
 msgid "virtual transaction %d/%u"
 msgstr "la transazione virtuale %d/%u"
 
-#: storage/lmgr/lmgr.c:878
+#: storage/lmgr/lmgr.c:963
+#, c-format
+msgid "speculative token %u of transaction %u"
+msgstr "token speculativo %u della transazione %u"
+
+#: storage/lmgr/lmgr.c:969
 #, c-format
 msgid "object %u of class %u of database %u"
 msgstr "l'oggetto %u di classe %u del database %u"
 
-#: storage/lmgr/lmgr.c:886
+#: storage/lmgr/lmgr.c:977
 #, c-format
 msgid "user lock [%u,%u,%u]"
 msgstr "il lock utente [%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:893
+#: storage/lmgr/lmgr.c:984
 #, c-format
 msgid "advisory lock [%u,%u,%u,%u]"
 msgstr "l'advisory lock [%u,%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:901
+#: storage/lmgr/lmgr.c:992
 #, c-format
 msgid "unrecognized locktag type %d"
 msgstr "tipo di locktag %d sconosciuto"
 
-#: storage/lmgr/lock.c:721
+#: storage/lmgr/lock.c:716
 #, c-format
 msgid "cannot acquire lock mode %s on database objects while recovery is in progress"
 msgstr "non è possibile acquisire lock in modo %s sugli oggetti del database mentre è in corso il ripristino"
 
-#: storage/lmgr/lock.c:723
+#: storage/lmgr/lock.c:718
 #, c-format
 msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery."
 msgstr "Solo RowExclusiveLock o inferiore può essere acquisito sugli oggetti database durante il ripristino."
 
-#: storage/lmgr/lock.c:873 storage/lmgr/lock.c:907 storage/lmgr/lock.c:2602
-#: storage/lmgr/lock.c:3714 storage/lmgr/lock.c:3779 storage/lmgr/lock.c:4069
+#: storage/lmgr/lock.c:868 storage/lmgr/lock.c:902 storage/lmgr/lock.c:2597
+#: storage/lmgr/lock.c:3713 storage/lmgr/lock.c:3778 storage/lmgr/lock.c:4068
 #, c-format
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "Potrebbe essere necessario incrementare max_locks_per_transaction."
 
-#: storage/lmgr/lock.c:3039 storage/lmgr/lock.c:3151
+#: storage/lmgr/lock.c:3038 storage/lmgr/lock.c:3150
 #, c-format
 msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object"
 msgstr "non è possibile eseguire PREPARE tenendo sia lock a livello di sessione che di transazione sullo stesso oggetto"
 
-#: storage/lmgr/predicate.c:674
+#: storage/lmgr/lwlock.c:191
+#, c-format
+msgid "%d: %s(%s %d): excl %u shared %u haswaiters %u waiters %u rOK %d"
+msgstr "%d: %s(%s %d): excl %u shared %u haswaiters %u waiters %u rOK %d"
+
+#: storage/lmgr/lwlock.c:211
+#, c-format
+msgid "%s(%s %d): %s"
+msgstr "%s(%s %d): %s"
+
+#: storage/lmgr/predicate.c:675
 #, c-format
 msgid "not enough elements in RWConflictPool to record a read/write conflict"
 msgstr "elementi non sufficienti in RWConflictPool per registrare un conflitto di lettura/scrittura"
 
-#: storage/lmgr/predicate.c:675 storage/lmgr/predicate.c:703
+#: storage/lmgr/predicate.c:676 storage/lmgr/predicate.c:704
 #, c-format
 msgid "You might need to run fewer transactions at a time or increase max_connections."
 msgstr "Potrebbe essere necessario eseguire meno transazioni per volta oppure incrementare max_connections."
 
-#: storage/lmgr/predicate.c:702
+#: storage/lmgr/predicate.c:703
 #, c-format
 msgid "not enough elements in RWConflictPool to record a potential read/write conflict"
 msgstr "elementi non sufficienti in RWConflictPool per registrare un potenziale conflitto di lettura/scrittura"
 
-#: storage/lmgr/predicate.c:907
+#: storage/lmgr/predicate.c:908
 #, c-format
 msgid "memory for serializable conflict tracking is nearly exhausted"
 msgstr "la memoria per il tracciamento dei conflitti di serializzazione è quasi esaurita"
 
-#: storage/lmgr/predicate.c:908
+#: storage/lmgr/predicate.c:909
 #, c-format
 msgid "There might be an idle transaction or a forgotten prepared transaction causing this."
 msgstr "Ciò potrebbe essere causato da una transazione inattiva o una transazione preparata dimenticata."
 
-#: storage/lmgr/predicate.c:1190 storage/lmgr/predicate.c:1262
+#: storage/lmgr/predicate.c:1189 storage/lmgr/predicate.c:1260
 #, c-format
 msgid "not enough shared memory for elements of data structure \"%s\" (%zu bytes requested)"
 msgstr "memoria condivisa non sufficiente per gli elementi della struttura di dati \"%s\" (%zu byte richiesti)"
 
-#: storage/lmgr/predicate.c:1550
+#: storage/lmgr/predicate.c:1548
 #, c-format
 msgid "deferrable snapshot was unsafe; trying a new one"
 msgstr "lo snapshot deferibile era insicuro; ne sto provando uno nuovo"
 
-#: storage/lmgr/predicate.c:1589
+#: storage/lmgr/predicate.c:1587
 #, c-format
 msgid "\"default_transaction_isolation\" is set to \"serializable\"."
 msgstr "\"default_transaction_isolation\" è impostato a \"serializable\"."
 
-#: storage/lmgr/predicate.c:1590
+#: storage/lmgr/predicate.c:1588
 #, c-format
 msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default."
 msgstr "Puoi usare \"SET default_transaction_isolation = 'repeatable read'\" per cambiare il valore predefinito."
 
-#: storage/lmgr/predicate.c:1629
+#: storage/lmgr/predicate.c:1627
 #, c-format
 msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
 msgstr "una transazione che importa uno snapshot non può essere READ ONLY DEFERRABLE"
 
-#: storage/lmgr/predicate.c:1699 utils/time/snapmgr.c:398
+#: storage/lmgr/predicate.c:1705 utils/time/snapmgr.c:431
+#: utils/time/snapmgr.c:437
 #, c-format
 msgid "could not import the requested snapshot"
 msgstr "non è stato possibile importare lo snapshot richiesto"
 
-#: storage/lmgr/predicate.c:1700 utils/time/snapmgr.c:399
+#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:438
 #, c-format
 msgid "The source transaction %u is not running anymore."
 msgstr "La transazione di origine %u non è più in esecuzione."
 
-#: storage/lmgr/predicate.c:2324 storage/lmgr/predicate.c:2339
-#: storage/lmgr/predicate.c:3732
+#: storage/lmgr/predicate.c:2329 storage/lmgr/predicate.c:2344
+#: storage/lmgr/predicate.c:3737
 #, c-format
 msgid "You might need to increase max_pred_locks_per_transaction."
 msgstr "Potrebbe essere necessario incrementare max_pred_locks_per_transaction."
 
-#: storage/lmgr/predicate.c:3886 storage/lmgr/predicate.c:3975
-#: storage/lmgr/predicate.c:3983 storage/lmgr/predicate.c:4022
-#: storage/lmgr/predicate.c:4261 storage/lmgr/predicate.c:4598
-#: storage/lmgr/predicate.c:4610 storage/lmgr/predicate.c:4652
-#: storage/lmgr/predicate.c:4690
+#: storage/lmgr/predicate.c:3891 storage/lmgr/predicate.c:3980
+#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4027
+#: storage/lmgr/predicate.c:4266 storage/lmgr/predicate.c:4603
+#: storage/lmgr/predicate.c:4615 storage/lmgr/predicate.c:4657
+#: storage/lmgr/predicate.c:4695
 #, c-format
 msgid "could not serialize access due to read/write dependencies among transactions"
 msgstr "serializzazione dell'accesso fallita a causa di dipendenze di lettura/scrittura tra le transazioni"
 
-#: storage/lmgr/predicate.c:3888 storage/lmgr/predicate.c:3977
-#: storage/lmgr/predicate.c:3985 storage/lmgr/predicate.c:4024
-#: storage/lmgr/predicate.c:4263 storage/lmgr/predicate.c:4600
-#: storage/lmgr/predicate.c:4612 storage/lmgr/predicate.c:4654
-#: storage/lmgr/predicate.c:4692
+#: storage/lmgr/predicate.c:3893 storage/lmgr/predicate.c:3982
+#: storage/lmgr/predicate.c:3990 storage/lmgr/predicate.c:4029
+#: storage/lmgr/predicate.c:4268 storage/lmgr/predicate.c:4605
+#: storage/lmgr/predicate.c:4617 storage/lmgr/predicate.c:4659
+#: storage/lmgr/predicate.c:4697
 #, c-format
 msgid "The transaction might succeed if retried."
 msgstr "La transazione potrebbe riuscire se ritentata."
 
-#: storage/lmgr/proc.c:1172
+#: storage/lmgr/proc.c:1164
 #, c-format
 msgid "Process %d waits for %s on %s."
 msgstr "Processo %d in attesa di %s su %s."
 
-#: storage/lmgr/proc.c:1182
+#: storage/lmgr/proc.c:1174
 #, c-format
 msgid "sending cancel to blocking autovacuum PID %d"
 msgstr "invio di annullamento per bloccare l'autovacuum con PID %d"
 
-#: storage/lmgr/proc.c:1194 utils/adt/misc.c:136
+#: storage/lmgr/proc.c:1186 utils/adt/misc.c:146
 #, c-format
 msgid "could not send signal to process %d: %m"
 msgstr "invio del segnale al processo %d fallito: %m"
 
-#: storage/lmgr/proc.c:1293
+#: storage/lmgr/proc.c:1285
 #, c-format
 msgid "process %d avoided deadlock for %s on %s by rearranging queue order after %ld.%03d ms"
 msgstr "il processo %d ha evitato un deadlock per %s su %s modificando l'ordine della coda dopo %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1308
+#: storage/lmgr/proc.c:1300
 #, c-format
 msgid "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms"
 msgstr "il processo %d ha individuato un deadlock mentre era in attesa di %s su %s dopo %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1317
+#: storage/lmgr/proc.c:1309
 #, c-format
 msgid "process %d still waiting for %s on %s after %ld.%03d ms"
 msgstr "il processo %d è ancora un attesa di %s su %s dopo %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1324
+#: storage/lmgr/proc.c:1316
 #, c-format
 msgid "process %d acquired %s on %s after %ld.%03d ms"
 msgstr "il processo %d ha acquisito %s su %s dopo %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1340
+#: storage/lmgr/proc.c:1332
 #, c-format
 msgid "process %d failed to acquire %s on %s after %ld.%03d ms"
 msgstr "il processo %d ha fallito l'acquisizione di %s su %s dopo %ld.%03d ms"
@@ -14633,375 +15824,382 @@ msgstr "il processo %d ha fallito l'acquisizione di %s su %s dopo %ld.%03d ms"
 msgid "page verification failed, calculated checksum %u but expected %u"
 msgstr "verifica della pagina fallita, somma di controllo calcolata %u ma era attesa %u"
 
-#: storage/page/bufpage.c:200 storage/page/bufpage.c:459
-#: storage/page/bufpage.c:691 storage/page/bufpage.c:823
+#: storage/page/bufpage.c:200 storage/page/bufpage.c:490
+#: storage/page/bufpage.c:705 storage/page/bufpage.c:836
+#: storage/page/bufpage.c:936
 #, c-format
 msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
 msgstr "puntatore di pagina corrotto: lower = %u, upper = %u, special = %u"
 
-#: storage/page/bufpage.c:503
+#: storage/page/bufpage.c:534
 #, c-format
 msgid "corrupted item pointer: %u"
 msgstr "puntatore di elemento corrotto: %u"
 
-#: storage/page/bufpage.c:514 storage/page/bufpage.c:874
+#: storage/page/bufpage.c:545 storage/page/bufpage.c:887
+#: storage/page/bufpage.c:1042
 #, c-format
 msgid "corrupted item lengths: total %u, available space %u"
 msgstr "lunghezza dell'elemento corrotta: totale %u, spazio disponibile %u"
 
-#: storage/page/bufpage.c:710 storage/page/bufpage.c:847
+#: storage/page/bufpage.c:724 storage/page/bufpage.c:860
 #, c-format
 msgid "corrupted item pointer: offset = %u, size = %u"
 msgstr "puntatore di elemento corrotto: offset = %u, size = %u"
 
-#: storage/smgr/md.c:426 storage/smgr/md.c:897
+#: storage/page/bufpage.c:965
+#, c-format
+msgid "corrupted item pointer: offset = %u, length = %u"
+msgstr "puntatore di elemento corrotto: offset = %u, lunghezza = %u"
+
+#: storage/smgr/md.c:442 storage/smgr/md.c:913
 #, c-format
 msgid "could not truncate file \"%s\": %m"
 msgstr "troncamento del file \"%s\" fallito: %m"
 
-#: storage/smgr/md.c:493
+#: storage/smgr/md.c:509
 #, c-format
 msgid "cannot extend file \"%s\" beyond %u blocks"
 msgstr "estendere il file \"%s\" oltre %u blocchi"
 
-#: storage/smgr/md.c:515 storage/smgr/md.c:676 storage/smgr/md.c:751
+#: storage/smgr/md.c:531 storage/smgr/md.c:692 storage/smgr/md.c:767
 #, c-format
 msgid "could not seek to block %u in file \"%s\": %m"
 msgstr "spostamento al blocco %u nel file \"%s\" fallito: %m"
 
-#: storage/smgr/md.c:523
+#: storage/smgr/md.c:539
 #, c-format
 msgid "could not extend file \"%s\": %m"
 msgstr "non è stato possibile estendere il file \"%s\": %m"
 
-#: storage/smgr/md.c:525 storage/smgr/md.c:532 storage/smgr/md.c:778
+#: storage/smgr/md.c:541 storage/smgr/md.c:548 storage/smgr/md.c:794
 #, c-format
 msgid "Check free disk space."
 msgstr "Controlla lo spazio libero sul disco."
 
-#: storage/smgr/md.c:529
+#: storage/smgr/md.c:545
 #, c-format
 msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
 msgstr "non è stato possibile estendere il file \"%s\": scritti soli %d byte di %d nel blocco %u"
 
-#: storage/smgr/md.c:694
+#: storage/smgr/md.c:710
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "lettura del blocco %u nel file \"%s\" fallita: %m"
 
-#: storage/smgr/md.c:710
+#: storage/smgr/md.c:726
 #, c-format
 msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
 msgstr "lettura del blocco %u nel file \"%s\" fallita: letti soli %d byte di %d"
 
-#: storage/smgr/md.c:769
+#: storage/smgr/md.c:785
 #, c-format
 msgid "could not write block %u in file \"%s\": %m"
 msgstr "scrittura del blocco %u nel file \"%s\" fallita: %m"
 
-#: storage/smgr/md.c:774
+#: storage/smgr/md.c:790
 #, c-format
 msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
 msgstr "lettura del blocco %u nel file \"%s\" fallita: scritti solo %d byte di %d"
 
-#: storage/smgr/md.c:873
+#: storage/smgr/md.c:889
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now"
 msgstr "troncamento del file \"%s\" a %u blocchi fallito: ora è di soli %u blocchi"
 
-#: storage/smgr/md.c:922
+#: storage/smgr/md.c:938
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: %m"
 msgstr "troncamento del file \"%s\" a %u blocchi fallito: %m"
 
-#: storage/smgr/md.c:1202
+#: storage/smgr/md.c:1218
 #, c-format
 msgid "could not fsync file \"%s\" but retrying: %m"
 msgstr "fsync del file \"%s\" fallito ma sto ritentando: %m"
 
-#: storage/smgr/md.c:1365
+#: storage/smgr/md.c:1381
 #, c-format
 msgid "could not forward fsync request because request queue is full"
 msgstr "inoltro della richiesta di fsync fallito perché la coda di richieste è piena"
 
-#: storage/smgr/md.c:1760
+#: storage/smgr/md.c:1776
 #, c-format
 msgid "could not open file \"%s\" (target block %u): %m"
 msgstr "apertura del file \"%s\" fallita (blocco di destinazione %u): %m"
 
-#: tcop/fastpath.c:111 tcop/fastpath.c:502 tcop/fastpath.c:632
+#: tcop/fastpath.c:111 tcop/fastpath.c:475 tcop/fastpath.c:605
 #, c-format
 msgid "invalid argument size %d in function call message"
 msgstr "La dimensione dell'argomento %d non è valida nel messaggi di chiamata di funzione"
 
-#: tcop/fastpath.c:304 tcop/postgres.c:353 tcop/postgres.c:389
-#, c-format
-msgid "unexpected EOF on client connection"
-msgstr "fine file inaspettata nella connessione al client"
-
-#: tcop/fastpath.c:318 tcop/postgres.c:944 tcop/postgres.c:1254
-#: tcop/postgres.c:1512 tcop/postgres.c:1917 tcop/postgres.c:2284
-#: tcop/postgres.c:2359
+#: tcop/fastpath.c:291 tcop/postgres.c:1003 tcop/postgres.c:1313
+#: tcop/postgres.c:1571 tcop/postgres.c:1975 tcop/postgres.c:2342
+#: tcop/postgres.c:2417
 #, c-format
 msgid "current transaction is aborted, commands ignored until end of transaction block"
 msgstr "la transazione corrente è interrotta, i comandi saranno ignorati fino alla fine del blocco della transazione"
 
-#: tcop/fastpath.c:346
+#: tcop/fastpath.c:319
 #, c-format
 msgid "fastpath function call: \"%s\" (OID %u)"
 msgstr "chiamata funzione fastpath: \"%s\" (OID %u)"
 
-#: tcop/fastpath.c:428 tcop/postgres.c:1114 tcop/postgres.c:1379
-#: tcop/postgres.c:1758 tcop/postgres.c:1975
+#: tcop/fastpath.c:401 tcop/postgres.c:1173 tcop/postgres.c:1438
+#: tcop/postgres.c:1816 tcop/postgres.c:2033
 #, c-format
 msgid "duration: %s ms"
 msgstr "durata: %s ms"
 
-#: tcop/fastpath.c:432
+#: tcop/fastpath.c:405
 #, c-format
 msgid "duration: %s ms  fastpath function call: \"%s\" (OID %u)"
 msgstr "durata: %s ms  chiamata funzione fastpath: \"%s\" (OID %u)"
 
-#: tcop/fastpath.c:470 tcop/fastpath.c:597
+#: tcop/fastpath.c:443 tcop/fastpath.c:570
 #, c-format
 msgid "function call message contains %d arguments but function requires %d"
 msgstr "la chiamata alla funzione contiene %d parametri ma la funzione ne richiede %d"
 
-#: tcop/fastpath.c:478
+#: tcop/fastpath.c:451
 #, c-format
 msgid "function call message contains %d argument formats but %d arguments"
 msgstr "la chiamata alla funzione contiene %d formati di parametri ma %d parametri"
 
-#: tcop/fastpath.c:565 tcop/fastpath.c:648
+#: tcop/fastpath.c:538 tcop/fastpath.c:621
 #, c-format
 msgid "incorrect binary data format in function argument %d"
 msgstr "formato dei dati binari non corretto nell'argomento %d della funzione"
 
-#: tcop/postgres.c:417 tcop/postgres.c:429 tcop/postgres.c:440
-#: tcop/postgres.c:452 tcop/postgres.c:4254
+#: tcop/postgres.c:363 tcop/postgres.c:399 tcop/postgres.c:426
+#, c-format
+msgid "unexpected EOF on client connection"
+msgstr "fine file inaspettata nella connessione al client"
+
+#: tcop/postgres.c:449 tcop/postgres.c:461 tcop/postgres.c:472
+#: tcop/postgres.c:484 tcop/postgres.c:4263
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "messaggio frontend di tipo %d non valido"
 
-#: tcop/postgres.c:885
+#: tcop/postgres.c:944
 #, c-format
 msgid "statement: %s"
 msgstr "istruzione: %s"
 
-#: tcop/postgres.c:1119
+#: tcop/postgres.c:1178
 #, c-format
 msgid "duration: %s ms  statement: %s"
 msgstr "durata: %s ms  istruzione: %s"
 
-#: tcop/postgres.c:1169
+#: tcop/postgres.c:1228
 #, c-format
 msgid "parse %s: %s"
 msgstr "analisi di %s: %s"
 
-#: tcop/postgres.c:1227
+#: tcop/postgres.c:1286
 #, c-format
 msgid "cannot insert multiple commands into a prepared statement"
 msgstr "non è possibile inserire comandi multipli in una istruzione preparata"
 
-#: tcop/postgres.c:1384
+#: tcop/postgres.c:1443
 #, c-format
 msgid "duration: %s ms  parse %s: %s"
 msgstr "durata: %s ms  analisi di %s: %s"
 
-#: tcop/postgres.c:1429
+#: tcop/postgres.c:1488
 #, c-format
 msgid "bind %s to %s"
 msgstr "bind di %s a %s"
 
-#: tcop/postgres.c:1448 tcop/postgres.c:2265
+#: tcop/postgres.c:1507 tcop/postgres.c:2323
 #, c-format
 msgid "unnamed prepared statement does not exist"
 msgstr "l'istruzione preparata senza nome non esiste"
 
-#: tcop/postgres.c:1490
+#: tcop/postgres.c:1549
 #, c-format
 msgid "bind message has %d parameter formats but %d parameters"
 msgstr "il messaggio di bind ha %d formati di parametri ma %d parametri"
 
-#: tcop/postgres.c:1496
+#: tcop/postgres.c:1555
 #, c-format
 msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d"
 msgstr "il messaggio di bind fornisce %d paramatri, ma l'istruzione preparata \"%s\" ne richiede %d"
 
-#: tcop/postgres.c:1665
+#: tcop/postgres.c:1723
 #, c-format
 msgid "incorrect binary data format in bind parameter %d"
 msgstr "formato del dato binario errato nel parametro di bind %d"
 
-#: tcop/postgres.c:1763
+#: tcop/postgres.c:1821
 #, c-format
 msgid "duration: %s ms  bind %s%s%s: %s"
 msgstr "durata: %s ms  bind %s%s%s: %s"
 
-#: tcop/postgres.c:1811 tcop/postgres.c:2345
+#: tcop/postgres.c:1869 tcop/postgres.c:2403
 #, c-format
 msgid "portal \"%s\" does not exist"
 msgstr "il portale \"%s\" non esiste"
 
-#: tcop/postgres.c:1896
+#: tcop/postgres.c:1954
 #, c-format
 msgid "%s %s%s%s: %s"
 msgstr "%s %s%s%s: %s"
 
-#: tcop/postgres.c:1898 tcop/postgres.c:1983
+#: tcop/postgres.c:1956 tcop/postgres.c:2041
 msgid "execute fetch from"
 msgstr "esecuzione di fetch da"
 
-#: tcop/postgres.c:1899 tcop/postgres.c:1984
+#: tcop/postgres.c:1957 tcop/postgres.c:2042
 msgid "execute"
 msgstr "esecuzione di"
 
-#: tcop/postgres.c:1980
+#: tcop/postgres.c:2038
 #, c-format
 msgid "duration: %s ms  %s %s%s%s: %s"
 msgstr "durata: %s ms  %s %s%s%s: %s"
 
-#: tcop/postgres.c:2106
+#: tcop/postgres.c:2164
 #, c-format
 msgid "prepare: %s"
 msgstr "preparazione: %s"
 
-#: tcop/postgres.c:2169
+#: tcop/postgres.c:2227
 #, c-format
 msgid "parameters: %s"
 msgstr "parametri: %s"
 
-#: tcop/postgres.c:2188
+#: tcop/postgres.c:2246
 #, c-format
 msgid "abort reason: recovery conflict"
 msgstr "motivo dell'interruzione: conflitto di recupero"
 
-#: tcop/postgres.c:2204
+#: tcop/postgres.c:2262
 #, c-format
 msgid "User was holding shared buffer pin for too long."
 msgstr "L'utente stava trattenendo un pin di shared buffer troppo a lungo."
 
-#: tcop/postgres.c:2207
+#: tcop/postgres.c:2265
 #, c-format
 msgid "User was holding a relation lock for too long."
 msgstr "L'utente stava trattenendo un lock di relazione troppo a lungo."
 
-#: tcop/postgres.c:2210
+#: tcop/postgres.c:2268
 #, c-format
 msgid "User was or might have been using tablespace that must be dropped."
 msgstr "L'utente stava usando o potrebbe aver usato un tablespace che deve essere eliminato."
 
-#: tcop/postgres.c:2213
+#: tcop/postgres.c:2271
 #, c-format
 msgid "User query might have needed to see row versions that must be removed."
 msgstr "L'utente potrebbe aver avuto bisogno di vedere versioni di righe che devono essere rimosse."
 
-#: tcop/postgres.c:2219
+#: tcop/postgres.c:2277
 #, c-format
 msgid "User was connected to a database that must be dropped."
 msgstr "L'utente era connesso ad un database che deve essere eliminato."
 
-#: tcop/postgres.c:2548
+#: tcop/postgres.c:2606
 #, c-format
 msgid "terminating connection because of crash of another server process"
 msgstr "la connessione è stata terminata a causa del crash di un altro processo del server"
 
-#: tcop/postgres.c:2549
+#: tcop/postgres.c:2607
 #, c-format
 msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory."
 msgstr "Il postmaster ha obbligato questo processo del server di attuare il roll back della transazione corrente e di uscire, perché un altro processo del server è terminato anormalmente e con possibile corruzione della memoria condivisa."
 
-#: tcop/postgres.c:2553 tcop/postgres.c:2947
+#: tcop/postgres.c:2611 tcop/postgres.c:2917
 #, c-format
 msgid "In a moment you should be able to reconnect to the database and repeat your command."
 msgstr "In un momento sarai in grado di riconnetterti al database e di ripetere il comando."
 
-#: tcop/postgres.c:2666
+#: tcop/postgres.c:2697
 #, c-format
 msgid "floating-point exception"
 msgstr "eccezione floating-point"
 
-#: tcop/postgres.c:2667
+#: tcop/postgres.c:2698
 #, c-format
 msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero."
 msgstr "Un'operazione in floating-point non valida è stata segnalata. Questo probabilmente sta a significare che il risultato è un valore fuori limite o l'operazione non è valida, ad esempio una divisione per zero."
 
-#: tcop/postgres.c:2851
+#: tcop/postgres.c:2862
+#, c-format
+msgid "canceling authentication due to timeout"
+msgstr "annullamento dell'autenticazione a causa di timeout"
+
+#: tcop/postgres.c:2866
 #, c-format
 msgid "terminating autovacuum process due to administrator command"
 msgstr "interruzione del processo autovacuum su comando dell'amministratore"
 
-#: tcop/postgres.c:2857 tcop/postgres.c:2867 tcop/postgres.c:2945
+#: tcop/postgres.c:2872 tcop/postgres.c:2882 tcop/postgres.c:2915
 #, c-format
 msgid "terminating connection due to conflict with recovery"
 msgstr "interruzione della connessione a causa di conflitto con il ripristino"
 
-#: tcop/postgres.c:2873
+#: tcop/postgres.c:2888
 #, c-format
 msgid "terminating connection due to administrator command"
 msgstr "interruzione della connessione su comando dell'amministratore"
 
-#: tcop/postgres.c:2885
+#: tcop/postgres.c:2898
 #, c-format
 msgid "connection to client lost"
 msgstr "connessione al client persa"
 
-#: tcop/postgres.c:2900
-#, c-format
-msgid "canceling authentication due to timeout"
-msgstr "annullamento dell'autenticazione a causa di timeout"
-
-#: tcop/postgres.c:2915
+#: tcop/postgres.c:2951
 #, c-format
 msgid "canceling statement due to lock timeout"
 msgstr "annullamento dell'istruzione a causa di timeout di lock"
 
-#: tcop/postgres.c:2924
+#: tcop/postgres.c:2958
 #, c-format
 msgid "canceling statement due to statement timeout"
 msgstr "annullamento dell'istruzione a causa di timeout"
 
-#: tcop/postgres.c:2933
+#: tcop/postgres.c:2965
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "annullamento del task di autovacuum"
 
-#: tcop/postgres.c:2968
+#: tcop/postgres.c:2988
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "annullamento dell'istruzione su richiesta dell'utente"
 
-#: tcop/postgres.c:3096 tcop/postgres.c:3118
+#: tcop/postgres.c:3118 tcop/postgres.c:3140
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "limite di profondità dello stack superato"
 
-#: tcop/postgres.c:3097 tcop/postgres.c:3119
+#: tcop/postgres.c:3119 tcop/postgres.c:3141
 #, c-format
 msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate."
 msgstr "Incrementa il parametro di configurazione \"max_stack_depth\" (attualmente %dkB), dopo esserti assicurato che il limite dello stack della piattaforma sia adeguato."
 
-#: tcop/postgres.c:3135
+#: tcop/postgres.c:3157
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "\"max_stack_depth\" non deve superare %ldkB"
 
-#: tcop/postgres.c:3137
+#: tcop/postgres.c:3159
 #, c-format
 msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent."
 msgstr "Incrementa il limite dello stack della piattaforma usando \"ulimit -s\" on un comando equivalente."
 
-#: tcop/postgres.c:3501
+#: tcop/postgres.c:3519
 #, c-format
 msgid "invalid command-line argument for server process: %s"
 msgstr "argomento della riga di comando non valido per il processo server: %s"
 
-#: tcop/postgres.c:3502 tcop/postgres.c:3508
+#: tcop/postgres.c:3520 tcop/postgres.c:3526
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Prova \"%s --help\" per maggiori informazioni."
 
-#: tcop/postgres.c:3506
+#: tcop/postgres.c:3524
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s: argomento della riga di comando non valido: %s"
@@ -15011,27 +16209,27 @@ msgstr "%s: argomento della riga di comando non valido: %s"
 msgid "%s: no database nor user name specified"
 msgstr "%s: nessun database né nome utente specificato"
 
-#: tcop/postgres.c:4162
+#: tcop/postgres.c:4171
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "sottotipo %d del messaggio CLOSE non valido"
 
-#: tcop/postgres.c:4197
+#: tcop/postgres.c:4206
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "sottotipo %d del messaggio DESCRIBE non valido"
 
-#: tcop/postgres.c:4275
+#: tcop/postgres.c:4284
 #, c-format
 msgid "fastpath function calls not supported in a replication connection"
 msgstr "le chiamate di funzione fastpath non sono supportate in una connessione di replica"
 
-#: tcop/postgres.c:4279
+#: tcop/postgres.c:4288
 #, c-format
 msgid "extended query protocol not supported in a replication connection"
 msgstr "il protocollo di query esteso non è supportato in una connessione di replica"
 
-#: tcop/postgres.c:4449
+#: tcop/postgres.c:4458
 #, c-format
 msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
 msgstr "disconnessione: tempo della sessione: %d:%02d:%02d.%03d utente=%s database=%s host=%s%s%s"
@@ -15052,24 +16250,30 @@ msgid "Declare it with SCROLL option to enable backward scan."
 msgstr "Dichiaralo con l'opzione SCROLL per abilitare le scansioni all'indietro."
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:227
+#: tcop/utility.c:233
 #, c-format
 msgid "cannot execute %s in a read-only transaction"
 msgstr "non è possibile eseguire %s in una transazione a sola lettura"
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:246
+#: tcop/utility.c:251
+#, c-format
+msgid "cannot execute %s during a parallel operation"
+msgstr "non è possibile eseguire %s durante un'operazione parallela"
+
+#. translator: %s is name of a SQL command, eg CREATE
+#: tcop/utility.c:270
 #, c-format
 msgid "cannot execute %s during recovery"
 msgstr "non è possibile eseguire %s durante il recupero"
 
 #. translator: %s is name of a SQL command, eg PREPARE
-#: tcop/utility.c:264
+#: tcop/utility.c:288
 #, c-format
 msgid "cannot execute %s within security-restricted operation"
 msgstr "non è possibile eseguire %s nell'ambito di operazioni a sicurezza ristretta"
 
-#: tcop/utility.c:728
+#: tcop/utility.c:742
 #, c-format
 msgid "must be superuser to do CHECKPOINT"
 msgstr "solo un superutente può eseguire CHECKPOINT"
@@ -15205,7 +16409,7 @@ msgid "invalid regular expression: %s"
 msgstr "espressione regolare non valida: %s"
 
 #: tsearch/spell.c:518 tsearch/spell.c:535 tsearch/spell.c:552
-#: tsearch/spell.c:569 tsearch/spell.c:591 gram.y:13422 gram.y:13439
+#: tsearch/spell.c:569 tsearch/spell.c:591 gram.y:14241 gram.y:14258
 #, c-format
 msgid "syntax error"
 msgstr "errore di sintassi"
@@ -15272,416 +16476,456 @@ msgstr "apertura del file delle stop word \"%s\" fallita: %m"
 msgid "text search parser does not support headline creation"
 msgstr "l'analizzatore di ricerca di testo non supporta la creazione di intestazioni"
 
-#: tsearch/wparser_def.c:2555
+#: tsearch/wparser_def.c:2557
 #, c-format
 msgid "unrecognized headline parameter: \"%s\""
 msgstr "parametro di intestazione sconosciuto: \"%s\""
 
-#: tsearch/wparser_def.c:2564
+#: tsearch/wparser_def.c:2566
 #, c-format
 msgid "MinWords should be less than MaxWords"
 msgstr "MinWords dovrebbe essere minore di MaxWords"
 
-#: tsearch/wparser_def.c:2568
+#: tsearch/wparser_def.c:2570
 #, c-format
 msgid "MinWords should be positive"
 msgstr "MinWords dovrebbe essere positivo"
 
-#: tsearch/wparser_def.c:2572
+#: tsearch/wparser_def.c:2574
 #, c-format
 msgid "ShortWord should be >= 0"
 msgstr "ShortWord dovrebbe essere >= 0"
 
-#: tsearch/wparser_def.c:2576
+#: tsearch/wparser_def.c:2578
 #, c-format
 msgid "MaxFragments should be >= 0"
 msgstr "MaxFragments dovrebbe essere >= 0"
 
-#: utils/adt/acl.c:170 utils/adt/name.c:91
+#: utils/adt/acl.c:169 utils/adt/name.c:91
 #, c-format
 msgid "identifier too long"
 msgstr "l'identificativo è troppo lungo"
 
-#: utils/adt/acl.c:171 utils/adt/name.c:92
+#: utils/adt/acl.c:170 utils/adt/name.c:92
 #, c-format
 msgid "Identifier must be less than %d characters."
 msgstr "Gli identificatori devono essere più corti di %d caratteri."
 
-#: utils/adt/acl.c:257
+#: utils/adt/acl.c:256
 #, c-format
 msgid "unrecognized key word: \"%s\""
 msgstr "parola chiave sconosciuta: \"%s\""
 
-#: utils/adt/acl.c:258
+#: utils/adt/acl.c:257
 #, c-format
 msgid "ACL key word must be \"group\" or \"user\"."
 msgstr "la parola chiave ACL deve essere \"group\" o \"user\"."
 
-#: utils/adt/acl.c:263
+#: utils/adt/acl.c:262
 #, c-format
 msgid "missing name"
 msgstr "manca il nome"
 
-#: utils/adt/acl.c:264
+#: utils/adt/acl.c:263
 #, c-format
 msgid "A name must follow the \"group\" or \"user\" key word."
 msgstr "le parole chiave \"group\" o \"user\" devono essere seguite da un nome."
 
-#: utils/adt/acl.c:270
+#: utils/adt/acl.c:269
 #, c-format
 msgid "missing \"=\" sign"
 msgstr "manca il simbolo \"=\""
 
-#: utils/adt/acl.c:323
+#: utils/adt/acl.c:322
 #, c-format
 msgid "invalid mode character: must be one of \"%s\""
 msgstr "il carattere di modo non è valido: deve essere uno fra \"%s\""
 
-#: utils/adt/acl.c:345
+#: utils/adt/acl.c:344
 #, c-format
 msgid "a name must follow the \"/\" sign"
 msgstr "il simbolo \"/\" deve essere seguito da un nome"
 
-#: utils/adt/acl.c:353
+#: utils/adt/acl.c:352
 #, c-format
 msgid "defaulting grantor to user ID %u"
 msgstr "l'user ID %u è ora chi concede i ruoli in maniera predefinita"
 
-#: utils/adt/acl.c:544
+#: utils/adt/acl.c:543
 #, c-format
 msgid "ACL array contains wrong data type"
 msgstr "l'array di ACL array contiene tipi di dati errati"
 
-#: utils/adt/acl.c:548
+#: utils/adt/acl.c:547
 #, c-format
 msgid "ACL arrays must be one-dimensional"
 msgstr "gli array di ACL devono avere una sola dimensione"
 
-#: utils/adt/acl.c:552
+#: utils/adt/acl.c:551
 #, c-format
 msgid "ACL arrays must not contain null values"
 msgstr "gli array di ACL non possono contenere valori nulli"
 
-#: utils/adt/acl.c:576
+#: utils/adt/acl.c:575
 #, c-format
 msgid "extra garbage at the end of the ACL specification"
 msgstr "ci sono caratteri spuri al termine della specifica dell'ACL"
 
-#: utils/adt/acl.c:1196
+#: utils/adt/acl.c:1195
 #, c-format
 msgid "grant options cannot be granted back to your own grantor"
 msgstr "le opzioni di concessione non possono essere concesse a chi le ha concesse a te"
 
-#: utils/adt/acl.c:1257
+#: utils/adt/acl.c:1256
 #, c-format
 msgid "dependent privileges exist"
 msgstr "esistono privilegi dipendenti"
 
-#: utils/adt/acl.c:1258
+#: utils/adt/acl.c:1257
 #, c-format
 msgid "Use CASCADE to revoke them too."
 msgstr "Usa CASCADE per revocare anch'essi."
 
-#: utils/adt/acl.c:1537
+#: utils/adt/acl.c:1536
 #, c-format
 msgid "aclinsert is no longer supported"
 msgstr "aclinsert non è più supportato"
 
-#: utils/adt/acl.c:1547
+#: utils/adt/acl.c:1546
 #, c-format
 msgid "aclremove is no longer supported"
 msgstr "aclremove non è più supportato"
 
-#: utils/adt/acl.c:1633 utils/adt/acl.c:1687
+#: utils/adt/acl.c:1632 utils/adt/acl.c:1686
 #, c-format
 msgid "unrecognized privilege type: \"%s\""
 msgstr "tipo di privilegio sconosciuto: \"%s\""
 
-#: utils/adt/acl.c:3427 utils/adt/regproc.c:122 utils/adt/regproc.c:143
-#: utils/adt/regproc.c:318
+#: utils/adt/acl.c:3426 utils/adt/regproc.c:123 utils/adt/regproc.c:144
+#: utils/adt/regproc.c:319
 #, c-format
 msgid "function \"%s\" does not exist"
 msgstr "la funzione \"%s\" non esiste"
 
-#: utils/adt/acl.c:4881
+#: utils/adt/acl.c:4880
 #, c-format
 msgid "must be member of role \"%s\""
 msgstr "occorre far parte del ruolo \"%s\""
 
-#: utils/adt/array_userfuncs.c:48
+#: utils/adt/array_expanded.c:276 utils/adt/arrayfuncs.c:934
+#: utils/adt/arrayfuncs.c:1522 utils/adt/arrayfuncs.c:3225
+#: utils/adt/arrayfuncs.c:3363 utils/adt/arrayfuncs.c:5838
+#: utils/adt/arrayfuncs.c:6149 utils/adt/arrayutils.c:93
+#: utils/adt/arrayutils.c:102 utils/adt/arrayutils.c:109
+#, c-format
+msgid "array size exceeds the maximum allowed (%d)"
+msgstr "la dimensione dell'array supera il massimo consentito (%d)"
+
+#: utils/adt/array_userfuncs.c:67 utils/adt/array_userfuncs.c:529
+#: utils/adt/array_userfuncs.c:609 utils/adt/json.c:1707 utils/adt/json.c:1802
+#: utils/adt/json.c:1833 utils/adt/jsonb.c:1132 utils/adt/jsonb.c:1161
+#: utils/adt/jsonb.c:1592 utils/adt/jsonb.c:1753 utils/adt/jsonb.c:1771
 #, c-format
-msgid "could not determine input data types"
-msgstr "non è stato possibile determinare i tipi di dati di input"
+msgid "could not determine input data type"
+msgstr "non è stato possibile determinare il tipo di dato di input"
 
-#: utils/adt/array_userfuncs.c:82
+#: utils/adt/array_userfuncs.c:72
 #, c-format
-msgid "neither input type is an array"
-msgstr "nessuno dei tipi in input è un array"
+msgid "input data type is not an array"
+msgstr "il tipo di dati in input non è un array"
 
-#: utils/adt/array_userfuncs.c:103 utils/adt/array_userfuncs.c:113
-#: utils/adt/arrayfuncs.c:1309 utils/adt/float.c:1161 utils/adt/float.c:1220
+#: utils/adt/array_userfuncs.c:120 utils/adt/array_userfuncs.c:174
+#: utils/adt/arrayfuncs.c:1325 utils/adt/float.c:1161 utils/adt/float.c:1220
 #: utils/adt/float.c:2771 utils/adt/float.c:2787 utils/adt/int.c:623
 #: utils/adt/int.c:652 utils/adt/int.c:673 utils/adt/int.c:704
 #: utils/adt/int.c:737 utils/adt/int.c:759 utils/adt/int.c:907
 #: utils/adt/int.c:928 utils/adt/int.c:955 utils/adt/int.c:995
 #: utils/adt/int.c:1016 utils/adt/int.c:1043 utils/adt/int.c:1076
-#: utils/adt/int.c:1159 utils/adt/int8.c:1298 utils/adt/numeric.c:2304
-#: utils/adt/numeric.c:2313 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
-#: utils/adt/varlena.c:1013 utils/adt/varlena.c:2036
+#: utils/adt/int.c:1159 utils/adt/int8.c:1298 utils/adt/numeric.c:2903
+#: utils/adt/numeric.c:2912 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
+#: utils/adt/varlena.c:1045 utils/adt/varlena.c:2582
 #, c-format
 msgid "integer out of range"
 msgstr "intero fuori dall'intervallo"
 
-#: utils/adt/array_userfuncs.c:121
+#: utils/adt/array_userfuncs.c:127 utils/adt/array_userfuncs.c:184
 #, c-format
 msgid "argument must be empty or one-dimensional array"
 msgstr "l'argomento deve essere vuoto o un array con una sola dimensione"
 
-#: utils/adt/array_userfuncs.c:224 utils/adt/array_userfuncs.c:263
-#: utils/adt/array_userfuncs.c:300 utils/adt/array_userfuncs.c:329
-#: utils/adt/array_userfuncs.c:357
+#: utils/adt/array_userfuncs.c:266 utils/adt/array_userfuncs.c:305
+#: utils/adt/array_userfuncs.c:342 utils/adt/array_userfuncs.c:371
+#: utils/adt/array_userfuncs.c:399
 #, c-format
 msgid "cannot concatenate incompatible arrays"
 msgstr "non è possibile concatenare array non compatibili"
 
-#: utils/adt/array_userfuncs.c:225
+#: utils/adt/array_userfuncs.c:267
 #, c-format
 msgid "Arrays with element types %s and %s are not compatible for concatenation."
 msgstr "Array con elementi di tipi %s e %s non sono compatibili per il concatenamento."
 
-#: utils/adt/array_userfuncs.c:264
+#: utils/adt/array_userfuncs.c:306
 #, c-format
 msgid "Arrays of %d and %d dimensions are not compatible for concatenation."
 msgstr "Array con dimensioni %d e %d non sono compatibili per il concatenamento."
 
-#: utils/adt/array_userfuncs.c:301
+#: utils/adt/array_userfuncs.c:343
 #, c-format
 msgid "Arrays with differing element dimensions are not compatible for concatenation."
 msgstr "Array con elementi dalle dimensioni diverse non sono compatibili per il concatenamento."
 
-#: utils/adt/array_userfuncs.c:330 utils/adt/array_userfuncs.c:358
+#: utils/adt/array_userfuncs.c:372 utils/adt/array_userfuncs.c:400
 #, c-format
 msgid "Arrays with differing dimensions are not compatible for concatenation."
 msgstr "Array con dimensioni diverse non sono compatibili per il concatenamento."
 
-#: utils/adt/array_userfuncs.c:426 utils/adt/arrayfuncs.c:1271
-#: utils/adt/arrayfuncs.c:2957 utils/adt/arrayfuncs.c:4982
+#: utils/adt/array_userfuncs.c:468 utils/adt/arrayfuncs.c:1287
+#: utils/adt/arrayfuncs.c:3331 utils/adt/arrayfuncs.c:5738
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "numero di dimensioni non valido: %d"
 
-#: utils/adt/array_userfuncs.c:487 utils/adt/json.c:1694 utils/adt/json.c:1789
-#: utils/adt/json.c:1820
+#: utils/adt/array_userfuncs.c:725 utils/adt/array_userfuncs.c:876
 #, c-format
-msgid "could not determine input data type"
-msgstr "non è stato possibile determinare il tipo di dato di input"
+msgid "searching for elements in multidimensional arrays is not supported"
+msgstr "la ricerca di elementi in array multidimensionali non è supportata"
+
+#: utils/adt/array_userfuncs.c:749
+#, c-format
+msgid "initial position should not be NULL"
+msgstr "la posizione iniziale non può essere NULL"
 
-#: utils/adt/arrayfuncs.c:241 utils/adt/arrayfuncs.c:255
-#: utils/adt/arrayfuncs.c:266 utils/adt/arrayfuncs.c:288
-#: utils/adt/arrayfuncs.c:303 utils/adt/arrayfuncs.c:317
-#: utils/adt/arrayfuncs.c:323 utils/adt/arrayfuncs.c:330
-#: utils/adt/arrayfuncs.c:461 utils/adt/arrayfuncs.c:477
-#: utils/adt/arrayfuncs.c:488 utils/adt/arrayfuncs.c:503
-#: utils/adt/arrayfuncs.c:524 utils/adt/arrayfuncs.c:554
-#: utils/adt/arrayfuncs.c:561 utils/adt/arrayfuncs.c:569
-#: utils/adt/arrayfuncs.c:603 utils/adt/arrayfuncs.c:626
-#: utils/adt/arrayfuncs.c:646 utils/adt/arrayfuncs.c:758
-#: utils/adt/arrayfuncs.c:767 utils/adt/arrayfuncs.c:797
-#: utils/adt/arrayfuncs.c:812 utils/adt/arrayfuncs.c:865
+#: utils/adt/arrayfuncs.c:271 utils/adt/arrayfuncs.c:285
+#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:318
+#: utils/adt/arrayfuncs.c:333 utils/adt/arrayfuncs.c:347
+#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360
+#: utils/adt/arrayfuncs.c:491 utils/adt/arrayfuncs.c:507
+#: utils/adt/arrayfuncs.c:518 utils/adt/arrayfuncs.c:533
+#: utils/adt/arrayfuncs.c:554 utils/adt/arrayfuncs.c:584
+#: utils/adt/arrayfuncs.c:591 utils/adt/arrayfuncs.c:599
+#: utils/adt/arrayfuncs.c:633 utils/adt/arrayfuncs.c:656
+#: utils/adt/arrayfuncs.c:676 utils/adt/arrayfuncs.c:788
+#: utils/adt/arrayfuncs.c:797 utils/adt/arrayfuncs.c:827
+#: utils/adt/arrayfuncs.c:842 utils/adt/arrayfuncs.c:895
 #, c-format
 msgid "malformed array literal: \"%s\""
 msgstr "il letterale array non è definito in modo corretto: \"%s\""
 
-#: utils/adt/arrayfuncs.c:242
+#: utils/adt/arrayfuncs.c:272
 #, c-format
 msgid "\"[\" must introduce explicitly-specified array dimensions."
 msgstr "\"[\" deve introdurre un array con dimensioni specificate esplicitamente."
 
-#: utils/adt/arrayfuncs.c:256
+#: utils/adt/arrayfuncs.c:286
 #, c-format
 msgid "Missing array dimension value."
 msgstr "Valore delle dimensioni dell'array mancante."
 
-#: utils/adt/arrayfuncs.c:267 utils/adt/arrayfuncs.c:304
+#: utils/adt/arrayfuncs.c:297 utils/adt/arrayfuncs.c:334
 #, c-format
 msgid "Missing \"%s\" after array dimensions."
 msgstr "Manca \"%s\" dopo le dimensioni dell'array."
 
-#: utils/adt/arrayfuncs.c:276 utils/adt/arrayfuncs.c:2482
-#: utils/adt/arrayfuncs.c:2510 utils/adt/arrayfuncs.c:2525
+#: utils/adt/arrayfuncs.c:306 utils/adt/arrayfuncs.c:2848
+#: utils/adt/arrayfuncs.c:2876 utils/adt/arrayfuncs.c:2891
 #, c-format
 msgid "upper bound cannot be less than lower bound"
 msgstr "il limite massimo non può essere minore del limite minimo"
 
-#: utils/adt/arrayfuncs.c:289
+#: utils/adt/arrayfuncs.c:319
 #, c-format
 msgid "Array value must start with \"{\" or dimension information."
 msgstr "L'array deve iniziare con \"{\" oppure con le informazioni di dimensione."
 
-#: utils/adt/arrayfuncs.c:318
+#: utils/adt/arrayfuncs.c:348
 #, c-format
 msgid "Array contents must start with \"{\"."
 msgstr "Il contenuto dell'array deve cominciare con \"{\"."
 
-#: utils/adt/arrayfuncs.c:324 utils/adt/arrayfuncs.c:331
+#: utils/adt/arrayfuncs.c:354 utils/adt/arrayfuncs.c:361
 #, c-format
 msgid "Specified array dimensions do not match array contents."
 msgstr "Le dimensioni specificate per l'array non combaciano con il contenuto."
 
-#: utils/adt/arrayfuncs.c:462 utils/adt/arrayfuncs.c:489
-#: utils/adt/rangetypes.c:2083 utils/adt/rangetypes.c:2091
+#: utils/adt/arrayfuncs.c:492 utils/adt/arrayfuncs.c:519
+#: utils/adt/rangetypes.c:2111 utils/adt/rangetypes.c:2119
 #: utils/adt/rowtypes.c:208 utils/adt/rowtypes.c:216
 #, c-format
 msgid "Unexpected end of input."
 msgstr "L'input è terminato in modo inatteso."
 
-#: utils/adt/arrayfuncs.c:478 utils/adt/arrayfuncs.c:525
-#: utils/adt/arrayfuncs.c:555 utils/adt/arrayfuncs.c:604
+#: utils/adt/arrayfuncs.c:508 utils/adt/arrayfuncs.c:555
+#: utils/adt/arrayfuncs.c:585 utils/adt/arrayfuncs.c:634
 #, c-format
 msgid "Unexpected \"%c\" character."
 msgstr "Carattere \"%c\" inatteso."
 
-#: utils/adt/arrayfuncs.c:504 utils/adt/arrayfuncs.c:627
+#: utils/adt/arrayfuncs.c:534 utils/adt/arrayfuncs.c:657
 #, c-format
 msgid "Unexpected array element."
 msgstr "Elemento dell'array inatteso."
 
-#: utils/adt/arrayfuncs.c:562
+#: utils/adt/arrayfuncs.c:592
 #, c-format
 msgid "Unmatched \"%c\" character."
 msgstr "Il carattere \"%c\" non combacia."
 
-#: utils/adt/arrayfuncs.c:570
+#: utils/adt/arrayfuncs.c:600
 #, c-format
 msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
 msgstr "Gli array multidimensionali devono avere sotto-array con dimensioni corrispondenti."
 
-#: utils/adt/arrayfuncs.c:647
+#: utils/adt/arrayfuncs.c:677
 #, c-format
 msgid "Junk after closing right brace."
 msgstr "Caratteri spuri dopo la parentesi chiusa."
 
-#: utils/adt/arrayfuncs.c:904 utils/adt/arrayfuncs.c:1506
-#: utils/adt/arrayfuncs.c:2841 utils/adt/arrayfuncs.c:2989
-#: utils/adt/arrayfuncs.c:5082 utils/adt/arrayfuncs.c:5414
-#: utils/adt/arrayutils.c:93 utils/adt/arrayutils.c:102
-#: utils/adt/arrayutils.c:109
-#, c-format
-msgid "array size exceeds the maximum allowed (%d)"
-msgstr "la dimensione dell'array supera il massimo consentito (%d)"
-
-#: utils/adt/arrayfuncs.c:1282
+#: utils/adt/arrayfuncs.c:1298
 #, c-format
 msgid "invalid array flags"
 msgstr "i flag dell'array non sono validi"
 
-#: utils/adt/arrayfuncs.c:1290
+#: utils/adt/arrayfuncs.c:1306
 #, c-format
 msgid "wrong element type"
 msgstr "il tipo di elemento è errato"
 
-#: utils/adt/arrayfuncs.c:1340 utils/adt/rangetypes.c:325
-#: utils/cache/lsyscache.c:2549
+#: utils/adt/arrayfuncs.c:1356 utils/adt/rangetypes.c:325
+#: utils/cache/lsyscache.c:2587
 #, c-format
 msgid "no binary input function available for type %s"
 msgstr "non esiste una funzione di input binario per il tipo %s"
 
-#: utils/adt/arrayfuncs.c:1480
+#: utils/adt/arrayfuncs.c:1496
 #, c-format
 msgid "improper binary format in array element %d"
 msgstr "il formato binario nell'elemento dell'array %d non è corretto"
 
-#: utils/adt/arrayfuncs.c:1562 utils/adt/rangetypes.c:330
-#: utils/cache/lsyscache.c:2582
+#: utils/adt/arrayfuncs.c:1577 utils/adt/rangetypes.c:330
+#: utils/cache/lsyscache.c:2620
 #, c-format
 msgid "no binary output function available for type %s"
 msgstr "non esiste una funzione di output binario per il tipo %s"
 
-#: utils/adt/arrayfuncs.c:1949
+#: utils/adt/arrayfuncs.c:2048
 #, c-format
 msgid "slices of fixed-length arrays not implemented"
 msgstr "le sezioni di array a lunghezza fissa non sono implementate"
 
-#: utils/adt/arrayfuncs.c:2122 utils/adt/arrayfuncs.c:2144
-#: utils/adt/arrayfuncs.c:2178 utils/adt/arrayfuncs.c:2464
-#: utils/adt/arrayfuncs.c:4962 utils/adt/arrayfuncs.c:4994
-#: utils/adt/arrayfuncs.c:5011 utils/adt/json.c:2211 utils/adt/json.c:2286
+#: utils/adt/arrayfuncs.c:2226 utils/adt/arrayfuncs.c:2248
+#: utils/adt/arrayfuncs.c:2297 utils/adt/arrayfuncs.c:2533
+#: utils/adt/arrayfuncs.c:2830 utils/adt/arrayfuncs.c:5718
+#: utils/adt/arrayfuncs.c:5750 utils/adt/arrayfuncs.c:5767
+#: utils/adt/json.c:2224 utils/adt/json.c:2299 utils/adt/jsonb.c:1381
+#: utils/adt/jsonb.c:1467 utils/adt/jsonfuncs.c:3473
+#: utils/adt/jsonfuncs.c:3518
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "il numero di indici di array è errato"
 
-#: utils/adt/arrayfuncs.c:2127 utils/adt/arrayfuncs.c:2220
-#: utils/adt/arrayfuncs.c:2515
+#: utils/adt/arrayfuncs.c:2231 utils/adt/arrayfuncs.c:2339
+#: utils/adt/arrayfuncs.c:2597 utils/adt/arrayfuncs.c:2881
 #, c-format
 msgid "array subscript out of range"
 msgstr "indice dell'array fuori dall'intervallo"
 
-#: utils/adt/arrayfuncs.c:2132
+#: utils/adt/arrayfuncs.c:2236
 #, c-format
 msgid "cannot assign null value to an element of a fixed-length array"
 msgstr "non è possibile assegnare un valore nullo a un elemento di un array a dimensione fissa"
 
-#: utils/adt/arrayfuncs.c:2418
+#: utils/adt/arrayfuncs.c:2784
 #, c-format
 msgid "updates on slices of fixed-length arrays not implemented"
 msgstr "la modifica di sezioni di array a lunghezza fissa non è implementate"
 
-#: utils/adt/arrayfuncs.c:2454 utils/adt/arrayfuncs.c:2541
+#: utils/adt/arrayfuncs.c:2820 utils/adt/arrayfuncs.c:2907
 #, c-format
 msgid "source array too small"
 msgstr "l'array di origine è troppo piccolo"
 
-#: utils/adt/arrayfuncs.c:3096
+#: utils/adt/arrayfuncs.c:3487
 #, c-format
 msgid "null array element not allowed in this context"
 msgstr "in questo contesto non è consentito un elemento di array nullo"
 
-#: utils/adt/arrayfuncs.c:3199 utils/adt/arrayfuncs.c:3407
-#: utils/adt/arrayfuncs.c:3724
+#: utils/adt/arrayfuncs.c:3589 utils/adt/arrayfuncs.c:3760
+#: utils/adt/arrayfuncs.c:4034
 #, c-format
 msgid "cannot compare arrays of different element types"
 msgstr "non è possibile confrontare array con elementi di tipo diverso"
 
-#: utils/adt/arrayfuncs.c:3609 utils/adt/rangetypes.c:1212
+#: utils/adt/arrayfuncs.c:3936 utils/adt/rangetypes.c:1240
 #, c-format
 msgid "could not identify a hash function for type %s"
 msgstr "non è stato possibile trovare una funzione di hash per il tipo %s"
 
-#: utils/adt/arrayfuncs.c:4860 utils/adt/arrayfuncs.c:4900
+#: utils/adt/arrayfuncs.c:5130
+#, c-format
+msgid "data type %s is not an array type"
+msgstr "il tipo di dati %s non è un tipo array"
+
+#: utils/adt/arrayfuncs.c:5187
+#, c-format
+msgid "cannot accumulate null arrays"
+msgstr "non è possibile accumulare array nulli"
+
+#: utils/adt/arrayfuncs.c:5215
+#, c-format
+msgid "cannot accumulate empty arrays"
+msgstr "non è possibile accumulare array vuoti"
+
+#: utils/adt/arrayfuncs.c:5244 utils/adt/arrayfuncs.c:5250
+#, c-format
+msgid "cannot accumulate arrays of different dimensionality"
+msgstr "non è possibile accumulare array di dimensioni diverse"
+
+#: utils/adt/arrayfuncs.c:5616 utils/adt/arrayfuncs.c:5656
 #, c-format
 msgid "dimension array or low bound array cannot be null"
 msgstr "la dimensione dell'array o il suo limite inferiore non possono essere nulli"
 
-#: utils/adt/arrayfuncs.c:4963 utils/adt/arrayfuncs.c:4995
+#: utils/adt/arrayfuncs.c:5719 utils/adt/arrayfuncs.c:5751
 #, c-format
 msgid "Dimension array must be one dimensional."
 msgstr "L'array delle dimensioni deve avere una sola dimensione."
 
-#: utils/adt/arrayfuncs.c:4968 utils/adt/arrayfuncs.c:5000
+#: utils/adt/arrayfuncs.c:5724 utils/adt/arrayfuncs.c:5756
 #, c-format
 msgid "wrong range of array subscripts"
 msgstr "il range degli indici dell'array non è corretto"
 
-#: utils/adt/arrayfuncs.c:4969 utils/adt/arrayfuncs.c:5001
+#: utils/adt/arrayfuncs.c:5725 utils/adt/arrayfuncs.c:5757
 #, c-format
 msgid "Lower bound of dimension array must be one."
 msgstr "Il valore minimo dell'array delle dimensioni deve essere uno."
 
-#: utils/adt/arrayfuncs.c:4974 utils/adt/arrayfuncs.c:5006
+#: utils/adt/arrayfuncs.c:5730 utils/adt/arrayfuncs.c:5762
 #, c-format
 msgid "dimension values cannot be null"
 msgstr "i valori di dimensione non possono essere nulli"
 
-#: utils/adt/arrayfuncs.c:5012
+#: utils/adt/arrayfuncs.c:5768
 #, c-format
 msgid "Low bound array has different size than dimensions array."
 msgstr "L'array dei valori inferiori ha dimensione differente dal numero di dimensioni dell'array."
 
-#: utils/adt/arrayfuncs.c:5279
+#: utils/adt/arrayfuncs.c:6014
 #, c-format
 msgid "removing elements from multidimensional arrays is not supported"
 msgstr "la rimozione di elementi da array multidimensionali non è supportata"
 
+#: utils/adt/arrayfuncs.c:6291
+#, c-format
+msgid "thresholds must be one-dimensional array"
+msgstr "la soglia dev'essere un array monodimensionale"
+
+#: utils/adt/arrayfuncs.c:6296
+#, c-format
+msgid "thresholds array must not contain NULLs"
+msgstr "l'array delle soglie non può contenere NULL"
+
 #: utils/adt/arrayutils.c:209
 #, c-format
 msgid "typmod array must be type cstring[]"
@@ -15715,12 +16959,12 @@ msgstr "sintassi di input non valida per il tipo money: \"%s\""
 #: utils/adt/cash.c:607 utils/adt/cash.c:657 utils/adt/cash.c:708
 #: utils/adt/cash.c:757 utils/adt/cash.c:809 utils/adt/cash.c:859
 #: utils/adt/float.c:788 utils/adt/float.c:852 utils/adt/float.c:2530
-#: utils/adt/float.c:2593 utils/adt/geo_ops.c:4115 utils/adt/int.c:719
+#: utils/adt/float.c:2593 utils/adt/geo_ops.c:4152 utils/adt/int.c:719
 #: utils/adt/int.c:861 utils/adt/int.c:969 utils/adt/int.c:1058
 #: utils/adt/int.c:1097 utils/adt/int.c:1125 utils/adt/int8.c:597
 #: utils/adt/int8.c:657 utils/adt/int8.c:897 utils/adt/int8.c:1005
-#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:4961
-#: utils/adt/numeric.c:5244 utils/adt/timestamp.c:3357
+#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:5908
+#: utils/adt/numeric.c:6191 utils/adt/timestamp.c:3350
 #, c-format
 msgid "division by zero"
 msgstr "divisione per zero"
@@ -15730,7 +16974,7 @@ msgstr "divisione per zero"
 msgid "\"char\" out of range"
 msgstr "\"char\" fuori dall'intervallo consentito"
 
-#: utils/adt/date.c:68 utils/adt/timestamp.c:102 utils/adt/varbit.c:52
+#: utils/adt/date.c:68 utils/adt/timestamp.c:95 utils/adt/varbit.c:52
 #: utils/adt/varchar.c:44
 #, c-format
 msgid "invalid type modifier"
@@ -15751,22 +16995,22 @@ msgstr "la precisione di TIME(%d)%s è stata ridotta al massimo consentito (%d)"
 msgid "date/time value \"current\" is no longer supported"
 msgstr "il valore \"current\" per i tipi date/time non è più supportato"
 
-#: utils/adt/date.c:167 utils/adt/formatting.c:3411
+#: utils/adt/date.c:167 utils/adt/formatting.c:3523
 #, c-format
 msgid "date out of range: \"%s\""
 msgstr "data fuori dall'intervallo consentito: \"%s\""
 
-#: utils/adt/date.c:217 utils/adt/json.c:1431 utils/adt/xml.c:2024
+#: utils/adt/date.c:217 utils/adt/xml.c:2029
 #, c-format
 msgid "date out of range"
 msgstr "data fuori dall'intervallo consentito"
 
-#: utils/adt/date.c:259 utils/adt/timestamp.c:600
+#: utils/adt/date.c:259 utils/adt/timestamp.c:593
 #, c-format
 msgid "date field value out of range: %d-%02d-%02d"
 msgstr "valori del campo data fuori dall'intervallo consentito: %d-%02d-%02d"
 
-#: utils/adt/date.c:265 utils/adt/timestamp.c:606
+#: utils/adt/date.c:265 utils/adt/timestamp.c:599
 #, c-format
 msgid "date out of range: %d-%02d-%02d"
 msgstr "data fuori dall'intervallo consentito: %d-%02d-%02d"
@@ -15782,28 +17026,28 @@ msgid "date out of range for timestamp"
 msgstr "data fuori dall'intervallo consentito per timestamp"
 
 #: utils/adt/date.c:971 utils/adt/date.c:1017 utils/adt/date.c:1617
-#: utils/adt/date.c:1653 utils/adt/date.c:2525 utils/adt/formatting.c:3287
-#: utils/adt/formatting.c:3319 utils/adt/formatting.c:3387
-#: utils/adt/json.c:1456 utils/adt/json.c:1463 utils/adt/json.c:1483
-#: utils/adt/json.c:1490 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498
-#: utils/adt/nabstime.c:528 utils/adt/nabstime.c:571 utils/adt/timestamp.c:232
-#: utils/adt/timestamp.c:275 utils/adt/timestamp.c:724
-#: utils/adt/timestamp.c:753 utils/adt/timestamp.c:792
-#: utils/adt/timestamp.c:2946 utils/adt/timestamp.c:2967
-#: utils/adt/timestamp.c:2980 utils/adt/timestamp.c:2989
-#: utils/adt/timestamp.c:3046 utils/adt/timestamp.c:3069
-#: utils/adt/timestamp.c:3082 utils/adt/timestamp.c:3093
-#: utils/adt/timestamp.c:3618 utils/adt/timestamp.c:3747
-#: utils/adt/timestamp.c:3788 utils/adt/timestamp.c:3876
-#: utils/adt/timestamp.c:3922 utils/adt/timestamp.c:4033
-#: utils/adt/timestamp.c:4357 utils/adt/timestamp.c:4496
-#: utils/adt/timestamp.c:4506 utils/adt/timestamp.c:4568
-#: utils/adt/timestamp.c:4708 utils/adt/timestamp.c:4718
-#: utils/adt/timestamp.c:4932 utils/adt/timestamp.c:4946
-#: utils/adt/timestamp.c:5025 utils/adt/timestamp.c:5032
-#: utils/adt/timestamp.c:5058 utils/adt/timestamp.c:5062
-#: utils/adt/timestamp.c:5131 utils/adt/xml.c:2046 utils/adt/xml.c:2053
-#: utils/adt/xml.c:2073 utils/adt/xml.c:2080
+#: utils/adt/date.c:1653 utils/adt/date.c:2525 utils/adt/formatting.c:3399
+#: utils/adt/formatting.c:3431 utils/adt/formatting.c:3499
+#: utils/adt/json.c:1478 utils/adt/json.c:1505 utils/adt/jsonb.c:830
+#: utils/adt/jsonb.c:859 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498
+#: utils/adt/nabstime.c:528 utils/adt/nabstime.c:571 utils/adt/timestamp.c:225
+#: utils/adt/timestamp.c:268 utils/adt/timestamp.c:717
+#: utils/adt/timestamp.c:746 utils/adt/timestamp.c:785
+#: utils/adt/timestamp.c:2939 utils/adt/timestamp.c:2960
+#: utils/adt/timestamp.c:2973 utils/adt/timestamp.c:2982
+#: utils/adt/timestamp.c:3039 utils/adt/timestamp.c:3062
+#: utils/adt/timestamp.c:3075 utils/adt/timestamp.c:3086
+#: utils/adt/timestamp.c:3611 utils/adt/timestamp.c:3740
+#: utils/adt/timestamp.c:3781 utils/adt/timestamp.c:3869
+#: utils/adt/timestamp.c:3915 utils/adt/timestamp.c:4026
+#: utils/adt/timestamp.c:4350 utils/adt/timestamp.c:4489
+#: utils/adt/timestamp.c:4499 utils/adt/timestamp.c:4561
+#: utils/adt/timestamp.c:4701 utils/adt/timestamp.c:4711
+#: utils/adt/timestamp.c:5006 utils/adt/timestamp.c:5020
+#: utils/adt/timestamp.c:5145 utils/adt/timestamp.c:5152
+#: utils/adt/timestamp.c:5178 utils/adt/timestamp.c:5182
+#: utils/adt/timestamp.c:5251 utils/adt/xml.c:2051 utils/adt/xml.c:2058
+#: utils/adt/xml.c:2078 utils/adt/xml.c:2085
 #, c-format
 msgid "timestamp out of range"
 msgstr "timestamp fuori dall'intervallo consentito"
@@ -15819,7 +17063,7 @@ msgstr "non è possibile convertire un valore speciale per abstime in una data"
 msgid "time out of range"
 msgstr "ora fuori dall'intervallo consentito"
 
-#: utils/adt/date.c:1265 utils/adt/timestamp.c:625
+#: utils/adt/date.c:1265 utils/adt/timestamp.c:618
 #, c-format
 msgid "time field value out of range: %d:%02d:%02g"
 msgstr "campo temporale fuori dall'intervallo consentito: %d:%02d:%02g"
@@ -15840,14 +17084,14 @@ msgid "\"time with time zone\" units \"%s\" not recognized"
 msgstr "unità \"%s\" di \"time with time zone\" non è riconosciuta"
 
 #: utils/adt/date.c:2745 utils/adt/datetime.c:925 utils/adt/datetime.c:1805
-#: utils/adt/datetime.c:4566 utils/adt/timestamp.c:539
-#: utils/adt/timestamp.c:566 utils/adt/timestamp.c:4958
-#: utils/adt/timestamp.c:5142
+#: utils/adt/datetime.c:4566 utils/adt/timestamp.c:532
+#: utils/adt/timestamp.c:559 utils/adt/timestamp.c:5032
+#: utils/adt/timestamp.c:5262
 #, c-format
 msgid "time zone \"%s\" not recognized"
 msgstr "fuso orario \"%s\" non riconosciuto"
 
-#: utils/adt/date.c:2785 utils/adt/timestamp.c:4983 utils/adt/timestamp.c:5168
+#: utils/adt/date.c:2785 utils/adt/timestamp.c:5103 utils/adt/timestamp.c:5288
 #, c-format
 msgid "interval time zone \"%s\" must not include months or days"
 msgstr "l'intervallo di fusi orari \"%s\" non può contenere mesi o giorni"
@@ -15888,7 +17132,7 @@ msgstr "sintassi di input non valida per il tipo %s: \"%s\""
 msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"."
 msgstr "Il nome del fuso orario figura nel file di configurazione delle abbreviazioni di fuso orario \"%s\"."
 
-#: utils/adt/datum.c:80 utils/adt/datum.c:92
+#: utils/adt/datum.c:86 utils/adt/datum.c:98
 #, c-format
 msgid "invalid Datum pointer"
 msgstr "puntatore al Datum non valido"
@@ -15898,7 +17142,7 @@ msgstr "puntatore al Datum non valido"
 msgid "could not open tablespace directory \"%s\": %m"
 msgstr "apertura della directory del tablespace \"%s\" fallita: %m"
 
-#: utils/adt/domains.c:83
+#: utils/adt/domains.c:85
 #, c-format
 msgid "type %s is not a domain"
 msgstr "il tipo %s non è un dominio"
@@ -15920,21 +17164,26 @@ msgstr "i dati esadecimali non sono validi: numero dispari di cifre"
 
 #: utils/adt/encode.c:295
 #, c-format
-msgid "unexpected \"=\""
-msgstr "il simbolo \"=\" non era previsto"
+msgid "unexpected \"=\" while decoding base64 sequence"
+msgstr "carattere \"=\" inaspettato decodificando la sequenza base64"
 
 #: utils/adt/encode.c:307
 #, c-format
-msgid "invalid symbol"
-msgstr "il simbolo non è valido"
+msgid "invalid symbol '%c' while decoding base64 sequence"
+msgstr "simbolo '%c' inaspettato decodificando la sequenza base64"
 
 #: utils/adt/encode.c:327
 #, c-format
-msgid "invalid end sequence"
-msgstr "la sequenza finale non è valida"
+msgid "invalid base64 end sequence"
+msgstr "fine sequenza base64 non valida"
+
+#: utils/adt/encode.c:328
+#, c-format
+msgid "Input data is missing padding, truncated, or otherwise corrupted."
+msgstr "I dati di input mancano di padding, sono troncati o comunque corrotti."
 
-#: utils/adt/encode.c:441 utils/adt/encode.c:506 utils/adt/varlena.c:255
-#: utils/adt/varlena.c:296
+#: utils/adt/encode.c:442 utils/adt/encode.c:507 utils/adt/varlena.c:287
+#: utils/adt/varlena.c:328
 #, c-format
 msgid "invalid input syntax for type bytea"
 msgstr "la sintassi in input per il tipo bytea non è valida"
@@ -15950,13 +17199,13 @@ msgstr "la sintassi per l'enumerazione %s non è valida: \"%s\""
 msgid "invalid internal value for enum: %u"
 msgstr "il valore interno per l'enumerazione non è valido: %u"
 
-#: utils/adt/enum.c:357 utils/adt/enum.c:386 utils/adt/enum.c:426
-#: utils/adt/enum.c:446
+#: utils/adt/enum.c:356 utils/adt/enum.c:385 utils/adt/enum.c:425
+#: utils/adt/enum.c:445
 #, c-format
 msgid "could not determine actual enum type"
 msgstr "determinazione del tipo reale di enumerazione fallita"
 
-#: utils/adt/enum.c:365 utils/adt/enum.c:394
+#: utils/adt/enum.c:364 utils/adt/enum.c:393
 #, c-format
 msgid "enum %s contains no values"
 msgstr "l'enumerazione %s non contiene valori"
@@ -15982,7 +17231,7 @@ msgid "\"%s\" is out of range for type real"
 msgstr "\"%s\" è fuori dall'intervallo consentito per il tipo real"
 
 #: utils/adt/float.c:417 utils/adt/float.c:491 utils/adt/float.c:515
-#: utils/adt/numeric.c:4423 utils/adt/numeric.c:4449
+#: utils/adt/numeric.c:5370 utils/adt/numeric.c:5396
 #, c-format
 msgid "invalid input syntax for type double precision: \"%s\""
 msgstr "la sintassi in input per il tipo double precision non è valida: \"%s\""
@@ -15995,32 +17244,32 @@ msgstr "\"%s\" è fuori dall'intervallo consentito per il tipo double precision"
 #: utils/adt/float.c:1179 utils/adt/float.c:1237 utils/adt/int.c:349
 #: utils/adt/int.c:775 utils/adt/int.c:804 utils/adt/int.c:825
 #: utils/adt/int.c:845 utils/adt/int.c:879 utils/adt/int.c:1174
-#: utils/adt/int8.c:1323 utils/adt/numeric.c:2401 utils/adt/numeric.c:2410
+#: utils/adt/int8.c:1323 utils/adt/numeric.c:3000 utils/adt/numeric.c:3009
 #, c-format
 msgid "smallint out of range"
 msgstr "il valore è fuori dall'intervallo consentito per il tipo smallint"
 
-#: utils/adt/float.c:1363 utils/adt/numeric.c:5637
+#: utils/adt/float.c:1363 utils/adt/numeric.c:6584
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "non è possibile estrarre la radice quadrata di un numero negativo"
 
-#: utils/adt/float.c:1405 utils/adt/numeric.c:2221
+#: utils/adt/float.c:1405 utils/adt/numeric.c:2820
 #, c-format
 msgid "zero raised to a negative power is undefined"
 msgstr "zero elevato a potenza negativa non è definito"
 
-#: utils/adt/float.c:1409 utils/adt/numeric.c:2227
+#: utils/adt/float.c:1409 utils/adt/numeric.c:2826
 #, c-format
 msgid "a negative number raised to a non-integer power yields a complex result"
 msgstr "un numero negativo elevato a potenza non intera è un valore di tipo complesso"
 
-#: utils/adt/float.c:1475 utils/adt/float.c:1505 utils/adt/numeric.c:5855
+#: utils/adt/float.c:1475 utils/adt/float.c:1505 utils/adt/numeric.c:6802
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "non è possibile calcolare il logaritmo di zero"
 
-#: utils/adt/float.c:1479 utils/adt/float.c:1509 utils/adt/numeric.c:5859
+#: utils/adt/float.c:1479 utils/adt/float.c:1509 utils/adt/numeric.c:6806
 #, c-format
 msgid "cannot take logarithm of a negative number"
 msgstr "non è possibile calcolare il logaritmo di un numero negativo"
@@ -16032,12 +17281,12 @@ msgstr "non è possibile calcolare il logaritmo di un numero negativo"
 msgid "input is out of range"
 msgstr "il valore di input è fuori dall'intervallo consentito"
 
-#: utils/adt/float.c:2747 utils/adt/numeric.c:1274
+#: utils/adt/float.c:2747 utils/adt/numeric.c:1454
 #, c-format
 msgid "count must be greater than zero"
 msgstr "il valore count dev'essere maggiore di zero"
 
-#: utils/adt/float.c:2752 utils/adt/numeric.c:1281
+#: utils/adt/float.c:2752 utils/adt/numeric.c:1461
 #, c-format
 msgid "operand, lower bound, and upper bound cannot be NaN"
 msgstr "l'operando e i valori minimo e massimo non possono essere NaN"
@@ -16047,7 +17296,7 @@ msgstr "l'operando e i valori minimo e massimo non possono essere NaN"
 msgid "lower and upper bounds must be finite"
 msgstr "i valori minimo e massimo devono essere finiti"
 
-#: utils/adt/float.c:2796 utils/adt/numeric.c:1294
+#: utils/adt/float.c:2796 utils/adt/numeric.c:1474
 #, c-format
 msgid "lower bound cannot equal upper bound"
 msgstr "il valore minimo non può essere uguale a quello massimo"
@@ -16062,363 +17311,372 @@ msgstr "la specifica di formato per un intervallo non è valida"
 msgid "Intervals are not tied to specific calendar dates."
 msgstr "Gli intervalli non sono legati a specifiche date di calendario."
 
-#: utils/adt/formatting.c:1055
+#: utils/adt/formatting.c:1059
 #, c-format
 msgid "\"EEEE\" must be the last pattern used"
 msgstr "\"EEEE\" dev'essere l'ultimo pattern usato"
 
-#: utils/adt/formatting.c:1063
+#: utils/adt/formatting.c:1067
 #, c-format
 msgid "\"9\" must be ahead of \"PR\""
 msgstr "\"9\" dev'essere più avanti di \"PR\""
 
-#: utils/adt/formatting.c:1079
+#: utils/adt/formatting.c:1083
 #, c-format
 msgid "\"0\" must be ahead of \"PR\""
 msgstr "\"0\" dev'essere più avanti di \"PR\""
 
-#: utils/adt/formatting.c:1106
+#: utils/adt/formatting.c:1110
 #, c-format
 msgid "multiple decimal points"
 msgstr "troppi punti decimali"
 
-#: utils/adt/formatting.c:1110 utils/adt/formatting.c:1193
+#: utils/adt/formatting.c:1114 utils/adt/formatting.c:1197
 #, c-format
 msgid "cannot use \"V\" and decimal point together"
 msgstr "non è possibile usare \"V\" ed un punto decimale insieme"
 
-#: utils/adt/formatting.c:1122
+#: utils/adt/formatting.c:1126
 #, c-format
 msgid "cannot use \"S\" twice"
 msgstr "non è possibile usare \"S\" due volte"
 
-#: utils/adt/formatting.c:1126
+#: utils/adt/formatting.c:1130
 #, c-format
 msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
 msgstr "non è possibile usare sia \"S\" che \"PL\"/\"MI\"/\"SG\"/\"PR\" insieme"
 
-#: utils/adt/formatting.c:1146
+#: utils/adt/formatting.c:1150
 #, c-format
 msgid "cannot use \"S\" and \"MI\" together"
 msgstr "non è possibile usare sia \"S\" che \"MI\" insieme"
 
-#: utils/adt/formatting.c:1156
+#: utils/adt/formatting.c:1160
 #, c-format
 msgid "cannot use \"S\" and \"PL\" together"
 msgstr "non è possibile usare sia \"S\" che \"PL\" insieme"
 
-#: utils/adt/formatting.c:1166
+#: utils/adt/formatting.c:1170
 #, c-format
 msgid "cannot use \"S\" and \"SG\" together"
 msgstr "non è possibile usare sia \"S\" che \"SG\" insieme"
 
-#: utils/adt/formatting.c:1175
+#: utils/adt/formatting.c:1179
 #, c-format
 msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
 msgstr "non è possibile usare sia \"PR\" che \"S\"/\"PL\"/\"MI\"/\"SG\" insieme"
 
-#: utils/adt/formatting.c:1201
+#: utils/adt/formatting.c:1205
 #, c-format
 msgid "cannot use \"EEEE\" twice"
 msgstr "non è possibile usare \"EEEE\" due volte"
 
-#: utils/adt/formatting.c:1207
+#: utils/adt/formatting.c:1211
 #, c-format
 msgid "\"EEEE\" is incompatible with other formats"
 msgstr "\"EEEE\" non è compatibile con altri formati"
 
-#: utils/adt/formatting.c:1208
+#: utils/adt/formatting.c:1212
 #, c-format
 msgid "\"EEEE\" may only be used together with digit and decimal point patterns."
 msgstr "\"EEEE\" può essere usato soltanto insieme a pattern di cifre e punti decimali."
 
-#: utils/adt/formatting.c:1408
+#: utils/adt/formatting.c:1412
 #, c-format
 msgid "\"%s\" is not a number"
 msgstr "\"%s\" non è un numero"
 
-#: utils/adt/formatting.c:1509 utils/adt/formatting.c:1561
+#: utils/adt/formatting.c:1513 utils/adt/formatting.c:1565
 #, c-format
 msgid "could not determine which collation to use for lower() function"
 msgstr "non è stato possibile determinare quale ordinamento usare per la funzione lower()"
 
-#: utils/adt/formatting.c:1629 utils/adt/formatting.c:1681
+#: utils/adt/formatting.c:1633 utils/adt/formatting.c:1685
 #, c-format
 msgid "could not determine which collation to use for upper() function"
 msgstr "non è stato possibile determinare quale ordinamento usare per la funzione upper()"
 
-#: utils/adt/formatting.c:1750 utils/adt/formatting.c:1814
+#: utils/adt/formatting.c:1754 utils/adt/formatting.c:1818
 #, c-format
 msgid "could not determine which collation to use for initcap() function"
 msgstr "non è stato possibile determinare quale ordinamento usare per la funzione initcap()"
 
-#: utils/adt/formatting.c:2118
+#: utils/adt/formatting.c:2122
 #, c-format
 msgid "invalid combination of date conventions"
 msgstr "la combinazione di convenzioni di date non è valida"
 
-#: utils/adt/formatting.c:2119
+#: utils/adt/formatting.c:2123
 #, c-format
 msgid "Do not mix Gregorian and ISO week date conventions in a formatting template."
 msgstr "Non è possibile usare la convenzione gregoriana e ISO per settimane in un modello di formattazione."
 
-#: utils/adt/formatting.c:2136
+#: utils/adt/formatting.c:2140
 #, c-format
 msgid "conflicting values for \"%s\" field in formatting string"
 msgstr "sono presenti valori contraddittori per il campo \"%s\" nella stringa di formattazione"
 
-#: utils/adt/formatting.c:2138
+#: utils/adt/formatting.c:2142
 #, c-format
 msgid "This value contradicts a previous setting for the same field type."
 msgstr "Questo valore contraddice una impostazione precedente per lo stesso tipo di campo"
 
-#: utils/adt/formatting.c:2199
+#: utils/adt/formatting.c:2203
 #, c-format
 msgid "source string too short for \"%s\" formatting field"
 msgstr "la stringa di origine è troppo corta per il campo di formattazione \"%s\""
 
-#: utils/adt/formatting.c:2201
+#: utils/adt/formatting.c:2205
 #, c-format
 msgid "Field requires %d characters, but only %d remain."
 msgstr "Il campo necessita di %d caratteri ma ne restano solo %d."
 
-#: utils/adt/formatting.c:2204 utils/adt/formatting.c:2218
+#: utils/adt/formatting.c:2208 utils/adt/formatting.c:2222
 #, c-format
 msgid "If your source string is not fixed-width, try using the \"FM\" modifier."
 msgstr "Se la stringa di partenza non ha lunghezza fissa, prova ad usare il modificatore \"FM\"."
 
-#: utils/adt/formatting.c:2214 utils/adt/formatting.c:2227
-#: utils/adt/formatting.c:2357
+#: utils/adt/formatting.c:2218 utils/adt/formatting.c:2231
+#: utils/adt/formatting.c:2361
 #, c-format
 msgid "invalid value \"%s\" for \"%s\""
 msgstr "valore \"%s\" per \"%s\" non valido"
 
-#: utils/adt/formatting.c:2216
+#: utils/adt/formatting.c:2220
 #, c-format
 msgid "Field requires %d characters, but only %d could be parsed."
 msgstr "Il campo necessita di %d caratteri, ma è stato possibile analizzarne solo %d."
 
-#: utils/adt/formatting.c:2229
+#: utils/adt/formatting.c:2233
 #, c-format
 msgid "Value must be an integer."
 msgstr "Il valore deve essere un integer."
 
-#: utils/adt/formatting.c:2234
+#: utils/adt/formatting.c:2238
 #, c-format
 msgid "value for \"%s\" in source string is out of range"
 msgstr "il valore \"%s\" nella stringa di origine è fuori dall'intervallo consentito"
 
-#: utils/adt/formatting.c:2236
+#: utils/adt/formatting.c:2240
 #, c-format
 msgid "Value must be in the range %d to %d."
 msgstr "Il valore deve essere compreso fra %d e %d."
 
-#: utils/adt/formatting.c:2359
+#: utils/adt/formatting.c:2363
 #, c-format
 msgid "The given value did not match any of the allowed values for this field."
 msgstr "Il valore fornito non corrisponde a nessuno di quelli consentiti per questo campo."
 
-#: utils/adt/formatting.c:2932
+#: utils/adt/formatting.c:2551 utils/adt/formatting.c:2571
+#: utils/adt/formatting.c:2591 utils/adt/formatting.c:2611
+#: utils/adt/formatting.c:2630 utils/adt/formatting.c:2649
+#: utils/adt/formatting.c:2672 utils/adt/formatting.c:2690
+#: utils/adt/formatting.c:2708 utils/adt/formatting.c:2726
+#: utils/adt/formatting.c:2743 utils/adt/formatting.c:2760
+#, c-format
+msgid "localized string format value too long"
+msgstr "valore del formato della stringa localizzata troppo lungo"
+
+#: utils/adt/formatting.c:3044
 #, c-format
 msgid "\"TZ\"/\"tz\"/\"OF\" format patterns are not supported in to_date"
 msgstr "i pattern di formato \"TZ\"/\"tz\"/\"OF\" non sono supportati in to_date"
 
-#: utils/adt/formatting.c:3040
+#: utils/adt/formatting.c:3152
 #, c-format
 msgid "invalid input string for \"Y,YYY\""
 msgstr "stringa di input non valida per \"Y,YYY\""
 
-#: utils/adt/formatting.c:3543
+#: utils/adt/formatting.c:3655
 #, c-format
 msgid "hour \"%d\" is invalid for the 12-hour clock"
 msgstr "l'ora \"%d\" non è valida su un orologio a 12 ore"
 
-#: utils/adt/formatting.c:3545
+#: utils/adt/formatting.c:3657
 #, c-format
 msgid "Use the 24-hour clock, or give an hour between 1 and 12."
 msgstr "Usa l'orologio a 24 ore o fornisci un'ora compresa fra 1 e 12."
 
-#: utils/adt/formatting.c:3640
+#: utils/adt/formatting.c:3752
 #, c-format
 msgid "cannot calculate day of year without year information"
 msgstr "non è possibile calcolare il giorno dell'anno senza informazioni sull'anno"
 
-#: utils/adt/formatting.c:4490
+#: utils/adt/formatting.c:4601
 #, c-format
 msgid "\"EEEE\" not supported for input"
 msgstr "l'uso di \"EEEE\" non è supportato per l'input"
 
-#: utils/adt/formatting.c:4502
+#: utils/adt/formatting.c:4613
 #, c-format
 msgid "\"RN\" not supported for input"
 msgstr "l'uso di \"RN\" non è supportato per l'input"
 
-#: utils/adt/genfile.c:61
+#: utils/adt/genfile.c:62
 #, c-format
 msgid "reference to parent directory (\"..\") not allowed"
 msgstr "i riferimenti alla directory padre (\"..\") non sono consentiti"
 
-#: utils/adt/genfile.c:72
+#: utils/adt/genfile.c:73
 #, c-format
 msgid "absolute path not allowed"
 msgstr "i percorsi assoluti non sono consentiti"
 
-#: utils/adt/genfile.c:77
+#: utils/adt/genfile.c:78
 #, c-format
 msgid "path must be in or below the current directory"
 msgstr "il percorso dev'essere nella directory corrente o in una sua sottodirectory"
 
-#: utils/adt/genfile.c:118 utils/adt/oracle_compat.c:184
+#: utils/adt/genfile.c:125 utils/adt/oracle_compat.c:184
 #: utils/adt/oracle_compat.c:282 utils/adt/oracle_compat.c:758
 #: utils/adt/oracle_compat.c:1059
 #, c-format
 msgid "requested length too large"
 msgstr "la lunghezza richiesta è eccessiva"
 
-#: utils/adt/genfile.c:130
+#: utils/adt/genfile.c:142
 #, c-format
 msgid "could not seek in file \"%s\": %m"
 msgstr "spostamento nel file \"%s\" fallito: %m"
 
-#: utils/adt/genfile.c:180 utils/adt/genfile.c:204 utils/adt/genfile.c:225
-#: utils/adt/genfile.c:249
+#: utils/adt/genfile.c:200 utils/adt/genfile.c:241
 #, c-format
 msgid "must be superuser to read files"
 msgstr "solo un superutente può leggere i file"
 
-#: utils/adt/genfile.c:273
+#: utils/adt/genfile.c:318
 #, c-format
 msgid "must be superuser to get file information"
 msgstr "solo un superutente può ottenere informazioni sul file"
 
-#: utils/adt/genfile.c:337
+#: utils/adt/genfile.c:404
 #, c-format
 msgid "must be superuser to get directory listings"
 msgstr "solo un superutente può elencare il contenuto della directory"
 
-#: utils/adt/geo_ops.c:299 utils/adt/geo_ops.c:1398 utils/adt/geo_ops.c:3460
-#: utils/adt/geo_ops.c:4236 utils/adt/geo_ops.c:5165
+#: utils/adt/geo_ops.c:300 utils/adt/geo_ops.c:1399 utils/adt/geo_ops.c:3497
+#: utils/adt/geo_ops.c:4312 utils/adt/geo_ops.c:5256
 #, c-format
 msgid "too many points requested"
 msgstr "il numero di punti richiesti è eccessivo"
 
-#: utils/adt/geo_ops.c:322
+#: utils/adt/geo_ops.c:323
 #, c-format
 msgid "could not format \"path\" value"
 msgstr "formattazione del valore \"path\" fallita"
 
-#: utils/adt/geo_ops.c:397
+#: utils/adt/geo_ops.c:398
 #, c-format
 msgid "invalid input syntax for type box: \"%s\""
 msgstr "sintassi di input non valida per il tipo box: \"%s\""
 
-#: utils/adt/geo_ops.c:992
+#: utils/adt/geo_ops.c:993
 #, c-format
 msgid "invalid line specification: must be two distinct points"
 msgstr "specificazione di linea non valida: devono essere due punti distinti"
 
-#: utils/adt/geo_ops.c:1001
+#: utils/adt/geo_ops.c:1002
 #, c-format
 msgid "invalid line specification: A and B cannot both be zero"
 msgstr "specificazione di linea non valida: A e B non possono essere entrambi zero"
 
-#: utils/adt/geo_ops.c:1006
+#: utils/adt/geo_ops.c:1007
 #, c-format
 msgid "invalid input syntax for type line: \"%s\""
 msgstr "sintassi di input non valida per il tipo line: \"%s\""
 
-#: utils/adt/geo_ops.c:1378 utils/adt/geo_ops.c:1409
+#: utils/adt/geo_ops.c:1379 utils/adt/geo_ops.c:1410
 #, c-format
 msgid "invalid input syntax for type path: \"%s\""
 msgstr "sintassi di input non valida per il tipo path: \"%s\""
 
-#: utils/adt/geo_ops.c:1448
+#: utils/adt/geo_ops.c:1449
 #, c-format
 msgid "invalid number of points in external \"path\" value"
 msgstr "il numero di punti nel valore del \"path\" esterno non è valido"
 
-#: utils/adt/geo_ops.c:1791
+#: utils/adt/geo_ops.c:1792
 #, c-format
 msgid "invalid input syntax for type point: \"%s\""
 msgstr "sintassi di input non valida per il tipo point: \"%s\""
 
-#: utils/adt/geo_ops.c:2019
+#: utils/adt/geo_ops.c:2020
 #, c-format
 msgid "invalid input syntax for type lseg: \"%s\""
 msgstr "sintassi di input non valida per il tipo lseg: \"%s\""
 
-#: utils/adt/geo_ops.c:2623
+#: utils/adt/geo_ops.c:2620
 #, c-format
 msgid "function \"dist_lb\" not implemented"
 msgstr "la funzione \"dist_lb\" non è implementata"
 
-#: utils/adt/geo_ops.c:3035
+#: utils/adt/geo_ops.c:3072
 #, c-format
 msgid "function \"close_sl\" not implemented"
 msgstr "la funzione \"close_sl\" non è implementata"
 
-#: utils/adt/geo_ops.c:3137
+#: utils/adt/geo_ops.c:3174
 #, c-format
 msgid "function \"close_lb\" not implemented"
 msgstr "la funzione \"close_lb\" non è implementata"
 
-#: utils/adt/geo_ops.c:3426
+#: utils/adt/geo_ops.c:3463
 #, c-format
 msgid "cannot create bounding box for empty polygon"
 msgstr "non è possibile creare un bounding box per il poligono vuoto"
 
-#: utils/adt/geo_ops.c:3451 utils/adt/geo_ops.c:3471
+#: utils/adt/geo_ops.c:3488 utils/adt/geo_ops.c:3508
 #, c-format
 msgid "invalid input syntax for type polygon: \"%s\""
 msgstr "sintassi di input non valida per il tipo polygon: \"%s\""
 
-#: utils/adt/geo_ops.c:3511
+#: utils/adt/geo_ops.c:3548
 #, c-format
 msgid "invalid number of points in external \"polygon\" value"
 msgstr "il numero di punti nel valore \"polygon\" esterno non è valido"
 
-#: utils/adt/geo_ops.c:4034
+#: utils/adt/geo_ops.c:4071
 #, c-format
 msgid "function \"poly_distance\" not implemented"
 msgstr "la funzione \"poly_distance\" non è implementata"
 
-#: utils/adt/geo_ops.c:4348
+#: utils/adt/geo_ops.c:4424
 #, c-format
 msgid "function \"path_center\" not implemented"
 msgstr "la funzione \"path_center\" non è implementata"
 
-#: utils/adt/geo_ops.c:4365
+#: utils/adt/geo_ops.c:4441
 #, c-format
 msgid "open path cannot be converted to polygon"
 msgstr "un path aperto non può essere convertito in un poligono"
 
-#: utils/adt/geo_ops.c:4542 utils/adt/geo_ops.c:4552 utils/adt/geo_ops.c:4567
-#: utils/adt/geo_ops.c:4573
+#: utils/adt/geo_ops.c:4618 utils/adt/geo_ops.c:4628 utils/adt/geo_ops.c:4643
+#: utils/adt/geo_ops.c:4649
 #, c-format
 msgid "invalid input syntax for type circle: \"%s\""
 msgstr "sintassi di input non valida per il tipo circle: \"%s\""
 
-#: utils/adt/geo_ops.c:4595 utils/adt/geo_ops.c:4603
+#: utils/adt/geo_ops.c:4671 utils/adt/geo_ops.c:4679
 #, c-format
 msgid "could not format \"circle\" value"
 msgstr "formattazione del valore \"circle\" fallita"
 
-#: utils/adt/geo_ops.c:4630
+#: utils/adt/geo_ops.c:4706
 #, c-format
 msgid "invalid radius in external \"circle\" value"
 msgstr "il raggio nel valore esterno di \"circle\" non è valido"
 
-#: utils/adt/geo_ops.c:5151
+#: utils/adt/geo_ops.c:5242
 #, c-format
 msgid "cannot convert circle with radius zero to polygon"
 msgstr "non è possibile convertire un cerchio con raggio nullo in un poligono"
 
-#: utils/adt/geo_ops.c:5156
+#: utils/adt/geo_ops.c:5247
 #, c-format
 msgid "must request at least 2 points"
 msgstr "devono essere richiesti almeno 2 punti"
 
-#: utils/adt/geo_ops.c:5200
+#: utils/adt/geo_ops.c:5291
 #, c-format
 msgid "cannot convert empty polygon to circle"
 msgstr "non è possibile convertire un poligono vuoto in un cerchio"
@@ -16438,8 +17696,8 @@ msgstr "dati int2vector non validi"
 msgid "oidvector has too many elements"
 msgstr "ci sono troppi elementi nell'oidvector"
 
-#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/timestamp.c:5229
-#: utils/adt/timestamp.c:5310
+#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/numeric.c:1362
+#: utils/adt/timestamp.c:5349 utils/adt/timestamp.c:5430
 #, c-format
 msgid "step size cannot equal zero"
 msgstr "il valore del passo non può essere uguale a zero"
@@ -16463,7 +17721,7 @@ msgstr "il valore \"%s\" è fuori dall'intervallo consentito per il tipo bigint"
 #: utils/adt/int8.c:964 utils/adt/int8.c:991 utils/adt/int8.c:1031
 #: utils/adt/int8.c:1052 utils/adt/int8.c:1079 utils/adt/int8.c:1112
 #: utils/adt/int8.c:1140 utils/adt/int8.c:1161 utils/adt/int8.c:1188
-#: utils/adt/int8.c:1361 utils/adt/int8.c:1400 utils/adt/numeric.c:2356
+#: utils/adt/int8.c:1361 utils/adt/int8.c:1400 utils/adt/numeric.c:2955
 #: utils/adt/varbit.c:1645
 #, c-format
 msgid "bigint out of range"
@@ -16474,276 +17732,331 @@ msgstr "bigint fuori dall'intervallo consentito"
 msgid "OID out of range"
 msgstr "OID fuori dall'intervallo consentito"
 
-#: utils/adt/json.c:726 utils/adt/json.c:766 utils/adt/json.c:781
-#: utils/adt/json.c:792 utils/adt/json.c:802 utils/adt/json.c:838
-#: utils/adt/json.c:850 utils/adt/json.c:881 utils/adt/json.c:899
-#: utils/adt/json.c:911 utils/adt/json.c:923 utils/adt/json.c:1062
-#: utils/adt/json.c:1076 utils/adt/json.c:1087 utils/adt/json.c:1095
-#: utils/adt/json.c:1103 utils/adt/json.c:1111 utils/adt/json.c:1119
-#: utils/adt/json.c:1127 utils/adt/json.c:1135 utils/adt/json.c:1143
-#: utils/adt/json.c:1173
+#: utils/adt/json.c:728 utils/adt/json.c:768 utils/adt/json.c:783
+#: utils/adt/json.c:794 utils/adt/json.c:804 utils/adt/json.c:855
+#: utils/adt/json.c:886 utils/adt/json.c:904 utils/adt/json.c:916
+#: utils/adt/json.c:928 utils/adt/json.c:1067 utils/adt/json.c:1081
+#: utils/adt/json.c:1092 utils/adt/json.c:1100 utils/adt/json.c:1108
+#: utils/adt/json.c:1116 utils/adt/json.c:1124 utils/adt/json.c:1132
+#: utils/adt/json.c:1140 utils/adt/json.c:1148 utils/adt/json.c:1178
 #, c-format
 msgid "invalid input syntax for type json"
 msgstr "sintassi di input per il tipo json non valida"
 
-#: utils/adt/json.c:727
+#: utils/adt/json.c:729
 #, c-format
 msgid "Character with value 0x%02x must be escaped."
 msgstr "Il carattere con valore 0x%02x deve essere sottoposto ad escape."
 
-#: utils/adt/json.c:767
+#: utils/adt/json.c:769
 #, c-format
 msgid "\"\\u\" must be followed by four hexadecimal digits."
 msgstr "\"\\u\" deve essere seguito da quattro cifre esadecimali."
 
-#: utils/adt/json.c:782
+#: utils/adt/json.c:784
 #, c-format
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr "un carattere surrogato alto Unicode non può seguire un altro surrogato alto"
 
-#: utils/adt/json.c:793 utils/adt/json.c:803 utils/adt/json.c:851
-#: utils/adt/json.c:912 utils/adt/json.c:924
+#: utils/adt/json.c:795 utils/adt/json.c:805 utils/adt/json.c:856
+#: utils/adt/json.c:917 utils/adt/json.c:929
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "un carattere surrogato basso Unicode deve seguire un surrogato alto"
 
-#: utils/adt/json.c:839
+#: utils/adt/json.c:820 utils/adt/json.c:843
+#, c-format
+msgid "unsupported Unicode escape sequence"
+msgstr "sequenza di escape Unicode non supportata"
+
+#: utils/adt/json.c:821
+#, c-format
+msgid "\\u0000 cannot be converted to text."
+msgstr "\\u0000 non può essere convertito in testo."
+
+#: utils/adt/json.c:844
 #, c-format
 msgid "Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8."
 msgstr "i codici escape Unicode non possono essere usati per caratteri con codice superiore ad 007F quando l'encoding del server non è UTF8"
 
-#: utils/adt/json.c:882 utils/adt/json.c:900
+#: utils/adt/json.c:887 utils/adt/json.c:905
 #, c-format
 msgid "Escape sequence \"\\%s\" is invalid."
 msgstr "La sequenza di escape \"\\%s\" non è valida."
 
-#: utils/adt/json.c:1063
+#: utils/adt/json.c:1068
 #, c-format
 msgid "The input string ended unexpectedly."
 msgstr "La stringa di input è terminata inaspettatamente."
 
-#: utils/adt/json.c:1077
+#: utils/adt/json.c:1082
 #, c-format
 msgid "Expected end of input, but found \"%s\"."
 msgstr "Era prevista la fine dell'input, trovato \"%s\" invece."
 
-#: utils/adt/json.c:1088
+#: utils/adt/json.c:1093
 #, c-format
 msgid "Expected JSON value, but found \"%s\"."
 msgstr "Era previsto un valore JSON, trovato \"%s\" invece."
 
-#: utils/adt/json.c:1096 utils/adt/json.c:1144
+#: utils/adt/json.c:1101 utils/adt/json.c:1149
 #, c-format
 msgid "Expected string, but found \"%s\"."
 msgstr "Era prevista una stringa, trovato \"%s\" invece."
 
-#: utils/adt/json.c:1104
+#: utils/adt/json.c:1109
 #, c-format
 msgid "Expected array element or \"]\", but found \"%s\"."
 msgstr "Era previsto un elemento di array oppure \"]\", trovato \"%s\" invece."
 
-#: utils/adt/json.c:1112
+#: utils/adt/json.c:1117
 #, c-format
 msgid "Expected \",\" or \"]\", but found \"%s\"."
 msgstr "Era previsto \",\" oppure \"]\", trovato \"%s\" invece."
 
-#: utils/adt/json.c:1120
+#: utils/adt/json.c:1125
 #, c-format
 msgid "Expected string or \"}\", but found \"%s\"."
 msgstr "Era prevista una stringa oppure \"}\", trovato \"%s\" invece."
 
-#: utils/adt/json.c:1128
+#: utils/adt/json.c:1133
 #, c-format
 msgid "Expected \":\", but found \"%s\"."
 msgstr "Era previsto \":\", trovato \"%s\" invece."
 
-#: utils/adt/json.c:1136
+#: utils/adt/json.c:1141
 #, c-format
 msgid "Expected \",\" or \"}\", but found \"%s\"."
 msgstr "Era previsto \",\" oppure \"}\", trovato \"%s\" invece."
 
-#: utils/adt/json.c:1174
+#: utils/adt/json.c:1179
 #, c-format
 msgid "Token \"%s\" is invalid."
 msgstr "Il token \"%s\" non è valido."
 
-#: utils/adt/json.c:1246
+#: utils/adt/json.c:1251
 #, c-format
 msgid "JSON data, line %d: %s%s%s"
 msgstr "dati JSON, riga %d: %s%s%s"
 
-#: utils/adt/json.c:1389
+#: utils/adt/json.c:1404
 #, c-format
 msgid "key value must be scalar, not array, composite, or json"
 msgstr "la chiave deve essere uno scalare, non array, composito né json"
 
-#: utils/adt/json.c:1432
-#, c-format
-msgid "JSON does not support infinite date values."
-msgstr "JSON non supporta il valore infinito come data."
-
-#: utils/adt/json.c:1457 utils/adt/json.c:1484
-#, c-format
-msgid "JSON does not support infinite timestamp values."
-msgstr "JSON non supporta il timestamp infinito."
-
-#: utils/adt/json.c:1951 utils/adt/json.c:1969 utils/adt/json.c:2063
-#: utils/adt/json.c:2084 utils/adt/json.c:2143
+#: utils/adt/json.c:1964 utils/adt/json.c:1982 utils/adt/json.c:2076
+#: utils/adt/json.c:2097 utils/adt/json.c:2156
 #, c-format
 msgid "could not determine data type for argument %d"
 msgstr "impossibile determinare il tipo di dato per l'argomento %d"
 
-#: utils/adt/json.c:1956
+#: utils/adt/json.c:1969
 #, c-format
 msgid "field name must not be null"
 msgstr "il nome del campo non può essere nullo"
 
-#: utils/adt/json.c:2038
+#: utils/adt/json.c:2051
 #, c-format
 msgid "argument list must have even number of elements"
 msgstr "la lista di argomenti deve avere un numero pari di elementi"
 
-#: utils/adt/json.c:2039
+#: utils/adt/json.c:2052
 #, c-format
 msgid "The arguments of json_build_object() must consist of alternating keys and values."
 msgstr "Gli argomenti di json_build_object() devono consistere in una serie alternata di chiavi e valori."
 
-#: utils/adt/json.c:2069
+#: utils/adt/json.c:2082
 #, c-format
 msgid "argument %d cannot be null"
 msgstr "l'argomento %d non può essere nullo"
 
-#: utils/adt/json.c:2070
+#: utils/adt/json.c:2083
 #, c-format
 msgid "Object keys should be text."
 msgstr "Le chiavi degli oggetti devono essere testo."
 
-#: utils/adt/json.c:2205
+#: utils/adt/json.c:2218 utils/adt/jsonb.c:1375
 #, c-format
 msgid "array must have two columns"
 msgstr "l'array deve avere due colonne"
 
-#: utils/adt/json.c:2229 utils/adt/json.c:2313
+#: utils/adt/json.c:2242 utils/adt/json.c:2326 utils/adt/jsonb.c:1399
+#: utils/adt/jsonb.c:1494
 #, c-format
 msgid "null value not allowed for object key"
 msgstr "valori null non ammessi per le chiavi di oggetti"
 
-#: utils/adt/json.c:2302
+#: utils/adt/json.c:2315 utils/adt/jsonb.c:1483
 #, c-format
 msgid "mismatched array dimensions"
 msgstr "le dimensioni degli array non combaciano"
 
-#: utils/adt/jsonb.c:202
+#: utils/adt/jsonb.c:256
 #, c-format
 msgid "string too long to represent as jsonb string"
 msgstr "la stringa è troppo lunga per essere rappresentata come stringa jsonb"
 
-#: utils/adt/jsonb.c:203
+#: utils/adt/jsonb.c:257
 #, c-format
 msgid "Due to an implementation restriction, jsonb strings cannot exceed %d bytes."
 msgstr "A causa di una restrizione nell'implementazione le stringhe jsonb non possono superare i %d byte."
 
-#: utils/adt/jsonb_util.c:622
+#: utils/adt/jsonb.c:719
+#, c-format
+msgid "key value must be scalar, not array, composite or json"
+msgstr "il valore della chiave dev'essere scalare, non array, composito o json"
+
+#: utils/adt/jsonb.c:1188
+#, c-format
+msgid "invalid number or arguments: object must be matched key value pairs"
+msgstr "numero di argomenti non valido: gli oggetti devono essere coppie chiave-valore appaiate"
+
+#: utils/adt/jsonb.c:1202
+#, c-format
+msgid "arg %d: key cannot be null"
+msgstr "argomento %d: la chiave non può essere null"
+
+#: utils/adt/jsonb.c:1224 utils/adt/jsonb.c:1247 utils/adt/jsonb.c:1309
+#, c-format
+msgid "arg %d: could not determine data type"
+msgstr "argomento %d: impossibile determinare il tipo di dati"
+
+#: utils/adt/jsonb.c:1831
+#, c-format
+msgid "object keys must be strings"
+msgstr "le chiavi dell'oggetto devono essere stringhe"
+
+#: utils/adt/jsonb_util.c:656
 #, c-format
 msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)"
 msgstr "il numero di coppie dell'oggetto jsonb supera il massimo consentito (%zu)"
 
-#: utils/adt/jsonb_util.c:663
+#: utils/adt/jsonb_util.c:697
 #, c-format
 msgid "number of jsonb array elements exceeds the maximum allowed (%zu)"
 msgstr "il numero di elementi dell'array jsonb supera il massimo consentito (%zu)"
 
-#: utils/adt/jsonb_util.c:1490 utils/adt/jsonb_util.c:1510
+#: utils/adt/jsonb_util.c:1525 utils/adt/jsonb_util.c:1545
 #, c-format
 msgid "total size of jsonb array elements exceeds the maximum of %u bytes"
 msgstr "la dimensione totale degli elementi dell'array jsonb supera il massimo di %u byte"
 
-#: utils/adt/jsonb_util.c:1571 utils/adt/jsonb_util.c:1606
-#: utils/adt/jsonb_util.c:1626
+#: utils/adt/jsonb_util.c:1606 utils/adt/jsonb_util.c:1641
+#: utils/adt/jsonb_util.c:1661
 #, c-format
 msgid "total size of jsonb object elements exceeds the maximum of %u bytes"
 msgstr "la dimensione totale degli elementi dell'oggetto jsonb supera il massimo di %u byte"
 
-#: utils/adt/jsonfuncs.c:263 utils/adt/jsonfuncs.c:428
-#: utils/adt/jsonfuncs.c:1968 utils/adt/jsonfuncs.c:2405
-#: utils/adt/jsonfuncs.c:2911
+#: utils/adt/jsonfuncs.c:296 utils/adt/jsonfuncs.c:461
+#: utils/adt/jsonfuncs.c:2001 utils/adt/jsonfuncs.c:2442
+#: utils/adt/jsonfuncs.c:2948
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "non è possibile eseguire %s su uno scalare"
 
-#: utils/adt/jsonfuncs.c:268 utils/adt/jsonfuncs.c:415
-#: utils/adt/jsonfuncs.c:2394
+#: utils/adt/jsonfuncs.c:301 utils/adt/jsonfuncs.c:448
+#: utils/adt/jsonfuncs.c:2431
 #, c-format
 msgid "cannot call %s on an array"
 msgstr "non è possibile eseguire %s su un array"
 
-#: utils/adt/jsonfuncs.c:1276 utils/adt/jsonfuncs.c:1311
+#: utils/adt/jsonfuncs.c:1309 utils/adt/jsonfuncs.c:1344
 #, c-format
 msgid "cannot get array length of a scalar"
 msgstr "non è possibile ottenere la lunghezza di uno scalare"
 
-#: utils/adt/jsonfuncs.c:1280 utils/adt/jsonfuncs.c:1299
+#: utils/adt/jsonfuncs.c:1313 utils/adt/jsonfuncs.c:1332
 #, c-format
 msgid "cannot get array length of a non-array"
 msgstr "non è possibile ottenere la lunghezza di un oggetto che non è un array"
 
-#: utils/adt/jsonfuncs.c:1376
+#: utils/adt/jsonfuncs.c:1409
 #, c-format
 msgid "cannot call %s on a non-object"
 msgstr "non è possibile eseguire %s su un argomento che non è un oggetto"
 
-#: utils/adt/jsonfuncs.c:1394 utils/adt/jsonfuncs.c:2081
-#: utils/adt/jsonfuncs.c:2614
+#: utils/adt/jsonfuncs.c:1427 utils/adt/jsonfuncs.c:2114
+#: utils/adt/jsonfuncs.c:2651
 #, c-format
 msgid "function returning record called in context that cannot accept type record"
 msgstr "funzione che restituisce record eseguita in un contesto che non può accettare il tipo record"
 
-#: utils/adt/jsonfuncs.c:1637
+#: utils/adt/jsonfuncs.c:1670
 #, c-format
 msgid "cannot deconstruct an array as an object"
 msgstr "non è possibile decostruire un array come un oggetto"
 
-#: utils/adt/jsonfuncs.c:1649
+#: utils/adt/jsonfuncs.c:1682
 #, c-format
 msgid "cannot deconstruct a scalar"
 msgstr "non è possibile decostruire uno scalare"
 
-#: utils/adt/jsonfuncs.c:1695
+#: utils/adt/jsonfuncs.c:1728
 #, c-format
 msgid "cannot extract elements from a scalar"
 msgstr "non è possibile estrarre elementi da uno scalare"
 
-#: utils/adt/jsonfuncs.c:1699
+#: utils/adt/jsonfuncs.c:1732
 #, c-format
 msgid "cannot extract elements from an object"
 msgstr "non è possibile estrarre elementi da un oggetto"
 
-#: utils/adt/jsonfuncs.c:1955 utils/adt/jsonfuncs.c:2710
+#: utils/adt/jsonfuncs.c:1988 utils/adt/jsonfuncs.c:2747
 #, c-format
 msgid "cannot call %s on a non-array"
 msgstr "non è possibile eseguire %s su un argomento che non è un array"
 
-#: utils/adt/jsonfuncs.c:2042 utils/adt/jsonfuncs.c:2590
+#: utils/adt/jsonfuncs.c:2075 utils/adt/jsonfuncs.c:2627
 #, c-format
 msgid "first argument of %s must be a row type"
 msgstr "il primo elemento di %s deve essere di tipo riga"
 
-#: utils/adt/jsonfuncs.c:2083
+#: utils/adt/jsonfuncs.c:2116
 #, c-format
 msgid "Try calling the function in the FROM clause using a column definition list."
 msgstr "Prova ad eseguire la funzione nella clausola FROM usando una lista di definizioni di colonne."
 
-#: utils/adt/jsonfuncs.c:2726 utils/adt/jsonfuncs.c:2893
+#: utils/adt/jsonfuncs.c:2763 utils/adt/jsonfuncs.c:2930
 #, c-format
 msgid "argument of %s must be an array of objects"
 msgstr "l'argomento di %s deve essere un array di oggetti"
 
-#: utils/adt/jsonfuncs.c:2750
+#: utils/adt/jsonfuncs.c:2787
 #, c-format
 msgid "cannot call %s on an object"
 msgstr "non è possibile eseguire %s su un oggetto"
 
-#: utils/adt/like.c:211 utils/adt/selfuncs.c:5220
+#: utils/adt/jsonfuncs.c:3348 utils/adt/jsonfuncs.c:3401
+#, c-format
+msgid "cannot delete from scalar"
+msgstr "non è possibile eliminare da uno scalare"
+
+#: utils/adt/jsonfuncs.c:3406
+#, c-format
+msgid "cannot delete from object using integer subscript"
+msgstr "non è possibile eliminare da un oggetto usando numeri interi come indici"
+
+#: utils/adt/jsonfuncs.c:3478
+#, c-format
+msgid "cannot set path in scalar"
+msgstr "non è possibile impostare un percorso in uno scalare"
+
+#: utils/adt/jsonfuncs.c:3523
+#, c-format
+msgid "cannot delete path in scalar"
+msgstr "non è possibile eliminare un percorso in uno scalare"
+
+#: utils/adt/jsonfuncs.c:3648
+#, c-format
+msgid "invalid concatenation of jsonb objects"
+msgstr "concatenazione invalida di oggetti jsonb"
+
+#: utils/adt/levenshtein.c:127
+#, c-format
+msgid "argument exceeds the maximum length of %d bytes"
+msgstr "l'argomento supera la lunghezza massima di %d byte"
+
+#: utils/adt/like.c:211 utils/adt/selfuncs.c:5233
 #, c-format
 msgid "could not determine which collation to use for ILIKE"
 msgstr "non è stato possibile determinare quale ordinamento usare per ILIKE"
@@ -16753,84 +18066,99 @@ msgstr "non è stato possibile determinare quale ordinamento usare per ILIKE"
 msgid "LIKE pattern must not end with escape character"
 msgstr "i pattern per LIKE non possono terminare con un carattere di escape"
 
-#: utils/adt/like_match.c:289 utils/adt/regexp.c:694
+#: utils/adt/like_match.c:289 utils/adt/regexp.c:698
 #, c-format
 msgid "invalid escape string"
 msgstr "la stringa di escape non è valida"
 
-#: utils/adt/like_match.c:290 utils/adt/regexp.c:695
+#: utils/adt/like_match.c:290 utils/adt/regexp.c:699
 #, c-format
 msgid "Escape string must be empty or one character."
 msgstr "La stringa di escape deve essere vuota o contenere un solo carattere."
 
-#: utils/adt/mac.c:65
+#: utils/adt/lockfuncs.c:422
+#, c-format
+msgid "cannot use advisory locks during a parallel operation"
+msgstr "non si possono usare advisory lock in un'operazione parallela"
+
+#: utils/adt/mac.c:68
 #, c-format
 msgid "invalid input syntax for type macaddr: \"%s\""
 msgstr "sintassi di input non valida per il tipo macaddr: \"%s\""
 
-#: utils/adt/mac.c:72
+#: utils/adt/mac.c:75
 #, c-format
 msgid "invalid octet value in \"macaddr\" value: \"%s\""
 msgstr "ottetto non valido nel valore \"macaddr\": \"%s\""
 
-#: utils/adt/misc.c:111
+#: utils/adt/misc.c:116
 #, c-format
 msgid "PID %d is not a PostgreSQL server process"
 msgstr "il PID %d non è un processo del server PostgreSQL"
 
-#: utils/adt/misc.c:154
+#: utils/adt/misc.c:166
 #, c-format
-msgid "must be superuser or have the same role to cancel queries running in other server processes"
-msgstr "solo un superutente oppure lo stesso ruolo può cancellare le query in esecuzione in altri processi del server"
+msgid "must be a superuser to cancel superuser query"
+msgstr "solo un superutente può cancellare la query di un superutente"
 
 #: utils/adt/misc.c:171
 #, c-format
-msgid "must be superuser or have the same role to terminate other server processes"
-msgstr "solo un superutente oppure lo stesso ruolo può interrompere altri processi"
+msgid "must be a member of the role whose query is being cancelled"
+msgstr "occorre essere membro del ruolo la cui query deve essere cancellata"
+
+#: utils/adt/misc.c:190
+#, c-format
+msgid "must be a superuser to terminate superuser process"
+msgstr "solo un superutente può terminare il processo di un superutente"
 
-#: utils/adt/misc.c:185
+#: utils/adt/misc.c:195
+#, c-format
+msgid "must be a member of the role whose process is being terminated"
+msgstr "occorre essere membro del ruolo il cui processe deve essere terminato"
+
+#: utils/adt/misc.c:209
 #, c-format
 msgid "must be superuser to signal the postmaster"
 msgstr "solo un superutente può inviare segnali al postmaster"
 
-#: utils/adt/misc.c:190
+#: utils/adt/misc.c:214
 #, c-format
 msgid "failed to send signal to postmaster: %m"
 msgstr "invio del segnale al postmaster fallito: %m"
 
-#: utils/adt/misc.c:207
+#: utils/adt/misc.c:231
 #, c-format
 msgid "must be superuser to rotate log files"
 msgstr "solo un superutente può eseguire la rotazione dei file di log"
 
-#: utils/adt/misc.c:212
+#: utils/adt/misc.c:236
 #, c-format
 msgid "rotation not possible because log collection not active"
 msgstr "non è stato possibile eseguire la rotazione perché la raccolta dei log non è attiva"
 
-#: utils/adt/misc.c:249
+#: utils/adt/misc.c:273
 #, c-format
 msgid "global tablespace never has databases"
 msgstr "il tablespace globale non contiene mai dei database"
 
-#: utils/adt/misc.c:270
+#: utils/adt/misc.c:294
 #, c-format
 msgid "%u is not a tablespace OID"
 msgstr "%u non è l'OID di un tablespace"
 
-#: utils/adt/misc.c:465
+#: utils/adt/misc.c:491
 msgid "unreserved"
 msgstr "non riservato"
 
-#: utils/adt/misc.c:469
+#: utils/adt/misc.c:495
 msgid "unreserved (cannot be function or type name)"
 msgstr "non riservato (non può essere una funzione o il nome di un tipo)"
 
-#: utils/adt/misc.c:473
+#: utils/adt/misc.c:499
 msgid "reserved (can be function or type name)"
 msgstr "riservato (può essere una funzione o il nome di un tipo)"
 
-#: utils/adt/misc.c:477
+#: utils/adt/misc.c:503
 msgid "reserved"
 msgstr "riservato"
 
@@ -16869,8 +18197,8 @@ msgstr "il valore \"%s\" non è valido per cidr"
 msgid "Value has bits set to right of mask."
 msgstr "Il valore ha dei bit settati a destra della maschera."
 
-#: utils/adt/network.c:111 utils/adt/network.c:580 utils/adt/network.c:605
-#: utils/adt/network.c:630
+#: utils/adt/network.c:111 utils/adt/network.c:607 utils/adt/network.c:632
+#: utils/adt/network.c:657
 #, c-format
 msgid "could not format inet value: %m"
 msgstr "formattazione del valore inet fallita: %m"
@@ -16903,103 +18231,123 @@ msgstr "valore \"cidr\" esterno non valido"
 msgid "invalid mask length: %d"
 msgstr "la lunghezza della maschera non è valida: %d"
 
-#: utils/adt/network.c:648
+#: utils/adt/network.c:675
 #, c-format
 msgid "could not format cidr value: %m"
 msgstr "formattazione del valore cidr fallita: %m"
 
-#: utils/adt/network.c:1264
+#: utils/adt/network.c:917
+#, c-format
+msgid "cannot merge addresses from different families"
+msgstr "non è possibile unire indirizzi di famiglie diverse"
+
+#: utils/adt/network.c:1343
 #, c-format
 msgid "cannot AND inet values of different sizes"
 msgstr "non è possibile eseguire l'AND fra valori di tipo inet di dimensione diversa"
 
-#: utils/adt/network.c:1296
+#: utils/adt/network.c:1375
 #, c-format
 msgid "cannot OR inet values of different sizes"
 msgstr "non è possibile eseguire l'OR fra valori di tipo inet di dimensione diversa"
 
-#: utils/adt/network.c:1357 utils/adt/network.c:1433
+#: utils/adt/network.c:1436 utils/adt/network.c:1512
 #, c-format
 msgid "result is out of range"
 msgstr "il risultato è fuori dall'intervallo consentito"
 
-#: utils/adt/network.c:1398
+#: utils/adt/network.c:1477
 #, c-format
 msgid "cannot subtract inet values of different sizes"
 msgstr "non è possibile sottrarre valori di tipo inet di dimensione diversa"
 
-#: utils/adt/numeric.c:485 utils/adt/numeric.c:512 utils/adt/numeric.c:3704
-#: utils/adt/numeric.c:3727 utils/adt/numeric.c:3751 utils/adt/numeric.c:3758
+#: utils/adt/numeric.c:549 utils/adt/numeric.c:576 utils/adt/numeric.c:4604
+#: utils/adt/numeric.c:4627 utils/adt/numeric.c:4651 utils/adt/numeric.c:4658
 #, c-format
 msgid "invalid input syntax for type numeric: \"%s\""
 msgstr "la sintassi di input non è valida per il tipo numeric: \"%s\""
 
-#: utils/adt/numeric.c:702
+#: utils/adt/numeric.c:766
 #, c-format
 msgid "invalid length in external \"numeric\" value"
 msgstr "la lunghezza nel valore \"numeric\" esterno non è valida"
 
-#: utils/adt/numeric.c:715
+#: utils/adt/numeric.c:779
 #, c-format
 msgid "invalid sign in external \"numeric\" value"
 msgstr "il segno nel valore \"numeric\" esterno non è valido"
 
-#: utils/adt/numeric.c:721
+#: utils/adt/numeric.c:785
 #, c-format
 msgid "invalid scale in external \"numeric\" value"
 msgstr "la scala nel valore \"numeric\" esterno non è valida"
 
-#: utils/adt/numeric.c:730
+#: utils/adt/numeric.c:794
 #, c-format
 msgid "invalid digit in external \"numeric\" value"
 msgstr "una delle cifre nel valore \"numeric\" esterno non è valida"
 
-#: utils/adt/numeric.c:921 utils/adt/numeric.c:935
+#: utils/adt/numeric.c:985 utils/adt/numeric.c:999
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "la precisione di NUMERIC (%d) deve essere compresa fra 1 e %d"
 
-#: utils/adt/numeric.c:926
+#: utils/adt/numeric.c:990
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr "il numero di cifre decimali di NUMERIC (%d) deve essere compreso fra 0 e la precisione %d"
 
-#: utils/adt/numeric.c:944
+#: utils/adt/numeric.c:1008
 #, c-format
 msgid "invalid NUMERIC type modifier"
 msgstr "modificatore del tipo NUMERIC non valido"
 
-#: utils/adt/numeric.c:1951 utils/adt/numeric.c:4201 utils/adt/numeric.c:6170
+#: utils/adt/numeric.c:1340
+#, c-format
+msgid "start value cannot be NaN"
+msgstr "il valore d'inizio non può essere NaN"
+
+#: utils/adt/numeric.c:1345
+#, c-format
+msgid "stop value cannot be NaN"
+msgstr "il valore di fine non può essere NaN"
+
+#: utils/adt/numeric.c:1355
+#, c-format
+msgid "step size cannot be NaN"
+msgstr "la dimensione dell'intervallo non può essere NaN"
+
+#: utils/adt/numeric.c:2550 utils/adt/numeric.c:5101 utils/adt/numeric.c:7117
 #, c-format
 msgid "value overflows numeric format"
 msgstr "il valore causa un overflow nel formato numeric"
 
-#: utils/adt/numeric.c:2282
+#: utils/adt/numeric.c:2881
 #, c-format
 msgid "cannot convert NaN to integer"
 msgstr "non è possibile convertire NaN in un integer"
 
-#: utils/adt/numeric.c:2348
+#: utils/adt/numeric.c:2947
 #, c-format
 msgid "cannot convert NaN to bigint"
 msgstr "non è possibile convertire NaN in un bigint"
 
-#: utils/adt/numeric.c:2393
+#: utils/adt/numeric.c:2992
 #, c-format
 msgid "cannot convert NaN to smallint"
 msgstr "non è possibile convertire NaN in uno smallint"
 
-#: utils/adt/numeric.c:4271
+#: utils/adt/numeric.c:5171
 #, c-format
 msgid "numeric field overflow"
 msgstr "il campo numeric causa un overflow"
 
-#: utils/adt/numeric.c:4272
+#: utils/adt/numeric.c:5172
 #, c-format
 msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d."
 msgstr "Un campo con precisione %d e %d cifre decimali deve arrotondarsi ad un valore assoluto inferiore a %s%d."
 
-#: utils/adt/numeric.c:5727
+#: utils/adt/numeric.c:6674
 #, c-format
 msgid "argument for function \"exp\" too big"
 msgstr "il valore dell'argomento per la funzione \"exp\" è troppo grande"
@@ -17054,38 +18402,38 @@ msgstr "il carattere richiesto non è valido per la codifica: %d"
 msgid "null character not permitted"
 msgstr "non sono consentiti caratteri nulli"
 
-#: utils/adt/orderedsetaggs.c:423 utils/adt/orderedsetaggs.c:528
-#: utils/adt/orderedsetaggs.c:667
+#: utils/adt/orderedsetaggs.c:425 utils/adt/orderedsetaggs.c:530
+#: utils/adt/orderedsetaggs.c:669
 #, c-format
 msgid "percentile value %g is not between 0 and 1"
 msgstr "il valore percentile %g non è tra 0 e 1"
 
-#: utils/adt/pg_locale.c:1039
+#: utils/adt/pg_locale.c:1058
 #, c-format
 msgid "could not create locale \"%s\": %m"
 msgstr "creazione del locale \"%s\" fallita: %m"
 
-#: utils/adt/pg_locale.c:1042
+#: utils/adt/pg_locale.c:1061
 #, c-format
 msgid "The operating system could not find any locale data for the locale name \"%s\"."
 msgstr "Il sistema operativo non ha trovato dati di locale per il locale di nome \"%s\"."
 
-#: utils/adt/pg_locale.c:1129
+#: utils/adt/pg_locale.c:1148
 #, c-format
 msgid "collations with different collate and ctype values are not supported on this platform"
 msgstr "le collazioni con tipi diversi di ordinamento e ctype non sono supportati su questa piattaforma"
 
-#: utils/adt/pg_locale.c:1144
+#: utils/adt/pg_locale.c:1163
 #, c-format
 msgid "nondefault collations are not supported on this platform"
 msgstr "le collazioni non predefinite non sono supportate su questa piattaforma"
 
-#: utils/adt/pg_locale.c:1315
+#: utils/adt/pg_locale.c:1334
 #, c-format
 msgid "invalid multibyte character for locale"
 msgstr "carattere multibyte non valido per il locale"
 
-#: utils/adt/pg_locale.c:1316
+#: utils/adt/pg_locale.c:1335
 #, c-format
 msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding."
 msgstr "Il locale LC_CTYPE del server probabilmente non è compatibile con la codifica del database."
@@ -17095,6 +18443,11 @@ msgstr "Il locale LC_CTYPE del server probabilmente non è compatibile con la co
 msgid "invalid input syntax for type pg_lsn: \"%s\""
 msgstr "sintassi di input non valida per il tipo pg_lsn: \"%s\""
 
+#: utils/adt/pg_upgrade_support.c:39
+#, c-format
+msgid "function can only be called when server is in binary upgrade mode"
+msgstr "la funzione può essere richiamata solo quando il server è in modalità di aggiornamento binario"
+
 #: utils/adt/pseudotypes.c:95
 #, c-format
 msgid "cannot accept a value of type any"
@@ -17210,10 +18563,16 @@ msgstr "non è possibile accettare un valore di un tipo non completamente defini
 msgid "cannot display a value of a shell type"
 msgstr "non è possibile mostrare un valore di un tipo non completamente definito"
 
-#: utils/adt/pseudotypes.c:525 utils/adt/pseudotypes.c:549
+#: utils/adt/pseudotypes.c:525 utils/adt/pseudotypes.c:550
+#: utils/adt/pseudotypes.c:578 utils/adt/pseudotypes.c:606
+#, c-format
+msgid "cannot accept a value of type %s"
+msgstr "non è possibile accettare un valore del tipo %s"
+
+#: utils/adt/pseudotypes.c:593 utils/adt/pseudotypes.c:619
 #, c-format
-msgid "cannot accept a value of type pg_node_tree"
-msgstr "non è possibile accettare un valore di tipo pg_node_tree"
+msgid "cannot output a value of type %s"
+msgstr "non è possibile mostrare un valore del tipo %s"
 
 #: utils/adt/rangetypes.c:396
 #, c-format
@@ -17230,57 +18589,57 @@ msgstr "il risultato della differenza di intervalli non sarebbe continuo"
 msgid "result of range union would not be contiguous"
 msgstr "il risultato dell'unione di intervalli non sarebbe continuo"
 
-#: utils/adt/rangetypes.c:1502
+#: utils/adt/rangetypes.c:1530
 #, c-format
 msgid "range lower bound must be less than or equal to range upper bound"
 msgstr "il limite inferiore dell'intervallo dev'essere minore o uguale del limite superiore"
 
-#: utils/adt/rangetypes.c:1885 utils/adt/rangetypes.c:1898
-#: utils/adt/rangetypes.c:1912
+#: utils/adt/rangetypes.c:1913 utils/adt/rangetypes.c:1926
+#: utils/adt/rangetypes.c:1940
 #, c-format
 msgid "invalid range bound flags"
 msgstr "flag di limiti dell'intervallo non valido"
 
-#: utils/adt/rangetypes.c:1886 utils/adt/rangetypes.c:1899
-#: utils/adt/rangetypes.c:1913
+#: utils/adt/rangetypes.c:1914 utils/adt/rangetypes.c:1927
+#: utils/adt/rangetypes.c:1941
 #, c-format
 msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"."
 msgstr "I valori validi sono \"[]\", \"[)\", \"(]\" e \"()\"."
 
-#: utils/adt/rangetypes.c:1978 utils/adt/rangetypes.c:1995
-#: utils/adt/rangetypes.c:2008 utils/adt/rangetypes.c:2026
-#: utils/adt/rangetypes.c:2037 utils/adt/rangetypes.c:2081
-#: utils/adt/rangetypes.c:2089
+#: utils/adt/rangetypes.c:2006 utils/adt/rangetypes.c:2023
+#: utils/adt/rangetypes.c:2036 utils/adt/rangetypes.c:2054
+#: utils/adt/rangetypes.c:2065 utils/adt/rangetypes.c:2109
+#: utils/adt/rangetypes.c:2117
 #, c-format
 msgid "malformed range literal: \"%s\""
 msgstr "letterale di intervallo non definito correttamente: \"%s\""
 
-#: utils/adt/rangetypes.c:1980
+#: utils/adt/rangetypes.c:2008
 #, c-format
 msgid "Junk after \"empty\" key word."
 msgstr "Dati spuri dopo la parola chiave \"empty\"."
 
-#: utils/adt/rangetypes.c:1997
+#: utils/adt/rangetypes.c:2025
 #, c-format
 msgid "Missing left parenthesis or bracket."
 msgstr "Manca la parentesi aperta."
 
-#: utils/adt/rangetypes.c:2010
+#: utils/adt/rangetypes.c:2038
 #, c-format
 msgid "Missing comma after lower bound."
 msgstr "Manca la virgola dopo il limite inferiore."
 
-#: utils/adt/rangetypes.c:2028
+#: utils/adt/rangetypes.c:2056
 #, c-format
 msgid "Too many commas."
 msgstr "Troppe virgole."
 
-#: utils/adt/rangetypes.c:2039
+#: utils/adt/rangetypes.c:2067
 #, c-format
 msgid "Junk after right parenthesis or bracket."
 msgstr "Caratteri spuri dopo la parentesi chiusa."
 
-#: utils/adt/regexp.c:285 utils/adt/regexp.c:1234 utils/adt/varlena.c:3042
+#: utils/adt/regexp.c:285 utils/adt/regexp.c:1288 utils/adt/varlena.c:3588
 #, c-format
 msgid "regular expression failed: %s"
 msgstr "l'espressione regolare %s è fallita"
@@ -17290,140 +18649,150 @@ msgstr "l'espressione regolare %s è fallita"
 msgid "invalid regexp option: \"%c\""
 msgstr "l'opzione regexp \"%c\" non è valida"
 
-#: utils/adt/regexp.c:894
+#: utils/adt/regexp.c:948
 #, c-format
 msgid "regexp_split does not support the global option"
 msgstr "l'opzione global (g) non è supportata per regexp_split"
 
-#: utils/adt/regproc.c:127 utils/adt/regproc.c:147
+#: utils/adt/regproc.c:128 utils/adt/regproc.c:148
 #, c-format
 msgid "more than one function named \"%s\""
 msgstr "più di una funzione si chiama \"%s\""
 
-#: utils/adt/regproc.c:551 utils/adt/regproc.c:571
+#: utils/adt/regproc.c:587 utils/adt/regproc.c:607
 #, c-format
 msgid "more than one operator named %s"
 msgstr "più di un operatore si chiama %s"
 
-#: utils/adt/regproc.c:738 utils/adt/regproc.c:779 gram.y:6846
+#: utils/adt/regproc.c:774 utils/adt/regproc.c:815 gram.y:7233
 #, c-format
 msgid "missing argument"
 msgstr "argomento mancante"
 
-#: utils/adt/regproc.c:739 utils/adt/regproc.c:780 gram.y:6847
+#: utils/adt/regproc.c:775 utils/adt/regproc.c:816 gram.y:7234
 #, c-format
 msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr "Usa NONE per indicare l'argomento mancante in un operatore unario."
 
-#: utils/adt/regproc.c:743 utils/adt/regproc.c:784 utils/adt/regproc.c:1702
-#: utils/adt/ruleutils.c:7626 utils/adt/ruleutils.c:7749
+#: utils/adt/regproc.c:779 utils/adt/regproc.c:820 utils/adt/regproc.c:1962
+#: utils/adt/ruleutils.c:8105 utils/adt/ruleutils.c:8230
 #, c-format
 msgid "too many arguments"
 msgstr "troppi argomenti"
 
-#: utils/adt/regproc.c:744 utils/adt/regproc.c:785
+#: utils/adt/regproc.c:780 utils/adt/regproc.c:821
 #, c-format
 msgid "Provide two argument types for operator."
 msgstr "Fornisci due tipi di argomento per l'operatore."
 
-#: utils/adt/regproc.c:1537 utils/adt/regproc.c:1542 utils/adt/varlena.c:2313
-#: utils/adt/varlena.c:2318
+#: utils/adt/regproc.c:1797 utils/adt/regproc.c:1802 utils/adt/varlena.c:2859
+#: utils/adt/varlena.c:2864
 #, c-format
 msgid "invalid name syntax"
 msgstr "la sintassi per il nome non è valida"
 
-#: utils/adt/regproc.c:1600
+#: utils/adt/regproc.c:1860
 #, c-format
 msgid "expected a left parenthesis"
 msgstr "era attesa un parentesi tonda aperta"
 
-#: utils/adt/regproc.c:1616
+#: utils/adt/regproc.c:1876
 #, c-format
 msgid "expected a right parenthesis"
 msgstr "era attesa un parentesi tonda chiusa"
 
-#: utils/adt/regproc.c:1635
+#: utils/adt/regproc.c:1895
 #, c-format
 msgid "expected a type name"
 msgstr "era atteso il nome di un tipo"
 
-#: utils/adt/regproc.c:1667
+#: utils/adt/regproc.c:1927
 #, c-format
 msgid "improper type name"
 msgstr "il nome del tipo non è corretto"
 
-#: utils/adt/ri_triggers.c:310 utils/adt/ri_triggers.c:367
-#: utils/adt/ri_triggers.c:786 utils/adt/ri_triggers.c:1009
-#: utils/adt/ri_triggers.c:1165 utils/adt/ri_triggers.c:1346
-#: utils/adt/ri_triggers.c:1511 utils/adt/ri_triggers.c:1687
-#: utils/adt/ri_triggers.c:1867 utils/adt/ri_triggers.c:2058
-#: utils/adt/ri_triggers.c:2116 utils/adt/ri_triggers.c:2221
-#: utils/adt/ri_triggers.c:2386 gram.y:3248
+#: utils/adt/ri_triggers.c:312 utils/adt/ri_triggers.c:369
+#: utils/adt/ri_triggers.c:788 utils/adt/ri_triggers.c:1011
+#: utils/adt/ri_triggers.c:1167 utils/adt/ri_triggers.c:1348
+#: utils/adt/ri_triggers.c:1513 utils/adt/ri_triggers.c:1689
+#: utils/adt/ri_triggers.c:1869 utils/adt/ri_triggers.c:2060
+#: utils/adt/ri_triggers.c:2118 utils/adt/ri_triggers.c:2223
+#: utils/adt/ri_triggers.c:2400 gram.y:3312
 #, c-format
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "il MATCH PARTIAL non è stato ancora implementato"
 
-#: utils/adt/ri_triggers.c:339 utils/adt/ri_triggers.c:2474
-#: utils/adt/ri_triggers.c:3227
+#: utils/adt/ri_triggers.c:341 utils/adt/ri_triggers.c:2488
+#: utils/adt/ri_triggers.c:3297
 #, c-format
 msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\""
 msgstr "la INSERT o l'UPDATE sulla tabella \"%s\" viola il vincolo di chiave esterna \"%s\""
 
-#: utils/adt/ri_triggers.c:342 utils/adt/ri_triggers.c:2477
+#: utils/adt/ri_triggers.c:344 utils/adt/ri_triggers.c:2491
 #, c-format
 msgid "MATCH FULL does not allow mixing of null and nonnull key values."
 msgstr "MATCH FULL non consente l'uso di valori chiave nulli e non nulli insieme."
 
-#: utils/adt/ri_triggers.c:2716
+#: utils/adt/ri_triggers.c:2730
 #, c-format
 msgid "function \"%s\" must be fired for INSERT"
 msgstr "la funzione \"%s\" deve essere eseguita per un INSERT"
 
-#: utils/adt/ri_triggers.c:2722
+#: utils/adt/ri_triggers.c:2736
 #, c-format
 msgid "function \"%s\" must be fired for UPDATE"
 msgstr "la funzione \"%s\" deve essere eseguita per un UPDATE"
 
-#: utils/adt/ri_triggers.c:2728
+#: utils/adt/ri_triggers.c:2742
 #, c-format
 msgid "function \"%s\" must be fired for DELETE"
 msgstr "la funzione \"%s\" deve essere eseguita per una DELETE"
 
-#: utils/adt/ri_triggers.c:2751
+#: utils/adt/ri_triggers.c:2765
 #, c-format
 msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\""
 msgstr "non ci sono elementi pg_constraint per il trigger \"%s\" sulla tabella \"%s\""
 
-#: utils/adt/ri_triggers.c:2753
+#: utils/adt/ri_triggers.c:2767
 #, c-format
 msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT."
 msgstr "Rimuovi questo trigger di integrità referenziale e relativi elementi collegati, poi esegui ALTER TABLE ADD CONSTRAINT."
 
-#: utils/adt/ri_triggers.c:3177
+#: utils/adt/ri_triggers.c:3209
 #, c-format
 msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result"
 msgstr "la query di integrità referenziale su \"%s\" dal vincolo \"%s\" su \"%s\" ha restituito un risultato inatteso"
 
-#: utils/adt/ri_triggers.c:3181
+#: utils/adt/ri_triggers.c:3213
 #, c-format
 msgid "This is most likely due to a rule having rewritten the query."
 msgstr "Ciò è probabilmente dovuto ad una RULE che ha riscritto la query."
 
-#: utils/adt/ri_triggers.c:3230
+#: utils/adt/ri_triggers.c:3301
 #, c-format
 msgid "Key (%s)=(%s) is not present in table \"%s\"."
 msgstr "La chiave (%s)=(%s) non è presente nella tabella \"%s\"."
 
-#: utils/adt/ri_triggers.c:3237
+#: utils/adt/ri_triggers.c:3304
+#, c-format
+msgid "Key is not present in table \"%s\"."
+msgstr "La chiave non è presente nella tabella \"%s\"."
+
+#: utils/adt/ri_triggers.c:3310
 #, c-format
 msgid "update or delete on table \"%s\" violates foreign key constraint \"%s\" on table \"%s\""
 msgstr "l'istruzione UPDATE o DELETE sulla tabella \"%s\" viola il vincolo di chiave esterna \"%s\" sulla tabella \"%s\""
 
-#: utils/adt/ri_triggers.c:3241
+#: utils/adt/ri_triggers.c:3315
 #, c-format
 msgid "Key (%s)=(%s) is still referenced from table \"%s\"."
 msgstr "La chiave (%s)=(%s) è ancora referenziata dalla tabella \"%s\"."
 
+#: utils/adt/ri_triggers.c:3318
+#, c-format
+msgid "Key is still referenced from table \"%s\"."
+msgstr "La chiave è ancora referenziata dalla tabella \"%s\"."
+
 #: utils/adt/rowtypes.c:102 utils/adt/rowtypes.c:477
 #, c-format
 msgid "input of anonymous composite types is not implemented"
@@ -17482,17 +18851,22 @@ msgstr "non è possibile confrontare i tipi di colonne dissimili %s e %s alla co
 msgid "cannot compare record types with different numbers of columns"
 msgstr "non è possibile confrontare tipi di record con diverso numero di colonne"
 
-#: utils/adt/ruleutils.c:3999
+#: utils/adt/ruleutils.c:4077
 #, c-format
 msgid "rule \"%s\" has unsupported event type %d"
 msgstr "la regola \"%s\" ha un tipo di evento non supportato %d"
 
-#: utils/adt/selfuncs.c:5205
+#: utils/adt/ruleutils.c:4257
+#, c-format
+msgid "cache lookup failed for tablesample method %u"
+msgstr "ricerca in cache fallita per il metodo tablesample %u"
+
+#: utils/adt/selfuncs.c:5218
 #, c-format
 msgid "case insensitive matching not supported on type bytea"
 msgstr "il confronto case insensitive sul tipo bytea non è supportato"
 
-#: utils/adt/selfuncs.c:5308
+#: utils/adt/selfuncs.c:5321
 #, c-format
 msgid "regular-expression matching not supported on type bytea"
 msgstr "il confronto con espressioni regolari sul tipo bytea non è supportato"
@@ -17502,133 +18876,133 @@ msgstr "il confronto con espressioni regolari sul tipo bytea non è supportato"
 msgid "invalid input syntax for type tid: \"%s\""
 msgstr "sintassi di input non valida per il tipo tid: \"%s\""
 
-#: utils/adt/timestamp.c:107
+#: utils/adt/timestamp.c:100
 #, c-format
 msgid "TIMESTAMP(%d)%s precision must not be negative"
 msgstr "la precisione di TIMESTAMP(%d)%s non può essere negativa"
 
-#: utils/adt/timestamp.c:113
+#: utils/adt/timestamp.c:106
 #, c-format
 msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
 msgstr "la precisione di TIMESTAMP(%d)%s è stata ridotta al massimo consentito %d"
 
-#: utils/adt/timestamp.c:178 utils/adt/timestamp.c:452
+#: utils/adt/timestamp.c:171 utils/adt/timestamp.c:445
 #, c-format
 msgid "timestamp out of range: \"%s\""
 msgstr "timestamp fuori dall'intervallo consentito: \"%s\""
 
-#: utils/adt/timestamp.c:196 utils/adt/timestamp.c:470
-#: utils/adt/timestamp.c:925
+#: utils/adt/timestamp.c:189 utils/adt/timestamp.c:463
+#: utils/adt/timestamp.c:918
 #, c-format
 msgid "date/time value \"%s\" is no longer supported"
 msgstr "il valore \"%s\" per i tipi date/time non è più supportato"
 
-#: utils/adt/timestamp.c:266
+#: utils/adt/timestamp.c:259
 #, c-format
 msgid "timestamp cannot be NaN"
 msgstr "il timestamp non può essere NaN"
 
-#: utils/adt/timestamp.c:387
+#: utils/adt/timestamp.c:380
 #, c-format
 msgid "timestamp(%d) precision must be between %d and %d"
 msgstr "la precisione di timestamp(%d) deve essere compresa fra %d e %d"
 
-#: utils/adt/timestamp.c:520
+#: utils/adt/timestamp.c:513
 #, c-format
 msgid "invalid input syntax for numeric time zone: \"%s\""
 msgstr "sintassi di input non valida per il fuso orario numerico: \"%s\""
 
-#: utils/adt/timestamp.c:522
+#: utils/adt/timestamp.c:515
 #, c-format
 msgid "Numeric time zones must have \"-\" or \"+\" as first character."
 msgstr "Il primo carattere dei fusi orari numerici deve essere \"-\" o \"+\"."
 
-#: utils/adt/timestamp.c:535
+#: utils/adt/timestamp.c:528
 #, c-format
 msgid "numeric time zone \"%s\" out of range"
 msgstr "fuso orario numerico \"%s\" fuori dall'intervallo consentito"
 
-#: utils/adt/timestamp.c:638 utils/adt/timestamp.c:648
+#: utils/adt/timestamp.c:631 utils/adt/timestamp.c:641
 #, c-format
 msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g"
 msgstr "timestamp fuori dall'intervallo consentito: %d-%02d-%02d %d:%02d:%02g"
 
-#: utils/adt/timestamp.c:919 utils/adt/timestamp.c:1490
-#: utils/adt/timestamp.c:1993 utils/adt/timestamp.c:3133
-#: utils/adt/timestamp.c:3138 utils/adt/timestamp.c:3143
-#: utils/adt/timestamp.c:3193 utils/adt/timestamp.c:3200
-#: utils/adt/timestamp.c:3207 utils/adt/timestamp.c:3227
-#: utils/adt/timestamp.c:3234 utils/adt/timestamp.c:3241
-#: utils/adt/timestamp.c:3270 utils/adt/timestamp.c:3277
-#: utils/adt/timestamp.c:3322 utils/adt/timestamp.c:3613
-#: utils/adt/timestamp.c:3742 utils/adt/timestamp.c:4133
+#: utils/adt/timestamp.c:912 utils/adt/timestamp.c:1483
+#: utils/adt/timestamp.c:1986 utils/adt/timestamp.c:3126
+#: utils/adt/timestamp.c:3131 utils/adt/timestamp.c:3136
+#: utils/adt/timestamp.c:3186 utils/adt/timestamp.c:3193
+#: utils/adt/timestamp.c:3200 utils/adt/timestamp.c:3220
+#: utils/adt/timestamp.c:3227 utils/adt/timestamp.c:3234
+#: utils/adt/timestamp.c:3263 utils/adt/timestamp.c:3270
+#: utils/adt/timestamp.c:3315 utils/adt/timestamp.c:3606
+#: utils/adt/timestamp.c:3735 utils/adt/timestamp.c:4126
 #, c-format
 msgid "interval out of range"
 msgstr "il valore di interval è fuori dall'intervallo consentito"
 
-#: utils/adt/timestamp.c:1060 utils/adt/timestamp.c:1093
+#: utils/adt/timestamp.c:1053 utils/adt/timestamp.c:1086
 #, c-format
 msgid "invalid INTERVAL type modifier"
 msgstr "il modificatore di tipo su INTERVAL non è valido"
 
-#: utils/adt/timestamp.c:1076
+#: utils/adt/timestamp.c:1069
 #, c-format
 msgid "INTERVAL(%d) precision must not be negative"
 msgstr "la precisione di INTERVAL(%d) non può essere negativa"
 
-#: utils/adt/timestamp.c:1082
+#: utils/adt/timestamp.c:1075
 #, c-format
 msgid "INTERVAL(%d) precision reduced to maximum allowed, %d"
 msgstr "la precisione di INTERVAL(%d) è stata ridotta al massimo consentito %d"
 
-#: utils/adt/timestamp.c:1434
+#: utils/adt/timestamp.c:1427
 #, c-format
 msgid "interval(%d) precision must be between %d and %d"
 msgstr "la precisione di INTERVAL(%d) deve essere compresa fra %d e %d"
 
-#: utils/adt/timestamp.c:2722
+#: utils/adt/timestamp.c:2715
 #, c-format
 msgid "cannot subtract infinite timestamps"
 msgstr "non è possibile sottrarre valori infiniti di TIMESTAMP"
 
-#: utils/adt/timestamp.c:3868 utils/adt/timestamp.c:4474
-#: utils/adt/timestamp.c:4514
+#: utils/adt/timestamp.c:3861 utils/adt/timestamp.c:4467
+#: utils/adt/timestamp.c:4507
 #, c-format
 msgid "timestamp units \"%s\" not supported"
 msgstr "unità \"%s\" di timestamp non supportata"
 
-#: utils/adt/timestamp.c:3882 utils/adt/timestamp.c:4524
+#: utils/adt/timestamp.c:3875 utils/adt/timestamp.c:4517
 #, c-format
 msgid "timestamp units \"%s\" not recognized"
 msgstr "unità \"%s\" di timestamp non riconosciuta"
 
-#: utils/adt/timestamp.c:4022 utils/adt/timestamp.c:4685
-#: utils/adt/timestamp.c:4726
+#: utils/adt/timestamp.c:4015 utils/adt/timestamp.c:4678
+#: utils/adt/timestamp.c:4719
 #, c-format
 msgid "timestamp with time zone units \"%s\" not supported"
 msgstr "unità \"%s\" di timestamp with time zone non supportata"
 
-#: utils/adt/timestamp.c:4039 utils/adt/timestamp.c:4735
+#: utils/adt/timestamp.c:4032 utils/adt/timestamp.c:4728
 #, c-format
 msgid "timestamp with time zone units \"%s\" not recognized"
 msgstr "unità \"%s\" di timestamp with time zone non riconosciuta"
 
-#: utils/adt/timestamp.c:4120
+#: utils/adt/timestamp.c:4113
 #, c-format
 msgid "interval units \"%s\" not supported because months usually have fractional weeks"
 msgstr "le unità di intervallo \"%s\" non sono supportate perché generalmente i mesi hanno settimane frazionali"
 
-#: utils/adt/timestamp.c:4126 utils/adt/timestamp.c:4841
+#: utils/adt/timestamp.c:4119 utils/adt/timestamp.c:4834
 #, c-format
 msgid "interval units \"%s\" not supported"
 msgstr "unità \"%s\" di interval non supportata"
 
-#: utils/adt/timestamp.c:4142 utils/adt/timestamp.c:4868
+#: utils/adt/timestamp.c:4135 utils/adt/timestamp.c:4861
 #, c-format
 msgid "interval units \"%s\" not recognized"
 msgstr "unità \"%s\" di interval non riconosciuta"
 
-#: utils/adt/timestamp.c:4951 utils/adt/timestamp.c:5135
+#: utils/adt/timestamp.c:5025 utils/adt/timestamp.c:5255
 #, c-format
 msgid "could not convert to time zone \"%s\""
 msgstr "conversione al fuso orario \"%s\" fallita"
@@ -17653,43 +19027,43 @@ msgstr "la funzione trigger suppress_redundant_updates deve essere invocata prim
 msgid "suppress_redundant_updates_trigger: must be called for each row"
 msgstr "la funzione trigger suppress_redundant_updates deve essere invocata su ogni riga"
 
-#: utils/adt/tsgistidx.c:98
+#: utils/adt/tsgistidx.c:99
 #, c-format
 msgid "gtsvector_in not implemented"
 msgstr "la funzione gtsvector_in non è implementata"
 
-#: utils/adt/tsquery.c:154 utils/adt/tsquery.c:389
+#: utils/adt/tsquery.c:155 utils/adt/tsquery.c:390
 #: utils/adt/tsvector_parser.c:133
 #, c-format
 msgid "syntax error in tsquery: \"%s\""
 msgstr "errore di sintassi in tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:175
+#: utils/adt/tsquery.c:176
 #, c-format
 msgid "no operand in tsquery: \"%s\""
 msgstr "non ci sono operandi in tsquery: \"%s\""
 
-#: utils/adt/tsquery.c:247
+#: utils/adt/tsquery.c:248
 #, c-format
 msgid "value is too big in tsquery: \"%s\""
 msgstr "il valore in tsquery è troppo grande: \"%s\""
 
-#: utils/adt/tsquery.c:252
+#: utils/adt/tsquery.c:253
 #, c-format
 msgid "operand is too long in tsquery: \"%s\""
 msgstr "l'operando in tsquery è troppo lungo: \"%s\""
 
-#: utils/adt/tsquery.c:280
+#: utils/adt/tsquery.c:281
 #, c-format
 msgid "word is too long in tsquery: \"%s\""
 msgstr "la parola in tsquery è troppo lunga: \"%s\""
 
-#: utils/adt/tsquery.c:509
+#: utils/adt/tsquery.c:510
 #, c-format
 msgid "text-search query doesn't contain lexemes: \"%s\""
 msgstr "la query di ricerca di testo non contiene alcun lessema: \"%s\""
 
-#: utils/adt/tsquery.c:520 utils/adt/tsquery_util.c:340
+#: utils/adt/tsquery.c:521 utils/adt/tsquery_util.c:340
 #, c-format
 msgid "tsquery is too large"
 msgstr "tsquery troppo grande"
@@ -17704,22 +19078,22 @@ msgstr "la query di ricerca di testo contiene solo stop word o non contiene less
 msgid "ts_rewrite query must return two tsquery columns"
 msgstr "la query ts_rewrite deve restituire due colonne tsquery"
 
-#: utils/adt/tsrank.c:403
+#: utils/adt/tsrank.c:410
 #, c-format
 msgid "array of weight must be one-dimensional"
 msgstr "l'array dei pesi deve avere una sola dimensione"
 
-#: utils/adt/tsrank.c:408
+#: utils/adt/tsrank.c:415
 #, c-format
 msgid "array of weight is too short"
 msgstr "l'array dei pesi è troppo corto"
 
-#: utils/adt/tsrank.c:413
+#: utils/adt/tsrank.c:420
 #, c-format
 msgid "array of weight must not contain nulls"
 msgstr "l'array dei pesi non può contenere valori nulli"
 
-#: utils/adt/tsrank.c:422 utils/adt/tsrank.c:749
+#: utils/adt/tsrank.c:429 utils/adt/tsrank.c:756
 #, c-format
 msgid "weight out of range"
 msgstr "il peso è fuori dall'intervallo consentito"
@@ -17834,9 +19208,9 @@ msgstr "la lunghezza della stringa esterna di bit non è valida"
 msgid "bit string too long for type bit varying(%d)"
 msgstr "la stringa di bit è troppo lunga per il tipo bit varying(%d)"
 
-#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:800
-#: utils/adt/varlena.c:864 utils/adt/varlena.c:1008 utils/adt/varlena.c:1964
-#: utils/adt/varlena.c:2031
+#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:832
+#: utils/adt/varlena.c:896 utils/adt/varlena.c:1040 utils/adt/varlena.c:2510
+#: utils/adt/varlena.c:2577
 #, c-format
 msgid "negative substring length not allowed"
 msgstr "non è consentita una stringa con lunghezza negativa"
@@ -17861,7 +19235,7 @@ msgstr "non è possibile eseguire lo XOR fra stringhe di bit di dimensioni diver
 msgid "bit index %d out of valid range (0..%d)"
 msgstr "l'indice %d è fuori dall'intervallo valido (0..%d)"
 
-#: utils/adt/varbit.c:1802 utils/adt/varlena.c:2231
+#: utils/adt/varbit.c:1802 utils/adt/varlena.c:2777
 #, c-format
 msgid "new bit must be 0 or 1"
 msgstr "il nuovo bit deve essere 0 o 1"
@@ -17876,63 +19250,63 @@ msgstr "il valore è troppo lungo per il tipo character(%d)"
 msgid "value too long for type character varying(%d)"
 msgstr "il valore è troppo lungo per il tipo character varying(%d)"
 
-#: utils/adt/varlena.c:1380
+#: utils/adt/varlena.c:1410 utils/adt/varlena.c:1799
 #, c-format
 msgid "could not determine which collation to use for string comparison"
 msgstr "non è stato possibile determinare quale ordinamento usare per la comparazione tra stringhe"
 
-#: utils/adt/varlena.c:1426 utils/adt/varlena.c:1439
+#: utils/adt/varlena.c:1468 utils/adt/varlena.c:1481
 #, c-format
 msgid "could not convert string to UTF-16: error code %lu"
 msgstr "conversione della stringa in UTF-16 fallita: codice errore %lu"
 
-#: utils/adt/varlena.c:1454
+#: utils/adt/varlena.c:1496
 #, c-format
 msgid "could not compare Unicode strings: %m"
 msgstr "comparazione delle stringhe Unicode fallita: %m"
 
-#: utils/adt/varlena.c:2109 utils/adt/varlena.c:2140 utils/adt/varlena.c:2176
-#: utils/adt/varlena.c:2219
+#: utils/adt/varlena.c:2655 utils/adt/varlena.c:2686 utils/adt/varlena.c:2722
+#: utils/adt/varlena.c:2765
 #, c-format
 msgid "index %d out of valid range, 0..%d"
 msgstr "l'indice %d è fuori dall'intervallo valido, 0..%d"
 
-#: utils/adt/varlena.c:3138
+#: utils/adt/varlena.c:3684
 #, c-format
 msgid "field position must be greater than zero"
 msgstr "il campo deve essere maggiore di zero"
 
-#: utils/adt/varlena.c:4017
+#: utils/adt/varlena.c:4563
 #, c-format
 msgid "unterminated format specifier"
 msgstr "specificatore di formato non terminato"
 
-#: utils/adt/varlena.c:4149 utils/adt/varlena.c:4269
+#: utils/adt/varlena.c:4695 utils/adt/varlena.c:4815
 #, c-format
 msgid "unrecognized conversion type specifier \"%c\""
 msgstr "specificatore di tipo \"%c\" non riconosciuto"
 
-#: utils/adt/varlena.c:4161 utils/adt/varlena.c:4218
+#: utils/adt/varlena.c:4707 utils/adt/varlena.c:4764
 #, c-format
 msgid "too few arguments for format"
 msgstr "troppi pochi argomenti per il formato"
 
-#: utils/adt/varlena.c:4312 utils/adt/varlena.c:4495
+#: utils/adt/varlena.c:4858 utils/adt/varlena.c:5041
 #, c-format
 msgid "number is out of range"
 msgstr "il numero è al di fuori dell'intervallo consentito"
 
-#: utils/adt/varlena.c:4376 utils/adt/varlena.c:4404
+#: utils/adt/varlena.c:4922 utils/adt/varlena.c:4950
 #, c-format
 msgid "format specifies argument 0, but arguments are numbered from 1"
 msgstr "il formato specifica l'argomento 0, ma gli argomenti sono numerati a partire da 1"
 
-#: utils/adt/varlena.c:4397
+#: utils/adt/varlena.c:4943
 #, c-format
 msgid "width argument position must be ended by \"$\""
 msgstr "la posizione dell'argomento di larghezza deve finire con \"$\""
 
-#: utils/adt/varlena.c:4442
+#: utils/adt/varlena.c:4988
 #, c-format
 msgid "null values cannot be formatted as an SQL identifier"
 msgstr "i valori vuoti non possono essere formattati come un identificativo SQL"
@@ -17947,227 +19321,227 @@ msgstr "l'argomento della funzione ntile deve essere maggiore di zero"
 msgid "argument of nth_value must be greater than zero"
 msgstr "l'argomento della funzione nth_value deve essere maggiore di zero"
 
-#: utils/adt/xml.c:170
+#: utils/adt/xml.c:171
 #, c-format
 msgid "unsupported XML feature"
 msgstr "caratteristica XML non supportata"
 
-#: utils/adt/xml.c:171
+#: utils/adt/xml.c:172
 #, c-format
 msgid "This functionality requires the server to be built with libxml support."
 msgstr "Per questa funzionalità è necessario che il server sia compilato con il supporto a libxml."
 
-#: utils/adt/xml.c:172
+#: utils/adt/xml.c:173
 #, c-format
 msgid "You need to rebuild PostgreSQL using --with-libxml."
 msgstr "Occorre configurare PostgreSQL con l'opzione --with-libxml e ricompilarlo."
 
-#: utils/adt/xml.c:191 utils/mb/mbutils.c:523
+#: utils/adt/xml.c:192 utils/mb/mbutils.c:523
 #, c-format
 msgid "invalid encoding name \"%s\""
 msgstr "nome di codifica non valido \"%s\""
 
-#: utils/adt/xml.c:434 utils/adt/xml.c:439
+#: utils/adt/xml.c:435 utils/adt/xml.c:440
 #, c-format
 msgid "invalid XML comment"
 msgstr "commento XML non valido"
 
-#: utils/adt/xml.c:568
+#: utils/adt/xml.c:569
 #, c-format
 msgid "not an XML document"
 msgstr "non è un documento XML"
 
-#: utils/adt/xml.c:727 utils/adt/xml.c:750
+#: utils/adt/xml.c:728 utils/adt/xml.c:751
 #, c-format
 msgid "invalid XML processing instruction"
 msgstr "istruzione di elaborazione XML non valida"
 
-#: utils/adt/xml.c:728
+#: utils/adt/xml.c:729
 #, c-format
 msgid "XML processing instruction target name cannot be \"%s\"."
 msgstr "Il nome di destinazione di un'istruzione di elaborazione XML non può essere \"%s\"."
 
-#: utils/adt/xml.c:751
+#: utils/adt/xml.c:752
 #, c-format
 msgid "XML processing instruction cannot contain \"?>\"."
 msgstr "Un'istruzione di elaborazione XML non può contenere \"?>\"."
 
-#: utils/adt/xml.c:830
+#: utils/adt/xml.c:831
 #, c-format
 msgid "xmlvalidate is not implemented"
 msgstr "la funzione xmlvalidate non è implementata"
 
-#: utils/adt/xml.c:909
+#: utils/adt/xml.c:910
 #, c-format
 msgid "could not initialize XML library"
 msgstr "inizializzazione della libreria XML fallita"
 
-#: utils/adt/xml.c:910
+#: utils/adt/xml.c:911
 #, c-format
 msgid "libxml2 has incompatible char type: sizeof(char)=%u, sizeof(xmlChar)=%u."
 msgstr "La libreria libxml2 ha un tipo char non compatibile: sizeof(char)=%u, sizeof(xmlChar)=%u."
 
-#: utils/adt/xml.c:996
+#: utils/adt/xml.c:997
 #, c-format
 msgid "could not set up XML error handler"
 msgstr "impostazione del gestore di errori XML fallita"
 
-#: utils/adt/xml.c:997
+#: utils/adt/xml.c:998
 #, c-format
 msgid "This probably indicates that the version of libxml2 being used is not compatible with the libxml2 header files that PostgreSQL was built with."
 msgstr "Questo vuol dire probabilmente che la versione di libxml2 in uso non è compatibile con i file di header libxml2 con cui PostgreSQL è stato compilato."
 
-#: utils/adt/xml.c:1732
+#: utils/adt/xml.c:1737
 msgid "Invalid character value."
 msgstr "Valore di carattere non valido."
 
-#: utils/adt/xml.c:1735
+#: utils/adt/xml.c:1740
 msgid "Space required."
 msgstr "È necessario uno spazio."
 
-#: utils/adt/xml.c:1738
+#: utils/adt/xml.c:1743
 msgid "standalone accepts only 'yes' or 'no'."
 msgstr "Solo 'yes' o 'no' sono accettati da standalone."
 
-#: utils/adt/xml.c:1741
+#: utils/adt/xml.c:1746
 msgid "Malformed declaration: missing version."
 msgstr "La dichiarazione non è definita correttamente: manca la versione."
 
-#: utils/adt/xml.c:1744
+#: utils/adt/xml.c:1749
 msgid "Missing encoding in text declaration."
 msgstr "Manca la codifica nella dichiarazione del testo."
 
-#: utils/adt/xml.c:1747
+#: utils/adt/xml.c:1752
 msgid "Parsing XML declaration: '?>' expected."
 msgstr "Durante l'analisi XML è stato riscontrato che manca '?>'."
 
-#: utils/adt/xml.c:1750
+#: utils/adt/xml.c:1755
 #, c-format
 msgid "Unrecognized libxml error code: %d."
 msgstr "Codice di errore di libxml sconosciuto: %d."
 
-#: utils/adt/xml.c:2025
+#: utils/adt/xml.c:2030
 #, c-format
 msgid "XML does not support infinite date values."
 msgstr "XML non supporta i valori infiniti per il tipo date."
 
-#: utils/adt/xml.c:2047 utils/adt/xml.c:2074
+#: utils/adt/xml.c:2052 utils/adt/xml.c:2079
 #, c-format
 msgid "XML does not support infinite timestamp values."
 msgstr "XML non supporta i valori infiniti per il tipo timestamp."
 
-#: utils/adt/xml.c:2465
+#: utils/adt/xml.c:2470
 #, c-format
 msgid "invalid query"
 msgstr "query non valida"
 
-#: utils/adt/xml.c:3778
+#: utils/adt/xml.c:3795
 #, c-format
 msgid "invalid array for XML namespace mapping"
 msgstr "l'array per il mapping del namespace XML non è valido"
 
-#: utils/adt/xml.c:3779
+#: utils/adt/xml.c:3796
 #, c-format
 msgid "The array must be two-dimensional with length of the second axis equal to 2."
 msgstr "L'array deve avere due dimensioni e la lunghezza del secondo asse deve essere pari a 2."
 
-#: utils/adt/xml.c:3803
+#: utils/adt/xml.c:3820
 #, c-format
 msgid "empty XPath expression"
 msgstr "l'espressione XPath è vuota"
 
-#: utils/adt/xml.c:3852
+#: utils/adt/xml.c:3869
 #, c-format
 msgid "neither namespace name nor URI may be null"
 msgstr "né il nome del namespace né l'URI possono essere nulli"
 
-#: utils/adt/xml.c:3859
+#: utils/adt/xml.c:3876
 #, c-format
 msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
 msgstr "registrazione del namespace XML con nome \"%s\" ed URI \"%s\" fallita"
 
-#: utils/cache/lsyscache.c:2478 utils/cache/lsyscache.c:2511
-#: utils/cache/lsyscache.c:2544 utils/cache/lsyscache.c:2577
+#: utils/cache/lsyscache.c:2516 utils/cache/lsyscache.c:2549
+#: utils/cache/lsyscache.c:2582 utils/cache/lsyscache.c:2615
 #, c-format
 msgid "type %s is only a shell"
 msgstr "il tipo %s non è completamente definito"
 
-#: utils/cache/lsyscache.c:2483
+#: utils/cache/lsyscache.c:2521
 #, c-format
 msgid "no input function available for type %s"
 msgstr "nessuna funzione di input disponibile per il tipo %s"
 
-#: utils/cache/lsyscache.c:2516
+#: utils/cache/lsyscache.c:2554
 #, c-format
 msgid "no output function available for type %s"
 msgstr "nessuna funzione di output disponibile per il tipo %s"
 
-#: utils/cache/plancache.c:698
+#: utils/cache/plancache.c:738
 #, c-format
 msgid "cached plan must not change result type"
 msgstr "il cached plan non deve cambiare il tipo del risultato"
 
-#: utils/cache/relcache.c:4828
+#: utils/cache/relcache.c:4994
 #, c-format
 msgid "could not create relation-cache initialization file \"%s\": %m"
 msgstr "creazione del file di inizializzazione della cache delle relazioni \"%s\" fallita: %m"
 
-#: utils/cache/relcache.c:4830
+#: utils/cache/relcache.c:4996
 #, c-format
 msgid "Continuing anyway, but there's something wrong."
 msgstr "Proseguo in ogni caso, ma c'è qualcosa che non funziona."
 
-#: utils/cache/relcache.c:5044
+#: utils/cache/relcache.c:5229
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "rimozione del file di cache \"%s\" fallita: %m"
 
-#: utils/cache/relmapper.c:506
+#: utils/cache/relmapper.c:508
 #, c-format
 msgid "cannot PREPARE a transaction that modified relation mapping"
 msgstr "non è possibile eseguire PREPARE in una transazione che ha modificato la mappa delle relazioni"
 
-#: utils/cache/relmapper.c:649 utils/cache/relmapper.c:749
+#: utils/cache/relmapper.c:651 utils/cache/relmapper.c:751
 #, c-format
 msgid "could not open relation mapping file \"%s\": %m"
 msgstr "apertura del file della mappa delle relazioni \"%s\" fallita: %m"
 
-#: utils/cache/relmapper.c:662
+#: utils/cache/relmapper.c:664
 #, c-format
 msgid "could not read relation mapping file \"%s\": %m"
 msgstr "lettura del file della mappa delle relazioni \"%s\" fallita: %m"
 
-#: utils/cache/relmapper.c:672
+#: utils/cache/relmapper.c:674
 #, c-format
 msgid "relation mapping file \"%s\" contains invalid data"
 msgstr "il file della mappa delle relazioni \"%s\" contiene dati non validi"
 
-#: utils/cache/relmapper.c:682
+#: utils/cache/relmapper.c:684
 #, c-format
 msgid "relation mapping file \"%s\" contains incorrect checksum"
 msgstr "il file della mappa delle relazioni \"%s\" ha un checksum non valido"
 
-#: utils/cache/relmapper.c:788
+#: utils/cache/relmapper.c:784
 #, c-format
 msgid "could not write to relation mapping file \"%s\": %m"
 msgstr "scrittura nel file della mappa delle relazioni \"%s\" fallita: %m"
 
-#: utils/cache/relmapper.c:801
+#: utils/cache/relmapper.c:797
 #, c-format
 msgid "could not fsync relation mapping file \"%s\": %m"
 msgstr "fsync del file della mappa delle relazioni \"%s\" fallito: %m"
 
-#: utils/cache/relmapper.c:807
+#: utils/cache/relmapper.c:803
 #, c-format
 msgid "could not close relation mapping file \"%s\": %m"
 msgstr "chiusura del file della mappa delle relazioni \"%s\" fallita: %m"
 
-#: utils/cache/typcache.c:704
+#: utils/cache/typcache.c:1156
 #, c-format
 msgid "type %s is not composite"
 msgstr "il tipo %s non è composito"
 
-#: utils/cache/typcache.c:718
+#: utils/cache/typcache.c:1170
 #, c-format
 msgid "record type has not been registered"
 msgstr "il tipo del record non è stato registrato"
@@ -18182,189 +19556,189 @@ msgstr "TRAP: ExceptionalCondition: argomenti non corretti\n"
 msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
 msgstr "TRAP: %s(\"%s\", File: \"%s\", Linea: %d)\n"
 
-#: utils/error/elog.c:320 utils/error/elog.c:1291
+#: utils/error/elog.c:316 utils/error/elog.c:1297
 #, c-format
 msgid "error occurred at %s:%d before error message processing is available\n"
 msgstr "l'errore è avvenuto a %s:%d prima che fosse possibile processare i messaggi d'errore\n"
 
-#: utils/error/elog.c:1807
+#: utils/error/elog.c:1864
 #, c-format
 msgid "could not reopen file \"%s\" as stderr: %m"
 msgstr "riapertura del file \"%s\" come stderr fallita: %m"
 
-#: utils/error/elog.c:1820
+#: utils/error/elog.c:1877
 #, c-format
 msgid "could not reopen file \"%s\" as stdout: %m"
 msgstr "riapertura del file \"%s\" come stdout fallita: %m"
 
-#: utils/error/elog.c:2295 utils/error/elog.c:2312 utils/error/elog.c:2328
+#: utils/error/elog.c:2353 utils/error/elog.c:2370 utils/error/elog.c:2386
 msgid "[unknown]"
 msgstr "[sconosciuto]"
 
-#: utils/error/elog.c:2766 utils/error/elog.c:3065 utils/error/elog.c:3173
+#: utils/error/elog.c:2825 utils/error/elog.c:3124 utils/error/elog.c:3232
 msgid "missing error text"
 msgstr "testo dell'errore mancante"
 
-#: utils/error/elog.c:2769 utils/error/elog.c:2772 utils/error/elog.c:3176
-#: utils/error/elog.c:3179
+#: utils/error/elog.c:2828 utils/error/elog.c:2831 utils/error/elog.c:3235
+#: utils/error/elog.c:3238
 #, c-format
 msgid " at character %d"
 msgstr " al carattere %d"
 
-#: utils/error/elog.c:2782 utils/error/elog.c:2789
+#: utils/error/elog.c:2841 utils/error/elog.c:2848
 msgid "DETAIL:  "
 msgstr "DETTAGLI:  "
 
-#: utils/error/elog.c:2796
+#: utils/error/elog.c:2855
 msgid "HINT:  "
 msgstr "SUGGERIMENTO:  "
 
-#: utils/error/elog.c:2803
+#: utils/error/elog.c:2862
 msgid "QUERY:  "
 msgstr "QUERY:  "
 
-#: utils/error/elog.c:2810
+#: utils/error/elog.c:2869
 msgid "CONTEXT:  "
 msgstr "CONTESTO:  "
 
-#: utils/error/elog.c:2820
+#: utils/error/elog.c:2879
 #, c-format
 msgid "LOCATION:  %s, %s:%d\n"
 msgstr "POSIZIONE:  %s, %s:%d\n"
 
-#: utils/error/elog.c:2827
+#: utils/error/elog.c:2886
 #, c-format
 msgid "LOCATION:  %s:%d\n"
 msgstr "POSIZIONE:  %s:%d\n"
 
-#: utils/error/elog.c:2841
+#: utils/error/elog.c:2900
 msgid "STATEMENT:  "
 msgstr "ISTRUZIONE:  "
 
 #. translator: This string will be truncated at 47
 #. characters expanded.
-#: utils/error/elog.c:3294
+#: utils/error/elog.c:3353
 #, c-format
 msgid "operating system error %d"
 msgstr "errore del sistema operativo %d"
 
-#: utils/error/elog.c:3489
+#: utils/error/elog.c:3548
 msgid "DEBUG"
 msgstr "DEBUG"
 
-#: utils/error/elog.c:3493
+#: utils/error/elog.c:3552
 msgid "LOG"
 msgstr "LOG"
 
-#: utils/error/elog.c:3496
+#: utils/error/elog.c:3555
 msgid "INFO"
 msgstr "INFO"
 
-#: utils/error/elog.c:3499
+#: utils/error/elog.c:3558
 msgid "NOTICE"
 msgstr "NOTIFICA"
 
-#: utils/error/elog.c:3502
+#: utils/error/elog.c:3561
 msgid "WARNING"
 msgstr "ATTENZIONE"
 
-#: utils/error/elog.c:3505
+#: utils/error/elog.c:3564
 msgid "ERROR"
 msgstr "ERRORE"
 
-#: utils/error/elog.c:3508
+#: utils/error/elog.c:3567
 msgid "FATAL"
 msgstr "FATALE"
 
-#: utils/error/elog.c:3511
+#: utils/error/elog.c:3570
 msgid "PANIC"
 msgstr "PANICO"
 
-#: utils/fmgr/dfmgr.c:125
+#: utils/fmgr/dfmgr.c:121
 #, c-format
 msgid "could not find function \"%s\" in file \"%s\""
 msgstr "funzione \"%s\" non trovata nel file \"%s\""
 
-#: utils/fmgr/dfmgr.c:204 utils/fmgr/dfmgr.c:413 utils/fmgr/dfmgr.c:461
+#: utils/fmgr/dfmgr.c:200 utils/fmgr/dfmgr.c:409 utils/fmgr/dfmgr.c:457
 #, c-format
 msgid "could not access file \"%s\": %m"
 msgstr "accesso al file \"%s\" fallito: %m"
 
-#: utils/fmgr/dfmgr.c:242
+#: utils/fmgr/dfmgr.c:238
 #, c-format
 msgid "could not load library \"%s\": %s"
 msgstr "caricamento della libreria \"%s\" fallito: %s"
 
-#: utils/fmgr/dfmgr.c:274
+#: utils/fmgr/dfmgr.c:270
 #, c-format
 msgid "incompatible library \"%s\": missing magic block"
 msgstr "libreria \"%s\" incompatibile: manca il magic block"
 
-#: utils/fmgr/dfmgr.c:276
+#: utils/fmgr/dfmgr.c:272
 #, c-format
 msgid "Extension libraries are required to use the PG_MODULE_MAGIC macro."
 msgstr "Le librerie di estensione devono usare la macro PG_MODULE_MAGIC."
 
-#: utils/fmgr/dfmgr.c:312
+#: utils/fmgr/dfmgr.c:308
 #, c-format
 msgid "incompatible library \"%s\": version mismatch"
 msgstr "libreria incompatibile \"%s\": versione non corrispondente"
 
-#: utils/fmgr/dfmgr.c:314
+#: utils/fmgr/dfmgr.c:310
 #, c-format
 msgid "Server is version %d.%d, library is version %d.%d."
 msgstr "Il server ha versione %d.%d, la libreria versione %d.%d."
 
-#: utils/fmgr/dfmgr.c:333
+#: utils/fmgr/dfmgr.c:329
 #, c-format
 msgid "Server has FUNC_MAX_ARGS = %d, library has %d."
 msgstr "Il server ha FUNC_MAX_ARGS = %d, la libreria ha %d."
 
-#: utils/fmgr/dfmgr.c:342
+#: utils/fmgr/dfmgr.c:338
 #, c-format
 msgid "Server has INDEX_MAX_KEYS = %d, library has %d."
 msgstr "Il server ha INDEX_MAX_KEYS = %d, la libreria ha %d."
 
-#: utils/fmgr/dfmgr.c:351
+#: utils/fmgr/dfmgr.c:347
 #, c-format
 msgid "Server has NAMEDATALEN = %d, library has %d."
 msgstr "Il server ha NAMEDATALEN = %d, la libreria %d."
 
-#: utils/fmgr/dfmgr.c:360
+#: utils/fmgr/dfmgr.c:356
 #, c-format
 msgid "Server has FLOAT4PASSBYVAL = %s, library has %s."
 msgstr "Il server ha FLOAT4PASSBYVAL = %s, la libreria %s."
 
-#: utils/fmgr/dfmgr.c:369
+#: utils/fmgr/dfmgr.c:365
 #, c-format
 msgid "Server has FLOAT8PASSBYVAL = %s, library has %s."
 msgstr "Il server ha FLOAT8PASSBYVAL = %s, la libreria %s."
 
-#: utils/fmgr/dfmgr.c:376
+#: utils/fmgr/dfmgr.c:372
 msgid "Magic block has unexpected length or padding difference."
 msgstr "Il magic block ha una lunghezza imprevista o una differenza di allineamento."
 
-#: utils/fmgr/dfmgr.c:379
+#: utils/fmgr/dfmgr.c:375
 #, c-format
 msgid "incompatible library \"%s\": magic block mismatch"
 msgstr "la libreria \"%s\" non è compatibile: magic block non corrispondente"
 
-#: utils/fmgr/dfmgr.c:543
+#: utils/fmgr/dfmgr.c:539
 #, c-format
 msgid "access to library \"%s\" is not allowed"
 msgstr "l'accesso alla libreria \"%s\" non è consentito"
 
-#: utils/fmgr/dfmgr.c:569
+#: utils/fmgr/dfmgr.c:565
 #, c-format
 msgid "invalid macro name in dynamic library path: %s"
 msgstr "nome della macro non valido nel percorso della libreria dinamica: %s"
 
-#: utils/fmgr/dfmgr.c:609
+#: utils/fmgr/dfmgr.c:605
 #, c-format
 msgid "zero-length component in parameter \"dynamic_library_path\""
 msgstr "componente di lunghezza zero nel parametro \"dynamic_library_path\""
 
-#: utils/fmgr/dfmgr.c:628
+#: utils/fmgr/dfmgr.c:624
 #, c-format
 msgid "component in parameter \"dynamic_library_path\" is not an absolute path"
 msgstr "il componente nel parametro \"dynamic_library_path\" non è un percorso assoluto."
@@ -18379,12 +19753,12 @@ msgstr "la funzione interna \"%s\" non è nella tabella interna di lookup"
 msgid "unrecognized API version %d reported by info function \"%s\""
 msgstr "versione API sconosciuto %d riportata dalla funzione info \"%s\""
 
-#: utils/fmgr/fmgr.c:850 utils/fmgr/fmgr.c:2111
+#: utils/fmgr/fmgr.c:849 utils/fmgr/fmgr.c:2110
 #, c-format
 msgid "function %u has too many arguments (%d, maximum is %d)"
 msgstr "la funzione %u ha troppo argomenti (%d, il massimo è %d)"
 
-#: utils/fmgr/fmgr.c:2532
+#: utils/fmgr/fmgr.c:2531
 #, c-format
 msgid "language validation function %u called for language %u instead of %u"
 msgstr "funzione di validazione del linguaggio %u chiamata per il linguaggio %u invece di %u"
@@ -18394,308 +19768,308 @@ msgstr "funzione di validazione del linguaggio %u chiamata per il linguaggio %u
 msgid "could not determine actual result type for function \"%s\" declared to return type %s"
 msgstr "non è stato possibile determinare il tipo reale di risultato della funzione \"%s\" dichiarata con tipo restituito %s"
 
-#: utils/fmgr/funcapi.c:1300 utils/fmgr/funcapi.c:1331
+#: utils/fmgr/funcapi.c:1342 utils/fmgr/funcapi.c:1373
 #, c-format
 msgid "number of aliases does not match number of columns"
 msgstr "il numero di alias non corrisponde al numero delle colonne"
 
-#: utils/fmgr/funcapi.c:1325
+#: utils/fmgr/funcapi.c:1367
 #, c-format
 msgid "no column alias was provided"
 msgstr "non è stato fornito nessun alias colonna"
 
-#: utils/fmgr/funcapi.c:1349
+#: utils/fmgr/funcapi.c:1391
 #, c-format
 msgid "could not determine row description for function returning record"
 msgstr "non è stato possibile determinare la descrizione della riga per la funzione che restituisce record"
 
-#: utils/init/miscinit.c:116
+#: utils/init/miscinit.c:120
 #, c-format
 msgid "could not change directory to \"%s\": %m"
 msgstr "spostamento nella directory \"%s\" fallito: %m"
 
-#: utils/init/miscinit.c:311 utils/misc/guc.c:5761
+#: utils/init/miscinit.c:425 utils/misc/guc.c:5848
 #, c-format
 msgid "cannot set parameter \"%s\" within security-restricted operation"
 msgstr "non è possibile impostare il parametro \"%s\" nell'ambito di operazioni a sicurezza ristretta"
 
-#: utils/init/miscinit.c:390
+#: utils/init/miscinit.c:506
 #, c-format
 msgid "role \"%s\" is not permitted to log in"
 msgstr "al ruolo \"%s\" non è consentito effettuare il login"
 
-#: utils/init/miscinit.c:408
+#: utils/init/miscinit.c:524
 #, c-format
 msgid "too many connections for role \"%s\""
 msgstr "troppe connessioni per il ruolo \"%s\""
 
-#: utils/init/miscinit.c:468
+#: utils/init/miscinit.c:584
 #, c-format
 msgid "permission denied to set session authorization"
 msgstr "permesso di impostare l'autorizzazione della sessione negato"
 
-#: utils/init/miscinit.c:548
+#: utils/init/miscinit.c:667
 #, c-format
 msgid "invalid role OID: %u"
 msgstr "OID del ruolo non valido: %u"
 
-#: utils/init/miscinit.c:675
+#: utils/init/miscinit.c:797
 #, c-format
 msgid "could not create lock file \"%s\": %m"
 msgstr "creazione del file di lock \"%s\" fallita: %m"
 
-#: utils/init/miscinit.c:689
+#: utils/init/miscinit.c:811
 #, c-format
 msgid "could not open lock file \"%s\": %m"
 msgstr "apertura del file di lock \"%s\" fallita: %m"
 
-#: utils/init/miscinit.c:695
+#: utils/init/miscinit.c:817
 #, c-format
 msgid "could not read lock file \"%s\": %m"
 msgstr "lettura dal file di lock \"%s\" fallita: %m"
 
-#: utils/init/miscinit.c:703
+#: utils/init/miscinit.c:825
 #, c-format
 msgid "lock file \"%s\" is empty"
 msgstr "il file di lock \"%s\" è vuoto"
 
-#: utils/init/miscinit.c:704
+#: utils/init/miscinit.c:826
 #, c-format
 msgid "Either another server is starting, or the lock file is the remnant of a previous server startup crash."
 msgstr "O c'è un altro server in avvio, oppure il file di lock è rimasto da un precedente crash in avvio del server."
 
-#: utils/init/miscinit.c:751
+#: utils/init/miscinit.c:873
 #, c-format
 msgid "lock file \"%s\" already exists"
 msgstr "il file di lock \"%s\" esiste già"
 
-#: utils/init/miscinit.c:755
+#: utils/init/miscinit.c:877
 #, c-format
 msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
 msgstr "C'è un altro postgres (PID %d) in esecuzione nella directory dei dati \"%s\"?"
 
-#: utils/init/miscinit.c:757
+#: utils/init/miscinit.c:879
 #, c-format
 msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
 msgstr "C'è un altro postmaster (PID %d) in esecuzione nella directory dei dati \"%s\"?"
 
-#: utils/init/miscinit.c:760
+#: utils/init/miscinit.c:882
 #, c-format
 msgid "Is another postgres (PID %d) using socket file \"%s\"?"
 msgstr "C'è un altro postgres (PID %d) che sta usando il file socket \"%s\"?"
 
-#: utils/init/miscinit.c:762
+#: utils/init/miscinit.c:884
 #, c-format
 msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
 msgstr "C'è un altro postmaster (PID %d) che sta usando il file socket \"%s\"?"
 
-#: utils/init/miscinit.c:798
+#: utils/init/miscinit.c:920
 #, c-format
 msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
 msgstr "il blocco di memoria condivisa preesistente (key %lu, ID %lu) è ancora in uso"
 
-#: utils/init/miscinit.c:801
+#: utils/init/miscinit.c:923
 #, 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 "Se sei sicuro che non ci siano vecchi processi server ancora in esecuzione, rimuovi il blocco di memoria condivisa, o semplicemente cancella il file \"%s\"."
 
-#: utils/init/miscinit.c:817
+#: utils/init/miscinit.c:939
 #, c-format
 msgid "could not remove old lock file \"%s\": %m"
 msgstr "rimozione del vecchio file di lock \"%s\" fallita: %m"
 
-#: utils/init/miscinit.c:819
+#: utils/init/miscinit.c:941
 #, c-format
 msgid "The file seems accidentally left over, but it could not be removed. Please remove the file by hand and try again."
 msgstr "Sembra che il file sia stato abbandonato accidentalmente, ma non può essere rimosso. Per favore rimuovilo manualmente e riprova."
 
-#: utils/init/miscinit.c:855 utils/init/miscinit.c:866
-#: utils/init/miscinit.c:876
+#: utils/init/miscinit.c:977 utils/init/miscinit.c:988
+#: utils/init/miscinit.c:998
 #, c-format
 msgid "could not write lock file \"%s\": %m"
 msgstr "scrittura del file di lock \"%s\" fallita: %m"
 
-#: utils/init/miscinit.c:1001 utils/misc/guc.c:8381
+#: utils/init/miscinit.c:1123 utils/misc/guc.c:8618
 #, c-format
 msgid "could not read from file \"%s\": %m"
 msgstr "lettura dal file \"%s\" fallita: %m"
 
-#: utils/init/miscinit.c:1115 utils/init/miscinit.c:1128
+#: utils/init/miscinit.c:1237 utils/init/miscinit.c:1250
 #, c-format
 msgid "\"%s\" is not a valid data directory"
 msgstr "\"%s\" non è una directory di dati valida"
 
-#: utils/init/miscinit.c:1117
+#: utils/init/miscinit.c:1239
 #, c-format
 msgid "File \"%s\" is missing."
 msgstr "Il file \"%s\" è mancante."
 
-#: utils/init/miscinit.c:1130
+#: utils/init/miscinit.c:1252
 #, c-format
 msgid "File \"%s\" does not contain valid data."
 msgstr "Il file \"%s\" non contiene dati validi."
 
-#: utils/init/miscinit.c:1132
+#: utils/init/miscinit.c:1254
 #, c-format
 msgid "You might need to initdb."
 msgstr "Potrebbe essere necessario eseguire initdb."
 
-#: utils/init/miscinit.c:1140
+#: utils/init/miscinit.c:1262
 #, c-format
 msgid "The data directory was initialized by PostgreSQL version %ld.%ld, which is not compatible with this version %s."
 msgstr "La directory dati è stata inizializzata da PostgreSQL versione %ld.%ld, che non è compatibile con questa versione %s."
 
-#: utils/init/miscinit.c:1211
+#: utils/init/miscinit.c:1333
 #, c-format
 msgid "loaded library \"%s\""
 msgstr "libreria \"%s\" caricata"
 
-#: utils/init/postinit.c:237
+#: utils/init/postinit.c:251
 #, c-format
 msgid "replication connection authorized: user=%s SSL enabled (protocol=%s, cipher=%s, compression=%s)"
 msgstr "connessione di replica autorizzata: utente=%s SSL abilitato (protocollo=%s, cifrario=%s, compressione=%s)"
 
-#: utils/init/postinit.c:239 utils/init/postinit.c:253
+#: utils/init/postinit.c:253 utils/init/postinit.c:267
 msgid "off"
 msgstr "disattivato"
 
-#: utils/init/postinit.c:239 utils/init/postinit.c:253
+#: utils/init/postinit.c:253 utils/init/postinit.c:267
 msgid "on"
 msgstr "attivato"
 
-#: utils/init/postinit.c:243
+#: utils/init/postinit.c:257
 #, c-format
 msgid "replication connection authorized: user=%s"
 msgstr "connessione di replica autorizzata: utente=%s"
 
-#: utils/init/postinit.c:251
+#: utils/init/postinit.c:265
 #, c-format
 msgid "connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher=%s, compression=%s)"
 msgstr "connessione autorizzata: utente=%s database=%s SSL abilitato (protocollo=%s, cifrario=%s, compressione=%s)"
 
-#: utils/init/postinit.c:257
+#: utils/init/postinit.c:271
 #, c-format
 msgid "connection authorized: user=%s database=%s"
 msgstr "connessione autorizzata: utente=%s database=%s"
 
-#: utils/init/postinit.c:289
+#: utils/init/postinit.c:303
 #, c-format
 msgid "database \"%s\" has disappeared from pg_database"
 msgstr "il database \"%s\" è scomparso da database pg_database"
 
-#: utils/init/postinit.c:291
+#: utils/init/postinit.c:305
 #, c-format
 msgid "Database OID %u now seems to belong to \"%s\"."
 msgstr "L'OID %u del database ora sembra appartenere a \"%s\"."
 
-#: utils/init/postinit.c:311
+#: utils/init/postinit.c:325
 #, c-format
 msgid "database \"%s\" is not currently accepting connections"
 msgstr "il database \"%s\" attualmente non accetta connessioni"
 
-#: utils/init/postinit.c:324
+#: utils/init/postinit.c:338
 #, c-format
 msgid "permission denied for database \"%s\""
 msgstr "permesso negato per il database \"%s\""
 
-#: utils/init/postinit.c:325
+#: utils/init/postinit.c:339
 #, c-format
 msgid "User does not have CONNECT privilege."
 msgstr "L'utente non ha il privilegio CONNECT."
 
-#: utils/init/postinit.c:342
+#: utils/init/postinit.c:356
 #, c-format
 msgid "too many connections for database \"%s\""
 msgstr "troppe connessioni al database \"%s\""
 
-#: utils/init/postinit.c:364 utils/init/postinit.c:371
+#: utils/init/postinit.c:378 utils/init/postinit.c:385
 #, c-format
 msgid "database locale is incompatible with operating system"
 msgstr "il locale del database è incompatibile col sistema operativo"
 
-#: utils/init/postinit.c:365
+#: utils/init/postinit.c:379
 #, c-format
 msgid "The database was initialized with LC_COLLATE \"%s\",  which is not recognized by setlocale()."
 msgstr "Il database di database è stato inizializzato con LC_COLLATE \"%s\", che non è riconosciuto da setlocale()."
 
-#: utils/init/postinit.c:367 utils/init/postinit.c:374
+#: utils/init/postinit.c:381 utils/init/postinit.c:388
 #, c-format
 msgid "Recreate the database with another locale or install the missing locale."
 msgstr "Crea di nuovo il database con un altro locale oppure installa il locale mancante."
 
-#: utils/init/postinit.c:372
+#: utils/init/postinit.c:386
 #, c-format
 msgid "The database was initialized with LC_CTYPE \"%s\",  which is not recognized by setlocale()."
 msgstr "Il database è stato inizializzato con LC_CTYPE \"%s\", che non è riconosciuto da setlocale()."
 
-#: utils/init/postinit.c:667
+#: utils/init/postinit.c:710
 #, c-format
 msgid "no roles are defined in this database system"
 msgstr "nessun ruolo definito in questo database"
 
-#: utils/init/postinit.c:668
+#: utils/init/postinit.c:711
 #, c-format
 msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
 msgstr "Dovresti eseguire immediatamente CREATE USER \"%s\" SUPERUSER;."
 
-#: utils/init/postinit.c:704
+#: utils/init/postinit.c:747
 #, c-format
 msgid "new replication connections are not allowed during database shutdown"
 msgstr "non sono accettate nuove connessioni di replica durante lo spegnimento del database"
 
-#: utils/init/postinit.c:708
+#: utils/init/postinit.c:751
 #, c-format
 msgid "must be superuser to connect during database shutdown"
 msgstr "solo un superutente può connettersi durante lo spegnimento del database"
 
-#: utils/init/postinit.c:718
+#: utils/init/postinit.c:761
 #, c-format
 msgid "must be superuser to connect in binary upgrade mode"
 msgstr "solo un superutente può connettersi in modalità di aggiornamento binario"
 
-#: utils/init/postinit.c:732
+#: utils/init/postinit.c:775
 #, c-format
 msgid "remaining connection slots are reserved for non-replication superuser connections"
 msgstr "i rimanenti slot di connessione sono riservati a connessioni di superutenti non di replica"
 
-#: utils/init/postinit.c:742
+#: utils/init/postinit.c:785
 #, c-format
 msgid "must be superuser or replication role to start walsender"
 msgstr "solo un superutente o il ruolo di replica può avviare walsender"
 
-#: utils/init/postinit.c:811
+#: utils/init/postinit.c:854
 #, c-format
 msgid "database %u does not exist"
 msgstr "il database %u non esiste"
 
-#: utils/init/postinit.c:863
+#: utils/init/postinit.c:940
 #, c-format
 msgid "It seems to have just been dropped or renamed."
 msgstr "Sembra sia stato appena eliminato o rinominato."
 
-#: utils/init/postinit.c:881
+#: utils/init/postinit.c:958
 #, c-format
 msgid "The database subdirectory \"%s\" is missing."
 msgstr "La sottodirectory del database \"%s\" risulta mancante."
 
-#: utils/init/postinit.c:886
+#: utils/init/postinit.c:963
 #, c-format
 msgid "could not access directory \"%s\": %m"
 msgstr "accesso alla directory \"%s\" fallito: %m"
 
-#: utils/mb/conv.c:519
+#: utils/mb/conv.c:360 utils/mb/conv.c:546
 #, c-format
 msgid "invalid encoding number: %d"
 msgstr "il numero di codifica non è valido: %d"
 
-#: 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/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:137
+#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:169
 #, c-format
 msgid "unexpected encoding ID %d for ISO 8859 character sets"
 msgstr "ID di codifica %d non previsto per il set di caratteri ISO 8859"
 
-#: 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/mb/conversion_procs/utf8_and_win/utf8_and_win.c:127
+#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:159
 #, c-format
 msgid "unexpected encoding ID %d for WIN character sets"
 msgstr "ID di codifica %d non previsto per il set di caratteri WIN"
@@ -18740,1406 +20114,1442 @@ msgstr "byte non valido per la codifica \"%s\": 0x%02x"
 msgid "bind_textdomain_codeset failed"
 msgstr "bind_textdomain_codeset fallito"
 
-#: utils/mb/wchar.c:2009
+#: utils/mb/wchar.c:2015
 #, c-format
 msgid "invalid byte sequence for encoding \"%s\": %s"
 msgstr "sequenza di byte non valida per la codifica \"%s\": %s"
 
-#: utils/mb/wchar.c:2042
+#: utils/mb/wchar.c:2048
 #, c-format
 msgid "character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\""
 msgstr "il carattere con sequenza di byte %s nella codifica \"%s\" non ha un equivalente nella codifica \"%s\""
 
-#: utils/misc/guc.c:552
+#: utils/misc/guc.c:545
 msgid "Ungrouped"
 msgstr "Varie"
 
-#: utils/misc/guc.c:554
+#: utils/misc/guc.c:547
 msgid "File Locations"
 msgstr "Posizione dei File"
 
-#: utils/misc/guc.c:556
+#: utils/misc/guc.c:549
 msgid "Connections and Authentication"
 msgstr "Connessioni ed Autenticazione"
 
-#: utils/misc/guc.c:558
+#: utils/misc/guc.c:551
 msgid "Connections and Authentication / Connection Settings"
 msgstr "Connessioni ed Autenticazione / Impostazioni di Connessione"
 
-#: utils/misc/guc.c:560
+#: utils/misc/guc.c:553
 msgid "Connections and Authentication / Security and Authentication"
 msgstr "Connessioni ed Autenticazione / Sicurezza ed Autenticazione"
 
-#: utils/misc/guc.c:562
+#: utils/misc/guc.c:555
 msgid "Resource Usage"
 msgstr "Uso delle Risorse"
 
-#: utils/misc/guc.c:564
+#: utils/misc/guc.c:557
 msgid "Resource Usage / Memory"
 msgstr "Uso delle Risorse / Memoria"
 
-#: utils/misc/guc.c:566
+#: utils/misc/guc.c:559
 msgid "Resource Usage / Disk"
 msgstr "Uso delle Risorse / Disco"
 
-#: utils/misc/guc.c:568
+#: utils/misc/guc.c:561
 msgid "Resource Usage / Kernel Resources"
 msgstr "Uso delle Risorse / Risorse del Kernel"
 
-#: utils/misc/guc.c:570
+#: utils/misc/guc.c:563
 msgid "Resource Usage / Cost-Based Vacuum Delay"
 msgstr "Uso delle Risorse / Intervallo di Vacuum Basato sul Costo"
 
-#: utils/misc/guc.c:572
+#: utils/misc/guc.c:565
 msgid "Resource Usage / Background Writer"
 msgstr "Uso delle Risorse / Scrittura in Background"
 
-#: utils/misc/guc.c:574
+#: utils/misc/guc.c:567
 msgid "Resource Usage / Asynchronous Behavior"
 msgstr "Uso delle Risorse / Comportamento Asincrono"
 
-#: utils/misc/guc.c:576
+#: utils/misc/guc.c:569
 msgid "Write-Ahead Log"
 msgstr "Write-Ahead Log"
 
-#: utils/misc/guc.c:578
+#: utils/misc/guc.c:571
 msgid "Write-Ahead Log / Settings"
 msgstr "Write-Ahead Log / Impostazioni"
 
-#: utils/misc/guc.c:580
+#: utils/misc/guc.c:573
 msgid "Write-Ahead Log / Checkpoints"
 msgstr "Write-Ahead Log / Checkpoint"
 
-#: utils/misc/guc.c:582
+#: utils/misc/guc.c:575
 msgid "Write-Ahead Log / Archiving"
 msgstr "Write-Ahead Log / Archiviazione"
 
-#: utils/misc/guc.c:584
+#: utils/misc/guc.c:577
 msgid "Replication"
 msgstr "Replica"
 
-#: utils/misc/guc.c:586
+#: utils/misc/guc.c:579
 msgid "Replication / Sending Servers"
 msgstr "Replica / Server di Invio"
 
-#: utils/misc/guc.c:588
+#: utils/misc/guc.c:581
 msgid "Replication / Master Server"
 msgstr "Replica / Server Master"
 
-#: utils/misc/guc.c:590
+#: utils/misc/guc.c:583
 msgid "Replication / Standby Servers"
 msgstr "Replica / Serve in Standby"
 
-#: utils/misc/guc.c:592
+#: utils/misc/guc.c:585
 msgid "Query Tuning"
 msgstr "Tuning delle Query"
 
-#: utils/misc/guc.c:594
+#: utils/misc/guc.c:587
 msgid "Query Tuning / Planner Method Configuration"
 msgstr "Tuning delle Query / Configurazione dei Metodi del Planner"
 
-#: utils/misc/guc.c:596
+#: utils/misc/guc.c:589
 msgid "Query Tuning / Planner Cost Constants"
 msgstr "Tuning delle Query / Costanti di Costo del Planner"
 
-#: utils/misc/guc.c:598
+#: utils/misc/guc.c:591
 msgid "Query Tuning / Genetic Query Optimizer"
 msgstr "Tuning delle Query / Ottimizzatore Genetico delle Query"
 
-#: utils/misc/guc.c:600
+#: utils/misc/guc.c:593
 msgid "Query Tuning / Other Planner Options"
 msgstr "Tuning delle Query / Altre Opzioni del Planner"
 
-#: utils/misc/guc.c:602
+#: utils/misc/guc.c:595
 msgid "Reporting and Logging"
 msgstr "Report e Log"
 
-#: utils/misc/guc.c:604
+#: utils/misc/guc.c:597
 msgid "Reporting and Logging / Where to Log"
 msgstr "Report e Log / Dove inviare i Log"
 
-#: utils/misc/guc.c:606
+#: utils/misc/guc.c:599
 msgid "Reporting and Logging / When to Log"
 msgstr "Report e Log / Quando inviare i Log"
 
-#: utils/misc/guc.c:608
+#: utils/misc/guc.c:601
 msgid "Reporting and Logging / What to Log"
 msgstr "Report e Log / Cosa indicare nei Log"
 
-#: utils/misc/guc.c:610
+#: utils/misc/guc.c:603
 msgid "Statistics"
 msgstr "Statistiche"
 
-#: utils/misc/guc.c:612
+#: utils/misc/guc.c:605
 msgid "Statistics / Monitoring"
 msgstr "Statistiche / Monitoring"
 
-#: utils/misc/guc.c:614
+#: utils/misc/guc.c:607
 msgid "Statistics / Query and Index Statistics Collector"
 msgstr "Statistiche / Raccolta delle Statistiche su Query e Indici"
 
-#: utils/misc/guc.c:616
+#: utils/misc/guc.c:609
 msgid "Autovacuum"
 msgstr "Autovacuum"
 
-#: utils/misc/guc.c:618
+#: utils/misc/guc.c:611
 msgid "Client Connection Defaults"
 msgstr "Valori Predefiniti Connessioni Client"
 
-#: utils/misc/guc.c:620
+#: utils/misc/guc.c:613
 msgid "Client Connection Defaults / Statement Behavior"
 msgstr "Valori Predefiniti Connessioni Client / Comportamento Istruzioni"
 
-#: utils/misc/guc.c:622
+#: utils/misc/guc.c:615
 msgid "Client Connection Defaults / Locale and Formatting"
 msgstr "Valori Predefiniti Connessioni Client / Locale e Formattazione"
 
-#: utils/misc/guc.c:624
+#: utils/misc/guc.c:617
 msgid "Client Connection Defaults / Shared Library Preloading"
 msgstr "Valori Predefiniti Connessioni Client / Precaricamento Librerie Condivise"
 
-#: utils/misc/guc.c:626
+#: utils/misc/guc.c:619
 msgid "Client Connection Defaults / Other Defaults"
 msgstr "Valori Predefiniti Connessioni Client / Altri Default"
 
-#: utils/misc/guc.c:628
+#: utils/misc/guc.c:621
 msgid "Lock Management"
 msgstr "Gestione dei Lock"
 
-#: utils/misc/guc.c:630
+#: utils/misc/guc.c:623
 msgid "Version and Platform Compatibility"
 msgstr "Versione e Compatibilità della Piattaforma"
 
-#: utils/misc/guc.c:632
+#: utils/misc/guc.c:625
 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
 msgstr "Versione e Compatibilità della Piattaforma / Versioni Precedenti di PostgreSQL"
 
-#: utils/misc/guc.c:634
+#: utils/misc/guc.c:627
 msgid "Version and Platform Compatibility / Other Platforms and Clients"
 msgstr "Versione e Compatibilità della Piattaforma / Altre Piattaforme e Client"
 
-#: utils/misc/guc.c:636
+#: utils/misc/guc.c:629
 msgid "Error Handling"
 msgstr "Gestione degli Errori"
 
-#: utils/misc/guc.c:638
+#: utils/misc/guc.c:631
 msgid "Preset Options"
 msgstr "Opzioni Preimpostate"
 
-#: utils/misc/guc.c:640
+#: utils/misc/guc.c:633
 msgid "Customized Options"
 msgstr "Opzioni Personalizzate"
 
-#: utils/misc/guc.c:642
+#: utils/misc/guc.c:635
 msgid "Developer Options"
 msgstr "Opzioni di Sviluppo"
 
-#: utils/misc/guc.c:696
+#: utils/misc/guc.c:692
+msgid "Valid units for this parameter are \"kB\", \"MB\", \"GB\", and \"TB\"."
+msgstr "Le unità di misura valide sono \"kB\", \"MB\", \"GB\", and \"TB\"."
+
+#: utils/misc/guc.c:719
+msgid "Valid units for this parameter are \"ms\", \"s\", \"min\", \"h\", and \"d\"."
+msgstr "Le unità di misura valide sono \"ms\", \"s\", \"min\", \"h\" e \"d\"."
+
+#: utils/misc/guc.c:778
 msgid "Enables the planner's use of sequential-scan plans."
 msgstr "Abilita l'uso da parte del planner dei piani di scansione sequenziale."
 
-#: utils/misc/guc.c:705
+#: utils/misc/guc.c:787
 msgid "Enables the planner's use of index-scan plans."
 msgstr "Abilita l'uso da parte del planner dei piani di scansione degli indici."
 
-#: utils/misc/guc.c:714
+#: utils/misc/guc.c:796
 msgid "Enables the planner's use of index-only-scan plans."
 msgstr "Abilita l'uso da parte del planner dei piani di scansione dei soli indici."
 
-#: utils/misc/guc.c:723
+#: utils/misc/guc.c:805
 msgid "Enables the planner's use of bitmap-scan plans."
 msgstr "Abilita l'uso da parte del planner dei piani di scansione bitmap."
 
-#: utils/misc/guc.c:732
+#: utils/misc/guc.c:814
 msgid "Enables the planner's use of TID scan plans."
 msgstr "Abilita l'uso da parte del planner dei piani di scansione TID."
 
-#: utils/misc/guc.c:741
+#: utils/misc/guc.c:823
 msgid "Enables the planner's use of explicit sort steps."
 msgstr "Abilita l'uso da parte del planner di passaggi di ordinamento esplicito."
 
-#: utils/misc/guc.c:750
+#: utils/misc/guc.c:832
 msgid "Enables the planner's use of hashed aggregation plans."
 msgstr "Abilita l'uso da parte del planner di piani di aggregazione basati su hash."
 
-#: utils/misc/guc.c:759
+#: utils/misc/guc.c:841
 msgid "Enables the planner's use of materialization."
 msgstr "Abilita l'uso da parte del planner di materializzazione."
 
-#: utils/misc/guc.c:768
+#: utils/misc/guc.c:850
 msgid "Enables the planner's use of nested-loop join plans."
 msgstr "Abilita l'uso da parte del planner di piani di join annidati."
 
-#: utils/misc/guc.c:777
+#: utils/misc/guc.c:859
 msgid "Enables the planner's use of merge join plans."
 msgstr "Abilita l'uso da parte del planner di piani di join ad unione."
 
-#: utils/misc/guc.c:786
+#: utils/misc/guc.c:868
 msgid "Enables the planner's use of hash join plans."
 msgstr "Abilita l'uso da parte del planner di piani di join basati su hash."
 
-#: utils/misc/guc.c:795
+#: utils/misc/guc.c:877
 msgid "Enables genetic query optimization."
 msgstr "Abilita l'ottimizzatore genetico di query."
 
-#: utils/misc/guc.c:796
+#: utils/misc/guc.c:878
 msgid "This algorithm attempts to do planning without exhaustive searching."
 msgstr "Questo algoritmo cerca di realizzare piani senza effettuare una ricerca esaustiva."
 
-#: utils/misc/guc.c:806
+#: utils/misc/guc.c:888
 msgid "Shows whether the current user is a superuser."
 msgstr "Mostra se l'utente attuale è un superutente o meno."
 
-#: utils/misc/guc.c:816
+#: utils/misc/guc.c:898
 msgid "Enables advertising the server via Bonjour."
 msgstr "Abilita la pubblicazione del server via Bonjour."
 
-#: utils/misc/guc.c:825
+#: utils/misc/guc.c:907
+msgid "Collects transaction commit time."
+msgstr "Raccogli l'ora di commit delle transazioni."
+
+#: utils/misc/guc.c:916
 msgid "Enables SSL connections."
 msgstr "Abilita le connessioni SSL."
 
-#: utils/misc/guc.c:834
+#: utils/misc/guc.c:925
 msgid "Give priority to server ciphersuite order."
 msgstr "Dai priorità all'ordine di cifrari del server."
 
-#: utils/misc/guc.c:843
+#: utils/misc/guc.c:934
 msgid "Forces synchronization of updates to disk."
 msgstr "Forza la sincronizzazione degli aggiornamenti sul disco."
 
-#: utils/misc/guc.c:844
+#: utils/misc/guc.c:935
 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 "Il server userà in diversi punti la chiamata di sistema fsync() per assicurarsi che gli aggiornamenti vengano scritti fisicamente sul disco. Questo assicura che un cluster di database possa essere recuperato in uno stato consistente dopo un crash di sistema o dell'hardware."
 
-#: utils/misc/guc.c:855
+#: utils/misc/guc.c:946
 msgid "Continues processing after a checksum failure."
 msgstr "Condinua l'elaborazione dopo un errore in una somma di controllo."
 
-#: utils/misc/guc.c:856
+#: utils/misc/guc.c:947
 msgid "Detection of a checksum failure normally causes PostgreSQL to report an error, aborting the current transaction. Setting ignore_checksum_failure to true causes the system to ignore the failure (but still report a warning), and continue processing. This behavior could cause crashes or other serious problems. Only has an effect if checksums are enabled."
 msgstr "La rilevazione di un errore in una somma di controllo di solito fa generare a PostgreSQL un errore che fa abortire la transazione corrente. Impostare ignore_checksum_failure a \"true\" fa sì che il sistema ignori l'errore (che viene riportato come un avviso), consentendo al processo di continuare. Questo comportamento potrebbe causare crash o altri problemi gravi. Ha effetto solo se se somme di controllo sono abilitate."
 
-#: utils/misc/guc.c:870
+#: utils/misc/guc.c:961
 msgid "Continues processing past damaged page headers."
 msgstr "Continua l'esecuzione oltre le intestazioni di pagina danneggiate."
 
-#: utils/misc/guc.c:871
+#: utils/misc/guc.c:962
 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 "Il rilevamento di una intestazione di pagina danneggiata normalmente fa sì che PostgreSQL segnali un errore, interrompendo la transazione corrente. L'attivazione di zero_damaged_pages fa sì che il sistema invece riporti un warning, azzeri la pagina danneggiata e continui l'esecuzione. Questo comportamento può distruggere dei dati, in particolare tutte quelle righe situate nella pagina danneggiata."
 
-#: utils/misc/guc.c:884
+#: utils/misc/guc.c:975
 msgid "Writes full pages to WAL when first modified after a checkpoint."
 msgstr "Scrivi pagine intere nel WAL non appena modificate dopo un checkpoint."
 
-#: utils/misc/guc.c:885
+#: utils/misc/guc.c:976
 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 "La scrittura di una pagina durante un crash del sistema operativo potrebbe essere stata scritta su disco solo parzialmente. Durante il ripristino, le variazioni di riga memorizzate nel WAL non sono sufficienti al ripristino. Questa operazione scrive le pagine nel WAL appena modificate dopo un checkpoint nel WAL in maniera da rendere possibile un ripristino completo."
 
-#: utils/misc/guc.c:898
+#: utils/misc/guc.c:989
 msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modifications."
 msgstr "Scrivi pagine complete nel WAL appena modificate dopo un checkpoint, anche dopo modifiche non critiche."
 
-#: utils/misc/guc.c:908
+#: utils/misc/guc.c:999
+msgid "Compresses full-page writes written in WAL file."
+msgstr "Comprimi le scritture di pagine complete scritte nel file WAL."
+
+#: utils/misc/guc.c:1009
 msgid "Logs each checkpoint."
 msgstr "Registra nel log ogni checkpoint."
 
-#: utils/misc/guc.c:917
+#: utils/misc/guc.c:1018
 msgid "Logs each successful connection."
 msgstr "Registra nel log tutte le connessioni avvenute con successo."
 
-#: utils/misc/guc.c:926
+#: utils/misc/guc.c:1027
 msgid "Logs end of a session, including duration."
 msgstr "Registra nel log la fine delle sessioni, compresa la sua durata."
 
-#: utils/misc/guc.c:935
-msgid "Turns on various assertion checks."
-msgstr "Abilita vari controlli di asserzione."
+#: utils/misc/guc.c:1036
+msgid "Logs each replication command."
+msgstr "Registra nel log ogni comando di replica."
 
-#: utils/misc/guc.c:936
-msgid "This is a debugging aid."
-msgstr "Questo è un ausilio al debug."
+#: utils/misc/guc.c:1045
+msgid "Shows whether the running server has assertion checks enabled."
+msgstr "Mostra se il server in esecuzione ha i controlli di assert attivi."
 
-#: utils/misc/guc.c:950
+#: utils/misc/guc.c:1060
 msgid "Terminate session on any error."
 msgstr "Termina la sessione su qualunque errore."
 
-#: utils/misc/guc.c:959
+#: utils/misc/guc.c:1069
 msgid "Reinitialize server after backend crash."
 msgstr "Reinizializza il server dopo un crash del backend."
 
-#: utils/misc/guc.c:969
+#: utils/misc/guc.c:1079
 msgid "Logs the duration of each completed SQL statement."
 msgstr "Registra nel log la durata di ogni istruzione SQL completata."
 
-#: utils/misc/guc.c:978
+#: utils/misc/guc.c:1088
 msgid "Logs each query's parse tree."
 msgstr "Registra nel log l'albero di parsing di tutte le query."
 
-#: utils/misc/guc.c:987
+#: utils/misc/guc.c:1097
 msgid "Logs each query's rewritten parse tree."
 msgstr "Registra nel log l'albero di parsing riscritto di tutte le query."
 
-#: utils/misc/guc.c:996
+#: utils/misc/guc.c:1106
 msgid "Logs each query's execution plan."
 msgstr "Registra nel log il piano di esecuzione di tutte le query."
 
-#: utils/misc/guc.c:1005
+#: utils/misc/guc.c:1115
 msgid "Indents parse and plan tree displays."
 msgstr "Indenta gli alberi di parsing e dei piani di esecuzione."
 
-#: utils/misc/guc.c:1014
+#: utils/misc/guc.c:1124
 msgid "Writes parser performance statistics to the server log."
 msgstr "Registra nel log del server le statistiche sulle prestazioni del parser."
 
-#: utils/misc/guc.c:1023
+#: utils/misc/guc.c:1133
 msgid "Writes planner performance statistics to the server log."
 msgstr "Registra nel log del server le statistiche sulle prestazioni del planner."
 
-#: utils/misc/guc.c:1032
+#: utils/misc/guc.c:1142
 msgid "Writes executor performance statistics to the server log."
 msgstr "Registra nel log del server le statistiche sulle prestazioni dell'esecutore."
 
-#: utils/misc/guc.c:1041
+#: utils/misc/guc.c:1151
 msgid "Writes cumulative performance statistics to the server log."
 msgstr "Registra nel log del server le statistiche sulle prestazioni cumulative."
 
-#: utils/misc/guc.c:1051
+#: utils/misc/guc.c:1161
 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations."
 msgstr "Registra nel log statistiche sull'uso di risorse di sistema (memoria e CPU) su varie operazioni B-tree."
 
-#: utils/misc/guc.c:1063
+#: utils/misc/guc.c:1173
 msgid "Collects information about executing commands."
 msgstr "Raccogli informazioni sull'esecuzione dei comandi."
 
-#: utils/misc/guc.c:1064
+#: utils/misc/guc.c:1174
 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 "Abilita la raccolta di informazioni sui comandi in esecuzione per ogni sessione, insieme all'orario in cui l'esecuzione del comando è iniziata."
 
-#: utils/misc/guc.c:1074
+#: utils/misc/guc.c:1184
 msgid "Collects statistics on database activity."
 msgstr "Raccogli statistiche sull'attività del database."
 
-#: utils/misc/guc.c:1083
+#: utils/misc/guc.c:1193
 msgid "Collects timing statistics for database I/O activity."
 msgstr "Raccogli statistiche sull'attività di I/O del database."
 
-#: utils/misc/guc.c:1093
+#: utils/misc/guc.c:1203
 msgid "Updates the process title to show the active SQL command."
 msgstr "Aggiorna il titolo del processo per indicare il comando SQL in esecuzione."
 
-#: utils/misc/guc.c:1094
+#: utils/misc/guc.c:1204
 msgid "Enables updating of the process title every time a new SQL command is received by the server."
 msgstr "Abilita l'aggiornamento del titolo del processo ogni volta che un nuovo comando SQL viene ricevuto dal server."
 
-#: utils/misc/guc.c:1103
+#: utils/misc/guc.c:1213
 msgid "Starts the autovacuum subprocess."
 msgstr "Avvia il sottoprocesso autovacuum."
 
-#: utils/misc/guc.c:1113
+#: utils/misc/guc.c:1223
 msgid "Generates debugging output for LISTEN and NOTIFY."
 msgstr "Genera un output di debug per LISTEN e NOTIFY."
 
-#: utils/misc/guc.c:1125
+#: utils/misc/guc.c:1235
 msgid "Emits information about lock usage."
 msgstr "Emette informazioni sull'uso dei lock."
 
-#: utils/misc/guc.c:1135
+#: utils/misc/guc.c:1245
 msgid "Emits information about user lock usage."
 msgstr "Emette informazioni sull'uso dei lock utente."
 
-#: utils/misc/guc.c:1145
+#: utils/misc/guc.c:1255
 msgid "Emits information about lightweight lock usage."
 msgstr "Emette informazioni sull'uso dei lock leggeri."
 
-#: utils/misc/guc.c:1155
+#: utils/misc/guc.c:1265
 msgid "Dumps information about all current locks when a deadlock timeout occurs."
 msgstr "Emette informazioni su tutti i lock attivi quando avviene un timeout di lock."
 
-#: utils/misc/guc.c:1167
+#: utils/misc/guc.c:1277
 msgid "Logs long lock waits."
 msgstr "Inserisci nel log le attese lunghe su lock."
 
-#: utils/misc/guc.c:1177
+#: utils/misc/guc.c:1287
 msgid "Logs the host name in the connection logs."
 msgstr "Inserisci nel log lo host name delle connessioni."
 
-#: utils/misc/guc.c:1178
+#: utils/misc/guc.c:1288
 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 "Normalmente, viene inserito nel log solo l'indirizzo IP dell'host connesso. Se vuoi mostrare anche il nome host puoi attivando questa parametro ma, a seconda di come è definito il sistema di risoluzione dei nomi, ciò potrebbe comportare una penalizzazione delle prestazioni non trascurabile."
 
-#: utils/misc/guc.c:1189
+#: utils/misc/guc.c:1299
 msgid "Causes subtables to be included by default in various commands."
 msgstr "Fa in modo che le sotto-tabelle vengano incluse in maniera predefinita in vari comandi."
 
-#: utils/misc/guc.c:1198
+#: utils/misc/guc.c:1308
 msgid "Encrypt passwords."
 msgstr "Cripta le password."
 
-#: utils/misc/guc.c:1199
+#: utils/misc/guc.c:1309
 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 "Quando si indica una password in CREATE USER o ALTER USER senza indicare ENCRYPTED o UNENCRYPTED, questo parametro determina se la password debba essere criptata o meno."
 
-#: utils/misc/guc.c:1209
+#: utils/misc/guc.c:1319
 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
 msgstr "Tratta l'espressione \"expr=NULL\" come \"expr IS NULL\"."
 
-#: utils/misc/guc.c:1210
+#: utils/misc/guc.c:1320
 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 "Se abilitato, le espressioni nella forma expr = NULL (o NULL = expr) vengono trattate come expr IS NULL, in modo cioè che restituiscano TRUE se expr viene valutato con valore NULL e falso in ogni altro caso. Il comportamento corretto prevede che expr = NULL valga sempre NULL (sconosciuto)."
 
-#: utils/misc/guc.c:1222
+#: utils/misc/guc.c:1332
 msgid "Enables per-database user names."
 msgstr "Abilita nomi di utenti diversificati per ogni database."
 
-#: utils/misc/guc.c:1232
-msgid "This parameter doesn't do anything."
-msgstr "Questo parametro non comporta alcuna azione."
-
-#: utils/misc/guc.c:1233
-msgid "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients."
-msgstr "Si trova qui in modo da non creare problemi con la SET AUTOCOMMIT TO ON con i client vecchio tipo v7.3."
-
-#: utils/misc/guc.c:1242
+#: utils/misc/guc.c:1341
 msgid "Sets the default read-only status of new transactions."
 msgstr "Imposta lo stato predefinito di sola lettura per le nuove transazioni."
 
-#: utils/misc/guc.c:1251
+#: utils/misc/guc.c:1350
 msgid "Sets the current transaction's read-only status."
 msgstr "Imposta lo stato di sola lettura per la transazione corrente."
 
-#: utils/misc/guc.c:1261
+#: utils/misc/guc.c:1360
 msgid "Sets the default deferrable status of new transactions."
 msgstr "Imposta lo stato predefinito deferibile per le nuove transazioni."
 
-#: utils/misc/guc.c:1270
+#: utils/misc/guc.c:1369
 msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures."
 msgstr "Indica se deferire una transazione serializzabile in sola lettura finché possa essere eseguita senza possibili fallimenti di serializzazione."
 
-#: utils/misc/guc.c:1280
+#: utils/misc/guc.c:1379
 msgid "Check function bodies during CREATE FUNCTION."
 msgstr "Esegui un controllo sulla definizione del corpo durante la CREATE FUNCTION."
 
-#: utils/misc/guc.c:1289
+#: utils/misc/guc.c:1388
 msgid "Enable input of NULL elements in arrays."
 msgstr "Abilita l'input di elementi NULL negli array."
 
-#: utils/misc/guc.c:1290
+#: utils/misc/guc.c:1389
 msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally."
 msgstr "Se abilitato, un NULL senza apici come valore di input in un array indica un valore nullo; altrimenti è preso letteralmente."
 
-#: utils/misc/guc.c:1300
+#: utils/misc/guc.c:1399
 msgid "Create new tables with OIDs by default."
 msgstr "Crea le nuove tabella con gli OID in maniera predefinita."
 
-#: utils/misc/guc.c:1309
+#: utils/misc/guc.c:1408
 msgid "Start a subprocess to capture stderr output and/or csvlogs into log files."
 msgstr "Avvia un sottoprocesso per catturare in un file di log l'output di stderr e/o di csvlog."
 
-#: utils/misc/guc.c:1318
+#: utils/misc/guc.c:1417
 msgid "Truncate existing log files of same name during log rotation."
 msgstr "Tronca un file di log esistente con lo stesso nome durante la rotazione dei log."
 
-#: utils/misc/guc.c:1329
+#: utils/misc/guc.c:1428
 msgid "Emit information about resource usage in sorting."
 msgstr "Genera informazioni sull'uso delle risorse durante gli ordinamenti."
 
-#: utils/misc/guc.c:1343
+#: utils/misc/guc.c:1442
 msgid "Generate debugging output for synchronized scanning."
 msgstr "Genera output di debug per le scansioni sincronizzate."
 
-#: utils/misc/guc.c:1358
+#: utils/misc/guc.c:1457
 msgid "Enable bounded sorting using heap sort."
 msgstr "Abilita il bounded sorting usando lo heap sort."
 
-#: utils/misc/guc.c:1371
+#: utils/misc/guc.c:1470
 msgid "Emit WAL-related debugging output."
 msgstr "Genera output di debug relativo al WAL."
 
-#: utils/misc/guc.c:1383
+#: utils/misc/guc.c:1482
 msgid "Datetimes are integer based."
 msgstr "I valori di data e tempo sono basati su interi."
 
-#: utils/misc/guc.c:1398
+#: utils/misc/guc.c:1497
 msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive."
 msgstr "Imposta se i nomi di utente con Kerberos e GSSAPI debbano essere trattati come case-insensitive."
 
-#: utils/misc/guc.c:1408
+#: utils/misc/guc.c:1507
 msgid "Warn about backslash escapes in ordinary string literals."
 msgstr "Avverti sull'uso degli escape con backslash nei letterali stringa ordinarie."
 
-#: utils/misc/guc.c:1418
+#: utils/misc/guc.c:1517
 msgid "Causes '...' strings to treat backslashes literally."
 msgstr "Fa sì che le stringhe '...' trattino i backslash letteralmente."
 
-#: utils/misc/guc.c:1429
+#: utils/misc/guc.c:1528
 msgid "Enable synchronized sequential scans."
 msgstr "Abilita le scansioni sequenziali sincronizzate."
 
-#: utils/misc/guc.c:1439
-msgid "Allows archiving of WAL files using archive_command."
-msgstr "Consente l'archiviazione dei file WAL con l'uso di archive_command."
-
-#: utils/misc/guc.c:1449
+#: utils/misc/guc.c:1538
 msgid "Allows connections and queries during recovery."
 msgstr "Consente connessioni e query durante il recupero"
 
-#: utils/misc/guc.c:1459
+#: utils/misc/guc.c:1548
 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts."
 msgstr "Consente un feedback da un hot standby al primario che eviterà conflitti di query"
 
-#: utils/misc/guc.c:1469
+#: utils/misc/guc.c:1558
 msgid "Allows modifications of the structure of system tables."
 msgstr "Consente le modifiche alla struttura delle tabelle di sistema."
 
-#: utils/misc/guc.c:1480
+#: utils/misc/guc.c:1569
 msgid "Disables reading from system indexes."
 msgstr "Disabilita la lettura dagli indici di sistema."
 
-#: utils/misc/guc.c:1481
+#: utils/misc/guc.c:1570
 msgid "It does not prevent updating the indexes, so it is safe to use.  The worst consequence is slowness."
 msgstr "Non impedisce l'aggiornamento degli indici ed è perciò utilizzabile tranquillamente. Al peggio causa rallentamenti."
 
-#: utils/misc/guc.c:1492
+#: utils/misc/guc.c:1581
 msgid "Enables backward compatibility mode for privilege checks on large objects."
 msgstr "Abilita la modalità compatibile col passato del controllo dei privilegi sui large object."
 
-#: utils/misc/guc.c:1493
+#: utils/misc/guc.c:1582
 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0."
 msgstr "Evita il controllo dei privilegi quando si leggono o modificano large object, per compatibilità con versioni di PostgreSQL precedenti la 9.0."
 
-#: utils/misc/guc.c:1503
+#: utils/misc/guc.c:1592
+msgid "Emit a warning for constructs that changed meaning since PostgreSQL 9.4."
+msgstr "Emetti un avviso per i costrutti che hanno cambiato significato da PostgreSQL 9.4."
+
+#: utils/misc/guc.c:1602
 msgid "When generating SQL fragments, quote all identifiers."
 msgstr "Quando vengono generati frammenti SQL, metti tra virgolette tutti gli identificatori."
 
-#: utils/misc/guc.c:1513
+#: utils/misc/guc.c:1612
 msgid "Shows whether data checksums are turned on for this cluster."
 msgstr "Mostra se i checksum di dati sono attivi in questo cluster."
 
-#: utils/misc/guc.c:1533
+#: utils/misc/guc.c:1632
 msgid "Forces a switch to the next xlog file if a new file has not been started within N seconds."
 msgstr "Forza il passaggio al successivo file xlog se un nuovo file non è avviato entro N secondi."
 
-#: utils/misc/guc.c:1544
+#: utils/misc/guc.c:1643
 msgid "Waits N seconds on connection startup after authentication."
 msgstr "Attendi N secondi all'avvio della connessione dopo l'autenticazione."
 
-#: utils/misc/guc.c:1545 utils/misc/guc.c:2047
+#: utils/misc/guc.c:1644 utils/misc/guc.c:2146
 msgid "This allows attaching a debugger to the process."
 msgstr "Ciò consente di agganciare un debugger al processo."
 
-#: utils/misc/guc.c:1554
+#: utils/misc/guc.c:1653
 msgid "Sets the default statistics target."
 msgstr "Definisce la destinazione delle statistiche di default."
 
-#: utils/misc/guc.c:1555
+#: utils/misc/guc.c:1654
 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS."
 msgstr "Questo vale per le colonne di tabelle che non hanno definito una destinazione specifica per colonne per mezzo di un ALTER TABLE SET STATISTICS."
 
-#: utils/misc/guc.c:1564
+#: utils/misc/guc.c:1663
 msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
 msgstr "Definisce la dimensione della lista FROM oltre la quale le sottoquery non vengono ridotte."
 
-#: utils/misc/guc.c:1566
+#: utils/misc/guc.c:1665
 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items."
 msgstr "Il planner fonderà le sottoquery nelle query superiori se la lista FROM risultante avrebbe non più di questi elementi."
 
-#: utils/misc/guc.c:1576
+#: utils/misc/guc.c:1675
 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
 msgstr "Definisce la dimensione della lista FROM oltre la quale i costrutti JOIN non vengono più appiattiti."
 
-#: utils/misc/guc.c:1578
+#: utils/misc/guc.c:1677
 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 "Il planner appiattisce i costrutti di JOIN espliciti in liste di elementi FROM ogni volta che ne risulterebbe una lista con non più di questi elementi."
 
-#: utils/misc/guc.c:1588
+#: utils/misc/guc.c:1687
 msgid "Sets the threshold of FROM items beyond which GEQO is used."
 msgstr "Definisce la soglia di elementi FROM oltre la quale viene usato il GEQO."
 
-#: utils/misc/guc.c:1597
+#: utils/misc/guc.c:1696
 msgid "GEQO: effort is used to set the default for other GEQO parameters."
 msgstr "GEQO: prova a definire i default per gli altri parametri di GEQO."
 
-#: utils/misc/guc.c:1606
+#: utils/misc/guc.c:1705
 msgid "GEQO: number of individuals in the population."
 msgstr "GEQO: numero di individui nella popolazione."
 
-#: utils/misc/guc.c:1607 utils/misc/guc.c:1616
+#: utils/misc/guc.c:1706 utils/misc/guc.c:1715
 msgid "Zero selects a suitable default value."
 msgstr "Lo zero selezione un valore ammissibile come default."
 
-#: utils/misc/guc.c:1615
+#: utils/misc/guc.c:1714
 msgid "GEQO: number of iterations of the algorithm."
 msgstr "GEQO: numero di iterazioni dell'algoritmo."
 
-#: utils/misc/guc.c:1626
+#: utils/misc/guc.c:1725
 msgid "Sets the time to wait on a lock before checking for deadlock."
 msgstr "Definisce il tempo di attesa su un lock prima di verificare si tratti di un deadlock."
 
-#: utils/misc/guc.c:1637
+#: utils/misc/guc.c:1736
 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data."
 msgstr "Imposta l'intervallo massimo prima di annullare le query quando un server in hot standby sta processando dati da un WAL archiviato."
 
-#: utils/misc/guc.c:1648
+#: utils/misc/guc.c:1747
 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data."
 msgstr "Imposta l'intervallo massimo prima di annullare le query quando un server in hot standby sta processando dati da un WAL streamed."
 
-#: utils/misc/guc.c:1659
+#: utils/misc/guc.c:1758
 msgid "Sets the maximum interval between WAL receiver status reports to the primary."
 msgstr "Imposta l'intervallo massimo tra i rapporti di stato del ricevitore dei WAL al primario."
 
-#: utils/misc/guc.c:1670
+#: utils/misc/guc.c:1769
 msgid "Sets the maximum wait time to receive data from the primary."
 msgstr "Imposta un tempo massimo di attesa per la ricezione di dati dal primario."
 
-#: utils/misc/guc.c:1681
+#: utils/misc/guc.c:1780
 msgid "Sets the maximum number of concurrent connections."
 msgstr "Imposta il numero massimo di connessioni concorrenti."
 
-#: utils/misc/guc.c:1691
+#: utils/misc/guc.c:1790
 msgid "Sets the number of connection slots reserved for superusers."
 msgstr "Imposta il numero di slot per connessioni riservate ai superutenti."
 
-#: utils/misc/guc.c:1705
+#: utils/misc/guc.c:1804
 msgid "Sets the number of shared memory buffers used by the server."
 msgstr "Imposta il numero di buffer di memoria condivisa usati dal server."
 
-#: utils/misc/guc.c:1716
+#: utils/misc/guc.c:1815
 msgid "Sets the maximum number of temporary buffers used by each session."
 msgstr "Definisce il numero massimo di buffer temporanei usati da ogni sessione."
 
-#: utils/misc/guc.c:1727
+#: utils/misc/guc.c:1826
 msgid "Sets the TCP port the server listens on."
 msgstr "Imposta il numero di porta TCP sulla quale il server è in ascolto."
 
-#: utils/misc/guc.c:1737
+#: utils/misc/guc.c:1836
 msgid "Sets the access permissions of the Unix-domain socket."
 msgstr "Imposta i permessi di accesso del socket di dominio Unix."
 
-#: utils/misc/guc.c:1738
+#: utils/misc/guc.c:1837
 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 "I socket di dominio Unix utilizzano i normali permessi dei file system Unix. Il valore del parametro deve essere la specifica numerica dei permessi nella stessa forma accettata dalle chiamate di sistema chmod e umask. (Per usare il classico formato ottale, il valore numerico deve iniziare con 0 (zero).)"
 
-#: utils/misc/guc.c:1752
+#: utils/misc/guc.c:1851
 msgid "Sets the file permissions for log files."
 msgstr "Imposta i permessi dei file di log."
 
-#: utils/misc/guc.c:1753
+#: utils/misc/guc.c:1852
 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 "Il valore del parametro deve essere la specifica numerica dei permessi nella stessa forma accettata dalle chiamate di sistema chmod e umask. (Per usare il classico formato ottale, il valore numerico deve iniziare con 0 (zero).)"
 
-#: utils/misc/guc.c:1766
+#: utils/misc/guc.c:1865
 msgid "Sets the maximum memory to be used for query workspaces."
 msgstr "Imposta la quantità massima di memoria utilizzabile per gli spazi di lavoro delle query."
 
-#: utils/misc/guc.c:1767
+#: utils/misc/guc.c:1866
 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files."
 msgstr "Questa quantità di memoria può essere utilizzata per ogni operazione di ordinamento interno e per ogni tabella hash prima di passare ai file temporanei su disco."
 
-#: utils/misc/guc.c:1779
+#: utils/misc/guc.c:1878
 msgid "Sets the maximum memory to be used for maintenance operations."
 msgstr "Imposta la quantità massima di memoria utilizzabile per le operazioni di manutenzione."
 
-#: utils/misc/guc.c:1780
+#: utils/misc/guc.c:1879
 msgid "This includes operations such as VACUUM and CREATE INDEX."
 msgstr "Queste includono operazioni quali VACUUM e CREATE INDEX."
 
-#: utils/misc/guc.c:1795
+#: utils/misc/guc.c:1894
 msgid "Sets the maximum stack depth, in kilobytes."
 msgstr "Imposta la profondità massima dello stack, in kilobyte."
 
-#: utils/misc/guc.c:1806
+#: utils/misc/guc.c:1905
 msgid "Limits the total size of all temporary files used by each session."
 msgstr "Limita la dimensione totale di tutti i file temporanei usata da ogni sessione"
 
-#: utils/misc/guc.c:1807
+#: utils/misc/guc.c:1906
 msgid "-1 means no limit."
 msgstr "-1 vuol dire senza limiti."
 
-#: utils/misc/guc.c:1817
+#: utils/misc/guc.c:1916
 msgid "Vacuum cost for a page found in the buffer cache."
 msgstr "Costo del VACUUM per una pagina trovata nella cache dei buffer."
 
-#: utils/misc/guc.c:1827
+#: utils/misc/guc.c:1926
 msgid "Vacuum cost for a page not found in the buffer cache."
 msgstr "Costo del VACUUM per una pagina non trovata nella cache dei buffer."
 
-#: utils/misc/guc.c:1837
+#: utils/misc/guc.c:1936
 msgid "Vacuum cost for a page dirtied by vacuum."
 msgstr "Costo del VACUUM per una pagina resa sporca dal VACUUM."
 
-#: utils/misc/guc.c:1847
+#: utils/misc/guc.c:1946
 msgid "Vacuum cost amount available before napping."
 msgstr "Costo totale del VACUUM prima della pausa."
 
-#: utils/misc/guc.c:1857
+#: utils/misc/guc.c:1956
 msgid "Vacuum cost delay in milliseconds."
 msgstr "Il costo del VACUUM come ritardo in millisecondi."
 
-#: utils/misc/guc.c:1868
+#: utils/misc/guc.c:1967
 msgid "Vacuum cost delay in milliseconds, for autovacuum."
 msgstr "Il costo del VACUUM come ritardo in millisecondi, per l'autovacuum."
 
-#: utils/misc/guc.c:1879
+#: utils/misc/guc.c:1978
 msgid "Vacuum cost amount available before napping, for autovacuum."
 msgstr "Il costo totale del VACUUM prima della pausa, per l'autovacuum."
 
-#: utils/misc/guc.c:1889
+#: utils/misc/guc.c:1988
 msgid "Sets the maximum number of simultaneously open files for each server process."
 msgstr "Imposta il numero massimo di file aperti contemporaneamente per ogni processo server."
 
-#: utils/misc/guc.c:1902
+#: utils/misc/guc.c:2001
 msgid "Sets the maximum number of simultaneously prepared transactions."
 msgstr "Imposta il numero massimo di transazioni preparate contemporanee."
 
-#: utils/misc/guc.c:1913
+#: utils/misc/guc.c:2012
 msgid "Sets the minimum OID of tables for tracking locks."
 msgstr "Imposta l'OID minimo delle tabelle per tracciare i lock."
 
-#: utils/misc/guc.c:1914
+#: utils/misc/guc.c:2013
 msgid "Is used to avoid output on system tables."
 msgstr "È usato per evitare l'output su tabelle di sistema."
 
-#: utils/misc/guc.c:1923
+#: utils/misc/guc.c:2022
 msgid "Sets the OID of the table with unconditionally lock tracing."
 msgstr "Imposta l'OID delle tabelle con tracciamento dei lock non facoltativo."
 
-#: utils/misc/guc.c:1935
+#: utils/misc/guc.c:2034
 msgid "Sets the maximum allowed duration of any statement."
 msgstr "Imposta la durata massima consentita per qualsiasi istruzione."
 
-#: utils/misc/guc.c:1936 utils/misc/guc.c:1947
+#: utils/misc/guc.c:2035 utils/misc/guc.c:2046
 msgid "A value of 0 turns off the timeout."
 msgstr "Il valore 0 disabilita il timeout."
 
-#: utils/misc/guc.c:1946
+#: utils/misc/guc.c:2045
 msgid "Sets the maximum allowed duration of any wait for a lock."
 msgstr "Imposta la durata massima consentita di qualsiasi attesa per un lock."
 
-#: utils/misc/guc.c:1957
+#: utils/misc/guc.c:2056
 msgid "Minimum age at which VACUUM should freeze a table row."
 msgstr "Anzianità minima alla quale il VACUUM deve congelare una riga di tabella."
 
-#: utils/misc/guc.c:1967
+#: utils/misc/guc.c:2066
 msgid "Age at which VACUUM should scan whole table to freeze tuples."
 msgstr "Anzianità alla quale il VACUUM deve scandire l'intera tabella per congelarne le tuple."
 
-#: utils/misc/guc.c:1977
+#: utils/misc/guc.c:2076
 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row."
 msgstr "Anzianità minima alla quale VACUUM deve congelare un MultiXactId in una riga di tabella."
 
-#: utils/misc/guc.c:1987
+#: utils/misc/guc.c:2086
 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples."
 msgstr "Anzianità del multixact alla quale VACUUM deve scandire tutta la tabella per congelare le tuple."
 
-#: utils/misc/guc.c:1997
+#: utils/misc/guc.c:2096
 msgid "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any."
 msgstr "Numero di transazioni per cui VACUUM e pulizia HOT devono essere deferibili, se impostata."
 
-#: utils/misc/guc.c:2010
+#: utils/misc/guc.c:2109
 msgid "Sets the maximum number of locks per transaction."
 msgstr "Definisce il numero massimo di lock per transazione."
 
-#: utils/misc/guc.c:2011
+#: utils/misc/guc.c:2110
 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 tabella degli shared lock è dimensionata secondo l'assunzione che al massimo max_locks_per_transaction * max_connections distinti oggetti avranno bisogni di essere lockati in un determinato istante."
 
-#: utils/misc/guc.c:2022
+#: utils/misc/guc.c:2121
 msgid "Sets the maximum number of predicate locks per transaction."
 msgstr "Imposta il numero massimo di lock di predicato per transazione."
 
-#: utils/misc/guc.c:2023
+#: utils/misc/guc.c:2122
 msgid "The shared predicate lock table is sized on the assumption that at most max_pred_locks_per_transaction * max_connections distinct objects will need to be locked at any one time."
 msgstr "La tabella dei lock di predicato è dimensionata secondo l'assunzione che al massimo max_pred_locks_per_transaction * max_connections distinti oggetti avranno bisogni di essere lockati in un determinato istante."
 
-#: utils/misc/guc.c:2034
+#: utils/misc/guc.c:2133
 msgid "Sets the maximum allowed time to complete client authentication."
 msgstr "Imposta il tempo massimo consentito per completare l'autenticazione del client."
 
-#: utils/misc/guc.c:2046
+#: utils/misc/guc.c:2145
 msgid "Waits N seconds on connection startup before authentication."
 msgstr "Attendi N secondi all'avvio della connessione prima dell'autenticazione."
 
-#: utils/misc/guc.c:2057
+#: utils/misc/guc.c:2156
 msgid "Sets the number of WAL files held for standby servers."
 msgstr "Imposta il numero di file WAL trattenuti dai server in standby."
 
-#: utils/misc/guc.c:2067
-msgid "Sets the maximum distance in log segments between automatic WAL checkpoints."
-msgstr "Imposta la distanza massima in segmenti di log fra due checkpoint del WAL automatico."
+#: utils/misc/guc.c:2166
+msgid "Sets the minimum size to shrink the WAL to."
+msgstr "Imposta la dimensione minima a cui ridurre il file WAL."
+
+#: utils/misc/guc.c:2177
+msgid "Sets the WAL size that triggers a checkpoint."
+msgstr "Imosta la dimensione del WAL che fa scattare un checkpoint."
 
-#: utils/misc/guc.c:2077
+#: utils/misc/guc.c:2188
 msgid "Sets the maximum time between automatic WAL checkpoints."
 msgstr "Imposta il tempo massimo intercorrente fra due checkpoint automatici del WAL."
 
-#: utils/misc/guc.c:2088
+#: utils/misc/guc.c:2199
 msgid "Enables warnings if checkpoint segments are filled more frequently than this."
 msgstr "Abilita gli avvertimenti se i segmenti dei checkpoint sono riempiti più frequentemente di questo valore."
 
-#: utils/misc/guc.c:2090
+#: utils/misc/guc.c:2201
 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 "Scrive un messaggio nel log del server se i checkpoint dovuti al riempimento dei file dei segmenti dei checkpoint avvengono più frequentemente di questo numero di secondi. Il valore 0 (zero) disabilita questi avvisi."
 
-#: utils/misc/guc.c:2102
+#: utils/misc/guc.c:2213
 msgid "Sets the number of disk-page buffers in shared memory for WAL."
 msgstr "Imposta il numero di buffer delle pagine su disco in shared memory per il WAL."
 
-#: utils/misc/guc.c:2113
+#: utils/misc/guc.c:2224
 msgid "WAL writer sleep time between WAL flushes."
 msgstr "Tempo di pausa del WAL writer tra due flush dei WAL."
 
-#: utils/misc/guc.c:2125
+#: utils/misc/guc.c:2236
 msgid "Sets the maximum number of simultaneously running WAL sender processes."
 msgstr "Imposta il numero massimo di processi WAL sender in esecuzione simultanea."
 
-#: utils/misc/guc.c:2136
+#: utils/misc/guc.c:2247
 msgid "Sets the maximum number of simultaneously defined replication slots."
 msgstr "Imposta il numero massimo di slot di replica definiti simultaneamente."
 
-#: utils/misc/guc.c:2146
+#: utils/misc/guc.c:2257
 msgid "Sets the maximum time to wait for WAL replication."
 msgstr "Imposta il tempo di attesa massimo per una replica WAL."
 
-#: utils/misc/guc.c:2157
+#: utils/misc/guc.c:2268
 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk."
 msgstr "Imposta il ritardo in microsecondi tra il commit della transazione e il flushing del WAL su disco."
 
-#: utils/misc/guc.c:2169
+#: utils/misc/guc.c:2280
 msgid "Sets the minimum concurrent open transactions before performing commit_delay."
 msgstr "Imposta il numero minimo di transazioni concorrenti aperte prima di eseguire un commit_delay"
 
-#: utils/misc/guc.c:2180
+#: utils/misc/guc.c:2291
 msgid "Sets the number of digits displayed for floating-point values."
 msgstr "Imposta il numero di cifre visualizzate per i valori in virgola mobile."
 
-#: utils/misc/guc.c:2181
+#: utils/misc/guc.c:2292
 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 "Ciò ha effetto sui tipi di dati real, double precision e geometrici. Il valore del parametro è sommato al numero standard di cifre (FLT_DIG o DBL_DIG a seconda dei casi)."
 
-#: utils/misc/guc.c:2192
+#: utils/misc/guc.c:2303
 msgid "Sets the minimum execution time above which statements will be logged."
 msgstr "Imposta il tempo minimo di esecuzione oltre il quale le istruzioni vengono registrate nel log."
 
-#: utils/misc/guc.c:2194
+#: utils/misc/guc.c:2305
 msgid "Zero prints all queries. -1 turns this feature off."
 msgstr "Il valore 0 (zero) fa sì che tutte le query siano registrate. Il valore -1 disabilita questa caratteristica."
 
-#: utils/misc/guc.c:2204
+#: utils/misc/guc.c:2315
 msgid "Sets the minimum execution time above which autovacuum actions will be logged."
 msgstr "Imposta il tempo minimo di esecuzione oltre il quale le azioni dell'autovacuum vengono registrate nel log."
 
-#: utils/misc/guc.c:2206
+#: utils/misc/guc.c:2317
 msgid "Zero prints all actions. -1 turns autovacuum logging off."
 msgstr "Il valore 0 (zero) fa sì che tutte le azioni siano registrate. Il valore -1 disabilita il logging dell'autovacuum."
 
-#: utils/misc/guc.c:2216
+#: utils/misc/guc.c:2327
 msgid "Background writer sleep time between rounds."
 msgstr "Il tempo di pausa fra due tornate del background writer."
 
-#: utils/misc/guc.c:2227
+#: utils/misc/guc.c:2338
 msgid "Background writer maximum number of LRU pages to flush per round."
 msgstr "Il numero massimo di pagine LRU che il background writer scarica ad ogni tornata."
 
-#: utils/misc/guc.c:2243
+#: utils/misc/guc.c:2350
 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem."
 msgstr "Il numero di richieste simultanee che possono essere gestite con efficienza dal sottosistema a dischi."
 
-#: utils/misc/guc.c:2244
+#: utils/misc/guc.c:2351
 msgid "For RAID arrays, this should be approximately the number of drive spindles in the array."
 msgstr "Per i sistemi RAID, questo valore è pari all'incirca al numero di dischi fisici nell'array."
 
-#: utils/misc/guc.c:2259
+#: utils/misc/guc.c:2366
 msgid "Maximum number of concurrent worker processes."
 msgstr "Numero massimo di processi worker concorrenti."
 
-#: utils/misc/guc.c:2269
+#: utils/misc/guc.c:2376
 msgid "Automatic log file rotation will occur after N minutes."
 msgstr "La rotazione automatica dei log avviene dopo N minuti."
 
-#: utils/misc/guc.c:2280
+#: utils/misc/guc.c:2387
 msgid "Automatic log file rotation will occur after N kilobytes."
 msgstr "La rotazione automatica dei log avviene dopo N kilobyte."
 
-#: utils/misc/guc.c:2291
+#: utils/misc/guc.c:2398
 msgid "Shows the maximum number of function arguments."
 msgstr "Mostra il numero massimo di argomenti delle funzioni."
 
-#: utils/misc/guc.c:2302
+#: utils/misc/guc.c:2409
 msgid "Shows the maximum number of index keys."
 msgstr "Mostra il numero massimo di chiavi degli indici."
 
-#: utils/misc/guc.c:2313
+#: utils/misc/guc.c:2420
 msgid "Shows the maximum identifier length."
 msgstr "Mostra la lunghezza massima per gli identificatori."
 
-#: utils/misc/guc.c:2324
+#: utils/misc/guc.c:2431
 msgid "Shows the size of a disk block."
 msgstr "Mostra la dimensione di un blocco su disco."
 
-#: utils/misc/guc.c:2335
+#: utils/misc/guc.c:2442
 msgid "Shows the number of pages per disk file."
 msgstr "Mostra il numero di pagine per file su disco."
 
-#: utils/misc/guc.c:2346
+#: utils/misc/guc.c:2453
 msgid "Shows the block size in the write ahead log."
 msgstr "Mostra la dimensione del log di write ahead."
 
-#: utils/misc/guc.c:2357
+#: utils/misc/guc.c:2464
+msgid "Sets the time to wait before retrying to retrieve WALafter a failed attempt."
+msgstr "Imposta il tempo di attesa prima di riprovare a recuperare un WAL dopo un tentativo fallito."
+
+#: utils/misc/guc.c:2476
 msgid "Shows the number of pages per write ahead log segment."
 msgstr "Mostra il numero di pagine per un segmento del log di write ahead."
 
-#: utils/misc/guc.c:2370
+#: utils/misc/guc.c:2489
 msgid "Time to sleep between autovacuum runs."
 msgstr "Tempo di pausa fra due esecuzioni di autovacuum."
 
-#: utils/misc/guc.c:2380
+#: utils/misc/guc.c:2499
 msgid "Minimum number of tuple updates or deletes prior to vacuum."
 msgstr "Numero minimo di modifiche o cancellazioni di tuple prima dell'esecuzione di un autovacuum."
 
-#: utils/misc/guc.c:2389
+#: utils/misc/guc.c:2508
 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze."
 msgstr "Numero minimo di inserimenti, modifiche o cancellazioni di tuple prima dell'esecuzione di un analyze."
 
-#: utils/misc/guc.c:2399
+#: utils/misc/guc.c:2518
 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound."
 msgstr "Anzianità alla quale eseguire un autovacuum su una tabella per prevenire il wraparound dell'ID delle transazioni."
 
-#: utils/misc/guc.c:2410
+#: utils/misc/guc.c:2529
 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound."
 msgstr "Anzianità multixaxt a cui eseguire l'autovacuum di una tabella per prevenire il wraparound del multixact."
 
-#: utils/misc/guc.c:2420
+#: utils/misc/guc.c:2539
 msgid "Sets the maximum number of simultaneously running autovacuum worker processes."
 msgstr "Imposta il numero massimo dei processi worker dell'autovacuum in esecuzione contemporanea."
 
-#: utils/misc/guc.c:2430
+#: utils/misc/guc.c:2549
 msgid "Sets the maximum memory to be used by each autovacuum worker process."
 msgstr "Imposta la memoria massima utilizzabile da ogni processo autovacuum."
 
-#: utils/misc/guc.c:2441
+#: utils/misc/guc.c:2560
 msgid "Time between issuing TCP keepalives."
 msgstr "Tempo di attesa fra due keepalive TCP."
 
-#: utils/misc/guc.c:2442 utils/misc/guc.c:2453
+#: utils/misc/guc.c:2561 utils/misc/guc.c:2572
 msgid "A value of 0 uses the system default."
 msgstr "Il valore 0 (zero) fa sì che si applichi il valore predefinito di sistema."
 
-#: utils/misc/guc.c:2452
+#: utils/misc/guc.c:2571
 msgid "Time between TCP keepalive retransmits."
 msgstr "Tempo che intercorre fra due ritrasmissioni del keepalive TCP."
 
-#: utils/misc/guc.c:2463
+#: utils/misc/guc.c:2582
 msgid "Set the amount of traffic to send and receive before renegotiating the encryption keys."
 msgstr "Imposta l'ammontare di traffico da inviare e ricevere prima di rinegoziare le chiavi di criptaggio."
 
-#: utils/misc/guc.c:2474
+#: utils/misc/guc.c:2593
 msgid "Maximum number of TCP keepalive retransmits."
 msgstr "Numero massimo di ritrasmissioni del keepalive TCP."
 
-#: utils/misc/guc.c:2475
+#: utils/misc/guc.c:2594
 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 "Ciò controlla il numero di ritrasmissioni consecutive del keepalive che possono andare perdute prima che una connessione sia considerata morta. Il valore 0 (zero) fa sì che si applichi il valore predefinito di sistema."
 
-#: utils/misc/guc.c:2486
+#: utils/misc/guc.c:2605
 msgid "Sets the maximum allowed result for exact search by GIN."
 msgstr "Imposta il risultato massimo consentito per le ricerche esatte tramite GIN."
 
-#: utils/misc/guc.c:2497
+#: utils/misc/guc.c:2616
 msgid "Sets the planner's assumption about the size of the disk cache."
 msgstr "Imposta le assunzioni del planner in merito alla dimensione della cache dei dischi."
 
-#: utils/misc/guc.c:2498
+#: utils/misc/guc.c:2617
 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 "Cioè la porzione della cache dei dischi nel kernel che sarà usata per i file dati di PostgreSQL. Viene misurata in pagine disco, che normalmente sono da 8 KB ciascuna."
 
-#: utils/misc/guc.c:2511
+#: utils/misc/guc.c:2630
 msgid "Shows the server version as an integer."
 msgstr "Mostra la versione del server come un intero."
 
-#: utils/misc/guc.c:2522
+#: utils/misc/guc.c:2641
 msgid "Log the use of temporary files larger than this number of kilobytes."
 msgstr "Registra nel log l'uso di file temporanei più grandi di questo numero di kilobyte."
 
-#: utils/misc/guc.c:2523
+#: utils/misc/guc.c:2642
 msgid "Zero logs all files. The default is -1 (turning this feature off)."
 msgstr "Il valore 0 (zero) fa registrare tutti i file. Il default è -1 (che disabilita la registrazione)."
 
-#: utils/misc/guc.c:2533
+#: utils/misc/guc.c:2652
 msgid "Sets the size reserved for pg_stat_activity.query, in bytes."
 msgstr "Imposta la dimensione in byte riservata a pg_stat_activity.query."
 
-#: utils/misc/guc.c:2557
+#: utils/misc/guc.c:2667
+msgid "Sets the maximum size of the pending list for GIN index."
+msgstr "Imposta la dimensione massima della lista di attesa per gli indici GIN."
+
+#: utils/misc/guc.c:2687
 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page."
 msgstr "Imposta la stima del planner del costo di una pagina di disco letta sequenzialmente."
 
-#: utils/misc/guc.c:2567
+#: utils/misc/guc.c:2697
 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page."
 msgstr "Imposta la stima del planner del costo di una pagina di disco letta non sequenzialmente."
 
-#: utils/misc/guc.c:2577
+#: utils/misc/guc.c:2707
 msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgstr "Imposta la stima del planner del costo di elaborazione di ogni tupla (riga)."
 
-#: utils/misc/guc.c:2587
+#: utils/misc/guc.c:2717
 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan."
 msgstr "Imposta la stima del il planner del costo di elaborazione di un singolo elemento di indice durante una scansione di indice."
 
-#: utils/misc/guc.c:2597
+#: utils/misc/guc.c:2727
 msgid "Sets the planner's estimate of the cost of processing each operator or function call."
 msgstr "Imposta la stima del planner del costo di elaborazione di un singolo operatore o chiamata di funzione."
 
-#: utils/misc/guc.c:2608
+#: utils/misc/guc.c:2738
 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved."
 msgstr "Imposta la stima del planner della frazione delle righe di un cursore che verranno lette."
 
-#: utils/misc/guc.c:2619
+#: utils/misc/guc.c:2749
 msgid "GEQO: selective pressure within the population."
 msgstr "GEQO: pressione selettiva all'interno della popolazione."
 
-#: utils/misc/guc.c:2629
+#: utils/misc/guc.c:2759
 msgid "GEQO: seed for random path selection."
 msgstr "GEQO: seme per la selezione casuale dei percorsi."
 
-#: utils/misc/guc.c:2639
+#: utils/misc/guc.c:2769
 msgid "Multiple of the average buffer usage to free per round."
 msgstr "Multiplo dell'utilizzo medio dei buffer da liberarsi ad ogni giro."
 
-#: utils/misc/guc.c:2649
+#: utils/misc/guc.c:2779
 msgid "Sets the seed for random-number generation."
 msgstr "Imposta il seme per la generazione di numeri casuali."
 
-#: utils/misc/guc.c:2660
+#: utils/misc/guc.c:2790
 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples."
 msgstr "Il numero di modifiche o cancellazioni di tuple prima di un VACUUM, come frazione di reltuples."
 
-#: utils/misc/guc.c:2669
+#: utils/misc/guc.c:2799
 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples."
 msgstr "Numero di inserimenti, modifiche o cancellazioni di tuple prima di un ANALYZE, come frazione di reltuples."
 
-#: utils/misc/guc.c:2679
+#: utils/misc/guc.c:2809
 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval."
 msgstr "Il tempo speso nell'eseguire il flush dei buffer sporchi durante i checkpoint, come frazione dell'intervallo di checkpoint."
 
-#: utils/misc/guc.c:2698
+#: utils/misc/guc.c:2828
 msgid "Sets the shell command that will be called to archive a WAL file."
 msgstr "Imposta il comando di shell che verrà eseguito per archiviare un file WAL."
 
-#: utils/misc/guc.c:2708
+#: utils/misc/guc.c:2838
 msgid "Sets the client's character set encoding."
 msgstr "Imposta la codifica dei caratteri del client."
 
-#: utils/misc/guc.c:2719
+#: utils/misc/guc.c:2849
 msgid "Controls information prefixed to each log line."
 msgstr "Controlla l'informazione usata come prefisso per ogni riga di log."
 
-#: utils/misc/guc.c:2720
+#: utils/misc/guc.c:2850
 msgid "If blank, no prefix is used."
 msgstr "Se lasciata vuota non sarà usato alcun prefisso."
 
-#: utils/misc/guc.c:2729
+#: utils/misc/guc.c:2859
 msgid "Sets the time zone to use in log messages."
 msgstr "Imposta il fuso orario da usarsi nei messaggi di log."
 
-#: utils/misc/guc.c:2739
+#: utils/misc/guc.c:2869
 msgid "Sets the display format for date and time values."
 msgstr "Imposta il formato per la visualizzazione dei valori di data e ora."
 
-#: utils/misc/guc.c:2740
+#: utils/misc/guc.c:2870
 msgid "Also controls interpretation of ambiguous date inputs."
 msgstr "Controlla anche l'interpretazione di input ambigui per le date."
 
-#: utils/misc/guc.c:2751
+#: utils/misc/guc.c:2881
 msgid "Sets the default tablespace to create tables and indexes in."
 msgstr "Imposta il tablespace di default in cui create tabelle e indici."
 
-#: utils/misc/guc.c:2752
+#: utils/misc/guc.c:2882
 msgid "An empty string selects the database's default tablespace."
 msgstr "Una stringa vuota selezione il tablespace predefinito del database."
 
-#: utils/misc/guc.c:2762
+#: utils/misc/guc.c:2892
 msgid "Sets the tablespace(s) to use for temporary tables and sort files."
 msgstr "Definisce i(l) tablespace da usarsi per le tabelle temporanee e i file di ordinamento."
 
-#: utils/misc/guc.c:2773
+#: utils/misc/guc.c:2903
 msgid "Sets the path for dynamically loadable modules."
 msgstr "Definisce il percorso per i moduli caricabili dinamicamente."
 
-#: utils/misc/guc.c:2774
+#: utils/misc/guc.c:2904
 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 "Se si deve aprire un modulo caricabile dinamicamente e il nome specificato non contiene un percorso di directory (se non contiene uno slash) il sistema cercherà il file specificato in questo percorso."
 
-#: utils/misc/guc.c:2787
+#: utils/misc/guc.c:2917
 msgid "Sets the location of the Kerberos server key file."
 msgstr "Imposta la posizione del key file del server Kerberos."
 
-#: utils/misc/guc.c:2798
+#: utils/misc/guc.c:2928
 msgid "Sets the Bonjour service name."
 msgstr "Imposta il nome del servizio Bonjour."
 
-#: utils/misc/guc.c:2810
+#: utils/misc/guc.c:2940
 msgid "Shows the collation order locale."
 msgstr "Mostra la localizzazione dell'ordine di collazione."
 
-#: utils/misc/guc.c:2821
+#: utils/misc/guc.c:2951
 msgid "Shows the character classification and case conversion locale."
 msgstr "Mostra la localizzazione per la classificazione dei caratteri e la conversione maiuscole/minuscole."
 
-#: utils/misc/guc.c:2832
+#: utils/misc/guc.c:2962
 msgid "Sets the language in which messages are displayed."
 msgstr "Mostra la lingua in cui i messaggi sono visualizzati."
 
-#: utils/misc/guc.c:2842
+#: utils/misc/guc.c:2972
 msgid "Sets the locale for formatting monetary amounts."
 msgstr "Imposta la localizzazione per la formattazione delle quantità monetarie."
 
-#: utils/misc/guc.c:2852
+#: utils/misc/guc.c:2982
 msgid "Sets the locale for formatting numbers."
 msgstr "Imposta la localizzazione per la formattazione dei numeri."
 
-#: utils/misc/guc.c:2862
+#: utils/misc/guc.c:2992
 msgid "Sets the locale for formatting date and time values."
 msgstr "Imposta la localizzazione per la formattazione per i valori di tipo data e ora."
 
-#: utils/misc/guc.c:2872
+#: utils/misc/guc.c:3002
 msgid "Lists shared libraries to preload into each backend."
 msgstr "Imposta la lista delle librerie condivise da precaricare on ogni backend."
 
-#: utils/misc/guc.c:2883
+#: utils/misc/guc.c:3013
 msgid "Lists shared libraries to preload into server."
 msgstr "Imposta la lista delle librerie condivise da precaricare nel server."
 
-#: utils/misc/guc.c:2894
+#: utils/misc/guc.c:3024
 msgid "Lists unprivileged shared libraries to preload into each backend."
 msgstr "Imposta la lista delle librarie condivise non privilegiate da precaricare in ogni backend."
 
-#: utils/misc/guc.c:2905
+#: utils/misc/guc.c:3035
 msgid "Sets the schema search order for names that are not schema-qualified."
 msgstr "Imposta l'ordine di ricerca degli schema per i nomi che non hanno un qualifica di schema."
 
-#: utils/misc/guc.c:2917
+#: utils/misc/guc.c:3047
 msgid "Sets the server (database) character set encoding."
 msgstr "Imposta la codifica del set di caratteri per il server (database)."
 
-#: utils/misc/guc.c:2929
+#: utils/misc/guc.c:3059
 msgid "Shows the server version."
 msgstr "Mostra la versione del server."
 
-#: utils/misc/guc.c:2941
+#: utils/misc/guc.c:3071
 msgid "Sets the current role."
 msgstr "Mostra il ruolo corrente."
 
-#: utils/misc/guc.c:2953
+#: utils/misc/guc.c:3083
 msgid "Sets the session user name."
 msgstr "Mostra il nome dell'utente della sessione."
 
-#: utils/misc/guc.c:2964
+#: utils/misc/guc.c:3094
 msgid "Sets the destination for server log output."
 msgstr "Imposta la destinazione per l'output dei log del server."
 
-#: utils/misc/guc.c:2965
+#: utils/misc/guc.c:3095
 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and \"eventlog\", depending on the platform."
 msgstr "I valori validi sono combinazioni di \"stderr\", \"syslog\", \"csvlog\" ed \"eventlog\", a seconda delle piattaforme."
 
-#: utils/misc/guc.c:2976
+#: utils/misc/guc.c:3106
 msgid "Sets the destination directory for log files."
 msgstr "Imposta la directory di destinazione dei file di log."
 
-#: utils/misc/guc.c:2977
+#: utils/misc/guc.c:3107
 msgid "Can be specified as relative to the data directory or as absolute path."
 msgstr "Può essere specificata sia come relativa alla directory data sia come percorso assoluto."
 
-#: utils/misc/guc.c:2987
+#: utils/misc/guc.c:3117
 msgid "Sets the file name pattern for log files."
 msgstr "Imposta il pattern dei nomi dei file di log."
 
-#: utils/misc/guc.c:2998
+#: utils/misc/guc.c:3128
 msgid "Sets the program name used to identify PostgreSQL messages in syslog."
 msgstr "Imposta il nome del programma da utilizzato per identificare i messaggi di PostgreSQL in syslog."
 
-#: utils/misc/guc.c:3009
+#: utils/misc/guc.c:3139
 msgid "Sets the application name used to identify PostgreSQL messages in the event log."
 msgstr "Imposta il nome del programma da usarsi per identificare i messaggi di PostgreSQL nel registro degli eventi."
 
-#: utils/misc/guc.c:3020
+#: utils/misc/guc.c:3150
 msgid "Sets the time zone for displaying and interpreting time stamps."
 msgstr "Imposta il fuso orario per visualizzare ed interpretare gli orari."
 
-#: utils/misc/guc.c:3030
+#: utils/misc/guc.c:3160
 msgid "Selects a file of time zone abbreviations."
 msgstr "Seleziona un file contenente le abbreviazioni dei fusi orari."
 
-#: utils/misc/guc.c:3040
+#: utils/misc/guc.c:3170
 msgid "Sets the current transaction's isolation level."
 msgstr "Imposta il livello di isolamento per la transazione in corso."
 
-#: utils/misc/guc.c:3051
+#: utils/misc/guc.c:3181
 msgid "Sets the owning group of the Unix-domain socket."
 msgstr "Imposta il gruppo di appartenenza per i socket di dominio Unix."
 
-#: utils/misc/guc.c:3052
+#: utils/misc/guc.c:3182
 msgid "The owning user of the socket is always the user that starts the server."
 msgstr "L'utente che possiede il socket è sempre l'utente che ha avviato il server."
 
-#: utils/misc/guc.c:3062
+#: utils/misc/guc.c:3192
 msgid "Sets the directories where Unix-domain sockets will be created."
 msgstr "Imposta la directory dove i socket di dominio Unix verranno creati."
 
-#: utils/misc/guc.c:3077
+#: utils/misc/guc.c:3207
 msgid "Sets the host name or IP address(es) to listen to."
 msgstr "Imposta il nome host o gli indirizzi IP su cui ascoltare."
 
-#: utils/misc/guc.c:3092
+#: utils/misc/guc.c:3222
 msgid "Sets the server's data directory."
 msgstr "Imposta la posizione della directory dati"
 
-#: utils/misc/guc.c:3103
+#: utils/misc/guc.c:3233
 msgid "Sets the server's main configuration file."
 msgstr "Imposta il file primario di configurazione del server."
 
-#: utils/misc/guc.c:3114
+#: utils/misc/guc.c:3244
 msgid "Sets the server's \"hba\" configuration file."
 msgstr "Imposta il file di configurazione \"hba\" del server."
 
-#: utils/misc/guc.c:3125
+#: utils/misc/guc.c:3255
 msgid "Sets the server's \"ident\" configuration file."
 msgstr "Imposta il file di configurazione \"ident\" del server."
 
-#: utils/misc/guc.c:3136
+#: utils/misc/guc.c:3266
 msgid "Writes the postmaster PID to the specified file."
 msgstr "Scrivi il PID del postmaster nel file specificato."
 
-#: utils/misc/guc.c:3147
+#: utils/misc/guc.c:3277
 msgid "Location of the SSL server certificate file."
 msgstr "Posizione del file di certificati del server SSL."
 
-#: utils/misc/guc.c:3157
+#: utils/misc/guc.c:3287
 msgid "Location of the SSL server private key file."
 msgstr "Posizione del file della chiave primaria del server SSL."
 
-#: utils/misc/guc.c:3167
+#: utils/misc/guc.c:3297
 msgid "Location of the SSL certificate authority file."
 msgstr "Posizione del file di autorità dei certificati del server SSL."
 
-#: utils/misc/guc.c:3177
+#: utils/misc/guc.c:3307
 msgid "Location of the SSL certificate revocation list file."
 msgstr "Posizione del file della lista di revoche di certificati SSL."
 
-#: utils/misc/guc.c:3187
+#: utils/misc/guc.c:3317
 msgid "Writes temporary statistics files to the specified directory."
 msgstr "Scrive i file di statistiche temporanee nella directory specificata."
 
-#: utils/misc/guc.c:3198
+#: utils/misc/guc.c:3328
 msgid "List of names of potential synchronous standbys."
 msgstr "Elenco dei nomi dei potenziali standby sincroni."
 
-#: utils/misc/guc.c:3209
+#: utils/misc/guc.c:3339
 msgid "Sets default text search configuration."
 msgstr "Imposta la configurazione di ricerca di testo predefinita."
 
-#: utils/misc/guc.c:3219
+#: utils/misc/guc.c:3349
 msgid "Sets the list of allowed SSL ciphers."
 msgstr "Imposta la lista di codici SSL consentiti."
 
-#: utils/misc/guc.c:3234
+#: utils/misc/guc.c:3364
 msgid "Sets the curve to use for ECDH."
 msgstr "Imposta la curva da usare per l'ECHD."
 
-#: utils/misc/guc.c:3249
+#: utils/misc/guc.c:3379
 msgid "Sets the application name to be reported in statistics and logs."
 msgstr "Imposta il nome dell'applicazione da riportare nelle statistiche e nei log."
 
-#: utils/misc/guc.c:3269
+#: utils/misc/guc.c:3390
+msgid "Sets the name of the cluster which is included in the process title."
+msgstr "Imposta il nome del cluster incluso nel titolo del processo."
+
+#: utils/misc/guc.c:3410
 msgid "Sets whether \"\\'\" is allowed in string literals."
 msgstr "Imposta se \"\\'\" è consentito nei letterali stringa."
 
-#: utils/misc/guc.c:3279
+#: utils/misc/guc.c:3420
 msgid "Sets the output format for bytea."
 msgstr "Imposta il formato di output di bytea."
 
-#: utils/misc/guc.c:3289
+#: utils/misc/guc.c:3430
 msgid "Sets the message levels that are sent to the client."
 msgstr "Imposta quali livelli di messaggi sono inviati al client"
 
-#: utils/misc/guc.c:3290 utils/misc/guc.c:3343 utils/misc/guc.c:3354
-#: utils/misc/guc.c:3410
+#: utils/misc/guc.c:3431 utils/misc/guc.c:3484 utils/misc/guc.c:3495
+#: utils/misc/guc.c:3561
 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent."
 msgstr "Ogni livello include tutti i livelli che lo seguono. Più avanti il livello, meno messaggi sono inviati."
 
-#: utils/misc/guc.c:3300
+#: utils/misc/guc.c:3441
 msgid "Enables the planner to use constraints to optimize queries."
 msgstr "Permette al planner di usare i vincoli per ottimizzare le query."
 
-#: utils/misc/guc.c:3301
+#: utils/misc/guc.c:3442
 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query."
 msgstr "La scansioni delle tabelle saranno evitate se i loro vincoli garantiscono che nessuna riga corrisponda con la query."
 
-#: utils/misc/guc.c:3311
+#: utils/misc/guc.c:3452
 msgid "Sets the transaction isolation level of each new transaction."
 msgstr "Imposta il livello di isolamento predefinito per ogni nuova transazione."
 
-#: utils/misc/guc.c:3321
+#: utils/misc/guc.c:3462
 msgid "Sets the display format for interval values."
 msgstr "Imposta il formato di visualizzazione per intervalli."
 
-#: utils/misc/guc.c:3332
+#: utils/misc/guc.c:3473
 msgid "Sets the verbosity of logged messages."
 msgstr "Imposta la prolissità dei messaggi registrati."
 
-#: utils/misc/guc.c:3342
+#: utils/misc/guc.c:3483
 msgid "Sets the message levels that are logged."
 msgstr "Imposta i livelli dei messaggi registrati."
 
-#: utils/misc/guc.c:3353
+#: utils/misc/guc.c:3494
 msgid "Causes all statements generating error at or above this level to be logged."
 msgstr "Fa in modo che tutti gli eventi che generano errore a questo livello o a un livello superiore siano registrati nel log."
 
-#: utils/misc/guc.c:3364
+#: utils/misc/guc.c:3505
 msgid "Sets the type of statements logged."
 msgstr "Imposta il tipo di istruzioni registrato nel log."
 
-#: utils/misc/guc.c:3374
+#: utils/misc/guc.c:3515
 msgid "Sets the syslog \"facility\" to be used when syslog enabled."
 msgstr "Imposta la \"facility\" da usare quando syslog è abilitato."
 
-#: utils/misc/guc.c:3389
+#: utils/misc/guc.c:3530
 msgid "Sets the session's behavior for triggers and rewrite rules."
 msgstr "Imposta il comportamento delle sessioni per i trigger e le regole di riscrittura."
 
-#: utils/misc/guc.c:3399
+#: utils/misc/guc.c:3540
 msgid "Sets the current transaction's synchronization level."
 msgstr "Imposta il livello di sincronizzazione della transazione corrente."
 
-#: utils/misc/guc.c:3409
+#: utils/misc/guc.c:3550
+msgid "Allows archiving of WAL files using archive_command."
+msgstr "Consente l'archiviazione dei file WAL con l'uso di archive_command."
+
+#: utils/misc/guc.c:3560
 msgid "Enables logging of recovery-related debugging information."
 msgstr "Abilita il logging di informazioni di debug relative al recupero."
 
-#: utils/misc/guc.c:3425
+#: utils/misc/guc.c:3576
 msgid "Collects function-level statistics on database activity."
 msgstr "Raccogli statistiche al livello di funzioni sull'attività del database."
 
-#: utils/misc/guc.c:3435
+#: utils/misc/guc.c:3586
 msgid "Set the level of information written to the WAL."
 msgstr "Imposta il livello delle informazioni scritte nel WAL."
 
-#: utils/misc/guc.c:3445
+#: utils/misc/guc.c:3596
 msgid "Selects the dynamic shared memory implementation used."
 msgstr "Seleziona l'implementazione di memoria dinamica condivisa utilizzata."
 
-#: utils/misc/guc.c:3455
+#: utils/misc/guc.c:3606
 msgid "Selects the method used for forcing WAL updates to disk."
 msgstr "Seleziona il metodo usato per forzare aggiornamenti WAL su disco."
 
-#: utils/misc/guc.c:3465
+#: utils/misc/guc.c:3616
 msgid "Sets how binary values are to be encoded in XML."
 msgstr "imposta come i valori binari devono essere codificati nel formato XML."
 
-#: utils/misc/guc.c:3475
+#: utils/misc/guc.c:3626
 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments."
 msgstr "Imposta se qualunque dato XML nelle operazioni di parsing e serializzazione implicite debba essere considerato come un documento o frammento di un contenuto."
 
-#: utils/misc/guc.c:3486
+#: utils/misc/guc.c:3637
 msgid "Use of huge pages on Linux."
 msgstr "Uso delle pagine huge su Linux."
 
-#: utils/misc/guc.c:4301
+#: utils/misc/guc.c:3647
+msgid "Enable row security."
+msgstr "Abilita la sicurezza delle righe."
+
+#: utils/misc/guc.c:3648
+msgid "When enabled, row security will be applied to all users."
+msgstr "Quando abilitata, la sicurezza delle righe verrà applicata a tutti gli utenti."
+
+#: utils/misc/guc.c:4462
 #, c-format
 msgid ""
 "%s does not know where to find the server configuration file.\n"
@@ -20148,12 +21558,12 @@ msgstr ""
 "%s non sa dove trovare il file di configurazione del server.\n"
 "Devi specificare le opzioni --config-file o -D, oppure impostare la variabile d'ambiente PGDATA.\n"
 
-#: utils/misc/guc.c:4320
+#: utils/misc/guc.c:4481
 #, c-format
 msgid "%s cannot access the server configuration file \"%s\": %s\n"
 msgstr "%s non può accedere al file di configurazione del server \"%s\": %s\n"
 
-#: utils/misc/guc.c:4348
+#: utils/misc/guc.c:4507
 #, c-format
 msgid ""
 "%s does not know where to find the database system data.\n"
@@ -20162,7 +21572,7 @@ msgstr ""
 "%s non sa dove trovare i dati di sistema del database.\n"
 "Possono essere specificati come \"data_directory\" in \"%s\", oppure dall'opzione -D, oppure dalla variabile d'ambiente PGDATA.\n"
 
-#: utils/misc/guc.c:4396
+#: utils/misc/guc.c:4555
 #, c-format
 msgid ""
 "%s does not know where to find the \"hba\" configuration file.\n"
@@ -20171,7 +21581,7 @@ msgstr ""
 "%s non sa dove trovare il file di configurazione \"hba\".\n"
 "Può essere specificato come \"hba_file\" in \"%s\", oppure dall'opzione -D, oppure dalla variabile d'ambiente PGDATA.\n"
 
-#: utils/misc/guc.c:4419
+#: utils/misc/guc.c:4578
 #, c-format
 msgid ""
 "%s does not know where to find the \"ident\" configuration file.\n"
@@ -20180,149 +21590,146 @@ msgstr ""
 "%s non sa dove trovare il file di configurazione \"ident\".\n"
 "Può essere specificato come \"ident_file\" in \"%s\", oppure dall'opzione -D, oppure dalla variabile d'ambiente PGDATA.\n"
 
-#: utils/misc/guc.c:5011 utils/misc/guc.c:5191
+#: utils/misc/guc.c:5252 utils/misc/guc.c:5299
 msgid "Value exceeds integer range."
 msgstr "Il valore non rientra nel limite possibile per gli interi."
 
-#: utils/misc/guc.c:5030
-msgid "Valid units for this parameter are \"kB\", \"MB\", \"GB\", and \"TB\"."
-msgstr "Le unità di misura valide sono \"kB\", \"MB\", \"GB\", and \"TB\"."
-
-#: utils/misc/guc.c:5105
-msgid "Valid units for this parameter are \"ms\", \"s\", \"min\", \"h\", and \"d\"."
-msgstr "Le unità di misura valide sono \"ms\", \"s\", \"min\", \"h\" e \"d\"."
-
-#: utils/misc/guc.c:5399 utils/misc/guc.c:5524 utils/misc/guc.c:6767
-#: utils/misc/guc.c:8964 utils/misc/guc.c:8998
+#: utils/misc/guc.c:5493 utils/misc/guc.c:5586 utils/misc/guc.c:6878
+#: utils/misc/guc.c:9595 utils/misc/guc.c:9629
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "valore non valido per il parametro \"%s\": \"%s\""
 
-#: utils/misc/guc.c:5437
+#: utils/misc/guc.c:5522
 #, c-format
 msgid "parameter \"%s\" requires a numeric value"
 msgstr "il parametro \"%s\" richiede un valore numerico"
 
-#: utils/misc/guc.c:5446
+#: utils/misc/guc.c:5531
 #, c-format
 msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)"
 msgstr "%g non è compreso nell'intervallo di validità del il parametro \"%s\" (%g .. %g)"
 
-#: utils/misc/guc.c:5612 utils/misc/guc.c:6334 utils/misc/guc.c:6386
-#: utils/misc/guc.c:6749 utils/misc/guc.c:7446 utils/misc/guc.c:7605
-#: utils/misc/guc.c:8784
+#: utils/misc/guc.c:5684 utils/misc/guc.c:7013
+#, c-format
+msgid "cannot set parameters during a parallel operation"
+msgstr "non è possibile impostare parametri durante un'operazione parallela"
+
+#: utils/misc/guc.c:5691 utils/misc/guc.c:6441 utils/misc/guc.c:6493
+#: utils/misc/guc.c:6854 utils/misc/guc.c:7590 utils/misc/guc.c:7758
+#: utils/misc/guc.c:9415
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "parametro di configurazione \"%s\" sconosciuto"
 
-#: utils/misc/guc.c:5627 utils/misc/guc.c:6760
+#: utils/misc/guc.c:5706 utils/misc/guc.c:6866
 #, c-format
 msgid "parameter \"%s\" cannot be changed"
 msgstr "il parametro \"%s\" non può essere cambiato"
 
-#: utils/misc/guc.c:5650 utils/misc/guc.c:5833 utils/misc/guc.c:5919
-#: utils/misc/guc.c:6005 utils/misc/guc.c:6109 utils/misc/guc.c:6200
-#: guc-file.l:299
+#: utils/misc/guc.c:5729 utils/misc/guc.c:5921 utils/misc/guc.c:6011
+#: utils/misc/guc.c:6101 utils/misc/guc.c:6209 utils/misc/guc.c:6304
+#: guc-file.l:352
 #, c-format
 msgid "parameter \"%s\" cannot be changed without restarting the server"
 msgstr "il parametro \"%s\" non può essere cambiato senza riavviare il server"
 
-#: utils/misc/guc.c:5660
+#: utils/misc/guc.c:5739
 #, c-format
 msgid "parameter \"%s\" cannot be changed now"
 msgstr "il parametro \"%s\" non può essere cambiato ora"
 
-#: utils/misc/guc.c:5705
-#, c-format
-msgid "parameter \"%s\" cannot be set after connection start"
-msgstr "il parametro \"%s\" non può essere impostato dopo l'avvio della connessione"
-
-#: utils/misc/guc.c:5715 utils/misc/guc.c:8800
+#: utils/misc/guc.c:5757 utils/misc/guc.c:5802 utils/misc/guc.c:9431
 #, c-format
 msgid "permission denied to set parameter \"%s\""
 msgstr "permesso di impostare il parametro \"%s\" negato"
 
-#: utils/misc/guc.c:5753
+#: utils/misc/guc.c:5792
+#, c-format
+msgid "parameter \"%s\" cannot be set after connection start"
+msgstr "il parametro \"%s\" non può essere impostato dopo l'avvio della connessione"
+
+#: utils/misc/guc.c:5840
 #, c-format
 msgid "cannot set parameter \"%s\" within security-definer function"
 msgstr "il parametro \"%s\" non può essere impostato da una funzione che ha i privilegi del creatore"
 
-#: utils/misc/guc.c:6342 utils/misc/guc.c:6390 utils/misc/guc.c:7609
+#: utils/misc/guc.c:6449 utils/misc/guc.c:6497 utils/misc/guc.c:7764
 #, c-format
 msgid "must be superuser to examine \"%s\""
 msgstr "solo un superutente può esaminare \"%s\""
 
-#: utils/misc/guc.c:6456
+#: utils/misc/guc.c:6563
 #, c-format
 msgid "SET %s takes only one argument"
 msgstr "SET %s accetta un unico argomento"
 
-#: utils/misc/guc.c:6713
+#: utils/misc/guc.c:6814
 #, c-format
 msgid "must be superuser to execute ALTER SYSTEM command"
 msgstr "solo un superutente può eseguire il comando ALTER SYSTEM"
 
-#: utils/misc/guc.c:6946
+#: utils/misc/guc.c:6927
+#, c-format
+msgid "could not parse contents of file \"%s\""
+msgstr "non è possibile analizzare il contenuto del file \"%s\""
+
+#: utils/misc/guc.c:7089
 #, c-format
 msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented"
 msgstr "SET LOCAL TRANSACTION SNAPSHOT non è implementato"
 
-#: utils/misc/guc.c:7034
+#: utils/misc/guc.c:7174
 #, c-format
 msgid "SET requires parameter name"
 msgstr "SET richiede il nome del parametro"
 
-#: utils/misc/guc.c:7148
+#: utils/misc/guc.c:7287
 #, c-format
 msgid "attempt to redefine parameter \"%s\""
 msgstr "tentativo di ridefinire il parametro \"%s\""
 
-#: utils/misc/guc.c:8504
+#: utils/misc/guc.c:9048
+#, c-format
+msgid "parameter \"%s\" could not be set"
+msgstr "il parametro \"%s\" non può essere impostato"
+
+#: utils/misc/guc.c:9135
 #, c-format
 msgid "could not parse setting for parameter \"%s\""
 msgstr "non è stato possibile interpretare l'impostazione del parametro \"%s\""
 
-#: utils/misc/guc.c:8862 utils/misc/guc.c:8896
+#: utils/misc/guc.c:9493 utils/misc/guc.c:9527
 #, c-format
 msgid "invalid value for parameter \"%s\": %d"
 msgstr "valore non valido per il parametro \"%s\": %d"
 
-#: utils/misc/guc.c:8930
+#: utils/misc/guc.c:9561
 #, c-format
 msgid "invalid value for parameter \"%s\": %g"
 msgstr "valore non valido per il parametro \"%s\": %g"
 
-#: utils/misc/guc.c:9120
+#: utils/misc/guc.c:9751
 #, c-format
 msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session."
 msgstr "\"temp_buffers\" non può essere modificato dopo che la sessione ha utilizzato qualsiasi tabella temporanea."
 
-#: utils/misc/guc.c:9132
-#, c-format
-msgid "SET AUTOCOMMIT TO OFF is no longer supported"
-msgstr "SET AUTOCOMMIT TO OFF non è più supportato"
-
-#: utils/misc/guc.c:9144
-#, c-format
-msgid "assertion checking is not supported by this build"
-msgstr "il controllo delle asserzioni non è supportato in questo binario"
-
-#: utils/misc/guc.c:9157
+#: utils/misc/guc.c:9763
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour non è supportato in questo binario"
 
-#: utils/misc/guc.c:9170
+#: utils/misc/guc.c:9776
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL non è supportato in questo binario"
 
-#: utils/misc/guc.c:9182
+#: utils/misc/guc.c:9788
 #, c-format
 msgid "Cannot enable parameter when \"log_statement_stats\" is true."
 msgstr "Non è possibile abilitare il parametro quando \"log_statement_stats\" è abilitato."
 
-#: utils/misc/guc.c:9194
+#: utils/misc/guc.c:9800
 #, c-format
 msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true."
 msgstr "Non è possibile abilitare \"log_statement_stats\" quando \"log_parser_stats\", \"log_planner_stats\" o \"log_executor_stats\" sono abilitati."
@@ -20332,7 +21739,12 @@ msgstr "Non è possibile abilitare \"log_statement_stats\" quando \"log_parser_s
 msgid "internal error: unrecognized run-time parameter type\n"
 msgstr "errore interno: tipo di parametro sconosciuto\n"
 
-#: utils/misc/timeout.c:422
+#: utils/misc/rls.c:108
+#, c-format
+msgid "insufficient privilege to bypass row security."
+msgstr "privilegi insufficienti per scavalcare la sicurezza di riga."
+
+#: utils/misc/timeout.c:388
 #, c-format
 msgid "cannot add more timeout reasons"
 msgstr "non è possibile aggiungere altri motivi di timeout"
@@ -20407,7 +21819,10 @@ msgstr "@INCLUDE senza nome del file nel file di fusi orari \"%s\", riga %d"
 msgid "Failed while creating memory context \"%s\"."
 msgstr "Errore durante la creazione del contesto di memoria \"%s\"."
 
-#: utils/mmgr/aset.c:679 utils/mmgr/aset.c:873 utils/mmgr/aset.c:1115
+#: utils/mmgr/mcxt.c:689 utils/mmgr/mcxt.c:724 utils/mmgr/mcxt.c:761
+#: utils/mmgr/mcxt.c:798 utils/mmgr/mcxt.c:832 utils/mmgr/mcxt.c:861
+#: utils/mmgr/mcxt.c:895 utils/mmgr/mcxt.c:975 utils/mmgr/mcxt.c:1008
+#: utils/mmgr/mcxt.c:1055
 #, c-format
 msgid "Failed on request of size %zu."
 msgstr "Errore durante la richiesta di dimensione %zu."
@@ -20432,529 +21847,534 @@ msgstr "non è possibile eliminare il portale attivo \"%s\""
 msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD"
 msgstr "non è possibile eseguire PREPARE in una transazione che ha creato un cursore WITH HOLD"
 
-#: utils/sort/logtape.c:229
+#: utils/sort/logtape.c:226
 #, c-format
 msgid "could not read block %ld of temporary file: %m"
 msgstr "lettura del blocco %ld dal file temporaneo fallita: %m"
 
-#: utils/sort/tuplesort.c:3255
+#: utils/sort/tuplesort.c:3584
 #, c-format
 msgid "could not create unique index \"%s\""
 msgstr "creazione dell'indice univoco \"%s\" fallita"
 
-#: utils/sort/tuplesort.c:3257
+#: utils/sort/tuplesort.c:3586
 #, c-format
 msgid "Key %s is duplicated."
 msgstr "La chiave %s è duplicata."
 
-#: utils/sort/tuplestore.c:506 utils/sort/tuplestore.c:516
-#: utils/sort/tuplestore.c:843 utils/sort/tuplestore.c:947
-#: utils/sort/tuplestore.c:1011 utils/sort/tuplestore.c:1028
-#: utils/sort/tuplestore.c:1230 utils/sort/tuplestore.c:1295
-#: utils/sort/tuplestore.c:1304
+#: utils/sort/tuplesort.c:3587
+#, c-format
+msgid "Duplicate keys exist."
+msgstr "Esistono chiavi duplicate."
+
+#: utils/sort/tuplestore.c:508 utils/sort/tuplestore.c:518
+#: utils/sort/tuplestore.c:845 utils/sort/tuplestore.c:949
+#: utils/sort/tuplestore.c:1013 utils/sort/tuplestore.c:1030
+#: utils/sort/tuplestore.c:1232 utils/sort/tuplestore.c:1297
+#: utils/sort/tuplestore.c:1306
 #, c-format
 msgid "could not seek in tuplestore temporary file: %m"
 msgstr "ricerca nel file temporaneo tuplestore fallita: %m"
 
-#: utils/sort/tuplestore.c:1451 utils/sort/tuplestore.c:1524
-#: utils/sort/tuplestore.c:1530
+#: utils/sort/tuplestore.c:1453 utils/sort/tuplestore.c:1526
+#: utils/sort/tuplestore.c:1532
 #, c-format
 msgid "could not read from tuplestore temporary file: %m"
 msgstr "lettura dal file temporaneo tuplestore fallita: %m"
 
-#: utils/sort/tuplestore.c:1492 utils/sort/tuplestore.c:1497
-#: utils/sort/tuplestore.c:1503
+#: utils/sort/tuplestore.c:1494 utils/sort/tuplestore.c:1499
+#: utils/sort/tuplestore.c:1505
 #, c-format
 msgid "could not write to tuplestore temporary file: %m"
 msgstr "scrittura nel file temporaneo tuplestore fallita: %m"
 
+#: utils/time/snapmgr.c:432
+#, c-format
+msgid "The source transaction is not running anymore."
+msgstr "La transazione di origine non è più in esecuzione."
+
 #  translator: %s represents an SQL statement name
-#: utils/time/snapmgr.c:890
+#: utils/time/snapmgr.c:986
 #, c-format
 msgid "cannot export a snapshot from a subtransaction"
 msgstr "non è possibile esportare uno snapshot da una sotto-transazione"
 
-#: utils/time/snapmgr.c:1040 utils/time/snapmgr.c:1045
-#: utils/time/snapmgr.c:1050 utils/time/snapmgr.c:1065
-#: utils/time/snapmgr.c:1070 utils/time/snapmgr.c:1075
-#: utils/time/snapmgr.c:1174 utils/time/snapmgr.c:1190
-#: utils/time/snapmgr.c:1215
+#: utils/time/snapmgr.c:1135 utils/time/snapmgr.c:1140
+#: utils/time/snapmgr.c:1145 utils/time/snapmgr.c:1160
+#: utils/time/snapmgr.c:1165 utils/time/snapmgr.c:1170
+#: utils/time/snapmgr.c:1269 utils/time/snapmgr.c:1285
+#: utils/time/snapmgr.c:1310
 #, c-format
 msgid "invalid snapshot data in file \"%s\""
 msgstr "dati dello snapshot non validi nel file \"%s\""
 
-#: utils/time/snapmgr.c:1112
+#: utils/time/snapmgr.c:1207
 #, c-format
 msgid "SET TRANSACTION SNAPSHOT must be called before any query"
 msgstr "SET TRANSACTION SNAPSHOT dev'essere invocato prima di qualunque query"
 
-#: utils/time/snapmgr.c:1121
+#: utils/time/snapmgr.c:1216
 #, c-format
 msgid "a snapshot-importing transaction must have isolation level SERIALIZABLE or REPEATABLE READ"
 msgstr "una transazione che importa uno snapshot deve avere livello di isolamento SERIALIZABLE o REPEATABLE READ"
 
-#: utils/time/snapmgr.c:1130 utils/time/snapmgr.c:1139
+#: utils/time/snapmgr.c:1225 utils/time/snapmgr.c:1234
 #, c-format
 msgid "invalid snapshot identifier: \"%s\""
 msgstr "identificativo di snapshot non valido: \"%s\""
 
-#: utils/time/snapmgr.c:1228
+#: utils/time/snapmgr.c:1323
 #, c-format
 msgid "a serializable transaction cannot import a snapshot from a non-serializable transaction"
 msgstr "una transazione serializzabile non può importare uno snapshot da una transazione non serializzabile"
 
-#: utils/time/snapmgr.c:1232
+#: utils/time/snapmgr.c:1327
 #, c-format
 msgid "a non-read-only serializable transaction cannot import a snapshot from a read-only transaction"
 msgstr "una transazione non di sola lettura non può importare uno snapshot da una transazione di sola lettura"
 
-#: utils/time/snapmgr.c:1247
+#: utils/time/snapmgr.c:1342
 #, c-format
 msgid "cannot import a snapshot from a different database"
 msgstr "non è possibile importare uno snapshot da un database diverso"
 
-#: gram.y:956
+#: gram.y:1010
 #, c-format
 msgid "unrecognized role option \"%s\""
 msgstr "opzione di ruolo \"%s\" sconosciuta"
 
-#: gram.y:1238 gram.y:1253
+#: gram.y:1286 gram.y:1301
 #, c-format
 msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
 msgstr "CREATE SCHEMA IF NOT EXISTS non può includere elementi dello schema"
 
-#: gram.y:1398
+#: gram.y:1446
 #, c-format
 msgid "current database cannot be changed"
 msgstr "il database corrente non può essere cambiato"
 
-#: gram.y:1522 gram.y:1537
+#: gram.y:1570
 #, c-format
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr "l'intervallo della time zone deve essere HOUR o HOUR TO MINUTE"
 
-#: gram.y:1542 gram.y:10351 gram.y:12688
-#, c-format
-msgid "interval precision specified twice"
-msgstr "intervallo di precisione specificato due volte"
-
-#: gram.y:2511 gram.y:2540
+#: gram.y:2571 gram.y:2600
 #, c-format
 msgid "STDIN/STDOUT not allowed with PROGRAM"
 msgstr "STDIN/STDOUT non sono consentiti con PROGRAM"
 
-#: gram.y:2802 gram.y:2809 gram.y:9589 gram.y:9597
+#: gram.y:2866 gram.y:2873 gram.y:10140 gram.y:10148
 #, c-format
 msgid "GLOBAL is deprecated in temporary table creation"
 msgstr "GLOBAL è deprecato nella creazione di tabelle temporanee"
 
-#: gram.y:4482
+#: gram.y:4746
 msgid "duplicate trigger events specified"
 msgstr "evento del trigger specificato più volte"
 
-#: gram.y:4584
+#: gram.y:4846
 #, c-format
 msgid "conflicting constraint properties"
 msgstr "proprietà del vincolo in conflitto"
 
-#: gram.y:4716
+#: gram.y:4978
 #, c-format
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "CREATE ASSERTION non è stata ancora implementata"
 
-#: gram.y:4732
+#: gram.y:4994
 #, c-format
 msgid "DROP ASSERTION is not yet implemented"
 msgstr "DROP ASSERTION non è stata ancora implementata"
 
-#: gram.y:5078
+#: gram.y:5340
 #, c-format
 msgid "RECHECK is no longer required"
 msgstr "RECHECK non è più richiesto"
 
-#: gram.y:5079
+#: gram.y:5341
 #, c-format
 msgid "Update your data type."
 msgstr "Aggiorna il tuo tipo di dato."
 
-#: gram.y:6540
+#: gram.y:6918
 #, c-format
 msgid "aggregates cannot have output arguments"
 msgstr "gli aggregati non possono avere argomenti di output"
 
-#: gram.y:8236 gram.y:8254
+#: gram.y:8708 gram.y:8726
 #, c-format
 msgid "WITH CHECK OPTION not supported on recursive views"
 msgstr "WITH CHECK OPTION non supportato su viste ricorsive"
 
-#: gram.y:9234
-#, c-format
-msgid "number of columns does not match number of values"
-msgstr "il numero di colonne non corrisponde al numero di valori"
-
-#: gram.y:9693
+#: gram.y:10248
 #, c-format
 msgid "LIMIT #,# syntax is not supported"
 msgstr "La sintassi LIMIT #,# non è supportata"
 
-#: gram.y:9694
+#: gram.y:10249
 #, c-format
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Usa separatamente le clausole LIMIT ed OFFSET."
 
-#: gram.y:9882 gram.y:9907
+#: gram.y:10508 gram.y:10533
 #, c-format
 msgid "VALUES in FROM must have an alias"
 msgstr "VALUES nel FROM deve avere un alias"
 
-#: gram.y:9883 gram.y:9908
+#: gram.y:10509 gram.y:10534
 #, c-format
 msgid "For example, FROM (VALUES ...) [AS] foo."
 msgstr "Per esempio, FROM (VALUES ...) [AS] foo."
 
-#: gram.y:9888 gram.y:9913
+#: gram.y:10514 gram.y:10539
 #, c-format
 msgid "subquery in FROM must have an alias"
 msgstr "la sottoquery in FROM deve avere un alias"
 
-#: gram.y:9889 gram.y:9914
+#: gram.y:10515 gram.y:10540
 #, c-format
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "Per esempio, FROM (SELECT ...) [AS] foo."
 
-#: gram.y:10477
+#: gram.y:11119
 #, c-format
 msgid "precision for type float must be at least 1 bit"
 msgstr "la precisione per il tipo float dev'essere di almeno un bit"
 
-#: gram.y:10486
+#: gram.y:11128
 #, c-format
 msgid "precision for type float must be less than 54 bits"
 msgstr "la precisione per il tipo float dev'essere inferiore a 54 bit"
 
-#: gram.y:10952
+#: gram.y:11632
 #, c-format
 msgid "wrong number of parameters on left side of OVERLAPS expression"
 msgstr "numero errato di parametri a sinistra dell'espressione OVERLAPS"
 
-#: gram.y:10957
+#: gram.y:11637
 #, c-format
 msgid "wrong number of parameters on right side of OVERLAPS expression"
 msgstr "numero errato di parametri a destra dell'espressione OVERLAPS"
 
-#: gram.y:11141
+#: gram.y:11814
 #, c-format
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "il predicato UNIQUE non è stato ancora implementato"
 
-#: gram.y:11428
+#: gram.y:12146
 #, c-format
 msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP"
 msgstr "non si può usare più di una clausola ORDER BY con WITHIN GROUOP"
 
-#: gram.y:11433
+#: gram.y:12151
 #, c-format
 msgid "cannot use DISTINCT with WITHIN GROUP"
 msgstr "non si può usare DISTINCT con WITHIN GROUP"
 
-#: gram.y:11438
+#: gram.y:12156
 #, c-format
 msgid "cannot use VARIADIC with WITHIN GROUP"
 msgstr "non si può usare VARIADIC con WITHIN GROUP"
 
-#: gram.y:11944
+#: gram.y:12662
 #, c-format
 msgid "RANGE PRECEDING is only supported with UNBOUNDED"
 msgstr "RANGE PRECEDING è supportato solo con UNBOUNDED"
 
-#: gram.y:11950
+#: gram.y:12668
 #, c-format
 msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
 msgstr "RANGE FOLLOWING è supportato solo con UNBOUNDED"
 
-#: gram.y:11977 gram.y:12000
+#: gram.y:12695 gram.y:12718
 #, c-format
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "l'inizio della finestra non può essere UNBOUNDED FOLLOWING"
 
-#: gram.y:11982
+#: gram.y:12700
 #, c-format
 msgid "frame starting from following row cannot end with current row"
 msgstr "una finestra che inizia dalla riga seguente non può terminare alla riga corrente"
 
-#: gram.y:12005
+#: gram.y:12723
 #, c-format
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "la fine della finestra non può essere UNBOUNDED PRECEDING"
 
-#: gram.y:12011
+#: gram.y:12729
 #, c-format
 msgid "frame starting from current row cannot have preceding rows"
 msgstr "una finestra che inizia dalla riga corrente non può avere righe precedenti"
 
-#: gram.y:12018
+#: gram.y:12736
 #, c-format
 msgid "frame starting from following row cannot have preceding rows"
 msgstr "una finestra che inizia dalla riga seguente non può avere righe precedenti"
 
-#: gram.y:12657
+#: gram.y:13394
 #, c-format
 msgid "type modifier cannot have parameter name"
 msgstr "un modificatore di tipo non può avere un nome di parametro"
 
-#: gram.y:12663
+#: gram.y:13400
 #, c-format
 msgid "type modifier cannot have ORDER BY"
 msgstr "un modificatore di tipo non può avere ORDER BY"
 
-#: gram.y:13284 gram.y:13459
+#: gram.y:13464 gram.y:13470
+#, c-format
+msgid "%s cannot be used as a role name here"
+msgstr "%s non può essere usato come nome di ruolo qui"
+
+#: gram.y:14089 gram.y:14278
 msgid "improper use of \"*\""
 msgstr "uso improprio di \"*\""
 
-#: gram.y:13523
+#: gram.y:14342
 #, c-format
 msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"
 msgstr "un aggregato su insiemi ordinati con un argomento diretto VARIADIC deve avere un argomento aggregato VARIADIC sullo stesso tipo"
 
-#: gram.y:13560
+#: gram.y:14379
 #, c-format
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "non è possibile avere più di una clausola ORDER BY"
 
-#: gram.y:13571
+#: gram.y:14390
 #, c-format
 msgid "multiple OFFSET clauses not allowed"
 msgstr "non è possibile avere più di una clausola OFFSET"
 
-#: gram.y:13580
+#: gram.y:14399
 #, c-format
 msgid "multiple LIMIT clauses not allowed"
 msgstr "non è possibile avere più di una clausola LIMIT"
 
-#: gram.y:13589
+#: gram.y:14408
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "non è possibile avere più di una clausola WITH"
 
-#: gram.y:13729
+#: gram.y:14588
 #, c-format
 msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
 msgstr "gli argomenti OUT e INOUT non sono permessi nelle funzioni TABLE"
 
-#: gram.y:13830
+#: gram.y:14689
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "non è possibile avere più di una clausola COLLATE"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13868 gram.y:13881
+#: gram.y:14727 gram.y:14740
 #, c-format
 msgid "%s constraints cannot be marked DEFERRABLE"
 msgstr "un vincolo %s non può essere marcato DEFERRABLE"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13894
+#: gram.y:14753
 #, c-format
 msgid "%s constraints cannot be marked NOT VALID"
 msgstr "un vincolo %s non può essere marcato NOT VALID"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13907
+#: gram.y:14766
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "un vincolo %s non può essere marcato NO INHERIT"
 
-#: guc-file.l:263
+#: guc-file.l:315
 #, c-format
 msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
 msgstr "parametro di configurazione \"%s\" sconosciuto nel file \"%s\" riga %u"
 
-#: guc-file.l:327
+#: guc-file.l:388
 #, c-format
 msgid "parameter \"%s\" removed from configuration file, reset to default"
 msgstr "il parametro \"%s\" è stato rimosso dal file di configurazione, valore predefinito ripristinato"
 
-#: guc-file.l:389
+#: guc-file.l:454
 #, c-format
 msgid "parameter \"%s\" changed to \"%s\""
 msgstr "il parametro \"%s\" è stato modificato a \"%s\""
 
-#: guc-file.l:424
+#: guc-file.l:496
 #, c-format
 msgid "configuration file \"%s\" contains errors"
 msgstr "il file di configurazione \"%s\" contiene errori"
 
-#: guc-file.l:429
+#: guc-file.l:501
 #, c-format
 msgid "configuration file \"%s\" contains errors; unaffected changes were applied"
 msgstr "il file di configurazione \"%s\" contiene errori; i cambiamenti senza errori sono stati applicati"
 
-#: guc-file.l:434
+#: guc-file.l:506
 #, c-format
 msgid "configuration file \"%s\" contains errors; no changes were applied"
 msgstr "il file di configurazione \"%s\" contiene errori; nessun cambiamento effettuato"
 
-#: guc-file.l:504
+#: guc-file.l:579
 #, c-format
 msgid "could not open configuration file \"%s\": maximum nesting depth exceeded"
 msgstr "apertura del file di configurazione \"%s\" fallita: massima profondità di annidamento raggiunta"
 
-#: guc-file.l:524
+#: guc-file.l:606
 #, c-format
 msgid "skipping missing configuration file \"%s\""
 msgstr "file di configurazione mancante \"%s\" saltato"
 
-#: guc-file.l:763
+#: guc-file.l:860
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near end of line"
 msgstr "errore di sintassi nel file \"%s\" riga %u, vicino alla fine della riga"
 
-#: guc-file.l:768
+#: guc-file.l:870
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near token \"%s\""
 msgstr "errore di sintassi nel file \"%s\" riga %u, vicino al token \"%s\""
 
-#: guc-file.l:784
+#: guc-file.l:890
 #, c-format
 msgid "too many syntax errors found, abandoning file \"%s\""
 msgstr "troppi errori di sintassi, file \"%s\" abbandonato"
 
-#: guc-file.l:829
+#: guc-file.l:942
 #, c-format
 msgid "could not open configuration directory \"%s\": %m"
 msgstr "apertura della directory di configurazione \"%s\" fallita: %m"
 
-#: repl_gram.y:247 repl_gram.y:274
+#: repl_gram.y:257 repl_gram.y:284
 #, c-format
 msgid "invalid timeline %u"
 msgstr "timeline %u non valida"
 
-#: repl_scanner.l:118
+#: repl_scanner.l:119
 msgid "invalid streaming start location"
 msgstr "posizione di avvio dello streaming non valida"
 
-#: repl_scanner.l:169 scan.l:661
+#: repl_scanner.l:170 scan.l:667
 msgid "unterminated quoted string"
 msgstr "stringa tra virgolette non terminata"
 
-#: repl_scanner.l:179
+#: repl_scanner.l:180
 #, c-format
 msgid "syntax error: unexpected character \"%s\""
 msgstr "errore di sintassi: carattere \"%s\" inaspettato"
 
-#: scan.l:426
+#: scan.l:432
 msgid "unterminated /* comment"
 msgstr "commento /* non terminato"
 
-#: scan.l:455
+#: scan.l:461
 msgid "unterminated bit string literal"
 msgstr "letterale di stringa di bit non terminato"
 
-#: scan.l:476
+#: scan.l:482
 msgid "unterminated hexadecimal string literal"
 msgstr "letterale di stringa esadecimale non terminato"
 
-#: scan.l:526
+#: scan.l:532
 #, c-format
 msgid "unsafe use of string constant with Unicode escapes"
 msgstr "uso non sicuro di stringa costante con gli escape Unicode"
 
-#: scan.l:527
+#: scan.l:533
 #, c-format
 msgid "String constants with Unicode escapes cannot be used when standard_conforming_strings is off."
 msgstr "Le stringhe costanti con escape Unicode non possono essere usate quando standard_conforming_strings è disabilitato."
 
-#: scan.l:571 scan.l:767
+#: scan.l:577 scan.l:773
 msgid "invalid Unicode escape character"
 msgstr "carattere escape Unicode non valido"
 
-#: scan.l:596 scan.l:604 scan.l:612 scan.l:613 scan.l:614 scan.l:1297
-#: scan.l:1324 scan.l:1328 scan.l:1366 scan.l:1370 scan.l:1392
+#: scan.l:602 scan.l:610 scan.l:618 scan.l:619 scan.l:620 scan.l:1329
+#: scan.l:1356 scan.l:1360 scan.l:1398 scan.l:1402 scan.l:1424
 msgid "invalid Unicode surrogate pair"
 msgstr "coppia surrogata Unicode non valida"
 
-#: scan.l:618
+#: scan.l:624
 #, c-format
 msgid "invalid Unicode escape"
 msgstr "escape Unicode non valido"
 
-#: scan.l:619
+#: scan.l:625
 #, c-format
 msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
 msgstr "Gli escape Unicode devono essere \\uXXXX or \\UXXXXXXXX."
 
-#: scan.l:630
+#: scan.l:636
 #, c-format
 msgid "unsafe use of \\' in a string literal"
 msgstr "uso non sicuro di \\' in una stringa letterale"
 
-#: scan.l:631
+#: scan.l:637
 #, c-format
 msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings."
 msgstr "Usa '' per scrivere gli apici in una stringa. \\' non è sicuro in codifiche solo client."
 
-#: scan.l:706
+#: scan.l:712
 msgid "unterminated dollar-quoted string"
 msgstr "stringa delimitata da dollari non terminata"
 
-#: scan.l:723 scan.l:747 scan.l:762
+#: scan.l:729 scan.l:753 scan.l:768
 msgid "zero-length delimited identifier"
 msgstr "identificativo delimitato di lunghezza zero"
 
-#: scan.l:782
+#: scan.l:788
 msgid "unterminated quoted identifier"
 msgstr "identificativo tra virgolette non terminato"
 
-#: scan.l:886
+#: scan.l:919
 msgid "operator too long"
 msgstr "operatore troppo lungo"
 
 #. translator: %s is typically the translation of "syntax error"
-#: scan.l:1044
+#: scan.l:1072
 #, c-format
 msgid "%s at end of input"
 msgstr "%s alla fine dell'input"
 
 #. translator: first %s is typically the translation of "syntax error"
-#: scan.l:1052
+#: scan.l:1080
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s a o presso \"%s\""
 
-#: scan.l:1213 scan.l:1245
+#: scan.l:1245 scan.l:1277
 msgid "Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8"
 msgstr "i valori escape Unicode non possono essere usati per code point superiori a 007F se la codifica del server non è UTF8"
 
-#: scan.l:1241 scan.l:1384
+#: scan.l:1273 scan.l:1416
 msgid "invalid Unicode escape value"
 msgstr "valore escape Unicode non valido"
 
-#: scan.l:1440
+#: scan.l:1472
 #, c-format
 msgid "nonstandard use of \\' in a string literal"
 msgstr "uso non standard di \\' in una stringa letterale"
 
-#: scan.l:1441
+#: scan.l:1473
 #, c-format
 msgid "Use '' to write quotes in strings, or use the escape string syntax (E'...')."
 msgstr "Usa '' per scrivere gli apici nelle stringhe, oppure usa la sintassi di escape delle stringhe (E'...')."
 
-#: scan.l:1450
+#: scan.l:1482
 #, c-format
 msgid "nonstandard use of \\\\ in a string literal"
 msgstr "uso non standard di \\\\ in una stringa letterale"
 
-#: scan.l:1451
+#: scan.l:1483
 #, c-format
 msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'."
 msgstr "Usa la sintassi di escape delle stringhe per i backslash, cioè E'\\\\'."
 
-#: scan.l:1465
+#: scan.l:1497
 #, c-format
 msgid "nonstandard use of escape in a string literal"
 msgstr "uso non standard dell'escape in una stringa letterale"
 
-#: scan.l:1466
+#: scan.l:1498
 #, c-format
 msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
 msgstr "Usa la sintassi di escape per le stringhe per effettuare gli escape, cioè, E'\\r\\n'."
index 0e6507cdc83f1fe5fb4669c8d6ab2141a1ffec51..04128a2d7a4078831a9b38fc8eb4cdec1f4188aa 100644 (file)
@@ -27,8 +27,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9 current\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2015-03-14 18:38+0000\n"
-"PO-Revision-Date: 2015-03-15 07:02+0300\n"
+"POT-Creation-Date: 2015-07-27 18:08+0000\n"
+"PO-Revision-Date: 2015-07-27 23:00+0300\n"
 "Last-Translator: Alexander Lakhin \n"
 "Language-Team: Russian \n"
 "Language: ru\n"
@@ -76,14 +76,14 @@ msgstr "не удалось прочитать символическую ссы
 msgid "pclose failed: %s"
 msgstr "ошибка pclose: %s"
 
-#: ../common/fe_memutils.c:33 ../common/fe_memutils.c:60
-#: ../common/fe_memutils.c:83 ../common/psprintf.c:181 ../port/path.c:598
+#: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
+#: ../common/fe_memutils.c:98 ../common/psprintf.c:181 ../port/path.c:598
 #: ../port/path.c:636 ../port/path.c:653
 #, c-format
 msgid "out of memory\n"
 msgstr "нехватка памяти\n"
 
-#: ../common/fe_memutils.c:77
+#: ../common/fe_memutils.c:92
 #, c-format
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n"
@@ -104,26 +104,27 @@ msgid "could not close directory \"%s\": %s\n"
 msgstr "не удалось закрыть каталог \"%s\": %s\n"
 
 #: ../common/psprintf.c:179 ../port/path.c:596 ../port/path.c:634
-#: ../port/path.c:651 access/transam/xlog.c:6123 lib/stringinfo.c:258
-#: libpq/auth.c:824 libpq/auth.c:1182 libpq/auth.c:1250 libpq/auth.c:1652
-#: postmaster/bgworker.c:267 postmaster/bgworker.c:783
-#: postmaster/postmaster.c:2205 postmaster/postmaster.c:2236
-#: postmaster/postmaster.c:3772 postmaster/postmaster.c:4473
-#: postmaster/postmaster.c:4558 postmaster/postmaster.c:5262
-#: postmaster/postmaster.c:5494 replication/logical/logical.c:168
-#: storage/buffer/buf_init.c:154 storage/buffer/localbuf.c:396
-#: storage/file/fd.c:458 storage/file/fd.c:855 storage/file/fd.c:973
-#: storage/file/fd.c:1586 storage/ipc/procarray.c:909
-#: storage/ipc/procarray.c:1395 storage/ipc/procarray.c:1402
-#: storage/ipc/procarray.c:1751 storage/ipc/procarray.c:2335
+#: ../port/path.c:651 access/transam/xlog.c:6024 lib/stringinfo.c:258
+#: libpq/auth.c:821 libpq/auth.c:1182 libpq/auth.c:1250 libpq/auth.c:1659
+#: postmaster/bgworker.c:289 postmaster/bgworker.c:796
+#: postmaster/postmaster.c:2219 postmaster/postmaster.c:2250
+#: postmaster/postmaster.c:3813 postmaster/postmaster.c:4501
+#: postmaster/postmaster.c:4569 postmaster/postmaster.c:5283
+#: postmaster/postmaster.c:5537 replication/logical/logical.c:170
+#: storage/buffer/localbuf.c:396 storage/file/fd.c:481 storage/file/fd.c:878
+#: storage/file/fd.c:996 storage/file/fd.c:1609 storage/ipc/procarray.c:907
+#: storage/ipc/procarray.c:1393 storage/ipc/procarray.c:1400
+#: storage/ipc/procarray.c:1793 storage/ipc/procarray.c:2377
 #: utils/adt/formatting.c:1523 utils/adt/formatting.c:1643
-#: utils/adt/formatting.c:1764 utils/adt/regexp.c:219 utils/adt/varlena.c:3653
-#: utils/adt/varlena.c:3674 utils/fmgr/dfmgr.c:224 utils/hash/dynahash.c:379
-#: utils/hash/dynahash.c:456 utils/hash/dynahash.c:970 utils/mb/mbutils.c:376
-#: utils/mb/mbutils.c:709 utils/misc/guc.c:3563 utils/misc/guc.c:3579
-#: utils/misc/guc.c:3592 utils/misc/guc.c:6544 utils/misc/tzparser.c:470
-#: utils/mmgr/aset.c:499 utils/mmgr/aset.c:678 utils/mmgr/aset.c:872
-#: utils/mmgr/aset.c:1114
+#: utils/adt/formatting.c:1764 utils/adt/regexp.c:219 utils/adt/varlena.c:4199
+#: utils/adt/varlena.c:4220 utils/fmgr/dfmgr.c:220 utils/hash/dynahash.c:411
+#: utils/hash/dynahash.c:488 utils/hash/dynahash.c:1002 utils/mb/mbutils.c:376
+#: utils/mb/mbutils.c:709 utils/misc/guc.c:3732 utils/misc/guc.c:3748
+#: utils/misc/guc.c:3761 utils/misc/guc.c:6695 utils/misc/tzparser.c:470
+#: utils/mmgr/aset.c:499 utils/mmgr/mcxt.c:688 utils/mmgr/mcxt.c:723
+#: utils/mmgr/mcxt.c:760 utils/mmgr/mcxt.c:797 utils/mmgr/mcxt.c:831
+#: utils/mmgr/mcxt.c:860 utils/mmgr/mcxt.c:894 utils/mmgr/mcxt.c:974
+#: utils/mmgr/mcxt.c:1007 utils/mmgr/mcxt.c:1054
 #, c-format
 msgid "out of memory"
 msgstr "нехватка памяти"
@@ -138,6 +139,43 @@ msgstr "неверное имя слоя"
 msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"."
 msgstr "Допустимые имена слоёв: \"main\", \"fsm\", \"vm\" и \"init\"."
 
+#: ../common/restricted_token.c:68
+#, c-format
+msgid "%s: WARNING: cannot create restricted tokens on this platform\n"
+msgstr "%s: ПРЕДУПРЕЖДЕНИЕ: в этой ОС нельзя создавать ограниченные маркеры\n"
+
+#: ../common/restricted_token.c:77
+#, c-format
+msgid "%s: could not open process token: error code %lu\n"
+msgstr "%s: не удалось открыть маркер процесса (код ошибки: %lu)\n"
+
+#: ../common/restricted_token.c:90
+#, c-format
+msgid "%s: could not allocate SIDs: error code %lu\n"
+msgstr "%s: не удалось подготовить структуры SID (код ошибки: %lu)\n"
+
+#: ../common/restricted_token.c:110
+#, c-format
+msgid "%s: could not create restricted token: error code %lu\n"
+msgstr "%s: не удалось создать ограниченный маркер (код ошибки: %lu)\n"
+
+#: ../common/restricted_token.c:132
+#, c-format
+msgid "%s: could not start process for command \"%s\": error code %lu\n"
+msgstr ""
+"%s: не удалось запустить процесс для команды \"%s\" (код ошибки: %lu)\n"
+
+#: ../common/restricted_token.c:170
+#, c-format
+msgid "%s: could not re-execute with restricted token: error code %lu\n"
+msgstr ""
+"%s: не удалось перезапуститься с ограниченным маркером (код ошибки: %lu)\n"
+
+#: ../common/restricted_token.c:186
+#, c-format
+msgid "%s: could not get exit code from subprocess: error code %lu\n"
+msgstr "%s: не удалось получить код выхода от подпроцесса (код ошибки: %lu)\n"
+
 #: ../common/rmtree.c:77
 #, c-format
 msgid "could not stat file or directory \"%s\": %s\n"
@@ -153,14 +191,14 @@ msgstr "ошибка при удалении файла или каталога
 msgid "could not look up effective user ID %ld: %s"
 msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s"
 
-#: ../common/username.c:47 libpq/auth.c:1599
+#: ../common/username.c:47 libpq/auth.c:1606
 msgid "user does not exist"
 msgstr "пользователь не существует"
 
 #: ../common/username.c:62
 #, c-format
 msgid "user name lookup failure: error code %lu"
-msgstr "распознать имя пользователя не удалось: код ошибки %lu"
+msgstr "распознать имя пользователя не удалось (код ошибки: %lu)"
 
 #: ../common/wait_error.c:47
 #, c-format
@@ -203,6 +241,7 @@ msgid "could not determine encoding for codeset \"%s\""
 msgstr "не удалось определить кодировку для набора символов \"%s\""
 
 #: ../port/chklocale.c:260 ../port/chklocale.c:389
+#: postmaster/postmaster.c:4798
 #, c-format
 msgid "Please report this to ."
 msgstr ""
@@ -281,78 +320,98 @@ msgstr "код ошибки win32 %lu преобразован в %d"
 msgid "unrecognized win32 error code: %lu"
 msgstr "нераспознанный код ошибки win32: %lu"
 
-#: access/common/heaptuple.c:679 access/common/heaptuple.c:1419
+#: access/brin/brin.c:1082
+#, c-format
+msgid ""
+"brin_summarize_new_values() cannot run in a transaction that has already "
+"obtained a snapshot"
+msgstr ""
+"brin_summarize_new_values() не может работать в транзакции, в которой уже "
+"получен снимок"
+
+#: access/brin/brin_pageops.c:645
+#, c-format
+msgid "index row size %lu exceeds maximum %lu for index \"%s\""
+msgstr ""
+"размер строки индекса (%lu) больше предельного размера (%lu) (индекс \"%s\")"
+
+#: access/brin/brin_revmap.c:448
+#, c-format
+msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u"
+msgstr "неожиданный тип страницы 0x%04X в BRIN-индексе \"%s\" (блок: %u)"
+
+#: access/common/heaptuple.c:708 access/common/heaptuple.c:1339
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "число колонок (%d) превышает предел (%d)"
 
-#: access/common/indextuple.c:57
+#: access/common/indextuple.c:60
 #, c-format
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "число колонок индекса (%d) превышает предел (%d)"
 
-#: access/common/indextuple.c:173 access/spgist/spgutils.c:605
+#: access/common/indextuple.c:176 access/spgist/spgutils.c:605
 #, c-format
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "строка индекса требует байт: %zu, при максимуме: %zu"
 
 #: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:544
-#: tcop/postgres.c:1699
+#: tcop/postgres.c:1730
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "неподдерживаемый код формата: %d"
 
-#: access/common/reloptions.c:396
+#: access/common/reloptions.c:419
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "превышен предел пользовательских типов реляционных параметров"
 
-#: access/common/reloptions.c:680
+#: access/common/reloptions.c:701
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "В RESET не должно передаваться значение параметров"
 
-#: access/common/reloptions.c:713
+#: access/common/reloptions.c:734
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "нераспознанное пространство имён параметров \"%s\""
 
-#: access/common/reloptions.c:959 parser/parse_clause.c:268
+#: access/common/reloptions.c:974 parser/parse_clause.c:279
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "нераспознанный параметр \"%s\""
 
-#: access/common/reloptions.c:984
+#: access/common/reloptions.c:1004
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "параметр \"%s\" указан неоднократно"
 
-#: access/common/reloptions.c:999
+#: access/common/reloptions.c:1019
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "неверное значение для логического параметра \"%s\": %s"
 
-#: access/common/reloptions.c:1010
+#: access/common/reloptions.c:1030
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "неверное значение для целочисленного параметра \"%s\": %s"
 
-#: access/common/reloptions.c:1015 access/common/reloptions.c:1033
+#: access/common/reloptions.c:1035 access/common/reloptions.c:1053
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "значение %s вне допустимых пределов параметра \"%s\""
 
-#: access/common/reloptions.c:1017
+#: access/common/reloptions.c:1037
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Допускаются значения только от \"%d\" до \"%d\"."
 
-#: access/common/reloptions.c:1028
+#: access/common/reloptions.c:1048
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "неверное значение для численного параметра \"%s\": %s"
 
-#: access/common/reloptions.c:1035
+#: access/common/reloptions.c:1055
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Допускаются значения только от \"%f\" до \"%f\"."
@@ -382,14 +441,14 @@ msgstr ""
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "Атрибут \"%s\" типа %s не существует в типе %s."
 
-#: access/common/tupdesc.c:635 parser/parse_relation.c:1339
+#: access/common/tupdesc.c:635 parser/parse_relation.c:1511
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "колонка \"%s\" не может быть объявлена как SETOF"
 
-#: access/gin/ginentrypage.c:108 access/gist/gist.c:1281
-#: access/nbtree/nbtinsert.c:549 access/nbtree/nbtsort.c:485
-#: access/spgist/spgdoinsert.c:1880
+#: access/gin/ginentrypage.c:109 access/gist/gist.c:1289
+#: access/nbtree/nbtinsert.c:567 access/nbtree/nbtsort.c:488
+#: access/spgist/spgdoinsert.c:1907
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr ""
@@ -406,12 +465,12 @@ msgstr ""
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Для исправления выполните REINDEX INDEX \"%s\"."
 
-#: access/gist/gist.c:624 access/gist/gistvacuum.c:266
+#: access/gist/gist.c:632 access/gist/gistvacuum.c:266
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "индекс \"%s\" содержит внутренний кортеж, отмеченный как ошибочный"
 
-#: access/gist/gist.c:626 access/gist/gistvacuum.c:268
+#: access/gist/gist.c:634 access/gist/gistvacuum.c:268
 #, c-format
 msgid ""
 "This is caused by an incomplete page split at crash recovery before "
@@ -420,26 +479,26 @@ msgstr ""
 "Это вызвано неполным разделением страницы при восстановлении после сбоя в "
 "PostgreSQL до версии 9.1."
 
-#: access/gist/gist.c:627 access/gist/gistutil.c:693
-#: access/gist/gistutil.c:704 access/gist/gistvacuum.c:269
+#: access/gist/gist.c:635 access/gist/gistutil.c:735
+#: access/gist/gistutil.c:746 access/gist/gistvacuum.c:269
 #: access/hash/hashutil.c:172 access/hash/hashutil.c:183
 #: access/hash/hashutil.c:195 access/hash/hashutil.c:216
-#: access/nbtree/nbtpage.c:509 access/nbtree/nbtpage.c:520
+#: access/nbtree/nbtpage.c:518 access/nbtree/nbtpage.c:529
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Пожалуйста, выполните REINDEX для него."
 
-#: access/gist/gistbuild.c:254
+#: access/gist/gistbuild.c:252
 #, c-format
 msgid "invalid value for \"buffering\" option"
 msgstr "неверное значение для параметра \"buffering\""
 
-#: access/gist/gistbuild.c:255
+#: access/gist/gistbuild.c:253
 #, c-format
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Допускаются только значения \"on\", \"off\" и \"auto\"."
 
-#: access/gist/gistbuildbuffers.c:780 utils/sort/logtape.c:212
+#: access/gist/gistbuildbuffers.c:778 utils/sort/logtape.c:209
 #, c-format
 msgid "could not write block %ld of temporary file: %m"
 msgstr "не удалось записать блок %ld временного файла: %m"
@@ -459,14 +518,14 @@ msgstr ""
 "разработчиками или попробуйте указать эту колонку в команде CREATE INDEX "
 "второй."
 
-#: access/gist/gistutil.c:690 access/hash/hashutil.c:169
-#: access/nbtree/nbtpage.c:506
+#: access/gist/gistutil.c:732 access/hash/hashutil.c:169
+#: access/nbtree/nbtpage.c:515
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "в индексе \"%s\" неожиданно оказалась нулевая страница в блоке %u"
 
-#: access/gist/gistutil.c:701 access/hash/hashutil.c:180
-#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:517
+#: access/gist/gistutil.c:743 access/hash/hashutil.c:180
+#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:526
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "индекс \"%s\" содержит испорченную страницу в блоке %u"
@@ -476,7 +535,7 @@ msgstr "индекс \"%s\" содержит испорченную страни
 msgid "index row size %zu exceeds hash maximum %zu"
 msgstr "размер строки индекса (%zu) больше предельного размера хэша (%zu)"
 
-#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1884
+#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1911
 #: access/spgist/spgutils.c:666
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
@@ -502,138 +561,163 @@ msgstr "индекс \"%s\" не является хэш-индексом"
 msgid "index \"%s\" has wrong hash version"
 msgstr "индекс \"%s\" имеет неправильную версию хэша"
 
-#: access/heap/heapam.c:1203 access/heap/heapam.c:1231
-#: access/heap/heapam.c:1263 catalog/aclchk.c:1742
+#: access/heap/heapam.c:1074 access/heap/heapam.c:1126
+#, c-format
+msgid "cannot access temporary tables during a parallel operation"
+msgstr "обращаться к временным таблицам во время параллельных операций нельзя"
+
+#: access/heap/heapam.c:1243 access/heap/heapam.c:1271
+#: access/heap/heapam.c:1303 catalog/aclchk.c:1733
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "\"%s\" - это индекс"
 
-#: access/heap/heapam.c:1208 access/heap/heapam.c:1236
-#: access/heap/heapam.c:1268 catalog/aclchk.c:1749 commands/tablecmds.c:8495
-#: commands/tablecmds.c:11279
+#: access/heap/heapam.c:1248 access/heap/heapam.c:1276
+#: access/heap/heapam.c:1308 catalog/aclchk.c:1740 commands/tablecmds.c:8925
+#: commands/tablecmds.c:11925
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "\"%s\" - это составной тип"
 
-#: access/heap/heapam.c:4394 access/heap/heapam.c:4451
-#: access/heap/heapam.c:4696 executor/execMain.c:2102
+#: access/heap/heapam.c:2339
+#, c-format
+msgid "cannot insert tuples during a parallel operation"
+msgstr "вставлять кортежи во время параллельных операций нельзя"
+
+#: access/heap/heapam.c:2760
+#, c-format
+msgid "cannot delete tuples during a parallel operation"
+msgstr "удалять кортежи во время параллельных операций нельзя"
+
+#: access/heap/heapam.c:3226 access/heap/heapam.c:5775
+#, c-format
+msgid "cannot update tuples during a parallel operation"
+msgstr "изменять кортежи во время параллельных операций нельзя"
+
+#: access/heap/heapam.c:4597 access/heap/heapam.c:4635
+#: access/heap/heapam.c:4858 executor/execMain.c:2267
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "не удалось получить блокировку строки в таблице \"%s\""
 
-#: access/heap/hio.c:240 access/heap/rewriteheap.c:666
+#: access/heap/hio.c:253 access/heap/rewriteheap.c:666
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "размер строки (%zu) превышает предел (%zu)"
 
-#: access/heap/rewriteheap.c:932
+#: access/heap/rewriteheap.c:925
 #, c-format
 msgid "could not write to file \"%s\", wrote %d of %d: %m"
 msgstr "не удалось записать в файл \"%s\" (записано байт: %d из %d): %m"
 
-#: access/heap/rewriteheap.c:973 access/heap/rewriteheap.c:1185
-#: access/heap/rewriteheap.c:1282 access/transam/timeline.c:407
-#: access/transam/timeline.c:497 access/transam/xlog.c:3185
-#: access/transam/xlog.c:3315 replication/logical/snapbuild.c:1592
-#: replication/slot.c:1025 replication/slot.c:1114 storage/file/fd.c:436
-#: storage/smgr/md.c:966 storage/smgr/md.c:1197 storage/smgr/md.c:1370
-#: utils/misc/guc.c:6566
+#: access/heap/rewriteheap.c:965 access/heap/rewriteheap.c:1177
+#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:407
+#: access/transam/timeline.c:497 access/transam/xlog.c:2986
+#: access/transam/xlog.c:3148 replication/logical/origin.c:609
+#: replication/logical/snapbuild.c:1592 replication/slot.c:1026
+#: replication/slot.c:1115 storage/file/fd.c:459 storage/file/fd.c:2718
+#: storage/smgr/md.c:982 storage/smgr/md.c:1213 storage/smgr/md.c:1386
+#: utils/misc/guc.c:6717
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "не удалось синхронизировать с ФС файл \"%s\": %m"
 
-#: access/heap/rewriteheap.c:1028 access/heap/rewriteheap.c:1148
+#: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1140
 #: access/transam/timeline.c:315 access/transam/timeline.c:475
-#: access/transam/xlog.c:3141 access/transam/xlog.c:3276
-#: access/transam/xlog.c:9922 access/transam/xlog.c:10237
-#: postmaster/postmaster.c:4248 replication/slot.c:982
-#: storage/file/copydir.c:162 storage/smgr/md.c:304 utils/time/snapmgr.c:976
+#: access/transam/xlog.c:2942 access/transam/xlog.c:3091
+#: access/transam/xlog.c:10096 access/transam/xlog.c:10132
+#: access/transam/xlog.c:10454 postmaster/postmaster.c:4276
+#: replication/logical/origin.c:538 replication/slot.c:983
+#: storage/file/copydir.c:162 storage/smgr/md.c:320 utils/time/snapmgr.c:1071
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "создать файл \"%s\" не удалось: %m"
 
-#: access/heap/rewriteheap.c:1157
+#: access/heap/rewriteheap.c:1149
 #, c-format
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "не удалось обрезать файл \"%s\" до нужного размера (%u): %m"
 
-#: access/heap/rewriteheap.c:1164 replication/walsender.c:464
-#: storage/smgr/md.c:1782
+#: access/heap/rewriteheap.c:1156 replication/walsender.c:465
+#: storage/smgr/md.c:1798
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "не удалось перейти к концу файла \"%s\": %m"
 
-#: access/heap/rewriteheap.c:1175 access/transam/timeline.c:367
+#: access/heap/rewriteheap.c:1167 access/transam/timeline.c:367
 #: access/transam/timeline.c:401 access/transam/timeline.c:491
-#: access/transam/xlog.c:3176 access/transam/xlog.c:3308
-#: postmaster/postmaster.c:4258 postmaster/postmaster.c:4268
-#: replication/logical/snapbuild.c:1576 replication/slot.c:1011
-#: storage/file/copydir.c:187 utils/init/miscinit.c:1057
-#: utils/init/miscinit.c:1066 utils/init/miscinit.c:1073 utils/misc/guc.c:6527
-#: utils/misc/guc.c:6558 utils/misc/guc.c:8268 utils/misc/guc.c:8282
-#: utils/time/snapmgr.c:981 utils/time/snapmgr.c:988
+#: access/transam/xlog.c:2977 access/transam/xlog.c:3141
+#: postmaster/postmaster.c:4286 postmaster/postmaster.c:4296
+#: replication/logical/origin.c:547 replication/logical/origin.c:583
+#: replication/logical/origin.c:599 replication/logical/snapbuild.c:1576
+#: replication/slot.c:1012 storage/file/copydir.c:187
+#: utils/init/miscinit.c:1179 utils/init/miscinit.c:1188
+#: utils/init/miscinit.c:1195 utils/misc/guc.c:6678 utils/misc/guc.c:6709
+#: utils/misc/guc.c:8527 utils/misc/guc.c:8541 utils/time/snapmgr.c:1076
+#: utils/time/snapmgr.c:1083
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "записать в файл \"%s\" не удалось: %m"
 
-#: access/heap/rewriteheap.c:1258 access/transam/xlog.c:10106
-#: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:467
-#: replication/logical/reorderbuffer.c:2353
-#: replication/logical/reorderbuffer.c:2410
+#: access/heap/rewriteheap.c:1250 access/transam/xlog.c:10321
+#: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:468
+#: replication/logical/origin.c:525 replication/logical/reorderbuffer.c:2421
+#: replication/logical/reorderbuffer.c:2478
 #: replication/logical/snapbuild.c:1520 replication/logical/snapbuild.c:1895
-#: replication/slot.c:1088 storage/ipc/dsm.c:326 storage/smgr/md.c:404
-#: storage/smgr/md.c:453 storage/smgr/md.c:1317
+#: replication/slot.c:1089 storage/ipc/dsm.c:326 storage/smgr/md.c:420
+#: storage/smgr/md.c:469 storage/smgr/md.c:1333
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "не удалось стереть файл \"%s\": %m"
 
-#: access/heap/rewriteheap.c:1272 access/transam/timeline.c:111
+#: access/heap/rewriteheap.c:1264 access/transam/timeline.c:111
 #: access/transam/timeline.c:236 access/transam/timeline.c:334
-#: access/transam/xlog.c:3117 access/transam/xlog.c:3224
-#: access/transam/xlog.c:3261 access/transam/xlog.c:3536
-#: access/transam/xlog.c:3614 replication/basebackup.c:458
-#: replication/basebackup.c:1191 replication/logical/logicalfuncs.c:152
-#: replication/logical/reorderbuffer.c:1966
-#: replication/logical/reorderbuffer.c:2173
-#: replication/logical/reorderbuffer.c:2802
+#: access/transam/xlog.c:2918 access/transam/xlog.c:3035
+#: access/transam/xlog.c:3076 access/transam/xlog.c:3367
+#: access/transam/xlog.c:3445 replication/basebackup.c:398
+#: replication/basebackup.c:1158 replication/logical/logicalfuncs.c:154
+#: replication/logical/origin.c:673 replication/logical/reorderbuffer.c:2038
+#: replication/logical/reorderbuffer.c:2242
+#: replication/logical/reorderbuffer.c:2869
 #: replication/logical/snapbuild.c:1569 replication/logical/snapbuild.c:1653
-#: replication/slot.c:1103 replication/walsender.c:457
-#: replication/walsender.c:2082 storage/file/copydir.c:155
-#: storage/file/fd.c:422 storage/smgr/md.c:586 storage/smgr/md.c:844
-#: utils/error/elog.c:1811 utils/init/miscinit.c:992
-#: utils/init/miscinit.c:1121 utils/misc/guc.c:6766 utils/misc/guc.c:6795
+#: replication/slot.c:1104 replication/walsender.c:458
+#: replication/walsender.c:2080 storage/file/copydir.c:155
+#: storage/file/fd.c:445 storage/file/fd.c:2653 storage/file/fd.c:2705
+#: storage/smgr/md.c:602 storage/smgr/md.c:860 utils/error/elog.c:1854
+#: utils/init/miscinit.c:1114 utils/init/miscinit.c:1243 utils/misc/guc.c:6921
+#: utils/misc/guc.c:6953
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "не удалось открыть файл \"%s\": %m"
 
-#: access/index/indexam.c:172 catalog/objectaddress.c:855
-#: commands/indexcmds.c:1725 commands/tablecmds.c:232
-#: commands/tablecmds.c:11270
+#: access/index/indexam.c:172 catalog/objectaddress.c:1144
+#: commands/indexcmds.c:1754 commands/tablecmds.c:238
+#: commands/tablecmds.c:11916
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "\"%s\" - это не индекс"
 
-#: access/nbtree/nbtinsert.c:401
+#: access/nbtree/nbtinsert.c:419
 #, c-format
 msgid "duplicate key value violates unique constraint \"%s\""
 msgstr "повторяющееся значение ключа нарушает ограничение уникальности \"%s\""
 
-#: access/nbtree/nbtinsert.c:403
+#: access/nbtree/nbtinsert.c:421
 #, c-format
 msgid "Key %s already exists."
 msgstr "Ключ \"%s\" уже существует."
 
-#: access/nbtree/nbtinsert.c:470
+#: access/nbtree/nbtinsert.c:488
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "не удалось повторно найти кортеж в индексе \"%s\""
 
-#: access/nbtree/nbtinsert.c:472
+#: access/nbtree/nbtinsert.c:490
 #, c-format
 msgid "This may be because of a non-immutable index expression."
 msgstr "Возможно, это вызвано переменной природой индексного выражения."
 
-#: access/nbtree/nbtinsert.c:552 access/nbtree/nbtsort.c:488
+#: access/nbtree/nbtinsert.c:570 access/nbtree/nbtsort.c:491
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -645,25 +729,25 @@ msgstr ""
 "Возможно, вам стоит применить индекс функции с MD5-хэшем значения или "
 "полнотекстовую индексацию."
 
-#: access/nbtree/nbtpage.c:166 access/nbtree/nbtpage.c:362
-#: access/nbtree/nbtpage.c:449 parser/parse_utilcmd.c:1620
+#: access/nbtree/nbtpage.c:168 access/nbtree/nbtpage.c:371
+#: access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1665
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "индекс \"%s\" не является b-деревом"
 
-#: access/nbtree/nbtpage.c:172 access/nbtree/nbtpage.c:368
-#: access/nbtree/nbtpage.c:455
+#: access/nbtree/nbtpage.c:174 access/nbtree/nbtpage.c:377
+#: access/nbtree/nbtpage.c:464
 #, c-format
 msgid "version mismatch in index \"%s\": file version %d, code version %d"
 msgstr ""
 "несовпадение версии в индексе \"%s\": версия файла: %d, версия кода: %d"
 
-#: access/nbtree/nbtpage.c:1187
+#: access/nbtree/nbtpage.c:1152
 #, c-format
 msgid "index \"%s\" contains a half-dead internal page"
 msgstr "индекс \"%s\" содержит полумёртвую внутреннюю страницу"
 
-#: access/nbtree/nbtpage.c:1189
+#: access/nbtree/nbtpage.c:1154
 #, c-format
 msgid ""
 "This can be caused by an interrupted VACUUM in version 9.3 or older, before "
@@ -677,7 +761,28 @@ msgstr ""
 msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
 msgstr "внутренний размер кортежа SP-GiST (%zu) превышает максимум (%zu)"
 
-#: access/transam/multixact.c:990
+#: access/tablesample/bernoulli.c:152 access/tablesample/system.c:156
+#, c-format
+msgid "sample percentage must be between 0 and 100"
+msgstr "процент выборки должен задаваться числом от 0 до 100"
+
+#: access/transam/commit_ts.c:273 access/transam/commit_ts.c:359
+#, c-format
+msgid "could not get commit timestamp data"
+msgstr "не удалось получить отметку времени фиксации"
+
+#: access/transam/commit_ts.c:274 access/transam/commit_ts.c:360
+#: libpq/hba.c:1424
+#, c-format
+msgid "Make sure the configuration parameter \"%s\" is set."
+msgstr "Убедитесь, что в конфигурации установлен параметр \"%s\"."
+
+#: access/transam/commit_ts.c:281
+#, c-format
+msgid "cannot retrieve commit timestamp for transaction %u"
+msgstr "не удалось получить метку времени фиксации транзакции %u"
+
+#: access/transam/multixact.c:1013
 #, c-format
 msgid ""
 "database is not accepting commands that generate new MultiXactIds to avoid "
@@ -686,8 +791,8 @@ msgstr ""
 "база данных не принимает команды, создающие новые MultiXactId, во избежание "
 "потери данных из-за наложения в базе данных \"%s\""
 
-#: access/transam/multixact.c:992 access/transam/multixact.c:999
-#: access/transam/multixact.c:1014 access/transam/multixact.c:1023
+#: access/transam/multixact.c:1015 access/transam/multixact.c:1022
+#: access/transam/multixact.c:1046 access/transam/multixact.c:1055
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
@@ -697,7 +802,7 @@ msgstr ""
 "Возможно, вам также придётся зафиксировать или откатить старые\n"
 "подготовленные транзакции."
 
-#: access/transam/multixact.c:997
+#: access/transam/multixact.c:1020
 #, c-format
 msgid ""
 "database is not accepting commands that generate new MultiXactIds to avoid "
@@ -706,7 +811,7 @@ msgstr ""
 "база данных не принимает команды, создающие новые MultiXactId, во избежание "
 "потери данных из-за наложения в базе данных с OID %u"
 
-#: access/transam/multixact.c:1009 access/transam/multixact.c:2201
+#: access/transam/multixact.c:1041 access/transam/multixact.c:2305
 #, c-format
 msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
 msgid_plural ""
@@ -721,7 +826,7 @@ msgstr[2] ""
 "база данных \"%s\" должна быть очищена, прежде чем будут использованы "
 "оставшиеся MultiXactId (%u)"
 
-#: access/transam/multixact.c:1018 access/transam/multixact.c:2210
+#: access/transam/multixact.c:1050 access/transam/multixact.c:2314
 #, c-format
 msgid ""
 "database with OID %u must be vacuumed before %u more MultiXactId is used"
@@ -737,26 +842,78 @@ msgstr[2] ""
 "база данных с OID %u должна быть очищена, прежде чем будут использованы "
 "оставшиеся MultiXactId (%u)"
 
-#: access/transam/multixact.c:1169
+#: access/transam/multixact.c:1111
+#, c-format
+msgid "multixact \"members\" limit exceeded"
+msgstr "слишком много членов мультитранзакции"
+
+#: access/transam/multixact.c:1112
+#, c-format
+msgid ""
+"This command would create a multixact with %u members, but the remaining "
+"space is only enough for %u member."
+msgid_plural ""
+"This command would create a multixact with %u members, but the remaining "
+"space is only enough for %u members."
+msgstr[0] ""
+"Мультитранзакция, создаваемая этой командой, должна включать членов: %u, но "
+"оставшегося места хватает только для %u."
+msgstr[1] ""
+"Мультитранзакция, создаваемая этой командой, должна включать членов: %u, но "
+"оставшегося места хватает только для %u."
+msgstr[2] ""
+"Мультитранзакция, создаваемая этой командой, должна включать членов: %u, но "
+"оставшегося места хватает только для %u."
+
+#: access/transam/multixact.c:1117
+#, c-format
+msgid ""
+"Execute a database-wide VACUUM in database with OID %u with reduced "
+"vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age "
+"settings."
+msgstr ""
+"Выполните очистку (VACUUM) всей базы данных с OID %u, уменьшив значения "
+"vacuum_multixact_freeze_min_age и vacuum_multixact_freeze_table_age."
+
+#: access/transam/multixact.c:1148
+#, c-format
+msgid ""
+"database with OID %u must be vacuumed before %d more multixact members are "
+"used"
+msgstr ""
+"база данных с OID %u должна быть очищена, пока не использованы оставшиеся "
+"члены мультитранзакций: %d"
+
+#: access/transam/multixact.c:1151
+#, c-format
+msgid ""
+"Execute a database-wide VACUUM in that database with reduced "
+"vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age "
+"settings."
+msgstr ""
+"Выполните очистку (VACUUM) всей этой базы данных, уменьшив значения "
+"vacuum_multixact_freeze_min_age и vacuum_multixact_freeze_table_age."
+
+#: access/transam/multixact.c:1289
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "MultiXactId %u прекратил существование: видимо, произошло наложение"
 
-#: access/transam/multixact.c:1177
+#: access/transam/multixact.c:1297
 #, c-format
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "MultiXactId %u ещё не был создан: видимо, произошло наложение"
 
-#: access/transam/multixact.c:2166
+#: access/transam/multixact.c:2267
 #, c-format
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr ""
 "предел наложения MultiXactId равен %u, источник ограничения - база данных с "
 "OID %u"
 
-#: access/transam/multixact.c:2206 access/transam/multixact.c:2215
-#: access/transam/varsup.c:137 access/transam/varsup.c:144
-#: access/transam/varsup.c:374 access/transam/varsup.c:381
+#: access/transam/multixact.c:2310 access/transam/multixact.c:2319
+#: access/transam/varsup.c:146 access/transam/varsup.c:153
+#: access/transam/varsup.c:384 access/transam/varsup.c:391
 #, c-format
 msgid ""
 "To avoid a database shutdown, execute a database-wide VACUUM in that "
@@ -767,11 +924,80 @@ msgstr ""
 "Возможно, вам также придётся зафиксировать или откатить старые\n"
 "подготовленные транзакции."
 
-#: access/transam/multixact.c:2799
+#: access/transam/multixact.c:2578
+#, c-format
+msgid ""
+"MultiXact member wraparound protections are disabled because oldest "
+"checkpointed MultiXact %u does not exist on disk"
+msgstr ""
+"Защита от наложения членов мультитранзакций отключена, так как старейшая "
+"отмеченная мультитранзакция %u не найдена на диске"
+
+#: access/transam/multixact.c:2601
+#, c-format
+msgid "MultiXact member wraparound protections are now enabled"
+msgstr "Защита от наложения мультитранзакций сейчас включена"
+
+#: access/transam/multixact.c:2603
+#, c-format
+msgid "MultiXact member stop limit is now %u based on MultiXact %u"
+msgstr ""
+"Граница членов мультитранзакции сейчас: %u (при старейшей мультитранзакции "
+"%u)"
+
+#: access/transam/multixact.c:2690
+#, c-format
+msgid "oldest MultiXactId member is at offset %u"
+msgstr "смещение членов старейшей мультитранзакции: %u"
+
+#: access/transam/multixact.c:2694
+#, c-format
+msgid "oldest MultiXactId member offset unknown"
+msgstr "смещение членов старейшей мультитранзакции неизвестно"
+
+#: access/transam/multixact.c:3043
+#, c-format
+msgid ""
+"oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation"
+msgstr ""
+"старейшая мультитранзакция %u не найдена, новейшая мультитранзакция: %u, "
+"усечение пропускается"
+
+#: access/transam/multixact.c:3275
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "неверный MultiXactId: %u"
 
+#: access/transam/parallel.c:574
+#, c-format
+msgid "postmaster exited during a parallel transaction"
+msgstr "postmaster завершился в процессе параллельной транзакции"
+
+#: access/transam/parallel.c:665
+#, c-format
+msgid "lost connection to parallel worker"
+msgstr "потеряно подключение к параллельному исполнителю"
+
+#: access/transam/parallel.c:835
+#, c-format
+msgid "unable to map dynamic shared memory segment"
+msgstr "не удалось отобразить динамический сегмент разделяемой памяти"
+
+#: access/transam/parallel.c:840
+#, c-format
+msgid "bad magic number in dynamic shared memory segment"
+msgstr "неверное магическое число в динамическом сегменте разделяемой памяти"
+
+#: access/transam/parallel.c:853
+#, c-format
+msgid "too many parallel workers already attached"
+msgstr "уже подключено слишком много параллельных исполнителей"
+
+#: access/transam/parallel.c:993
+#, c-format
+msgid "parallel worker, pid %d"
+msgstr "параллельный исполнитель, pid %d"
+
 #: access/transam/slru.c:651
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
@@ -792,17 +1018,17 @@ msgstr "Не удалось открыть файл \"%s\": %m."
 #: access/transam/slru.c:888
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %u: %m."
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¿ÐµÑ\80емеÑ\81Ñ\82иÑ\82Ñ\8cÑ\81Ñ\8f Ð² Ñ\84айле \"%s\" Ðº Ñ\81меÑ\89ениÑ\8e %u: %m"
+msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ð¿ÐµÑ\80емеÑ\81Ñ\82иÑ\82Ñ\8cÑ\81Ñ\8f Ð² Ñ\84айле \"%s\" Ðº Ñ\81меÑ\89ениÑ\8e %u: %m."
 
 #: access/transam/slru.c:895
 #, c-format
 msgid "Could not read from file \"%s\" at offset %u: %m."
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð¿Ñ\80оÑ\87иÑ\82аÑ\82Ñ\8c Ñ\84айл \"%s\" (по Ñ\81меÑ\89ениÑ\8e %u): %m"
+msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ð¿Ñ\80оÑ\87иÑ\82аÑ\82Ñ\8c Ñ\84айл \"%s\" (по Ñ\81меÑ\89ениÑ\8e %u): %m."
 
 #: access/transam/slru.c:902
 #, c-format
 msgid "Could not write to file \"%s\" at offset %u: %m."
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81аÑ\82Ñ\8c Ð² Ñ\84айл \"%s\" (по Ñ\81меÑ\89ениÑ\8e %u): %m"
+msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ð·Ð°Ð¿Ð¸Ñ\81аÑ\82Ñ\8c Ð² Ñ\84айл \"%s\" (по Ñ\81меÑ\89ениÑ\8e %u): %m."
 
 #: access/transam/slru.c:909
 #, c-format
@@ -812,7 +1038,7 @@ msgstr "Не удалось синхронизировать с ФС файл \"
 #: access/transam/slru.c:916
 #, c-format
 msgid "Could not close file \"%s\": %m."
-msgstr "не Ñ\83далоÑ\81Ñ\8c Ð·Ð°ÐºÑ\80Ñ\8bÑ\82Ñ\8c Ñ\84айл \"%s\": %m"
+msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ð·Ð°ÐºÑ\80Ñ\8bÑ\82Ñ\8c Ñ\84айл \"%s\": %m."
 
 #: access/transam/slru.c:1171
 #, c-format
@@ -827,12 +1053,12 @@ msgstr "удаляется файл \"%s\""
 #: access/transam/timeline.c:148 access/transam/timeline.c:153
 #, c-format
 msgid "syntax error in history file: %s"
-msgstr "ошибка синтаксиса в файле истории: %s"
+msgstr "синтаксическая ошибка в файле истории: %s"
 
 #: access/transam/timeline.c:149
 #, c-format
 msgid "Expected a numeric timeline ID."
-msgstr "Ð\9eжидаеÑ\82Ñ\81Ñ\8f Ñ\87иÑ\81ловое Ð·Ð½Ð°Ñ\87ение ID линии времени."
+msgstr "Ð\9eжидаеÑ\82Ñ\81Ñ\8f Ñ\87иÑ\81ловой Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80 линии времени."
 
 #: access/transam/timeline.c:154
 #, c-format
@@ -847,7 +1073,7 @@ msgstr "неверные данные в файле истории: %s"
 #: access/transam/timeline.c:159
 #, c-format
 msgid "Timeline IDs must be in increasing sequence."
-msgstr "ID линии времени должны идти в порядке возрастания."
+msgstr "Идентификаторы линий времени должны возрастать."
 
 #: access/transam/timeline.c:179
 #, c-format
@@ -858,22 +1084,24 @@ msgstr "неверные данные в файле истории \"%s\""
 #, c-format
 msgid "Timeline IDs must be less than child timeline's ID."
 msgstr ""
-"ID линии времени должны быть меньше, чем ID линии времени, ответвившейся от "
-"неё."
+"Идентификаторы линий времени должны быть меньше идентификатора линии-потомка."
 
-#: access/transam/timeline.c:346 access/transam/xlog.c:3289
-#: access/transam/xlog.c:10088 access/transam/xlog.c:10101
-#: access/transam/xlog.c:10469 access/transam/xlog.c:10512
-#: access/transam/xlogfuncs.c:468 access/transam/xlogfuncs.c:487
-#: replication/logical/reorderbuffer.c:2820 replication/walsender.c:482
-#: storage/file/copydir.c:176 utils/adt/genfile.c:139
+#: access/transam/timeline.c:346 access/transam/xlog.c:3119
+#: access/transam/xlog.c:10303 access/transam/xlog.c:10316
+#: access/transam/xlog.c:10679 access/transam/xlog.c:10722
+#: access/transam/xlog.c:10761 access/transam/xlog.c:10804
+#: access/transam/xlogfuncs.c:478 access/transam/xlogfuncs.c:497
+#: commands/extension.c:3047 replication/logical/origin.c:680
+#: replication/logical/origin.c:710 replication/logical/reorderbuffer.c:2887
+#: replication/walsender.c:483 storage/file/copydir.c:176
+#: utils/adt/genfile.c:151
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "не удалось прочитать файл \"%s\": %m"
 
 #: access/transam/timeline.c:412 access/transam/timeline.c:502
-#: access/transam/xlog.c:3191 access/transam/xlog.c:3320
-#: access/transam/xlogfuncs.c:493 commands/copy.c:1529
+#: access/transam/xlog.c:2992 access/transam/xlog.c:3153
+#: access/transam/xlogfuncs.c:503 commands/copy.c:1620
 #: storage/file/copydir.c:201
 #, c-format
 msgid "could not close file \"%s\": %m"
@@ -885,12 +1113,13 @@ msgid "could not link file \"%s\" to \"%s\": %m"
 msgstr "для файла \"%s\" не удалось создать ссылку \"%s\": %m"
 
 #: access/transam/timeline.c:436 access/transam/timeline.c:526
-#: access/transam/xlog.c:5403 access/transam/xlog.c:6503
-#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:475
-#: access/transam/xlogarchive.c:582 postmaster/pgarch.c:759
-#: replication/logical/snapbuild.c:1606 replication/slot.c:469
-#: replication/slot.c:925 replication/slot.c:1037 utils/misc/guc.c:6819
-#: utils/time/snapmgr.c:999
+#: access/transam/xlog.c:5274 access/transam/xlog.c:6463
+#: access/transam/xlog.c:6480 access/transam/xlog.c:7262
+#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:476
+#: access/transam/xlogarchive.c:586 postmaster/pgarch.c:734
+#: replication/logical/origin.c:620 replication/logical/snapbuild.c:1606
+#: replication/slot.c:470 replication/slot.c:926 replication/slot.c:1038
+#: utils/misc/guc.c:6977 utils/time/snapmgr.c:1094
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m"
@@ -900,59 +1129,59 @@ msgstr "не удалось переименовать файл \"%s\" в \"%s\"
 msgid "requested timeline %u is not in this server's history"
 msgstr "в истории сервера нет запрошенной линии времени %u"
 
-#: access/transam/twophase.c:330
+#: access/transam/twophase.c:328
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "идентификатор транзакции \"%s\" слишком длинный"
 
-#: access/transam/twophase.c:337
+#: access/transam/twophase.c:335
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "подготовленные транзакции отключены"
 
-#: access/transam/twophase.c:338
+#: access/transam/twophase.c:336
 #, c-format
 msgid "Set max_prepared_transactions to a nonzero value."
 msgstr "Установите ненулевое значение параметра max_prepared_transactions."
 
-#: access/transam/twophase.c:357
+#: access/transam/twophase.c:355
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "идентификатор транзакции \"%s\" уже используется"
 
-#: access/transam/twophase.c:366
+#: access/transam/twophase.c:364
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "достигнут предел числа подготовленных транзакций"
 
-#: access/transam/twophase.c:367
+#: access/transam/twophase.c:365
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Увеличьте параметр max_prepared_transactions (текущее значение %d)."
 
-#: access/transam/twophase.c:505
+#: access/transam/twophase.c:502
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "подготовленная транзакция с идентификатором \"%s\" занята"
 
-#: access/transam/twophase.c:511
+#: access/transam/twophase.c:508
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "нет доступа для завершения подготовленной транзакции "
 
-#: access/transam/twophase.c:512
+#: access/transam/twophase.c:509
 #, c-format
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr ""
 "Это разрешено только суперпользователю и пользователю, подготовившему "
 "транзакцию."
 
-#: access/transam/twophase.c:523
+#: access/transam/twophase.c:520
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "подготовленная транзакция относится к другой базе данных"
 
-#: access/transam/twophase.c:524
+#: access/transam/twophase.c:521
 #, c-format
 msgid ""
 "Connect to the database where the transaction was prepared to finish it."
@@ -961,106 +1190,106 @@ msgstr ""
 "подготовлена."
 
 # [SM]: TO REVIEW
-#: access/transam/twophase.c:539
+#: access/transam/twophase.c:536
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "подготовленной транзакции с идентификатором \"%s\" нет"
 
-#: access/transam/twophase.c:1042
+#: access/transam/twophase.c:1046
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr "превышен предельный размер файла состояния 2PC"
 
-#: access/transam/twophase.c:1055
+#: access/transam/twophase.c:1059
 #, c-format
 msgid "could not create two-phase state file \"%s\": %m"
 msgstr "не удалось создать файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1069 access/transam/twophase.c:1086
-#: access/transam/twophase.c:1135 access/transam/twophase.c:1564
-#: access/transam/twophase.c:1571
+#: access/transam/twophase.c:1073 access/transam/twophase.c:1090
+#: access/transam/twophase.c:1143 access/transam/twophase.c:1573
+#: access/transam/twophase.c:1580
 #, c-format
 msgid "could not write two-phase state file: %m"
 msgstr "не удалось записать в файл состояния 2PC: %m"
 
-#: access/transam/twophase.c:1095
+#: access/transam/twophase.c:1099
 #, c-format
 msgid "could not seek in two-phase state file: %m"
 msgstr "не удалось переместиться в файле состояния 2PC: %m"
 
-#: access/transam/twophase.c:1141 access/transam/twophase.c:1589
+#: access/transam/twophase.c:1149 access/transam/twophase.c:1598
 #, c-format
 msgid "could not close two-phase state file: %m"
 msgstr "не удалось закрыть файл состояния 2PC: %m"
 
-#: access/transam/twophase.c:1228 access/transam/twophase.c:1670
+#: access/transam/twophase.c:1237 access/transam/twophase.c:1679
 #, c-format
 msgid "could not open two-phase state file \"%s\": %m"
 msgstr "не удалось открыть файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1245
+#: access/transam/twophase.c:1254
 #, c-format
 msgid "could not stat two-phase state file \"%s\": %m"
 msgstr "не удалось получить информацию о файле состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1277
+#: access/transam/twophase.c:1286
 #, c-format
 msgid "could not read two-phase state file \"%s\": %m"
 msgstr "не удалось прочитать файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1373
+#: access/transam/twophase.c:1382
 #, c-format
 msgid "two-phase state file for transaction %u is corrupt"
 msgstr "в файле состояния 2PC испорчена информация о транзакции %u"
 
-#: access/transam/twophase.c:1526
+#: access/transam/twophase.c:1535
 #, c-format
 msgid "could not remove two-phase state file \"%s\": %m"
 msgstr "не удалось стереть файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1555
+#: access/transam/twophase.c:1564
 #, c-format
 msgid "could not recreate two-phase state file \"%s\": %m"
 msgstr "не удалось пересоздать файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1583
+#: access/transam/twophase.c:1592
 #, c-format
 msgid "could not fsync two-phase state file: %m"
 msgstr "не удалось синхронизировать с ФС файл состояния 2PC: %m"
 
-#: access/transam/twophase.c:1679
+#: access/transam/twophase.c:1688
 #, c-format
 msgid "could not fsync two-phase state file \"%s\": %m"
 msgstr "не удалось синхронизировать с ФС файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1686
+#: access/transam/twophase.c:1695
 #, c-format
 msgid "could not close two-phase state file \"%s\": %m"
 msgstr "не удалось закрыть файл состояния 2PC \"%s\": %m"
 
-#: access/transam/twophase.c:1751
+#: access/transam/twophase.c:1760
 #, c-format
 msgid "removing future two-phase state file \"%s\""
 msgstr "удаление будущего файла состояния 2PC \"%s\""
 
-#: access/transam/twophase.c:1767 access/transam/twophase.c:1778
-#: access/transam/twophase.c:1897 access/transam/twophase.c:1908
-#: access/transam/twophase.c:1981
+#: access/transam/twophase.c:1776 access/transam/twophase.c:1787
+#: access/transam/twophase.c:1906 access/transam/twophase.c:1917
+#: access/transam/twophase.c:1990
 #, c-format
 msgid "removing corrupt two-phase state file \"%s\""
 msgstr "удаление испорченного файла состояния 2PC \"%s\""
 
-#: access/transam/twophase.c:1886 access/transam/twophase.c:1970
+#: access/transam/twophase.c:1895 access/transam/twophase.c:1979
 #, c-format
 msgid "removing stale two-phase state file \"%s\""
 msgstr "удаление устаревшего файла состояния 2PC \"%s\""
 
-#: access/transam/twophase.c:1988
+#: access/transam/twophase.c:1997
 #, c-format
 msgid "recovering prepared transaction %u"
 msgstr "восстановление подготовленной транзакции %u"
 
-#: access/transam/varsup.c:115
+#: access/transam/varsup.c:124
 #, c-format
 msgid ""
 "database is not accepting commands to avoid wraparound data loss in database "
@@ -1069,7 +1298,7 @@ msgstr ""
 "база данных не принимает команды во избежание потери данных из-за наложения "
 "в базе данных \"%s\""
 
-#: access/transam/varsup.c:117 access/transam/varsup.c:124
+#: access/transam/varsup.c:126 access/transam/varsup.c:133
 #, c-format
 msgid ""
 "Stop the postmaster and vacuum that database in single-user mode.\n"
@@ -1080,7 +1309,7 @@ msgstr ""
 "Возможно, вам также придётся зафиксировать или откатить старые\n"
 "подготовленные транзакции."
 
-#: access/transam/varsup.c:122
+#: access/transam/varsup.c:131
 #, c-format
 msgid ""
 "database is not accepting commands to avoid wraparound data loss in database "
@@ -1089,60 +1318,60 @@ msgstr ""
 "база данных не принимает команды во избежание потери данных из-за наложения "
 "в базе данных с OID %u"
 
-#: access/transam/varsup.c:134 access/transam/varsup.c:371
+#: access/transam/varsup.c:143 access/transam/varsup.c:381
 #, c-format
 msgid "database \"%s\" must be vacuumed within %u transactions"
 msgstr ""
 "база данных \"%s\" должна быть очищена (предельное число транзакций: %u)"
 
-#: access/transam/varsup.c:141 access/transam/varsup.c:378
+#: access/transam/varsup.c:150 access/transam/varsup.c:388
 #, c-format
 msgid "database with OID %u must be vacuumed within %u transactions"
 msgstr ""
 "база данных с OID %u должна быть очищена (предельное число транзакций: %u)"
 
-#: access/transam/varsup.c:336
+#: access/transam/varsup.c:346
 #, c-format
 msgid "transaction ID wrap limit is %u, limited by database with OID %u"
 msgstr ""
 "предел наложения ID транзакций равен %u, источник ограничения - база данных "
 "с OID %u"
 
-#: access/transam/xact.c:814
+#: access/transam/xact.c:943
 #, c-format
 msgid "cannot have more than 2^32-2 commands in a transaction"
 msgstr "в одной транзакции не может быть больше 2^32-2 команд"
 
-#: access/transam/xact.c:1375
+#: access/transam/xact.c:1441
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "превышен предел числа зафиксированных подтранзакций (%d)"
 
-#: access/transam/xact.c:2156
+#: access/transam/xact.c:2235
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary tables"
 msgstr ""
 "выполнить PREPARE для транзакции, оперирующей с временными таблицами, нельзя"
 
-#: access/transam/xact.c:2166
+#: access/transam/xact.c:2245
 #, c-format
 msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "нельзя выполнить PREPARE для транзакции, снимки которой экспортированы"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3005
+#: access/transam/xact.c:3123
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s не может выполняться внутри блока транзакции"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3015
+#: access/transam/xact.c:3133
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s не может выполняться внутри подтранзакции"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3025
+#: access/transam/xact.c:3143
 #, c-format
 msgid "%s cannot be executed from a function or multi-command string"
 msgstr ""
@@ -1150,140 +1379,176 @@ msgstr ""
 "команд"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3096
+#: access/transam/xact.c:3214
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "%s может выполняться только внутри блоков транзакций"
 
-#: access/transam/xact.c:3279
+#: access/transam/xact.c:3398
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "транзакция уже выполняется"
 
-#: access/transam/xact.c:3447 access/transam/xact.c:3540
+#: access/transam/xact.c:3566 access/transam/xact.c:3669
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "нет незавершённой транзакции"
 
-#: access/transam/xact.c:3636 access/transam/xact.c:3687
-#: access/transam/xact.c:3693 access/transam/xact.c:3737
-#: access/transam/xact.c:3786 access/transam/xact.c:3792
+#: access/transam/xact.c:3577
+#, c-format
+msgid "cannot commit during a parallel operation"
+msgstr "фиксировать транзакции во время параллельных операций нельзя"
+
+#: access/transam/xact.c:3680
+#, c-format
+msgid "cannot abort during a parallel operation"
+msgstr "прерывание во время параллельных операций невозможно"
+
+#: access/transam/xact.c:3722
+#, c-format
+msgid "cannot define savepoints during a parallel operation"
+msgstr "определять точки сохранения во время параллельных операций нельзя"
+
+#: access/transam/xact.c:3789
+#, c-format
+msgid "cannot release savepoints during a parallel operation"
+msgstr "высвобождать точки сохранения во время параллельных операций нельзя"
+
+#: access/transam/xact.c:3800 access/transam/xact.c:3852
+#: access/transam/xact.c:3858 access/transam/xact.c:3914
+#: access/transam/xact.c:3964 access/transam/xact.c:3970
 #, c-format
 msgid "no such savepoint"
 msgstr "нет такой точки сохранения"
 
-#: access/transam/xact.c:4469
+#: access/transam/xact.c:3902
+#, c-format
+msgid "cannot rollback to savepoints during a parallel operation"
+msgstr "откатиться к точке сохранения во время параллельных операций нельзя"
+
+#: access/transam/xact.c:4030
+#, c-format
+msgid "cannot start subtransactions during a parallel operation"
+msgstr "запускать подтранзакции во время параллельных операций нельзя"
+
+#: access/transam/xact.c:4097
+#, c-format
+msgid "cannot commit subtransactions during a parallel operation"
+msgstr "фиксировать подтранзакции во время параллельных операций нельзя"
+
+#: access/transam/xact.c:4702
 #, c-format
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "в одной транзакции не может быть больше 2^32-1 подтранзакций"
 
-#: access/transam/xlog.c:2416
+#: access/transam/xlog.c:2245
 #, c-format
 msgid "could not seek in log file %s to offset %u: %m"
 msgstr "не удалось переместиться в файле журнала %s к смещению %u: %m"
 
-#: access/transam/xlog.c:2436
+#: access/transam/xlog.c:2265
 #, c-format
 msgid "could not write to log file %s at offset %u, length %zu: %m"
 msgstr "не удалось записать в файл журнала %s (смещение: %u, длина: %zu): %m"
 
-#: access/transam/xlog.c:2712
+#: access/transam/xlog.c:2528
 #, c-format
 msgid "updated min recovery point to %X/%X on timeline %u"
 msgstr "минимальная точка восстановления изменена на %X/%X на линии времени %u"
 
-#: access/transam/xlog.c:3292
+#: access/transam/xlog.c:3123
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "недостаточно данных в файле\"%s\""
 
-#: access/transam/xlog.c:3411
+#: access/transam/xlog.c:3242
 #, c-format
 msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m"
 msgstr ""
 "для файла \"%s\" не удалось создать ссылку \"%s\" (при инициализации файла "
 "журнала): %m"
 
-#: access/transam/xlog.c:3423
+#: access/transam/xlog.c:3254
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m"
 msgstr ""
 "не удалось переименовать файл \"%s\" в \"%s\" (при инициализации файла "
 "журнала): %m"
 
-#: access/transam/xlog.c:3451
+#: access/transam/xlog.c:3282
 #, c-format
 msgid "could not open transaction log file \"%s\": %m"
 msgstr "не удалось открыть файл журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:3640
+#: access/transam/xlog.c:3471 access/transam/xlog.c:5244
 #, c-format
 msgid "could not close log file %s: %m"
 msgstr "не удалось закрыть файл журнала \"%s\": %m"
 
-#: access/transam/xlog.c:3699 replication/logical/logicalfuncs.c:147
-#: replication/walsender.c:2077
+#: access/transam/xlog.c:3528 replication/logical/logicalfuncs.c:149
+#: replication/walsender.c:2075
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "запрошенный сегмент WAL %s уже удалён"
 
-#: access/transam/xlog.c:3777 access/transam/xlog.c:3954
+#: access/transam/xlog.c:3588 access/transam/xlog.c:3663
+#: access/transam/xlog.c:3861
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "не удалось открыть каталог журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:3825
+#: access/transam/xlog.c:3744
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "файл журнала транзакций \"%s\" используется повторно"
 
-#: access/transam/xlog.c:3841
+#: access/transam/xlog.c:3756
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "файл журнала транзакций \"%s\" удаляется"
 
-#: access/transam/xlog.c:3864
+#: access/transam/xlog.c:3776
 #, c-format
 msgid "could not rename old transaction log file \"%s\": %m"
 msgstr "не удалось переименовать старый файл журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:3876
+#: access/transam/xlog.c:3788
 #, c-format
 msgid "could not remove old transaction log file \"%s\": %m"
 msgstr "не удалось стереть старый файл журнала транзакций \"%s\": %m"
 
-#: access/transam/xlog.c:3914 access/transam/xlog.c:3924
+#: access/transam/xlog.c:3821 access/transam/xlog.c:3831
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "требуемый каталог WAL \"%s\" не существует"
 
-#: access/transam/xlog.c:3930
+#: access/transam/xlog.c:3837
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "создаётся отсутствующий каталог WAL \"%s\""
 
-#: access/transam/xlog.c:3933
+#: access/transam/xlog.c:3840
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "не удалось создать отсутствующий каталог \"%s\": %m"
 
-#: access/transam/xlog.c:3967
+#: access/transam/xlog.c:3871
 #, c-format
 msgid "removing transaction log backup history file \"%s\""
 msgstr "удаляется файл истории копирования журнала: \"%s\""
 
-#: access/transam/xlog.c:4159
+#: access/transam/xlog.c:3952
 #, c-format
 msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgstr "неожиданный ID линии времени %u в сегменте журнала %s, смещение %u"
 
-#: access/transam/xlog.c:4281
+#: access/transam/xlog.c:4074
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr ""
 "новая линия времени %u не является ответвлением линии времени системы БД %u"
 
-#: access/transam/xlog.c:4295
+#: access/transam/xlog.c:4088
 #, c-format
 msgid ""
 "new timeline %u forked off current database system timeline %u before "
@@ -1292,56 +1557,56 @@ msgstr ""
 "новая линия времени %u ответвилась от текущей линии времени базы данных %u "
 "до текущей точки восстановления %X/%X"
 
-#: access/transam/xlog.c:4314
+#: access/transam/xlog.c:4107
 #, c-format
 msgid "new target timeline is %u"
 msgstr "новая целевая линия времени %u"
 
-#: access/transam/xlog.c:4394
+#: access/transam/xlog.c:4187
 #, c-format
 msgid "could not create control file \"%s\": %m"
 msgstr "не удалось создать файл \"%s\": %m"
 
-#: access/transam/xlog.c:4405 access/transam/xlog.c:4641
+#: access/transam/xlog.c:4198 access/transam/xlog.c:4434
 #, c-format
 msgid "could not write to control file: %m"
 msgstr "не удалось записать в файл pg_control: %m"
 
-#: access/transam/xlog.c:4411 access/transam/xlog.c:4647
+#: access/transam/xlog.c:4204 access/transam/xlog.c:4440
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "не удалось синхронизировать с ФС файл pg_control: %m"
 
-#: access/transam/xlog.c:4416 access/transam/xlog.c:4652
+#: access/transam/xlog.c:4209 access/transam/xlog.c:4445
 #, c-format
 msgid "could not close control file: %m"
 msgstr "не удалось закрыть файл pg_control: %m"
 
-#: access/transam/xlog.c:4434 access/transam/xlog.c:4630
+#: access/transam/xlog.c:4227 access/transam/xlog.c:4423
 #, c-format
 msgid "could not open control file \"%s\": %m"
 msgstr "не удалось открыть файл \"%s\": %m"
 
-#: access/transam/xlog.c:4440
+#: access/transam/xlog.c:4233
 #, c-format
 msgid "could not read from control file: %m"
 msgstr "не удалось прочитать файл pg_control: %m"
 
-#: access/transam/xlog.c:4453 access/transam/xlog.c:4462
-#: access/transam/xlog.c:4486 access/transam/xlog.c:4493
-#: access/transam/xlog.c:4500 access/transam/xlog.c:4505
-#: access/transam/xlog.c:4512 access/transam/xlog.c:4519
-#: access/transam/xlog.c:4526 access/transam/xlog.c:4533
-#: access/transam/xlog.c:4540 access/transam/xlog.c:4547
-#: access/transam/xlog.c:4554 access/transam/xlog.c:4563
-#: access/transam/xlog.c:4570 access/transam/xlog.c:4579
-#: access/transam/xlog.c:4586 access/transam/xlog.c:4595
-#: access/transam/xlog.c:4602 utils/init/miscinit.c:1139
+#: access/transam/xlog.c:4246 access/transam/xlog.c:4255
+#: access/transam/xlog.c:4279 access/transam/xlog.c:4286
+#: access/transam/xlog.c:4293 access/transam/xlog.c:4298
+#: access/transam/xlog.c:4305 access/transam/xlog.c:4312
+#: access/transam/xlog.c:4319 access/transam/xlog.c:4326
+#: access/transam/xlog.c:4333 access/transam/xlog.c:4340
+#: access/transam/xlog.c:4347 access/transam/xlog.c:4356
+#: access/transam/xlog.c:4363 access/transam/xlog.c:4372
+#: access/transam/xlog.c:4379 access/transam/xlog.c:4388
+#: access/transam/xlog.c:4395 utils/init/miscinit.c:1261
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "файлы базы данных не совместимы с сервером"
 
-#: access/transam/xlog.c:4454
+#: access/transam/xlog.c:4247
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), "
@@ -1350,7 +1615,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d (0x%08x), но "
 "сервер скомпилирован с PG_CONTROL_VERSION %d (0x%08x)."
 
-#: access/transam/xlog.c:4458
+#: access/transam/xlog.c:4251
 #, c-format
 msgid ""
 "This could be a problem of mismatched byte ordering.  It looks like you need "
@@ -1359,7 +1624,7 @@ msgstr ""
 "Возможно, проблема вызвана разным порядком байт. Кажется, вам надо выполнить "
 "initdb."
 
-#: access/transam/xlog.c:4463
+#: access/transam/xlog.c:4256
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d, but the "
@@ -1368,18 +1633,18 @@ msgstr ""
 "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d, но сервер "
 "скомпилирован с PG_CONTROL_VERSION %d."
 
-#: access/transam/xlog.c:4466 access/transam/xlog.c:4490
-#: access/transam/xlog.c:4497 access/transam/xlog.c:4502
+#: access/transam/xlog.c:4259 access/transam/xlog.c:4283
+#: access/transam/xlog.c:4290 access/transam/xlog.c:4295
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Кажется, вам надо выполнить initdb."
 
-#: access/transam/xlog.c:4477
+#: access/transam/xlog.c:4270
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "ошибка контрольной суммы в файле pg_control"
 
-#: access/transam/xlog.c:4487
+#: access/transam/xlog.c:4280
 #, c-format
 msgid ""
 "The database cluster was initialized with CATALOG_VERSION_NO %d, but the "
@@ -1388,7 +1653,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с CATALOG_VERSION_NO %d, но сервер "
 "скомпилирован с CATALOG_VERSION_NO %d."
 
-#: access/transam/xlog.c:4494
+#: access/transam/xlog.c:4287
 #, c-format
 msgid ""
 "The database cluster was initialized with MAXALIGN %d, but the server was "
@@ -1397,7 +1662,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с MAXALIGN %d, но сервер "
 "скомпилирован с MAXALIGN %d."
 
-#: access/transam/xlog.c:4501
+#: access/transam/xlog.c:4294
 #, c-format
 msgid ""
 "The database cluster appears to use a different floating-point number format "
@@ -1406,7 +1671,7 @@ msgstr ""
 "Кажется, в кластере баз данных и в программе сервера используются разные "
 "форматы чисел с плавающей точкой."
 
-#: access/transam/xlog.c:4506
+#: access/transam/xlog.c:4299
 #, c-format
 msgid ""
 "The database cluster was initialized with BLCKSZ %d, but the server was "
@@ -1415,18 +1680,18 @@ msgstr ""
 "Кластер баз данных был инициализирован с BLCKSZ %d, но сервер скомпилирован "
 "с BLCKSZ %d."
 
-#: access/transam/xlog.c:4509 access/transam/xlog.c:4516
-#: access/transam/xlog.c:4523 access/transam/xlog.c:4530
-#: access/transam/xlog.c:4537 access/transam/xlog.c:4544
-#: access/transam/xlog.c:4551 access/transam/xlog.c:4558
-#: access/transam/xlog.c:4566 access/transam/xlog.c:4573
-#: access/transam/xlog.c:4582 access/transam/xlog.c:4589
-#: access/transam/xlog.c:4598 access/transam/xlog.c:4605
+#: access/transam/xlog.c:4302 access/transam/xlog.c:4309
+#: access/transam/xlog.c:4316 access/transam/xlog.c:4323
+#: access/transam/xlog.c:4330 access/transam/xlog.c:4337
+#: access/transam/xlog.c:4344 access/transam/xlog.c:4351
+#: access/transam/xlog.c:4359 access/transam/xlog.c:4366
+#: access/transam/xlog.c:4375 access/transam/xlog.c:4382
+#: access/transam/xlog.c:4391 access/transam/xlog.c:4398
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Кажется, вам надо перекомпилировать сервер или выполнить initdb."
 
-#: access/transam/xlog.c:4513
+#: access/transam/xlog.c:4306
 #, c-format
 msgid ""
 "The database cluster was initialized with RELSEG_SIZE %d, but the server was "
@@ -1435,7 +1700,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с RELSEG_SIZE %d, но сервер "
 "скомпилирован с RELSEG_SIZE %d."
 
-#: access/transam/xlog.c:4520
+#: access/transam/xlog.c:4313
 #, c-format
 msgid ""
 "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was "
@@ -1444,7 +1709,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с XLOG_BLCKSZ %d, но сервер "
 "скомпилирован с XLOG_BLCKSZ %d."
 
-#: access/transam/xlog.c:4527
+#: access/transam/xlog.c:4320
 #, c-format
 msgid ""
 "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server "
@@ -1453,7 +1718,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с XLOG_SEG_SIZE %d, но сервер "
 "скомпилирован с XLOG_SEG_SIZE %d."
 
-#: access/transam/xlog.c:4534
+#: access/transam/xlog.c:4327
 #, c-format
 msgid ""
 "The database cluster was initialized with NAMEDATALEN %d, but the server was "
@@ -1462,7 +1727,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с NAMEDATALEN %d, но сервер "
 "скомпилирован с NAMEDATALEN %d."
 
-#: access/transam/xlog.c:4541
+#: access/transam/xlog.c:4334
 #, c-format
 msgid ""
 "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server "
@@ -1471,7 +1736,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с INDEX_MAX_KEYS %d, но сервер "
 "скомпилирован с INDEX_MAX_KEYS %d."
 
-#: access/transam/xlog.c:4548
+#: access/transam/xlog.c:4341
 #, c-format
 msgid ""
 "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the "
@@ -1480,7 +1745,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с TOAST_MAX_CHUNK_SIZE %d, но сервер "
 "скомпилирован с TOAST_MAX_CHUNK_SIZE %d."
 
-#: access/transam/xlog.c:4555
+#: access/transam/xlog.c:4348
 #, c-format
 msgid ""
 "The database cluster was initialized with LOBLKSIZE %d, but the server was "
@@ -1489,7 +1754,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с LOBLKSIZE %d, но сервер "
 "скомпилирован с LOBLKSIZE %d."
 
-#: access/transam/xlog.c:4564
+#: access/transam/xlog.c:4357
 #, c-format
 msgid ""
 "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the "
@@ -1498,7 +1763,7 @@ msgstr ""
 "Кластер баз данных был инициализирован без HAVE_INT64_TIMESTAMP, но сервер "
 "скомпилирован с HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:4571
+#: access/transam/xlog.c:4364
 #, c-format
 msgid ""
 "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the "
@@ -1507,7 +1772,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с HAVE_INT64_TIMESTAMP, но сервер "
 "скомпилирован без HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:4580
+#: access/transam/xlog.c:4373
 #, c-format
 msgid ""
 "The database cluster was initialized without USE_FLOAT4_BYVAL but the server "
@@ -1516,7 +1781,7 @@ msgstr ""
 "Кластер баз данных был инициализирован без USE_FLOAT4_BYVAL, но сервер "
 "скомпилирован с USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4587
+#: access/transam/xlog.c:4380
 #, c-format
 msgid ""
 "The database cluster was initialized with USE_FLOAT4_BYVAL but the server "
@@ -1525,7 +1790,7 @@ msgstr ""
 "Кластер баз данных был инициализирован с USE_FLOAT4_BYVAL, но сервер "
 "скомпилирован без USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4596
+#: access/transam/xlog.c:4389
 #, c-format
 msgid ""
 "The database cluster was initialized without USE_FLOAT8_BYVAL but the server "
@@ -1534,7 +1799,7 @@ msgstr ""
 "Кластер баз данных был инициализирован без USE_FLOAT8_BYVAL, но сервер "
 "скомпилирован с USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4603
+#: access/transam/xlog.c:4396
 #, c-format
 msgid ""
 "The database cluster was initialized with USE_FLOAT8_BYVAL but the server "
@@ -1543,82 +1808,91 @@ msgstr ""
 "Кластер баз данных был инициализирован с USE_FLOAT8_BYVAL, но сервер был "
 "скомпилирован без USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:5004
+#: access/transam/xlog.c:4822
 #, c-format
 msgid "could not write bootstrap transaction log file: %m"
 msgstr "не удалось записать начальный файл журнала транзакций: %m"
 
-#: access/transam/xlog.c:5010
+#: access/transam/xlog.c:4828
 #, c-format
 msgid "could not fsync bootstrap transaction log file: %m"
 msgstr "не удалось синхронизировать с ФС начальный файл журнала транзакций: %m"
 
-#: access/transam/xlog.c:5015
+#: access/transam/xlog.c:4833
 #, c-format
 msgid "could not close bootstrap transaction log file: %m"
 msgstr "не удалось закрыть начальный файл журнала транзакций: %m"
 
-#: access/transam/xlog.c:5086
+#: access/transam/xlog.c:4908
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "не удалось открыть файл команд восстановления \"%s\": %m"
 
-#: access/transam/xlog.c:5126 access/transam/xlog.c:5217
-#: access/transam/xlog.c:5228 commands/extension.c:527
-#: commands/extension.c:535 utils/misc/guc.c:5355
+#: access/transam/xlog.c:4954
 #, c-format
-msgid "parameter \"%s\" requires a Boolean value"
-msgstr "паÑ\80амеÑ\82Ñ\80 \"%s\" Ñ\82Ñ\80ебÑ\83еÑ\82 Ð»Ð¾Ð³Ð¸Ñ\87еÑ\81кое Ð·Ð½Ð°Ñ\87ение"
+msgid "invalid value for recovery parameter \"%s\""
+msgstr "невеÑ\80ное Ð·Ð½Ð°Ñ\87ение Ð´Ð»Ñ\8f Ð¿Ð°Ñ\80амеÑ\82Ñ\80а Ð²Ð¾Ñ\81Ñ\81Ñ\82ановлениÑ\8f \"%s\""
 
-#: access/transam/xlog.c:5142
+#: access/transam/xlog.c:4956
+#, c-format
+msgid "The allowed values are \"pause\", \"promote\" and \"shutdown\"."
+msgstr "Допускаются только значения: \"pause\", \"promote\" и \"shutdown\"."
+
+#: access/transam/xlog.c:4975
 #, c-format
 msgid "recovery_target_timeline is not a valid number: \"%s\""
 msgstr "recovery_target_timeline не является допустимым числом: \"%s\""
 
-#: access/transam/xlog.c:5158
+#: access/transam/xlog.c:4991
 #, c-format
 msgid "recovery_target_xid is not a valid number: \"%s\""
 msgstr "recovery_target_xid не является допустимым числом: \"%s\""
 
-#: access/transam/xlog.c:5189
+#: access/transam/xlog.c:5022
 #, c-format
 msgid "recovery_target_name is too long (maximum %d characters)"
 msgstr "длина recovery_target_name превышает предел (%d)"
 
-#: access/transam/xlog.c:5203
+#: access/transam/xlog.c:5036
 #, c-format
 msgid "invalid value for recovery parameter \"recovery_target\""
 msgstr "неверное значение параметра \"recovery_target\""
 
-#: access/transam/xlog.c:5204
+#: access/transam/xlog.c:5037
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "Единственное допустимое значение: \"immediate\"."
 
-#: access/transam/xlog.c:5263
+#: access/transam/xlog.c:5050 access/transam/xlog.c:5061
+#: commands/extension.c:531 commands/extension.c:539 utils/misc/guc.c:5473
+#, c-format
+msgid "parameter \"%s\" requires a Boolean value"
+msgstr "параметр \"%s\" требует логическое значение"
+
+#: access/transam/xlog.c:5096
 #, c-format
 msgid "parameter \"%s\" requires a temporal value"
 msgstr "параметр \"%s\" требует временное значение"
 
-#: access/transam/xlog.c:5265 catalog/dependency.c:970
-#: catalog/dependency.c:971 catalog/dependency.c:977 catalog/dependency.c:978
-#: catalog/dependency.c:989 catalog/dependency.c:990
-#: catalog/objectaddress.c:764 commands/tablecmds.c:763
-#: commands/tablecmds.c:8949 commands/user.c:988 commands/view.c:475
+#: access/transam/xlog.c:5098 catalog/dependency.c:984
+#: catalog/dependency.c:985 catalog/dependency.c:991 catalog/dependency.c:992
+#: catalog/dependency.c:1003 catalog/dependency.c:1004
+#: catalog/objectaddress.c:1053 commands/tablecmds.c:789
+#: commands/tablecmds.c:9387 commands/user.c:1027 commands/view.c:482
 #: libpq/auth.c:285 port/win32/security.c:51 storage/lmgr/deadlock.c:955
-#: storage/lmgr/proc.c:1191 utils/misc/guc.c:5377 utils/misc/guc.c:5470
-#: utils/misc/guc.c:8845 utils/misc/guc.c:8879 utils/misc/guc.c:8913
-#: utils/misc/guc.c:8947 utils/misc/guc.c:8982
+#: storage/lmgr/proc.c:1176 utils/misc/guc.c:5495 utils/misc/guc.c:5588
+#: utils/misc/guc.c:9498 utils/misc/guc.c:9532 utils/misc/guc.c:9566
+#: utils/misc/guc.c:9600 utils/misc/guc.c:9635
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: access/transam/xlog.c:5271
+#: access/transam/xlog.c:5104
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "нераспознанный параметр восстановления \"%s\""
 
-#: access/transam/xlog.c:5282
+#: access/transam/xlog.c:5115
 #, c-format
 msgid ""
 "recovery command file \"%s\" specified neither primary_conninfo nor "
@@ -1627,7 +1901,7 @@ msgstr ""
 "в файле команд восстановления \"%s\" не указан параметр primary_conninfo или "
 "restore_command"
 
-#: access/transam/xlog.c:5284
+#: access/transam/xlog.c:5117
 #, c-format
 msgid ""
 "The database server will regularly poll the pg_xlog subdirectory to check "
@@ -1636,7 +1910,7 @@ msgstr ""
 "Сервер БД будет регулярно опрашивать подкаталог pg_xlog и проверять "
 "содержащиеся в нём файлы."
 
-#: access/transam/xlog.c:5290
+#: access/transam/xlog.c:5123
 #, c-format
 msgid ""
 "recovery command file \"%s\" must specify restore_command when standby mode "
@@ -1645,62 +1919,62 @@ msgstr ""
 "в файле команд восстановления \"%s\" может отсутствовать restore_command, "
 "только если это резервный сервер"
 
-#: access/transam/xlog.c:5310
+#: access/transam/xlog.c:5153
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "целевая линия времени для восстановления %u не существует"
 
-#: access/transam/xlog.c:5407
+#: access/transam/xlog.c:5278
 #, c-format
 msgid "archive recovery complete"
 msgstr "восстановление архива завершено"
 
-#: access/transam/xlog.c:5477 access/transam/xlog.c:5671
+#: access/transam/xlog.c:5337 access/transam/xlog.c:5565
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr ""
 "восстановление останавливается после достижения согласованного состояния"
 
-#: access/transam/xlog.c:5552
+#: access/transam/xlog.c:5425
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается перед фиксированием транзакции %u, время %s"
 
-#: access/transam/xlog.c:5559
+#: access/transam/xlog.c:5432
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается перед прерыванием транзакции %u, время %s"
 
-#: access/transam/xlog.c:5601
+#: access/transam/xlog.c:5477
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "восстановление останавливается в точке восстановления \"%s\", время %s"
 
-#: access/transam/xlog.c:5651
+#: access/transam/xlog.c:5545
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается после фиксирования транзакции %u, время %s"
 
-#: access/transam/xlog.c:5659
+#: access/transam/xlog.c:5553
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr ""
 "восстановление останавливается после прерывания транзакции %u, время %s"
 
-#: access/transam/xlog.c:5698
+#: access/transam/xlog.c:5592
 #, c-format
 msgid "recovery has paused"
 msgstr "восстановление приостановлено"
 
-#: access/transam/xlog.c:5699
+#: access/transam/xlog.c:5593
 #, c-format
 msgid "Execute pg_xlog_replay_resume() to continue."
 msgstr "Выполните pg_xlog_replay_resume() для продолжения."
 
-#: access/transam/xlog.c:5914
+#: access/transam/xlog.c:5796
 #, c-format
 msgid ""
 "hot standby is not possible because %s = %d is a lower setting than on the "
@@ -1709,12 +1983,21 @@ msgstr ""
 "режим горячего резерва невозможен, так как параметр %s = %d, меньше чем на "
 "главном сервере (на нём было значение %d)"
 
-#: access/transam/xlog.c:5936
+#: access/transam/xlog.c:5811
+#, c-format
+msgid ""
+"hot standby is not possible because it requires \"%s\" to be same on master "
+"and standby (master has \"%s\", standby has \"%s\")"
+msgstr ""
+"горячий резерв невозможен, так как значения параметра \"%s\" на главном и "
+"резервном серверах различаются (на главном: \"%s\", на резервном: \"%s\")"
+
+#: access/transam/xlog.c:5831
 #, c-format
 msgid "WAL was generated with wal_level=minimal, data may be missing"
 msgstr "WAL был создан с параметром wal_level=minimal, возможна потеря данных"
 
-#: access/transam/xlog.c:5937
+#: access/transam/xlog.c:5832
 #, c-format
 msgid ""
 "This happens if you temporarily set wal_level=minimal without taking a new "
@@ -1723,7 +2006,7 @@ msgstr ""
 "Это происходит, если вы на время установили wal_level=minimal и не сделали "
 "резервную копию базу данных."
 
-#: access/transam/xlog.c:5948
+#: access/transam/xlog.c:5843
 #, c-format
 msgid ""
 "hot standby is not possible because wal_level was not set to \"hot_standby\" "
@@ -1732,7 +2015,7 @@ msgstr ""
 "режим горячего резерва невозможен, так как на главном сервере установлен "
 "неподходящий wal_level (должен быть \"hot_standby\" или выше)"
 
-#: access/transam/xlog.c:5949
+#: access/transam/xlog.c:5844
 #, c-format
 msgid ""
 "Either set wal_level to \"hot_standby\" on the master, or turn off "
@@ -1741,32 +2024,32 @@ msgstr ""
 "Либо установите для wal_level значение \"hot_standby\" на главном сервере, "
 "либо выключите hot_standby здесь."
 
-#: access/transam/xlog.c:6004
+#: access/transam/xlog.c:5903
 #, c-format
 msgid "control file contains invalid data"
 msgstr "файл pg_control содержит неверные данные"
 
-#: access/transam/xlog.c:6010
+#: access/transam/xlog.c:5909
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "система БД была выключена: %s"
 
-#: access/transam/xlog.c:6015
+#: access/transam/xlog.c:5914
 #, c-format
 msgid "database system was shut down in recovery at %s"
 msgstr "система БД была выключена в процессе восстановления: %s"
 
-#: access/transam/xlog.c:6019
+#: access/transam/xlog.c:5918
 #, c-format
 msgid "database system shutdown was interrupted; last known up at %s"
 msgstr "выключение системы БД было прервано; последний момент работы: %s"
 
-#: access/transam/xlog.c:6023
+#: access/transam/xlog.c:5922
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "работа системы БД была прервана во время восстановления: %s"
 
-#: access/transam/xlog.c:6025
+#: access/transam/xlog.c:5924
 #, c-format
 msgid ""
 "This probably means that some data is corrupted and you will have to use the "
@@ -1775,14 +2058,14 @@ msgstr ""
 "Это скорее всего означает, что некоторые данные повреждены и вам придётся "
 "восстановить БД из последней резервной копии."
 
-#: access/transam/xlog.c:6029
+#: access/transam/xlog.c:5928
 #, c-format
 msgid "database system was interrupted while in recovery at log time %s"
 msgstr ""
 "работа системы БД была прервана в процессе восстановления, время в журнале: "
 "%s"
 
-#: access/transam/xlog.c:6031
+#: access/transam/xlog.c:5930
 #, c-format
 msgid ""
 "If this has occurred more than once some data might be corrupted and you "
@@ -1791,58 +2074,58 @@ msgstr ""
 "Если это происходит постоянно, возможно, какие-то данные были испорчены и "
 "для восстановления стоит выбрать более раннюю точку."
 
-#: access/transam/xlog.c:6035
+#: access/transam/xlog.c:5934
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "работа системы БД была прервана; последний момент работы: %s"
 
-#: access/transam/xlog.c:6089
+#: access/transam/xlog.c:5990
 #, c-format
 msgid "entering standby mode"
 msgstr "переход в режим резервного сервера"
 
-#: access/transam/xlog.c:6092
+#: access/transam/xlog.c:5993
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "начинается восстановление точки во времени до XID %u"
 
-#: access/transam/xlog.c:6096
+#: access/transam/xlog.c:5997
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "начинается восстановление точки во времени до %s"
 
-#: access/transam/xlog.c:6100
+#: access/transam/xlog.c:6001
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "начинается восстановление точки во времени до \"%s\""
 
-#: access/transam/xlog.c:6104
+#: access/transam/xlog.c:6005
 #, c-format
 msgid "starting point-in-time recovery to earliest consistent point"
 msgstr ""
 "начинается восстановление точки во времени до первой точки согласованности"
 
-#: access/transam/xlog.c:6107
+#: access/transam/xlog.c:6008
 #, c-format
 msgid "starting archive recovery"
 msgstr "начинается восстановление архива"
 
-#: access/transam/xlog.c:6124
+#: access/transam/xlog.c:6025
 #, c-format
 msgid "Failed while allocating an XLog reading processor."
 msgstr "Не удалось разместить обработчик журнала транзакций."
 
-#: access/transam/xlog.c:6149 access/transam/xlog.c:6216
+#: access/transam/xlog.c:6052 access/transam/xlog.c:6153
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "запись о контрольной точке по смещению %X/%X"
 
-#: access/transam/xlog.c:6163
+#: access/transam/xlog.c:6066
 #, c-format
 msgid "could not find redo location referenced by checkpoint record"
 msgstr "не удалось найти положение REDO, указанное записью контрольной точки"
 
-#: access/transam/xlog.c:6164 access/transam/xlog.c:6171
+#: access/transam/xlog.c:6067 access/transam/xlog.c:6074
 #, c-format
 msgid ""
 "If you are not restoring from a backup, try removing the file \"%s/"
@@ -1851,27 +2134,32 @@ msgstr ""
 "Если вы не восстанавливаете БД из резервной копии, попробуйте удалить файл "
 "\"%s/backup_label\"."
 
-#: access/transam/xlog.c:6170
+#: access/transam/xlog.c:6073
 #, c-format
 msgid "could not locate required checkpoint record"
 msgstr "не удалось считать нужную запись контрольной точки"
 
-#: access/transam/xlog.c:6226 access/transam/xlog.c:6241
+#: access/transam/xlog.c:6099 commands/tablespace.c:640
+#, c-format
+msgid "could not create symbolic link \"%s\": %m"
+msgstr "не удалось создать символическую ссылку \"%s\": %m"
+
+#: access/transam/xlog.c:6163 access/transam/xlog.c:6178
 #, c-format
 msgid "could not locate a valid checkpoint record"
 msgstr "не удалось считать правильную запись контрольной точки"
 
-#: access/transam/xlog.c:6235
+#: access/transam/xlog.c:6172
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr "используется предыдущая запись контрольной точки по смещению %X/%X"
 
-#: access/transam/xlog.c:6265
+#: access/transam/xlog.c:6216
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "в истории сервера нет ответвления запрошенной линии времени %u"
 
-#: access/transam/xlog.c:6267
+#: access/transam/xlog.c:6218
 #, c-format
 msgid ""
 "Latest checkpoint is at %X/%X on timeline %u, but in the history of the "
@@ -1880,7 +2168,7 @@ msgstr ""
 "Последняя контрольная точка: %X/%X на линии времени %u, но в истории "
 "запрошенной линии времени сервер ответвился с этой линии в %X/%X."
 
-#: access/transam/xlog.c:6283
+#: access/transam/xlog.c:6234
 #, c-format
 msgid ""
 "requested timeline %u does not contain minimum recovery point %X/%X on "
@@ -1889,47 +2177,52 @@ msgstr ""
 "запрошенная линия времени %u не содержит минимальную точку восстановления %X/"
 "%X на линии времени %u"
 
-#: access/transam/xlog.c:6292
+#: access/transam/xlog.c:6243
 #, c-format
 msgid "redo record is at %X/%X; shutdown %s"
 msgstr "запись REDO по смещению %X/%X; выключение: %s"
 
-#: access/transam/xlog.c:6296
+#: access/transam/xlog.c:6247
 #, c-format
 msgid "next transaction ID: %u/%u; next OID: %u"
 msgstr "ID следующей транзакции: %u/%u; следующий OID: %u"
 
-#: access/transam/xlog.c:6300
+#: access/transam/xlog.c:6251
 #, c-format
 msgid "next MultiXactId: %u; next MultiXactOffset: %u"
 msgstr "следующий MultiXactId: %u; следующий MultiXactOffset: %u"
 
-#: access/transam/xlog.c:6303
+#: access/transam/xlog.c:6254
 #, c-format
 msgid "oldest unfrozen transaction ID: %u, in database %u"
 msgstr "ID старейшей незамороженной транзакции: %u, база данных %u"
 
-#: access/transam/xlog.c:6306
+#: access/transam/xlog.c:6257
 #, c-format
 msgid "oldest MultiXactId: %u, in database %u"
 msgstr "старейший MultiXactId: %u, база данных %u"
 
-#: access/transam/xlog.c:6310
+#: access/transam/xlog.c:6260
+#, c-format
+msgid "commit timestamp Xid oldest/newest: %u/%u"
+msgstr "старейшая/новейшая транзакция с меткой времени: %u/%u"
+
+#: access/transam/xlog.c:6265
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "неверный ID следующей транзакции"
 
-#: access/transam/xlog.c:6380
+#: access/transam/xlog.c:6343
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "неверная запись REDO в контрольной точке"
 
-#: access/transam/xlog.c:6391
+#: access/transam/xlog.c:6354
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "неверная запись REDO в контрольной точке выключения"
 
-#: access/transam/xlog.c:6422
+#: access/transam/xlog.c:6382
 #, c-format
 msgid ""
 "database system was not properly shut down; automatic recovery in progress"
@@ -1937,19 +2230,19 @@ msgstr ""
 "система БД была остановлена нештатно; производится автоматическое "
 "восстановление"
 
-#: access/transam/xlog.c:6426
+#: access/transam/xlog.c:6386
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr ""
 "восстановление после сбоя начинается на линии времени %u, целевая линия "
 "времени: %u"
 
-#: access/transam/xlog.c:6470
+#: access/transam/xlog.c:6430
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label содержит данные, не согласованные с файлом pg_control"
 
-#: access/transam/xlog.c:6471
+#: access/transam/xlog.c:6431
 #, c-format
 msgid ""
 "This means that the backup is corrupted and you will have to use another "
@@ -1958,44 +2251,44 @@ msgstr ""
 "Это означает, что резервная копия повреждена и для восстановления БД "
 "придётся использовать другую копию."
 
-#: access/transam/xlog.c:6536
+#: access/transam/xlog.c:6513
 #, c-format
 msgid "initializing for hot standby"
 msgstr "инициализация для горячего резерва"
 
-#: access/transam/xlog.c:6668
+#: access/transam/xlog.c:6646
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "запись REDO начинается со смещения %X/%X"
 
-#: access/transam/xlog.c:6883
+#: access/transam/xlog.c:6860
+#, c-format
+msgid "requested recovery stop point is before consistent recovery point"
+msgstr ""
+"запрошенная точка остановки восстановления предшествует согласованной точке "
+"восстановления"
+
+#: access/transam/xlog.c:6898
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "записи REDO обработаны до смещения %X/%X"
 
-#: access/transam/xlog.c:6888 access/transam/xlog.c:8742
+#: access/transam/xlog.c:6903 access/transam/xlog.c:8864
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "последняя завершённая транзакция была выполнена в %s"
 
-#: access/transam/xlog.c:6896
+#: access/transam/xlog.c:6912
 #, c-format
 msgid "redo is not required"
 msgstr "данные REDO не требуются"
 
-#: access/transam/xlog.c:6954
-#, c-format
-msgid "requested recovery stop point is before consistent recovery point"
-msgstr ""
-"запрошенная точка остановки восстановления предшествует согласованной точке "
-"восстановления"
-
-#: access/transam/xlog.c:6970 access/transam/xlog.c:6974
+#: access/transam/xlog.c:6987 access/transam/xlog.c:6991
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "WAL закончился без признака окончания копирования"
 
-#: access/transam/xlog.c:6971
+#: access/transam/xlog.c:6988
 #, c-format
 msgid ""
 "All WAL generated while online backup was taken must be available at "
@@ -2004,7 +2297,7 @@ msgstr ""
 "Все журналы WAL, созданные во время резервного копирования \"на ходу\", "
 "должны быть в наличии для восстановления."
 
-#: access/transam/xlog.c:6975
+#: access/transam/xlog.c:6992
 #, c-format
 msgid ""
 "Online backup started with pg_start_backup() must be ended with "
@@ -2014,107 +2307,107 @@ msgstr ""
 "должно закончиться pg_stop_backup(), и для восстановления должны быть "
 "доступны все журналы WAL."
 
-#: access/transam/xlog.c:6978
+#: access/transam/xlog.c:6995
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL закончился до согласованной точки восстановления"
 
-#: access/transam/xlog.c:7005
+#: access/transam/xlog.c:7022
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "выбранный ID новой линии времени: %u"
 
-#: access/transam/xlog.c:7346
+#: access/transam/xlog.c:7438
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "согласованное состояние восстановления достигнуто по смещению %X/%X"
 
-#: access/transam/xlog.c:7543
+#: access/transam/xlog.c:7629
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "неверная ссылка на первичную контрольную точку в файле pg_control"
 
-#: access/transam/xlog.c:7547
+#: access/transam/xlog.c:7633
 #, c-format
 msgid "invalid secondary checkpoint link in control file"
 msgstr "неверная ссылка на вторичную контрольную точку в файле pg_control"
 
-#: access/transam/xlog.c:7551
+#: access/transam/xlog.c:7637
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "неверная ссылка на контрольную точку в файле backup_label"
 
-#: access/transam/xlog.c:7568
+#: access/transam/xlog.c:7654
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "неверная запись первичной контрольной точки"
 
-#: access/transam/xlog.c:7572
+#: access/transam/xlog.c:7658
 #, c-format
 msgid "invalid secondary checkpoint record"
 msgstr "неверная запись вторичной контрольной точки"
 
-#: access/transam/xlog.c:7576
+#: access/transam/xlog.c:7662
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "неверная запись контрольной точки"
 
-#: access/transam/xlog.c:7587
+#: access/transam/xlog.c:7673
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "неверный ID менеджера ресурсов в записи первичной контрольной точки"
 
-#: access/transam/xlog.c:7591
+#: access/transam/xlog.c:7677
 #, c-format
 msgid "invalid resource manager ID in secondary checkpoint record"
 msgstr "неверный ID менеджера ресурсов в записи вторичной контрольной точки"
 
-#: access/transam/xlog.c:7595
+#: access/transam/xlog.c:7681
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "неверный ID менеджера ресурсов в записи контрольной точки"
 
-#: access/transam/xlog.c:7607
+#: access/transam/xlog.c:7693
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "неверные флаги xl_info в записи первичной контрольной точки"
 
-#: access/transam/xlog.c:7611
+#: access/transam/xlog.c:7697
 #, c-format
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr "неверные флаги xl_info в записи вторичной контрольной точки"
 
-#: access/transam/xlog.c:7615
+#: access/transam/xlog.c:7701
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "неверные флаги xl_info в записи контрольной точки"
 
-#: access/transam/xlog.c:7627
+#: access/transam/xlog.c:7712
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "неверная длина записи первичной контрольной точки"
 
-#: access/transam/xlog.c:7631
+#: access/transam/xlog.c:7716
 #, c-format
 msgid "invalid length of secondary checkpoint record"
 msgstr "неверная длина записи вторичной контрольной точки"
 
-#: access/transam/xlog.c:7635
+#: access/transam/xlog.c:7720
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "неверная длина записи контрольной точки"
 
-#: access/transam/xlog.c:7795
+#: access/transam/xlog.c:7890
 #, c-format
 msgid "shutting down"
 msgstr "выключение"
 
-#: access/transam/xlog.c:7818
+#: access/transam/xlog.c:7914
 #, c-format
 msgid "database system is shut down"
 msgstr "система БД выключена"
 
-#: access/transam/xlog.c:8284
+#: access/transam/xlog.c:8407
 #, c-format
 msgid ""
 "concurrent transaction log activity while database system is shutting down"
@@ -2122,29 +2415,29 @@ msgstr ""
 "во время выключения системы баз данных отмечена активность в журнале "
 "транзакций"
 
-#: access/transam/xlog.c:8553
+#: access/transam/xlog.c:8669
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr ""
 "создание точки перезапуска пропускается, восстановление уже закончилось"
 
-#: access/transam/xlog.c:8576
+#: access/transam/xlog.c:8692
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr ""
 "создание точки перезапуска пропускается, она уже создана по смещению %X/%X"
 
-#: access/transam/xlog.c:8740
+#: access/transam/xlog.c:8862
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "точка перезапуска восстановления по смещению %X/%X"
 
-#: access/transam/xlog.c:8885
+#: access/transam/xlog.c:8995
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "точка восстановления \"%s\" создана по смещению %X/%X"
 
-#: access/transam/xlog.c:9109
+#: access/transam/xlog.c:9125
 #, c-format
 msgid ""
 "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint "
@@ -2153,12 +2446,12 @@ msgstr ""
 "неожиданный ID предыдущей линии времени %u (ID текущей линии времени %u) в "
 "записи контрольной точки"
 
-#: access/transam/xlog.c:9118
+#: access/transam/xlog.c:9134
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "неожиданный ID линии времени %u (после %u) в записи контрольной точки"
 
-#: access/transam/xlog.c:9134
+#: access/transam/xlog.c:9150
 #, c-format
 msgid ""
 "unexpected timeline ID %u in checkpoint record, before reaching minimum "
@@ -2167,65 +2460,65 @@ msgstr ""
 "неожиданный ID линии времени %u в записи контрольной точки, до достижения "
 "минимальной к.т. %X/%X на линии времени %u"
 
-#: access/transam/xlog.c:9202
+#: access/transam/xlog.c:9220
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr ""
 "резервное копирование \"на ходу\" было отменено, продолжить восстановление "
 "нельзя"
 
-#: access/transam/xlog.c:9263 access/transam/xlog.c:9312
-#: access/transam/xlog.c:9335
+#: access/transam/xlog.c:9276 access/transam/xlog.c:9320
+#: access/transam/xlog.c:9343
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr ""
 "неожиданный ID линии времени %u (должен быть %u) в записи точки "
 "восстановления"
 
-#: access/transam/xlog.c:9570
+#: access/transam/xlog.c:9636
 #, c-format
 msgid "could not fsync log segment %s: %m"
 msgstr "не удалось синхронизировать с ФС сегмент журнала %s: %m"
 
-#: access/transam/xlog.c:9594
+#: access/transam/xlog.c:9660
 #, c-format
 msgid "could not fsync log file %s: %m"
 msgstr "не удалось синхронизировать с ФС файл журнала %s: %m"
 
-#: access/transam/xlog.c:9602
+#: access/transam/xlog.c:9668
 #, c-format
 msgid "could not fsync write-through log file %s: %m"
 msgstr "не удалось синхронизировать с ФС файл журнала сквозной записи %s: %m"
 
-#: access/transam/xlog.c:9611
+#: access/transam/xlog.c:9677
 #, c-format
 msgid "could not fdatasync log file %s: %m"
 msgstr ""
 "не удалось синхронизировать с ФС данные (fdatasync) файла журнала %s: %m"
 
-#: access/transam/xlog.c:9689 access/transam/xlog.c:10025
-#: access/transam/xlogfuncs.c:111 access/transam/xlogfuncs.c:140
-#: access/transam/xlogfuncs.c:179 access/transam/xlogfuncs.c:200
-#: access/transam/xlogfuncs.c:270 access/transam/xlogfuncs.c:326
+#: access/transam/xlog.c:9769 access/transam/xlog.c:10240
+#: access/transam/xlogfuncs.c:121 access/transam/xlogfuncs.c:150
+#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:210
+#: access/transam/xlogfuncs.c:280 access/transam/xlogfuncs.c:336
 #, c-format
 msgid "recovery is in progress"
 msgstr "идёт процесс восстановления"
 
-#: access/transam/xlog.c:9690 access/transam/xlog.c:10026
-#: access/transam/xlogfuncs.c:112 access/transam/xlogfuncs.c:141
-#: access/transam/xlogfuncs.c:180 access/transam/xlogfuncs.c:201
+#: access/transam/xlog.c:9770 access/transam/xlog.c:10241
+#: access/transam/xlogfuncs.c:122 access/transam/xlogfuncs.c:151
+#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:211
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Функции управления WAL нельзя использовать в процессе восстановления."
 
-#: access/transam/xlog.c:9699 access/transam/xlog.c:10035
+#: access/transam/xlog.c:9779 access/transam/xlog.c:10250
 #, c-format
 msgid "WAL level not sufficient for making an online backup"
 msgstr ""
 "Выбранный уровень WAL недостаточен для резервного копирования \"на ходу\""
 
-#: access/transam/xlog.c:9700 access/transam/xlog.c:10036
-#: access/transam/xlogfuncs.c:147
+#: access/transam/xlog.c:9780 access/transam/xlog.c:10251
+#: access/transam/xlogfuncs.c:157
 #, c-format
 msgid ""
 "wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at "
@@ -2234,22 +2527,23 @@ msgstr ""
 "Установите wal_level \"archive\", \"hot_standby\" или \"logical\" при "
 "запуске сервера."
 
-#: access/transam/xlog.c:9705
+#: access/transam/xlog.c:9785
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "длина метки резервной копии превышает предел (%d байт)"
 
-#: access/transam/xlog.c:9736 access/transam/xlog.c:9913
+#: access/transam/xlog.c:9817 access/transam/xlog.c:10087
+#: access/transam/xlog.c:10123
 #, c-format
 msgid "a backup is already in progress"
 msgstr "резервное копирование уже запущено"
 
-#: access/transam/xlog.c:9737
+#: access/transam/xlog.c:9818
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Выполните pg_stop_backup() и повторите операцию."
 
-#: access/transam/xlog.c:9831
+#: access/transam/xlog.c:9913
 #, c-format
 msgid ""
 "WAL generated with full_page_writes=off was replayed since last restartpoint"
@@ -2257,7 +2551,7 @@ msgstr ""
 "После последней точки перезапуска был воспроизведён WAL, созданный в режиме "
 "full_page_writes=off."
 
-#: access/transam/xlog.c:9833 access/transam/xlog.c:10186
+#: access/transam/xlog.c:9915 access/transam/xlog.c:10405
 #, c-format
 msgid ""
 "This means that the backup being taken on the standby is corrupt and should "
@@ -2269,18 +2563,38 @@ msgstr ""
 "CHECKPOINT на главном сервере, а затем попробуйте резервное копирование \"на "
 "ходу\" ещё раз."
 
-#: access/transam/xlog.c:9907 access/transam/xlog.c:10076
-#: access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265
-#: replication/basebackup.c:464 replication/basebackup.c:532
+#: access/transam/xlog.c:9981 replication/basebackup.c:1027
+#: utils/adt/misc.c:378
+#, c-format
+msgid "could not read symbolic link \"%s\": %m"
+msgstr "не удалось прочитать символическую ссылку \"%s\": %m"
+
+#: access/transam/xlog.c:9988 replication/basebackup.c:1032
+#: utils/adt/misc.c:383
+#, c-format
+msgid "symbolic link \"%s\" target is too long"
+msgstr "целевой путь символической ссылки \"%s\" слишком длинный"
+
+#: access/transam/xlog.c:10041 commands/tablespace.c:389
+#: commands/tablespace.c:552 replication/basebackup.c:1048
+#: utils/adt/misc.c:391
+#, c-format
+msgid "tablespaces are not supported on this platform"
+msgstr "табличные пространства не поддерживаются на этой платформе"
+
+#: access/transam/xlog.c:10081 access/transam/xlog.c:10117
+#: access/transam/xlog.c:10291 access/transam/xlogarchive.c:106
+#: access/transam/xlogarchive.c:265 commands/extension.c:3026
+#: replication/basebackup.c:404 replication/basebackup.c:472
 #: replication/logical/snapbuild.c:1478 storage/file/copydir.c:72
-#: storage/file/copydir.c:115 utils/adt/dbsize.c:68 utils/adt/dbsize.c:218
-#: utils/adt/dbsize.c:298 utils/adt/genfile.c:108 utils/adt/genfile.c:280
-#: guc-file.l:852
+#: storage/file/copydir.c:115 storage/file/fd.c:2519 storage/file/fd.c:2611
+#: utils/adt/dbsize.c:68 utils/adt/dbsize.c:218 utils/adt/dbsize.c:298
+#: utils/adt/genfile.c:114 utils/adt/genfile.c:333 guc-file.l:1003
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "не удалось получить информацию о файле \"%s\": %m"
 
-#: access/transam/xlog.c:9914
+#: access/transam/xlog.c:10088 access/transam/xlog.c:10124
 #, c-format
 msgid ""
 "If you're sure there is no backup in progress, remove file \"%s\" and try "
@@ -2289,30 +2603,31 @@ msgstr ""
 "Если вы считаете, что информация о резервном копировании неверна, удалите "
 "файл \"%s\" и попробуйте снова."
 
-#: access/transam/xlog.c:9931 access/transam/xlog.c:10249
+#: access/transam/xlog.c:10105 access/transam/xlog.c:10141
+#: access/transam/xlog.c:10466
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "не удалось записать файл \"%s\": %m"
 
-#: access/transam/xlog.c:10080
+#: access/transam/xlog.c:10295
 #, c-format
 msgid "a backup is not in progress"
 msgstr "резервное копирование не запущено"
 
-#: access/transam/xlog.c:10119 access/transam/xlog.c:10132
-#: access/transam/xlog.c:10483 access/transam/xlog.c:10489
-#: access/transam/xlogfuncs.c:498
+#: access/transam/xlog.c:10340 access/transam/xlog.c:10353
+#: access/transam/xlog.c:10693 access/transam/xlog.c:10699
+#: access/transam/xlog.c:10783 access/transam/xlogfuncs.c:508
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "неверные данные в файле \"%s\""
 
-#: access/transam/xlog.c:10136 replication/basebackup.c:966
+#: access/transam/xlog.c:10357 replication/basebackup.c:925
 #, c-format
 msgid "the standby was promoted during online backup"
 msgstr ""
 "дежурный сервер был повышен в процессе резервного копирования \"на ходу\""
 
-#: access/transam/xlog.c:10137 replication/basebackup.c:967
+#: access/transam/xlog.c:10358 replication/basebackup.c:926
 #, c-format
 msgid ""
 "This means that the backup being taken is corrupt and should not be used. "
@@ -2321,7 +2636,7 @@ msgstr ""
 "Это означает, что создаваемая резервная копия испорчена и использовать её не "
 "следует. Попробуйте резервное копирование \"на ходу\" ещё раз."
 
-#: access/transam/xlog.c:10184
+#: access/transam/xlog.c:10403
 #, c-format
 msgid ""
 "WAL generated with full_page_writes=off was replayed during online backup"
@@ -2329,7 +2644,7 @@ msgstr ""
 "В процессе резервного копирования \"на ходу\" был воспроизведён WAL, "
 "созданный в режиме full_page_writes=off"
 
-#: access/transam/xlog.c:10298
+#: access/transam/xlog.c:10515
 #, c-format
 msgid ""
 "pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
@@ -2337,7 +2652,7 @@ msgstr ""
 "очистка в pg_stop_backup выполнена, ожидаются требуемые сегменты WAL для "
 "архивации"
 
-#: access/transam/xlog.c:10308
+#: access/transam/xlog.c:10525
 #, c-format
 msgid ""
 "pg_stop_backup still waiting for all required WAL segments to be archived "
@@ -2346,7 +2661,7 @@ msgstr ""
 "pg_stop_backup всё ещё ждёт все требуемые сегменты WAL для архивации (прошло "
 "%d сек.)"
 
-#: access/transam/xlog.c:10310
+#: access/transam/xlog.c:10527
 #, c-format
 msgid ""
 "Check that your archive_command is executing properly.  pg_stop_backup can "
@@ -2357,13 +2672,13 @@ msgstr ""
 "можно отменить безопасно, но резервная копия базы данных будет непригодна "
 "без всех сегментов WAL."
 
-#: access/transam/xlog.c:10317
+#: access/transam/xlog.c:10534
 #, c-format
 msgid "pg_stop_backup complete, all required WAL segments have been archived"
 msgstr ""
 "команда pg_stop_backup завершена, все требуемые сегменты WAL заархивированы"
 
-#: access/transam/xlog.c:10321
+#: access/transam/xlog.c:10538
 #, c-format
 msgid ""
 "WAL archiving is not enabled; you must ensure that all required WAL segments "
@@ -2372,53 +2687,53 @@ msgstr ""
 "архивация WAL не настроена; вы должны обеспечить копирование всех требуемых "
 "сегментов WAL другими средствами для получения резервной копии"
 
-#: access/transam/xlog.c:10534
+#: access/transam/xlog.c:10822
 #, c-format
 msgid "xlog redo %s"
 msgstr "XLOG-запись REDO: %s"
 
-#: access/transam/xlog.c:10574
+#: access/transam/xlog.c:10867 access/transam/xlog.c:10890
 #, c-format
 msgid "online backup mode canceled"
 msgstr "режим копирования \"на ходу\" отменён"
 
-#: access/transam/xlog.c:10575
+#: access/transam/xlog.c:10868 access/transam/xlog.c:10891
 #, c-format
 msgid "\"%s\" was renamed to \"%s\"."
 msgstr "Файл \"%s\" был переименован в \"%s\"."
 
-#: access/transam/xlog.c:10582
+#: access/transam/xlog.c:10875 access/transam/xlog.c:10898
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "режим копирования \"на ходу\" не был отменён"
 
-#: access/transam/xlog.c:10583
+#: access/transam/xlog.c:10876 access/transam/xlog.c:10899
 #, c-format
 msgid "Could not rename \"%s\" to \"%s\": %m."
 msgstr "Не удалось переименовать файл \"%s\" в \"%s\": %m."
 
-#: access/transam/xlog.c:10703 replication/logical/logicalfuncs.c:169
-#: replication/walreceiver.c:937 replication/walsender.c:2094
+#: access/transam/xlog.c:11019 replication/logical/logicalfuncs.c:171
+#: replication/walreceiver.c:932 replication/walsender.c:2092
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
 msgstr "не удалось переместиться в сегменте журнала %s к смещению %u: %m"
 
-#: access/transam/xlog.c:10715
+#: access/transam/xlog.c:11031
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "не удалось прочитать сегмент журнала %s, смещение %u: %m"
 
-#: access/transam/xlog.c:11178
+#: access/transam/xlog.c:11505
 #, c-format
 msgid "received promote request"
 msgstr "получен запрос повышения статуса"
 
-#: access/transam/xlog.c:11191
+#: access/transam/xlog.c:11518
 #, c-format
 msgid "trigger file found: %s"
 msgstr "найден файл триггера: %s"
 
-#: access/transam/xlog.c:11200
+#: access/transam/xlog.c:11527
 #, c-format
 msgid "could not stat trigger file \"%s\": %m"
 msgstr "не удалось получить информацию о файле триггера \"%s\": %m"
@@ -2446,158 +2761,142 @@ msgstr "восстановить файл \"%s\" из архива не удал
 msgid "%s \"%s\": %s"
 msgstr "%s \"%s\": %s"
 
-#: access/transam/xlogarchive.c:525 access/transam/xlogarchive.c:594
+#: access/transam/xlogarchive.c:529 access/transam/xlogarchive.c:598
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "не удалось создать файл состояния архива \"%s\": %m"
 
-#: access/transam/xlogarchive.c:533 access/transam/xlogarchive.c:602
+#: access/transam/xlogarchive.c:537 access/transam/xlogarchive.c:606
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "не удалось записать файл состояния архива \"%s\": %m"
 
-#: access/transam/xlogfuncs.c:60 access/transam/xlogfuncs.c:88
+#: access/transam/xlogfuncs.c:61 access/transam/xlogfuncs.c:98
 #, c-format
 msgid "must be superuser or replication role to run a backup"
 msgstr ""
 "запускать резервное копирование может только суперпользователь или роль "
 "репликации"
 
-#: access/transam/xlogfuncs.c:106
+#: access/transam/xlogfuncs.c:67 commands/tablespace.c:704
+#: commands/tablespace.c:714 postmaster/postmaster.c:1324
+#: replication/basebackup.c:292 replication/basebackup.c:632
+#: storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:1985
+#: storage/file/fd.c:2584 storage/ipc/dsm.c:300 utils/adt/genfile.c:439
+#: utils/adt/misc.c:291 utils/misc/tzparser.c:339
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "не удалось открыть каталог \"%s\": %m"
+
+#: access/transam/xlogfuncs.c:116
 #, c-format
 msgid "must be superuser to switch transaction log files"
 msgstr ""
 "для переключения файлов журнала транзакций нужно быть суперпользователем"
 
-#: access/transam/xlogfuncs.c:135
+#: access/transam/xlogfuncs.c:145
 #, c-format
 msgid "must be superuser to create a restore point"
 msgstr "для создания точки восстановления нужно быть суперпользователем"
 
-#: access/transam/xlogfuncs.c:146
+#: access/transam/xlogfuncs.c:156
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr "Выбранный уровень WAL не достаточен для создания точки восстановления"
 
-#: access/transam/xlogfuncs.c:154
+#: access/transam/xlogfuncs.c:164
 #, c-format
 msgid "value too long for restore point (maximum %d characters)"
 msgstr "значение для точки восстановления превышает предел (%d симв.)"
 
-#: access/transam/xlogfuncs.c:271
+#: access/transam/xlogfuncs.c:281
 #, c-format
 msgid "pg_xlogfile_name_offset() cannot be executed during recovery."
 msgstr ""
 "Функцию pg_xlogfile_name_offset() нельзя вызывать во время восстановления."
 
-#: access/transam/xlogfuncs.c:327
+#: access/transam/xlogfuncs.c:337
 #, c-format
 msgid "pg_xlogfile_name() cannot be executed during recovery."
 msgstr "Функцию pg_xlogfile_name() нельзя вызывать в процессе восстановления."
 
-#: access/transam/xlogfuncs.c:344 access/transam/xlogfuncs.c:366
+#: access/transam/xlogfuncs.c:354 access/transam/xlogfuncs.c:376
 #, c-format
 msgid "must be superuser to control recovery"
 msgstr "для управления восстановлением нужно быть суперпользователем"
 
-#: access/transam/xlogfuncs.c:349 access/transam/xlogfuncs.c:371
-#: access/transam/xlogfuncs.c:388
+#: access/transam/xlogfuncs.c:359 access/transam/xlogfuncs.c:381
+#: access/transam/xlogfuncs.c:398
 #, c-format
 msgid "recovery is not in progress"
 msgstr "восстановление не выполняется"
 
-#: access/transam/xlogfuncs.c:350 access/transam/xlogfuncs.c:372
-#: access/transam/xlogfuncs.c:389
+#: access/transam/xlogfuncs.c:360 access/transam/xlogfuncs.c:382
+#: access/transam/xlogfuncs.c:399
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr ""
 "Функции управления восстановлением можно использовать только в процессе "
 "восстановления."
 
-#: access/transam/xlogreader.c:249
+#: access/transam/xlogreader.c:264
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "неверное смещение записи: %X/%X"
 
-#: access/transam/xlogreader.c:257
+#: access/transam/xlogreader.c:272
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "по смещению %X/%X запрошено продолжение записи"
 
-#: access/transam/xlogreader.c:297 access/transam/xlogreader.c:608
-#: access/transam/xlogreader.c:682
+#: access/transam/xlogreader.c:312 access/transam/xlogreader.c:603
 #, c-format
 msgid "invalid record length at %X/%X"
 msgstr "неверная длина записи по смещению %X/%X"
 
-#: access/transam/xlogreader.c:311
+#: access/transam/xlogreader.c:326
 #, c-format
 msgid "record length %u at %X/%X too long"
 msgstr "длина записи %u по смещению %X/%X слишком велика"
 
-#: access/transam/xlogreader.c:352
+#: access/transam/xlogreader.c:367
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "нет флага contrecord в позиции %X/%X"
 
-#: access/transam/xlogreader.c:365
+#: access/transam/xlogreader.c:380
 #, c-format
 msgid "invalid contrecord length %u at %X/%X"
 msgstr "неверная длина contrecord (%u) в позиции %X/%X"
 
-#: access/transam/xlogreader.c:591
-#, c-format
-msgid "invalid xlog switch record at %X/%X"
-msgstr "неверная запись переключения xlog по смещению %X/%X"
-
-#: access/transam/xlogreader.c:599
-#, c-format
-msgid "record with zero length at %X/%X"
-msgstr "запись нулевой длины по смещению %X/%X"
-
-#: access/transam/xlogreader.c:615
+#: access/transam/xlogreader.c:610
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "неверный ID менеджера ресурсов %u по смещению %X/%X"
 
-#: access/transam/xlogreader.c:629 access/transam/xlogreader.c:646
+#: access/transam/xlogreader.c:624 access/transam/xlogreader.c:641
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "запись с неверной ссылкой назад %X/%X по смещению %X/%X"
 
-#: access/transam/xlogreader.c:702 access/transam/xlogreader.c:720
-#, c-format
-msgid "invalid backup block size in record at %X/%X"
-msgstr "неверный размер блока копии в позиции %X/%X"
-
-#: access/transam/xlogreader.c:711
-#, c-format
-msgid "incorrect hole size in record at %X/%X"
-msgstr "неправильный размер пропуска в записи по смещению %X/%X"
-
-#: access/transam/xlogreader.c:733
-#, c-format
-msgid "incorrect total length in record at %X/%X"
-msgstr "некорректная общая длина в записи по смещению %X/%X"
-
-#: access/transam/xlogreader.c:745
+#: access/transam/xlogreader.c:678
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr ""
 "некорректная контрольная сумма данных менеджера ресурсов в записи по "
 "смещению %X/%X"
 
-#: access/transam/xlogreader.c:778
+#: access/transam/xlogreader.c:711
 #, c-format
 msgid "invalid magic number %04X in log segment %s, offset %u"
 msgstr "неверное магическое число %04X в сегменте журнала %s, смещение %u"
 
-#: access/transam/xlogreader.c:792 access/transam/xlogreader.c:843
+#: access/transam/xlogreader.c:725 access/transam/xlogreader.c:776
 #, c-format
 msgid "invalid info bits %04X in log segment %s, offset %u"
 msgstr "неверные информационные биты %04X в сегменте журнала %s, смещение %u"
 
-#: access/transam/xlogreader.c:818
+#: access/transam/xlogreader.c:751
 #, c-format
 msgid ""
 "WAL file is from different database system: WAL file database system "
@@ -2606,7 +2905,7 @@ msgstr ""
 "Файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД %s, "
 "а идентификатор системы pg_control: %s."
 
-#: access/transam/xlogreader.c:825
+#: access/transam/xlogreader.c:758
 #, c-format
 msgid ""
 "WAL file is from different database system: Incorrect XLOG_SEG_SIZE in page "
@@ -2615,7 +2914,7 @@ msgstr ""
 "Файл WAL принадлежит другой СУБД: некорректный XLOG_SEG_SIZE в заголовке "
 "страницы."
 
-#: access/transam/xlogreader.c:831
+#: access/transam/xlogreader.c:764
 #, c-format
 msgid ""
 "WAL file is from different database system: Incorrect XLOG_BLCKSZ in page "
@@ -2624,611 +2923,679 @@ msgstr ""
 "Файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке "
 "страницы."
 
-#: access/transam/xlogreader.c:857
+#: access/transam/xlogreader.c:790
 #, c-format
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "неожиданный pageaddr %X/%X в сегменте журнала %s, смещение %u"
 
-#: access/transam/xlogreader.c:882
+#: access/transam/xlogreader.c:815
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr ""
 "нарушение последовательности ID линии времени %u (после %u) в сегменте "
 "журнала %s, смещение %u"
 
-#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:763 tcop/postgres.c:3500
+#: access/transam/xlogreader.c:1024
+#, c-format
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X"
+
+#: access/transam/xlogreader.c:1046
+#, c-format
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет"
+
+#: access/transam/xlogreader.c:1053
+#, c-format
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr ""
+"BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X"
+
+#: access/transam/xlogreader.c:1086
+#, c-format
+msgid ""
+"BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
+"%X/%X"
+msgstr ""
+"BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u "
+"при длине образа блока %u в позиции %X/%X"
+
+#: access/transam/xlogreader.c:1102
+#, c-format
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr ""
+"BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина "
+"%u в позиции %X/%X"
+
+#: access/transam/xlogreader.c:1117
+#, c-format
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgstr ""
+"BKPIMAGE_IS_COMPRESSED установлен, но длина образа блока равна %u в позиции "
+"%X/%X"
+
+#: access/transam/xlogreader.c:1132
+#, c-format
+msgid ""
+"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image "
+"length is %u at %X/%X"
+msgstr ""
+"ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_IS_COMPRESSED не установлены, но длина "
+"образа блока равна %u в позиции %X/%X"
+
+#: access/transam/xlogreader.c:1148
+#, c-format
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr ""
+"BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/"
+"%X"
+
+#: access/transam/xlogreader.c:1160
+#, c-format
+msgid "invalid block_id %u at %X/%X"
+msgstr "неверный идентификатор блока %u в позиции %X/%X"
+
+#: access/transam/xlogreader.c:1225
+#, c-format
+msgid "record with invalid length at %X/%X"
+msgstr "запись с неверной длиной в позиции %X/%X"
+
+#: access/transam/xlogreader.c:1314
+#, c-format
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "неверный сжатый образ в позиции %X/%X, блок %d"
+
+#: bootstrap/bootstrap.c:268 postmaster/postmaster.c:781 tcop/postgres.c:3480
 #, c-format
 msgid "--%s requires a value"
 msgstr "для --%s требуется значение"
 
-#: bootstrap/bootstrap.c:278 postmaster/postmaster.c:768 tcop/postgres.c:3505
+#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:786 tcop/postgres.c:3485
 #, c-format
 msgid "-c %s requires a value"
 msgstr "для -c %s требуется значение"
 
-#: bootstrap/bootstrap.c:289 postmaster/postmaster.c:780
-#: postmaster/postmaster.c:793
+#: bootstrap/bootstrap.c:284 postmaster/postmaster.c:798
+#: postmaster/postmaster.c:811
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
 
-#: bootstrap/bootstrap.c:298
+#: bootstrap/bootstrap.c:293
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: неверные аргументы командной строки\n"
 
-#: catalog/aclchk.c:206
+#: catalog/aclchk.c:182
 #, c-format
 msgid "grant options can only be granted to roles"
 msgstr "право назначения прав можно давать только ролям"
 
-#: catalog/aclchk.c:329
+#: catalog/aclchk.c:305
 #, c-format
 msgid "no privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "для колонки \"%s\" отношения \"%s\" не были назначены никакие права"
 
-#: catalog/aclchk.c:334
+#: catalog/aclchk.c:310
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "для объекта \"%s\" не были назначены никакие права"
 
-#: catalog/aclchk.c:342
+#: catalog/aclchk.c:318
 #, c-format
 msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
 msgstr ""
 "для колонки \"%s\" отношения \"%s\" были назначены не все запрошенные права"
 
-#: catalog/aclchk.c:347
+#: catalog/aclchk.c:323
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "для объекта \"%s\" были назначены не все запрошенные права"
 
-#: catalog/aclchk.c:358
+#: catalog/aclchk.c:334
 #, c-format
 msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "для колонки \"%s\" отношения \"%s\" не были отозваны никакие права"
 
-#: catalog/aclchk.c:363
+#: catalog/aclchk.c:339
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "для объекта \"%s\" не были отозваны никакие права"
 
-#: catalog/aclchk.c:371
+#: catalog/aclchk.c:347
 #, c-format
 msgid ""
 "not all privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "для колонки \"%s\" отношения \"%s\" были отозваны не все права"
 
-#: catalog/aclchk.c:376
+#: catalog/aclchk.c:352
 #, c-format
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "для объекта \"%s\" были отозваны не все права"
 
-#: catalog/aclchk.c:455 catalog/aclchk.c:933
+#: catalog/aclchk.c:434 catalog/aclchk.c:924
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "право %s неприменимо для отношений"
 
-#: catalog/aclchk.c:459 catalog/aclchk.c:937
+#: catalog/aclchk.c:438 catalog/aclchk.c:928
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "право %s неприменимо для последовательностей"
 
-#: catalog/aclchk.c:463
+#: catalog/aclchk.c:442
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "право %s неприменимо для баз данных"
 
-#: catalog/aclchk.c:467
+#: catalog/aclchk.c:446
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "право %s неприменимо для домена"
 
-#: catalog/aclchk.c:471 catalog/aclchk.c:941
+#: catalog/aclchk.c:450 catalog/aclchk.c:932
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "право %s неприменимо для функций"
 
-#: catalog/aclchk.c:475
+#: catalog/aclchk.c:454
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "право %s неприменимо для языков"
 
-#: catalog/aclchk.c:479
+#: catalog/aclchk.c:458
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "право %s неприменимо для больших объектов"
 
-#: catalog/aclchk.c:483
+#: catalog/aclchk.c:462
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "право %s неприменимо для схем"
 
-#: catalog/aclchk.c:487
+#: catalog/aclchk.c:466
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "право %s неприменимо для табличных пространств"
 
-#: catalog/aclchk.c:491 catalog/aclchk.c:945
+#: catalog/aclchk.c:470 catalog/aclchk.c:936
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "право %s неприменимо для типа"
 
-#: catalog/aclchk.c:495
+#: catalog/aclchk.c:474
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "право %s неприменимо для обёрток сторонних данных"
 
-#: catalog/aclchk.c:499
+#: catalog/aclchk.c:478
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "право %s неприменимо для сторонних серверов"
 
-#: catalog/aclchk.c:538
+#: catalog/aclchk.c:517
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "права для колонок применимы только к отношениям"
 
-#: catalog/aclchk.c:688 catalog/aclchk.c:3904 catalog/aclchk.c:4681
-#: catalog/objectaddress.c:586 catalog/pg_largeobject.c:113
+#: catalog/aclchk.c:676 catalog/aclchk.c:3874 catalog/aclchk.c:4651
+#: catalog/objectaddress.c:854 catalog/pg_largeobject.c:113
 #: storage/large_object/inv_api.c:291
 #, c-format
 msgid "large object %u does not exist"
 msgstr "большой объект %u не существует"
 
-#: catalog/aclchk.c:875 catalog/aclchk.c:883 commands/collationcmds.c:91
-#: commands/copy.c:936 commands/copy.c:954 commands/copy.c:962
-#: commands/copy.c:970 commands/copy.c:978 commands/copy.c:986
-#: commands/copy.c:994 commands/copy.c:1002 commands/copy.c:1010
-#: commands/copy.c:1026 commands/copy.c:1040 commands/copy.c:1059
-#: commands/copy.c:1074 commands/dbcommands.c:148 commands/dbcommands.c:156
-#: commands/dbcommands.c:164 commands/dbcommands.c:172
-#: commands/dbcommands.c:180 commands/dbcommands.c:188
-#: commands/dbcommands.c:196 commands/dbcommands.c:1372
-#: commands/dbcommands.c:1380 commands/extension.c:1246
-#: commands/extension.c:1254 commands/extension.c:1262
-#: commands/extension.c:2670 commands/foreigncmds.c:486
-#: commands/foreigncmds.c:495 commands/functioncmds.c:522
-#: commands/functioncmds.c:614 commands/functioncmds.c:622
-#: commands/functioncmds.c:630 commands/functioncmds.c:1700
-#: commands/functioncmds.c:1708 commands/sequence.c:1169
-#: commands/sequence.c:1177 commands/sequence.c:1185 commands/sequence.c:1193
-#: commands/sequence.c:1201 commands/sequence.c:1209 commands/sequence.c:1217
-#: commands/sequence.c:1225 commands/typecmds.c:297 commands/typecmds.c:1332
-#: commands/typecmds.c:1341 commands/typecmds.c:1349 commands/typecmds.c:1357
-#: commands/typecmds.c:1365 commands/user.c:135 commands/user.c:152
-#: commands/user.c:160 commands/user.c:168 commands/user.c:176
-#: commands/user.c:184 commands/user.c:192 commands/user.c:200
-#: commands/user.c:208 commands/user.c:216 commands/user.c:224
-#: commands/user.c:232 commands/user.c:496 commands/user.c:508
-#: commands/user.c:516 commands/user.c:524 commands/user.c:532
-#: commands/user.c:540 commands/user.c:548 commands/user.c:556
-#: commands/user.c:565 commands/user.c:573
+#: catalog/aclchk.c:863 catalog/aclchk.c:871 commands/collationcmds.c:92
+#: commands/copy.c:1001 commands/copy.c:1019 commands/copy.c:1027
+#: commands/copy.c:1035 commands/copy.c:1043 commands/copy.c:1051
+#: commands/copy.c:1059 commands/copy.c:1067 commands/copy.c:1075
+#: commands/copy.c:1091 commands/copy.c:1105 commands/copy.c:1124
+#: commands/copy.c:1139 commands/dbcommands.c:155 commands/dbcommands.c:163
+#: commands/dbcommands.c:171 commands/dbcommands.c:179
+#: commands/dbcommands.c:187 commands/dbcommands.c:195
+#: commands/dbcommands.c:203 commands/dbcommands.c:211
+#: commands/dbcommands.c:219 commands/dbcommands.c:1397
+#: commands/dbcommands.c:1405 commands/dbcommands.c:1413
+#: commands/dbcommands.c:1421 commands/extension.c:1244
+#: commands/extension.c:1252 commands/extension.c:1260
+#: commands/extension.c:2677 commands/foreigncmds.c:539
+#: commands/foreigncmds.c:548 commands/functioncmds.c:525
+#: commands/functioncmds.c:619 commands/functioncmds.c:627
+#: commands/functioncmds.c:635 commands/functioncmds.c:643
+#: commands/functioncmds.c:2045 commands/functioncmds.c:2053
+#: commands/sequence.c:1189 commands/sequence.c:1197 commands/sequence.c:1205
+#: commands/sequence.c:1213 commands/sequence.c:1221 commands/sequence.c:1229
+#: commands/sequence.c:1237 commands/sequence.c:1245 commands/typecmds.c:293
+#: commands/typecmds.c:1380 commands/typecmds.c:1389 commands/typecmds.c:1397
+#: commands/typecmds.c:1405 commands/typecmds.c:1413 commands/user.c:138
+#: commands/user.c:155 commands/user.c:163 commands/user.c:171
+#: commands/user.c:179 commands/user.c:187 commands/user.c:195
+#: commands/user.c:203 commands/user.c:211 commands/user.c:219
+#: commands/user.c:227 commands/user.c:235 commands/user.c:243
+#: commands/user.c:522 commands/user.c:534 commands/user.c:542
+#: commands/user.c:550 commands/user.c:558 commands/user.c:566
+#: commands/user.c:574 commands/user.c:582 commands/user.c:591
+#: commands/user.c:599 commands/user.c:607
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "конфликтующие или избыточные параметры"
 
-#: catalog/aclchk.c:978
+#: catalog/aclchk.c:969
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "права по умолчанию нельзя определить для колонок"
 
-#: catalog/aclchk.c:1492 catalog/objectaddress.c:1042 commands/analyze.c:390
-#: commands/copy.c:4266 commands/sequence.c:1471 commands/tablecmds.c:4939
-#: commands/tablecmds.c:5034 commands/tablecmds.c:5084
-#: commands/tablecmds.c:5188 commands/tablecmds.c:5235
-#: commands/tablecmds.c:5319 commands/tablecmds.c:5407
-#: commands/tablecmds.c:7494 commands/tablecmds.c:7698
-#: commands/tablecmds.c:8090 commands/trigger.c:641 parser/analyze.c:1994
-#: parser/parse_relation.c:2358 parser/parse_relation.c:2420
-#: parser/parse_target.c:920 parser/parse_type.c:128 utils/adt/acl.c:2840
-#: utils/adt/ruleutils.c:1820
+#: catalog/aclchk.c:1483 catalog/objectaddress.c:1338 commands/analyze.c:378
+#: commands/copy.c:4364 commands/sequence.c:1491 commands/tablecmds.c:5149
+#: commands/tablecmds.c:5255 commands/tablecmds.c:5315
+#: commands/tablecmds.c:5428 commands/tablecmds.c:5485
+#: commands/tablecmds.c:5579 commands/tablecmds.c:5675
+#: commands/tablecmds.c:7836 commands/tablecmds.c:8041
+#: commands/tablecmds.c:8461 commands/trigger.c:643 parser/analyze.c:2112
+#: parser/parse_relation.c:2536 parser/parse_relation.c:2598
+#: parser/parse_target.c:940 parser/parse_type.c:128 utils/adt/acl.c:2839
+#: utils/adt/ruleutils.c:1836
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "колонка \"%s\" в таблице \"%s\" не существует"
 
-#: catalog/aclchk.c:1757 catalog/objectaddress.c:862 commands/sequence.c:1058
-#: commands/tablecmds.c:214 commands/tablecmds.c:11244 utils/adt/acl.c:2076
-#: utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170
-#: utils/adt/acl.c:2198 utils/adt/acl.c:2228
+#: catalog/aclchk.c:1748 catalog/objectaddress.c:1151 commands/sequence.c:1078
+#: commands/tablecmds.c:220 commands/tablecmds.c:11890 utils/adt/acl.c:2075
+#: utils/adt/acl.c:2105 utils/adt/acl.c:2137 utils/adt/acl.c:2169
+#: utils/adt/acl.c:2197 utils/adt/acl.c:2227
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "\"%s\" - это не последовательность"
 
-#: catalog/aclchk.c:1795
+#: catalog/aclchk.c:1786
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr ""
 "для последовательности \"%s\" применимы только права USAGE, SELECT и UPDATE"
 
-#: catalog/aclchk.c:1812
+#: catalog/aclchk.c:1803
 #, c-format
 msgid "invalid privilege type USAGE for table"
 msgstr "право USAGE неприменимо для таблиц"
 
-#: catalog/aclchk.c:1977
+#: catalog/aclchk.c:1968
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "право %s неприменимо для колонок"
 
-#: catalog/aclchk.c:1990
+#: catalog/aclchk.c:1981
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "для последовательности \"%s\" применимо только право SELECT"
 
 # TO REVIEW
-#: catalog/aclchk.c:2574
+#: catalog/aclchk.c:2565
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "язык \"%s\" не является доверенным"
 
-#: catalog/aclchk.c:2576
+#: catalog/aclchk.c:2567
 #, c-format
 msgid "Only superusers can use untrusted languages."
 msgstr "Использовать недоверенные языки могут только суперпользователи."
 
-#: catalog/aclchk.c:3092
+#: catalog/aclchk.c:3083
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "для типов массивов нельзя определить права"
 
-#: catalog/aclchk.c:3093
+#: catalog/aclchk.c:3084
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Вместо этого установите права для типа элемента."
 
-#: catalog/aclchk.c:3100 catalog/objectaddress.c:1094 commands/typecmds.c:3187
+#: catalog/aclchk.c:3091 catalog/objectaddress.c:1471 commands/typecmds.c:3142
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "\"%s\" - это не домен"
 
-#: catalog/aclchk.c:3220
+#: catalog/aclchk.c:3211
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "нераспознанное право: \"%s\""
 
-#: catalog/aclchk.c:3269
+#: catalog/aclchk.c:3260
 #, c-format
 msgid "permission denied for column %s"
 msgstr "нет доступа к колонке %s"
 
-#: catalog/aclchk.c:3271
+#: catalog/aclchk.c:3262
 #, c-format
 msgid "permission denied for relation %s"
 msgstr "нет доступа к отношению %s"
 
-#: catalog/aclchk.c:3273 commands/sequence.c:544 commands/sequence.c:767
-#: commands/sequence.c:809 commands/sequence.c:846 commands/sequence.c:1523
+#: catalog/aclchk.c:3264 commands/sequence.c:561 commands/sequence.c:786
+#: commands/sequence.c:828 commands/sequence.c:865 commands/sequence.c:1543
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "нет доступа к последовательности %s"
 
-#: catalog/aclchk.c:3275
+#: catalog/aclchk.c:3266
 #, c-format
 msgid "permission denied for database %s"
 msgstr "нет доступа к базе данных %s"
 
-#: catalog/aclchk.c:3277
+#: catalog/aclchk.c:3268
 #, c-format
 msgid "permission denied for function %s"
 msgstr "нет доступа к функции %s"
 
-#: catalog/aclchk.c:3279
+#: catalog/aclchk.c:3270
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "нет доступа к оператору %s"
 
-#: catalog/aclchk.c:3281
+#: catalog/aclchk.c:3272
 #, c-format
 msgid "permission denied for type %s"
 msgstr "нет доступа к типу %s"
 
-#: catalog/aclchk.c:3283
+#: catalog/aclchk.c:3274
 #, c-format
 msgid "permission denied for language %s"
 msgstr "нет доступа к языку %s"
 
-#: catalog/aclchk.c:3285
+#: catalog/aclchk.c:3276
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "нет доступа к большому объекту %s"
 
-#: catalog/aclchk.c:3287
+#: catalog/aclchk.c:3278
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "нет доступа к схеме %s"
 
-#: catalog/aclchk.c:3289
+#: catalog/aclchk.c:3280
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "нет доступа к классу операторов %s"
 
-#: catalog/aclchk.c:3291
+#: catalog/aclchk.c:3282
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "нет доступа к семейству операторов %s"
 
-#: catalog/aclchk.c:3293
+#: catalog/aclchk.c:3284
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "нет доступа к правилу сортировки %s"
 
-#: catalog/aclchk.c:3295
+#: catalog/aclchk.c:3286
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "нет доступа к преобразованию %s"
 
-#: catalog/aclchk.c:3297
+#: catalog/aclchk.c:3288
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "нет доступа к табличному пространству %s"
 
-#: catalog/aclchk.c:3299
+#: catalog/aclchk.c:3290
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "нет доступа к словарю текстового поиска %s"
 
-#: catalog/aclchk.c:3301
+#: catalog/aclchk.c:3292
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "нет доступа к конфигурации текстового поиска %s"
 
-#: catalog/aclchk.c:3303
+#: catalog/aclchk.c:3294
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "нет доступа к обёртке сторонних данных %s"
 
-#: catalog/aclchk.c:3305
+#: catalog/aclchk.c:3296
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "нет доступа к стороннему серверу %s"
 
-#: catalog/aclchk.c:3307
+#: catalog/aclchk.c:3298
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "нет доступа к событийному триггеру %s"
 
-#: catalog/aclchk.c:3309
+#: catalog/aclchk.c:3300
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "нет доступа к расширению %s"
 
-#: catalog/aclchk.c:3315 catalog/aclchk.c:3317
+#: catalog/aclchk.c:3306 catalog/aclchk.c:3308
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "нужно быть владельцем отношения %s"
 
-#: catalog/aclchk.c:3319
+#: catalog/aclchk.c:3310
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "нужно быть владельцем последовательности %s"
 
-#: catalog/aclchk.c:3321
+#: catalog/aclchk.c:3312
 #, c-format
 msgid "must be owner of database %s"
 msgstr "нужно быть владельцем базы %s"
 
-#: catalog/aclchk.c:3323
+#: catalog/aclchk.c:3314
 #, c-format
 msgid "must be owner of function %s"
 msgstr "нужно быть владельцем функции %s"
 
-#: catalog/aclchk.c:3325
+#: catalog/aclchk.c:3316
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "нужно быть владельцем оператора %s"
 
-#: catalog/aclchk.c:3327
+#: catalog/aclchk.c:3318
 #, c-format
 msgid "must be owner of type %s"
 msgstr "нужно быть владельцем типа %s"
 
-#: catalog/aclchk.c:3329
+#: catalog/aclchk.c:3320
 #, c-format
 msgid "must be owner of language %s"
 msgstr "нужно быть владельцем языка %s"
 
-#: catalog/aclchk.c:3331
+#: catalog/aclchk.c:3322
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "нужно быть владельцем большого объекта %s"
 
-#: catalog/aclchk.c:3333
+#: catalog/aclchk.c:3324
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "нужно быть владельцем схемы %s"
 
-#: catalog/aclchk.c:3335
+#: catalog/aclchk.c:3326
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "нужно быть владельцем класса операторов %s"
 
-#: catalog/aclchk.c:3337
+#: catalog/aclchk.c:3328
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "нужно быть владельцем семейства операторов %s"
 
-#: catalog/aclchk.c:3339
+#: catalog/aclchk.c:3330
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "нужно быть владельцем правила сортировки %s"
 
-#: catalog/aclchk.c:3341
+#: catalog/aclchk.c:3332
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "нужно быть владельцем преобразования %s"
 
-#: catalog/aclchk.c:3343
+#: catalog/aclchk.c:3334
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "нужно быть владельцем табличного пространства %s"
 
-#: catalog/aclchk.c:3345
+#: catalog/aclchk.c:3336
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "нужно быть владельцем словаря текстового поиска %s"
 
-#: catalog/aclchk.c:3347
+#: catalog/aclchk.c:3338
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "нужно быть владельцем конфигурации текстового поиска %s"
 
-#: catalog/aclchk.c:3349
+#: catalog/aclchk.c:3340
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "нужно быть владельцем обёртки сторонних данных %s"
 
-#: catalog/aclchk.c:3351
+#: catalog/aclchk.c:3342
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "нужно быть \"владельцем\" стороннего сервера %s"
 
-#: catalog/aclchk.c:3353
+#: catalog/aclchk.c:3344
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "нужно быть владельцем событийного триггера %s"
 
-#: catalog/aclchk.c:3355
+#: catalog/aclchk.c:3346
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "нужно быть владельцем расширения %s"
 
-#: catalog/aclchk.c:3397
+#: catalog/aclchk.c:3388
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "нет доступа к колонке \"%s\" отношения \"%s\""
 
-#: catalog/aclchk.c:3437
-#, c-format
-msgid "role with OID %u does not exist"
-msgstr "роль с OID %u не существует"
-
-#: catalog/aclchk.c:3536 catalog/aclchk.c:3544
+#: catalog/aclchk.c:3507 catalog/aclchk.c:3515
 #, c-format
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "атрибут %d отношения с OID %u не существует"
 
-#: catalog/aclchk.c:3617 catalog/aclchk.c:4532
+#: catalog/aclchk.c:3588 catalog/aclchk.c:4502
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "отношение с OID %u не существует"
 
-#: catalog/aclchk.c:3717 catalog/aclchk.c:4950
+#: catalog/aclchk.c:3687 catalog/aclchk.c:4920
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "база данных с OID %u не существует"
 
-#: catalog/aclchk.c:3771 catalog/aclchk.c:4610 tcop/fastpath.c:223
+#: catalog/aclchk.c:3741 catalog/aclchk.c:4580 tcop/fastpath.c:223
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "функция с OID %u не существует"
 
-#: catalog/aclchk.c:3825 catalog/aclchk.c:4636
+#: catalog/aclchk.c:3795 catalog/aclchk.c:4606
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "язык с OID %u не существует"
 
-#: catalog/aclchk.c:3989 catalog/aclchk.c:4708
+#: catalog/aclchk.c:3959 catalog/aclchk.c:4678
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "схема с OID %u не существует"
 
-#: catalog/aclchk.c:4043 catalog/aclchk.c:4735
+#: catalog/aclchk.c:4013 catalog/aclchk.c:4705
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "табличное пространство с OID %u не существует"
 
-#: catalog/aclchk.c:4101 catalog/aclchk.c:4869 commands/foreigncmds.c:302
+#: catalog/aclchk.c:4071 catalog/aclchk.c:4839 commands/foreigncmds.c:325
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "обёртка сторонних данных с OID %u не существует"
 
-#: catalog/aclchk.c:4162 catalog/aclchk.c:4896 commands/foreigncmds.c:409
+#: catalog/aclchk.c:4132 catalog/aclchk.c:4866 commands/foreigncmds.c:461
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "сторонний сервер с OID %u не существует"
 
-#: catalog/aclchk.c:4221 catalog/aclchk.c:4235 catalog/aclchk.c:4558
+#: catalog/aclchk.c:4191 catalog/aclchk.c:4205 catalog/aclchk.c:4528
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "тип с OID %u не существует"
 
-#: catalog/aclchk.c:4584
+#: catalog/aclchk.c:4554
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "оператор с OID %u не существует"
 
-#: catalog/aclchk.c:4761
+#: catalog/aclchk.c:4731
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "класс операторов с OID %u не существует"
 
-#: catalog/aclchk.c:4788
+#: catalog/aclchk.c:4758
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "семейство операторов с OID %u не существует"
 
-#: catalog/aclchk.c:4815
+#: catalog/aclchk.c:4785
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "словарь текстового поиска с OID %u не существует"
 
-#: catalog/aclchk.c:4842
+#: catalog/aclchk.c:4812
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "конфигурация текстового поиска с OID %u не существует"
 
-#: catalog/aclchk.c:4923 commands/event_trigger.c:509
+#: catalog/aclchk.c:4893 commands/event_trigger.c:586
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "событийный триггер с OID %u не существует"
 
-#: catalog/aclchk.c:4976
+#: catalog/aclchk.c:4946
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "правило сортировки с OID %u не существует"
 
-#: catalog/aclchk.c:5002
+#: catalog/aclchk.c:4972
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "преобразование с OID %u не существует"
 
-#: catalog/aclchk.c:5043
+#: catalog/aclchk.c:5013
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "расширение с OID %u не существует"
 
-#: catalog/dependency.c:626
+#: catalog/dependency.c:640
 #, c-format
 msgid "cannot drop %s because %s requires it"
 msgstr "удалить объект %s нельзя, так как он нужен объекту %s"
 
-#: catalog/dependency.c:629
+#: catalog/dependency.c:643
 #, c-format
 msgid "You can drop %s instead."
 msgstr "Однако можно удалить %s."
 
-#: catalog/dependency.c:790 catalog/pg_shdepend.c:573
+#: catalog/dependency.c:804 catalog/pg_shdepend.c:574
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "удалить объект %s нельзя, так как он нужен системе баз данных"
 
-#: catalog/dependency.c:906
+#: catalog/dependency.c:920
 #, c-format
 msgid "drop auto-cascades to %s"
 msgstr "удаление автоматически распространяется на объект %s"
 
-#: catalog/dependency.c:918 catalog/dependency.c:927
+#: catalog/dependency.c:932 catalog/dependency.c:941
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s зависит от объекта %s"
 
-#: catalog/dependency.c:939 catalog/dependency.c:948
+#: catalog/dependency.c:953 catalog/dependency.c:962
 #, c-format
 msgid "drop cascades to %s"
 msgstr "удаление распространяется на объект %s"
 
-#: catalog/dependency.c:956 catalog/pg_shdepend.c:684
+#: catalog/dependency.c:970 catalog/pg_shdepend.c:685
 #, c-format
 msgid ""
 "\n"
@@ -3246,24 +3613,24 @@ msgstr[2] ""
 "\n"
 "и ещё %d объектов (см. список в протоколе сервера)"
 
-#: catalog/dependency.c:968
+#: catalog/dependency.c:982
 #, c-format
 msgid "cannot drop %s because other objects depend on it"
 msgstr "удалить объект %s нельзя, так как от него зависят другие объекты"
 
-#: catalog/dependency.c:972 catalog/dependency.c:979
+#: catalog/dependency.c:986 catalog/dependency.c:993
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "Для удаления зависимых объектов используйте DROP ... CASCADE."
 
-#: catalog/dependency.c:976
+#: catalog/dependency.c:990
 #, c-format
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr ""
 "удалить запрошенные объекты нельзя, так как от них зависят другие объекты"
 
 #. translator: %d always has a value larger than 1
-#: catalog/dependency.c:985
+#: catalog/dependency.c:999
 #, c-format
 msgid "drop cascades to %d other object"
 msgid_plural "drop cascades to %d other objects"
@@ -3271,82 +3638,87 @@ msgstr[0] "удаление распространяется на ещё %d об
 msgstr[1] "удаление распространяется на ещё %d объекта"
 msgstr[2] "удаление распространяется на ещё %d объектов"
 
-#: catalog/heap.c:274
+#: catalog/dependency.c:1622
+#, c-format
+msgid "constant of the type 'regrole' cannot be used here"
+msgstr "константу типа 'regrole' здесь использовать нельзя"
+
+#: catalog/heap.c:276
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "нет прав для создания отношения \"%s.%s\""
 
-#: catalog/heap.c:276
+#: catalog/heap.c:278
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Изменение системного каталога в текущем состоянии запрещено."
 
-#: catalog/heap.c:411 commands/tablecmds.c:1402 commands/tablecmds.c:1844
-#: commands/tablecmds.c:4583
+#: catalog/heap.c:413 commands/tablecmds.c:1432 commands/tablecmds.c:1885
+#: commands/tablecmds.c:4786
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "максимальное число колонок в таблице: %d"
 
-#: catalog/heap.c:428 commands/tablecmds.c:4839
+#: catalog/heap.c:430 commands/tablecmds.c:5045
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "имя колонки \"%s\" конфликтует с системной колонкой"
 
-#: catalog/heap.c:444
+#: catalog/heap.c:446
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "имя колонки \"%s\" указано неоднократно"
 
-#: catalog/heap.c:494
+#: catalog/heap.c:496
 #, c-format
 msgid "column \"%s\" has type \"unknown\""
 msgstr "колонка \"%s\" имеет неизвестный тип (UNKNOWN)"
 
-#: catalog/heap.c:495
+#: catalog/heap.c:497
 #, c-format
 msgid "Proceeding with relation creation anyway."
 msgstr "Несмотря на это, создание отношения продолжается."
 
-#: catalog/heap.c:508
+#: catalog/heap.c:510
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "колонка \"%s\" имеет псевдотип %s"
 
-#: catalog/heap.c:538
+#: catalog/heap.c:540
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "составной тип %s не может содержать себя же"
 
-#: catalog/heap.c:580 commands/createas.c:343
+#: catalog/heap.c:582 commands/createas.c:373
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr ""
 "для колонки \"%s\" с сортируемым типом %s не удалось получить правило "
 "сортировки"
 
-#: catalog/heap.c:582 commands/createas.c:345 commands/indexcmds.c:1072
+#: catalog/heap.c:584 commands/createas.c:375 commands/indexcmds.c:1087
 #: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1514
 #: utils/adt/formatting.c:1566 utils/adt/formatting.c:1634
 #: utils/adt/formatting.c:1686 utils/adt/formatting.c:1755
-#: utils/adt/formatting.c:1819 utils/adt/like.c:212 utils/adt/selfuncs.c:5221
-#: utils/adt/varlena.c:1381
+#: utils/adt/formatting.c:1819 utils/adt/like.c:212 utils/adt/selfuncs.c:5231
+#: utils/adt/varlena.c:1411 utils/adt/varlena.c:1800
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Задайте правило сравнения явно в предложении COLLATE."
 
-#: catalog/heap.c:1056 catalog/index.c:778 commands/tablecmds.c:2549
+#: catalog/heap.c:1064 catalog/index.c:793 commands/tablecmds.c:2612
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "отношение \"%s\" уже существует"
 
-#: catalog/heap.c:1072 catalog/pg_type.c:403 catalog/pg_type.c:706
-#: commands/typecmds.c:239 commands/typecmds.c:739 commands/typecmds.c:1090
-#: commands/typecmds.c:1308 commands/typecmds.c:2060
+#: catalog/heap.c:1080 catalog/pg_type.c:412 catalog/pg_type.c:722
+#: commands/typecmds.c:235 commands/typecmds.c:782 commands/typecmds.c:1133
+#: commands/typecmds.c:1355 commands/typecmds.c:2109
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "тип \"%s\" уже существует"
 
-#: catalog/heap.c:1073
+#: catalog/heap.c:1081
 #, c-format
 msgid ""
 "A relation has an associated type of the same name, so you must use a name "
@@ -3355,61 +3727,66 @@ msgstr ""
 "С отношением уже связан тип с таким же именем; выберите имя, не "
 "конфликтующее с существующими типами."
 
-#: catalog/heap.c:2258
+#: catalog/heap.c:1109
+#, c-format
+msgid "pg_class heap OID value not set when in binary upgrade mode"
+msgstr "значение OID кучи в pg_class не задано в режиме двоичного обновления"
+
+#: catalog/heap.c:2289
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "ограничение-проверка \"%s\" уже существует"
 
-#: catalog/heap.c:2411 catalog/pg_constraint.c:650 commands/tablecmds.c:5734
+#: catalog/heap.c:2444 catalog/pg_constraint.c:652 commands/tablecmds.c:6020
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "ограничение \"%s\" для отношения \"%s\" уже существует"
 
-#: catalog/heap.c:2421
+#: catalog/heap.c:2454
 #, c-format
 msgid ""
 "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
 msgstr ""
 "ограничение \"%s\" конфликтует с ненаследуемым ограничением таблицы \"%s\""
 
-#: catalog/heap.c:2435
+#: catalog/heap.c:2468
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "слияние ограничения \"%s\" с унаследованным определением"
 
-#: catalog/heap.c:2528
+#: catalog/heap.c:2561
 #, c-format
 msgid "cannot use column references in default expression"
 msgstr "в выражении по умолчанию нельзя ссылаться на колонки"
 
-#: catalog/heap.c:2539
+#: catalog/heap.c:2572
 #, c-format
 msgid "default expression must not return a set"
 msgstr "выражение по умолчанию не может возвращать множество"
 
-#: catalog/heap.c:2558 rewrite/rewriteHandler.c:1066
+#: catalog/heap.c:2591 rewrite/rewriteHandler.c:1077
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "колонка \"%s\" имеет тип %s, но тип выражения по умолчанию %s"
 
-#: catalog/heap.c:2563 commands/prepare.c:374 parser/parse_node.c:411
-#: parser/parse_target.c:509 parser/parse_target.c:758
-#: parser/parse_target.c:768 rewrite/rewriteHandler.c:1071
+#: catalog/heap.c:2596 commands/prepare.c:374 parser/parse_node.c:411
+#: parser/parse_target.c:528 parser/parse_target.c:778
+#: parser/parse_target.c:788 rewrite/rewriteHandler.c:1082
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Перепишите выражение или преобразуйте его тип."
 
-#: catalog/heap.c:2610
+#: catalog/heap.c:2643
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "в ограничении-проверке можно ссылаться только на таблицу \"%s\""
 
-#: catalog/heap.c:2850
+#: catalog/heap.c:2883
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "неподдерживаемое сочетание внешнего ключа с ON COMMIT"
 
-#: catalog/heap.c:2851
+#: catalog/heap.c:2884
 #, c-format
 msgid ""
 "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT "
@@ -3417,358 +3794,478 @@ msgid ""
 msgstr ""
 "Таблица \"%s\" ссылается на \"%s\", и для них задан разный режим ON COMMIT."
 
-#: catalog/heap.c:2856
+#: catalog/heap.c:2889
 #, c-format
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "опустошить таблицу, на которую ссылается внешний ключ, нельзя"
 
-#: catalog/heap.c:2857
+#: catalog/heap.c:2890
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "Таблица \"%s\" ссылается на \"%s\"."
 
-#: catalog/heap.c:2859
+#: catalog/heap.c:2892
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr ""
 "Опустошите таблицу \"%s\" параллельно или используйте TRUNCATE ... CASCADE."
 
-#: catalog/index.c:204 parser/parse_utilcmd.c:1393 parser/parse_utilcmd.c:1479
+#: catalog/index.c:205 parser/parse_utilcmd.c:1436 parser/parse_utilcmd.c:1522
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "таблица \"%s\" не может иметь несколько первичных ключей"
 
-#: catalog/index.c:222
+#: catalog/index.c:223
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "первичные ключи не могут быть выражениями"
 
-#: catalog/index.c:739 catalog/index.c:1143
+#: catalog/index.c:743 catalog/index.c:1161
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr ""
 "пользовательские индексы в таблицах системного каталога не поддерживаются"
 
-#: catalog/index.c:749
+#: catalog/index.c:753
 #, c-format
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr ""
 "параллельное создание индекса в таблицах системного каталога не "
 "поддерживается"
 
-#: catalog/index.c:767
+#: catalog/index.c:771
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "нельзя создать разделяемые индексы после initdb"
 
-#: catalog/index.c:1403
+#: catalog/index.c:785 commands/createas.c:100 commands/sequence.c:141
+#: parser/parse_utilcmd.c:185
+#, c-format
+msgid "relation \"%s\" already exists, skipping"
+msgstr "отношение \"%s\" уже существует, пропускается"
+
+#: catalog/index.c:821
+#, c-format
+msgid "pg_class index OID value not set when in binary upgrade mode"
+msgstr ""
+"значение OID индекса в pg_class не задано в режиме двоичного обновления"
+
+#: catalog/index.c:1423
 #, c-format
 msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
 msgstr "DROP INDEX CONCURRENTLY должен быть первым действием в транзакции"
 
-#: catalog/index.c:1936
+#: catalog/index.c:2007
 #, c-format
 msgid "building index \"%s\" on table \"%s\""
 msgstr "создание индекса \"%s\" для таблицы \"%s\""
 
-#: catalog/index.c:3121
+#: catalog/index.c:3228
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "переиндексировать временные таблицы других сеансов нельзя"
 
-#: catalog/namespace.c:247 catalog/namespace.c:445 catalog/namespace.c:539
-#: commands/trigger.c:4492
+#: catalog/index.c:3353
+#, c-format
+msgid "index \"%s\" was reindexed"
+msgstr "индекс \"%s\" был перестроен"
+
+#: catalog/index.c:3355 commands/vacuumlazy.c:1131 commands/vacuumlazy.c:1207
+#: commands/vacuumlazy.c:1374 commands/vacuumlazy.c:1546
+#, c-format
+msgid "%s."
+msgstr "%s."
+
+#: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541
+#: commands/trigger.c:4528
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "ссылки между базами не реализованы: \"%s.%s.%s\""
 
-#: catalog/namespace.c:304
+#: catalog/namespace.c:306
 #, c-format
 msgid "temporary tables cannot specify a schema name"
 msgstr "для временных таблиц имя схемы не указывается"
 
-#: catalog/namespace.c:383
+#: catalog/namespace.c:385
 #, c-format
 msgid "could not obtain lock on relation \"%s.%s\""
 msgstr "не удалось получить блокировку таблицы \"%s.%s\""
 
-#: catalog/namespace.c:388 commands/lockcmds.c:146
+#: catalog/namespace.c:390 commands/lockcmds.c:146
 #, c-format
 msgid "could not obtain lock on relation \"%s\""
 msgstr "не удалось получить блокировку таблицы \"%s\""
 
-#: catalog/namespace.c:412 parser/parse_relation.c:964
+#: catalog/namespace.c:414 parser/parse_relation.c:1131
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "отношение \"%s.%s\" не существует"
 
-#: catalog/namespace.c:417 parser/parse_relation.c:977
-#: parser/parse_relation.c:985 utils/adt/regproc.c:974
+#: catalog/namespace.c:419 parser/parse_relation.c:1144
+#: parser/parse_relation.c:1152 utils/adt/regproc.c:1035
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "отношение \"%s\" не существует"
 
-#: catalog/namespace.c:485 catalog/namespace.c:2849 commands/extension.c:1396
-#: commands/extension.c:1402
+#: catalog/namespace.c:487 catalog/namespace.c:2852 commands/extension.c:1394
+#: commands/extension.c:1400
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "схема для создания объектов не выбрана"
 
-#: catalog/namespace.c:637 catalog/namespace.c:650
+#: catalog/namespace.c:639 catalog/namespace.c:652
 #, c-format
 msgid "cannot create relations in temporary schemas of other sessions"
 msgstr "во временных схемах других сеансов нельзя создавать отношения"
 
-#: catalog/namespace.c:641
+#: catalog/namespace.c:643
 #, c-format
 msgid "cannot create temporary relation in non-temporary schema"
 msgstr "создавать временные отношения можно только во временных схемах"
 
-#: catalog/namespace.c:656
+#: catalog/namespace.c:658
 #, c-format
 msgid "only temporary relations may be created in temporary schemas"
 msgstr "во временных схемах можно создавать только временные отношения"
 
-#: catalog/namespace.c:2151
+#: catalog/namespace.c:2154
 #, c-format
 msgid "text search parser \"%s\" does not exist"
 msgstr "анализатор текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2277
+#: catalog/namespace.c:2280
 #, c-format
 msgid "text search dictionary \"%s\" does not exist"
 msgstr "словарь текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2404
+#: catalog/namespace.c:2407
 #, c-format
 msgid "text search template \"%s\" does not exist"
 msgstr "шаблон текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2530 commands/tsearchcmds.c:1168
-#: utils/cache/ts_cache.c:616
+#: catalog/namespace.c:2533 commands/tsearchcmds.c:1197
+#: utils/cache/ts_cache.c:613
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "конфигурация текстового поиска \"%s\" не существует"
 
-#: catalog/namespace.c:2643 parser/parse_expr.c:788 parser/parse_target.c:1110
+#: catalog/namespace.c:2646 parser/parse_expr.c:789 parser/parse_target.c:1130
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "ссылки между базами не реализованы: %s"
 
-#: catalog/namespace.c:2649 parser/parse_expr.c:795 parser/parse_target.c:1117
-#: gram.y:12556 gram.y:13788
+#: catalog/namespace.c:2652 parser/parse_expr.c:796 parser/parse_target.c:1137
+#: gram.y:13320 gram.y:14674
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "неверное полное имя (слишком много компонентов): %s"
 
-#: catalog/namespace.c:2783
+#: catalog/namespace.c:2786
 #, c-format
 msgid "%s is already in schema \"%s\""
 msgstr "объект %s уже существует в схеме \"%s\""
 
-#: catalog/namespace.c:2791
+#: catalog/namespace.c:2794
 #, c-format
 msgid "cannot move objects into or out of temporary schemas"
 msgstr "перемещать объекты в/из внутренних схем нельзя"
 
-#: catalog/namespace.c:2797
+#: catalog/namespace.c:2800
 #, c-format
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "перемещать объекты в/из схем TOAST нельзя"
 
-#: catalog/namespace.c:2870 commands/schemacmds.c:212
-#: commands/schemacmds.c:288 commands/tablecmds.c:708
+#: catalog/namespace.c:2873 commands/schemacmds.c:238
+#: commands/schemacmds.c:317 commands/tablecmds.c:734
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "схема \"%s\" не существует"
 
-#: catalog/namespace.c:2901
+#: catalog/namespace.c:2904
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "неверное имя отношения (слишком много компонентов): %s"
 
-#: catalog/namespace.c:3342
+#: catalog/namespace.c:3369
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "правило сортировки \"%s\" для кодировки \"%s\" не существует"
 
-#: catalog/namespace.c:3397
+#: catalog/namespace.c:3424
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "преобразование \"%s\" не существует"
 
-#: catalog/namespace.c:3605
+#: catalog/namespace.c:3632
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "нет прав для создания временных таблиц в базе \"%s\""
 
-#: catalog/namespace.c:3621
+#: catalog/namespace.c:3648
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "создавать временные таблицы в процессе восстановления нельзя"
 
-#: catalog/namespace.c:3865 commands/tablespace.c:1113 commands/variable.c:61
-#: replication/syncrep.c:677 utils/misc/guc.c:9012
+#: catalog/namespace.c:3654
+#, c-format
+msgid "cannot create temporary tables in parallel mode"
+msgstr "создавать временные таблицы в параллельном режиме нельзя"
+
+#: catalog/namespace.c:3898 commands/tablespace.c:1158 commands/variable.c:62
+#: replication/syncrep.c:700 utils/misc/guc.c:9665
 #, c-format
 msgid "List syntax is invalid."
 msgstr "Ошибка синтаксиса в списке."
 
-#: catalog/objectaddress.c:732
+#: catalog/objectaddress.c:1021
 msgid "database name cannot be qualified"
 msgstr "имя базы данных не может быть составным"
 
-#: catalog/objectaddress.c:735 commands/extension.c:2423
+#: catalog/objectaddress.c:1024 commands/extension.c:2423
 #, c-format
 msgid "extension name cannot be qualified"
 msgstr "имя расширения не может быть составным"
 
-#: catalog/objectaddress.c:738
+#: catalog/objectaddress.c:1027
 msgid "tablespace name cannot be qualified"
 msgstr "имя табличного пространства не может быть составным"
 
-#: catalog/objectaddress.c:741
+#: catalog/objectaddress.c:1030
 msgid "role name cannot be qualified"
 msgstr "имя роли не может быть составным"
 
-#: catalog/objectaddress.c:744
+#: catalog/objectaddress.c:1033
 msgid "schema name cannot be qualified"
 msgstr "имя схемы не может быть составным"
 
-#: catalog/objectaddress.c:747
+#: catalog/objectaddress.c:1036
 msgid "language name cannot be qualified"
 msgstr "имя языка не может быть составным"
 
-#: catalog/objectaddress.c:750
+#: catalog/objectaddress.c:1039
 msgid "foreign-data wrapper name cannot be qualified"
 msgstr "имя обёртки сторонних данных не может быть составным"
 
-#: catalog/objectaddress.c:753
+#: catalog/objectaddress.c:1042
 msgid "server name cannot be qualified"
 msgstr "имя сервера не может быть составным"
 
-#: catalog/objectaddress.c:756
+#: catalog/objectaddress.c:1045
 msgid "event trigger name cannot be qualified"
 msgstr "имя событийного триггера не может быть составным"
 
-#: catalog/objectaddress.c:869 commands/lockcmds.c:94 commands/tablecmds.c:208
-#: commands/tablecmds.c:1263 commands/tablecmds.c:4130
-#: commands/tablecmds.c:7601
+#: catalog/objectaddress.c:1158 commands/lockcmds.c:94 commands/policy.c:93
+#: commands/policy.c:423 commands/tablecmds.c:214 commands/tablecmds.c:1293
+#: commands/tablecmds.c:4326 commands/tablecmds.c:7938
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "\"%s\" - это не таблица"
 
-#: catalog/objectaddress.c:876 commands/tablecmds.c:220
-#: commands/tablecmds.c:4154 commands/tablecmds.c:11249 commands/view.c:154
+#: catalog/objectaddress.c:1165 commands/tablecmds.c:226
+#: commands/tablecmds.c:4350 commands/tablecmds.c:11895 commands/view.c:155
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "\"%s\" - это не представление"
 
-#: catalog/objectaddress.c:883 commands/matview.c:171 commands/tablecmds.c:226
-#: commands/tablecmds.c:11254
+#: catalog/objectaddress.c:1172 commands/matview.c:174
+#: commands/tablecmds.c:232 commands/tablecmds.c:11900
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "\"%s\" - это не материализованное представление"
 
-#: catalog/objectaddress.c:890 commands/tablecmds.c:244
-#: commands/tablecmds.c:4157 commands/tablecmds.c:11259
+#: catalog/objectaddress.c:1179 commands/tablecmds.c:250
+#: commands/tablecmds.c:4353 commands/tablecmds.c:11905
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "\"%s\" - это не сторонняя таблица"
 
-#: catalog/objectaddress.c:1028
+#: catalog/objectaddress.c:1324 catalog/objectaddress.c:1377
 #, c-format
 msgid "column name must be qualified"
 msgstr "имя колонки нужно указать в полной форме"
 
-#: catalog/objectaddress.c:1083 commands/functioncmds.c:126
-#: commands/tablecmds.c:236 commands/typecmds.c:3253 parser/parse_type.c:222
-#: parser/parse_type.c:251 parser/parse_type.c:795 utils/adt/acl.c:4374
-#: utils/adt/regproc.c:1165
+#: catalog/objectaddress.c:1420
+#, c-format
+msgid "default value for column \"%s\" of relation \"%s\" does not exist"
+msgstr ""
+"значение по умолчанию для колонки \"%s\" отношения \"%s\" не существует"
+
+#: catalog/objectaddress.c:1460 commands/functioncmds.c:128
+#: commands/tablecmds.c:242 commands/typecmds.c:3210 parser/parse_type.c:227
+#: parser/parse_type.c:256 parser/parse_type.c:824 utils/adt/acl.c:4373
+#: utils/adt/regproc.c:1226
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "тип \"%s\" не существует"
 
-#: catalog/objectaddress.c:1240 libpq/be-fsstubs.c:352
+#: catalog/objectaddress.c:1577
 #, c-format
-msgid "must be owner of large object %u"
-msgstr "нÑ\83жно Ð±Ñ\8bÑ\82Ñ\8c Ð²Ð»Ð°Ð´ÐµÐ»Ñ\8cÑ\86ем Ð±Ð¾Ð»Ñ\8cÑ\88ого Ð¾Ð±Ñ\8aекÑ\82а %u"
+msgid "operator %d (%s, %s) of %s does not exist"
+msgstr "опеÑ\80аÑ\82оÑ\80 %d (%s, %s) Ð¸Ð· Ñ\81емейÑ\81Ñ\82ва %s Ð½Ðµ Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82"
 
-#: catalog/objectaddress.c:1255 commands/functioncmds.c:1328
+#: catalog/objectaddress.c:1606
 #, c-format
-msgid "must be owner of type %s or type %s"
-msgstr "Ñ\8dÑ\82о Ñ\80азÑ\80еÑ\88ено Ñ\82олÑ\8cко Ð²Ð»Ð°Ð´ÐµÐ»Ñ\8cÑ\86Ñ\83 Ñ\82ипа %s Ð¸Ð»Ð¸ %s"
+msgid "function %d (%s, %s) of %s does not exist"
+msgstr "Ñ\84Ñ\83нкÑ\86иÑ\8f %d (%s, %s) Ð¸Ð· Ñ\81емейÑ\81Ñ\82ва %s Ð½Ðµ Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82"
 
-#: catalog/objectaddress.c:1286 catalog/objectaddress.c:1302
+#: catalog/objectaddress.c:1655 catalog/objectaddress.c:1681
 #, c-format
-msgid "must be superuser"
-msgstr "Ñ\82Ñ\80ебÑ\83Ñ\8eÑ\82Ñ\81Ñ\8f Ð¿Ñ\80ава Ñ\81Ñ\83пеÑ\80полÑ\8cзоваÑ\82елÑ\8f"
+msgid "user mapping for user \"%s\" in server \"%s\" does not exist"
+msgstr "Ñ\81опоÑ\81Ñ\82авление Ð´Ð»Ñ\8f Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f \"%s\" Ð½Ð° Ñ\81еÑ\80веÑ\80е \"%s\" Ð½Ðµ Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82"
 
-#: catalog/objectaddress.c:1293
+#: catalog/objectaddress.c:1670 commands/foreigncmds.c:430
+#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359
+#: foreign/foreign.c:691
 #, c-format
-msgid "must have CREATEROLE privilege"
-msgstr "Ñ\82Ñ\80ебÑ\83еÑ\82Ñ\81Ñ\8f Ð¿Ñ\80аво CREATEROLE"
+msgid "server \"%s\" does not exist"
+msgstr "Ñ\81еÑ\80веÑ\80 \"%s\" Ð½Ðµ Ñ\81Ñ\83Ñ\89еÑ\81Ñ\82вÑ\83еÑ\82"
 
-#: catalog/objectaddress.c:1539
+#: catalog/objectaddress.c:1742
 #, c-format
-msgid " column %s"
-msgstr " колонка %s"
+msgid "unrecognized default ACL object type %c"
+msgstr "нераспознанный тип объекта ACL по умолчанию: %c"
 
-#: catalog/objectaddress.c:1545
+#: catalog/objectaddress.c:1743
 #, c-format
-msgid "function %s"
-msgstr "функция %s"
+msgid "Valid object types are 'r', 'S', 'f', and 'T'."
+msgstr "Допустимые значения: 'r', 'S', 'f' и 'T'."
 
-#: catalog/objectaddress.c:1550
+#: catalog/objectaddress.c:1789
 #, c-format
-msgid "type %s"
-msgstr "тип %s"
+msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist"
+msgstr ""
+"ACL по умолчанию для пользователя \"%s\" в схеме \"%s\" для объекта %s не "
+"существует"
 
-#: catalog/objectaddress.c:1580
+#: catalog/objectaddress.c:1794
 #, c-format
-msgid "cast from %s to %s"
-msgstr "преобразование типа из %s в %s"
+msgid "default ACL for user \"%s\" on %s does not exist"
+msgstr ""
+"ACL по умолчанию для пользователя \"%s\" и для объекта %s не существует"
 
-#: catalog/objectaddress.c:1600
+#: catalog/objectaddress.c:1821 catalog/objectaddress.c:1877
+#: catalog/objectaddress.c:1932
 #, c-format
-msgid "collation %s"
-msgstr "правило сортировки %s"
+msgid "name or argument lists may not contain nulls"
+msgstr "списки имён и аргументов не должны содержать NULL"
 
-#: catalog/objectaddress.c:1624
+#: catalog/objectaddress.c:1853
+#, c-format
+msgid "unsupported object type \"%s\""
+msgstr "неподдерживаемый тип объекта: \"%s\""
+
+#: catalog/objectaddress.c:1873 catalog/objectaddress.c:1891
+#, c-format
+msgid "name list length must be exactly %d"
+msgstr "длина списка имён должна быть равна %d"
+
+#: catalog/objectaddress.c:1895
+#, c-format
+msgid "large object OID may not be null"
+msgstr "OID большого объекта не может быть NULL"
+
+#: catalog/objectaddress.c:1904
+#, c-format
+msgid "name list must be of length at least %d"
+msgstr "длина списка имён должна быть не меньше %d"
+
+#: catalog/objectaddress.c:1957 catalog/objectaddress.c:1977
+#, c-format
+msgid "argument list length must be exactly %d"
+msgstr "длина списка аргументов должна быть равна %d"
+
+#: catalog/objectaddress.c:1964 catalog/objectaddress.c:1971
+#, c-format
+msgid "name list length must be at least %d"
+msgstr "длина списка аргументов должна быть не меньше %d"
+
+#: catalog/objectaddress.c:2113 libpq/be-fsstubs.c:352
+#, c-format
+msgid "must be owner of large object %u"
+msgstr "нужно быть владельцем большого объекта %u"
+
+#: catalog/objectaddress.c:2128 commands/functioncmds.c:1386
+#, c-format
+msgid "must be owner of type %s or type %s"
+msgstr "это разрешено только владельцу типа %s или %s"
+
+#: catalog/objectaddress.c:2168 catalog/objectaddress.c:2184
+#, c-format
+msgid "must be superuser"
+msgstr "требуются права суперпользователя"
+
+#: catalog/objectaddress.c:2175
+#, c-format
+msgid "must have CREATEROLE privilege"
+msgstr "требуется право CREATEROLE"
+
+#: catalog/objectaddress.c:2254
+#, c-format
+msgid "unrecognized object type \"%s\""
+msgstr "нераспознанный тип объекта \"%s\""
+
+#: catalog/objectaddress.c:2449
+#, c-format
+msgid " column %s"
+msgstr " колонка %s"
+
+#: catalog/objectaddress.c:2455
+#, c-format
+msgid "function %s"
+msgstr "функция %s"
+
+#: catalog/objectaddress.c:2460
+#, c-format
+msgid "type %s"
+msgstr "тип %s"
+
+#: catalog/objectaddress.c:2490
+#, c-format
+msgid "cast from %s to %s"
+msgstr "приведение %s к %s"
+
+#: catalog/objectaddress.c:2510
+#, c-format
+msgid "collation %s"
+msgstr "правило сортировки %s"
+
+#: catalog/objectaddress.c:2534
 #, c-format
 msgid "constraint %s on %s"
 msgstr "ограничение %s в отношении %s"
 
-#: catalog/objectaddress.c:1630
+#: catalog/objectaddress.c:2540
 #, c-format
 msgid "constraint %s"
 msgstr "ограничение %s"
 
-#: catalog/objectaddress.c:1647
+#: catalog/objectaddress.c:2557
 #, c-format
 msgid "conversion %s"
 msgstr "преобразование %s"
 
-#: catalog/objectaddress.c:1684
+#: catalog/objectaddress.c:2594
 #, c-format
 msgid "default for %s"
 msgstr "значение по умолчанию, %s"
 
-#: catalog/objectaddress.c:1701
+#: catalog/objectaddress.c:2603
 #, c-format
 msgid "language %s"
 msgstr "язык %s"
 
-#: catalog/objectaddress.c:1707
+#: catalog/objectaddress.c:2608
 #, c-format
 msgid "large object %u"
 msgstr "большой объект %u"
 
-#: catalog/objectaddress.c:1712
+#: catalog/objectaddress.c:2613
 #, c-format
 msgid "operator %s"
 msgstr "оператор %s"
 
-#: catalog/objectaddress.c:1744
+#: catalog/objectaddress.c:2645
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "класс операторов %s для метода доступа %s"
@@ -3777,7 +4274,7 @@ msgstr "класс операторов %s для метода доступа %s
 #. first two %s's are data type names, the third %s is the
 #. description of the operator family, and the last %s is the
 #. textual form of the operator with arguments.
-#: catalog/objectaddress.c:1794
+#: catalog/objectaddress.c:2695
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "оператор %d (%s, %s) из семейства \"%s\": %s"
@@ -3786,163 +4283,173 @@ msgstr "оператор %d (%s, %s) из семейства \"%s\": %s"
 #. are data type names, the third %s is the description of the
 #. operator family, and the last %s is the textual form of the
 #. function with arguments.
-#: catalog/objectaddress.c:1844
+#: catalog/objectaddress.c:2745
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "функция %d (%s, %s) из семейства \"%s\": %s"
 
-#: catalog/objectaddress.c:1884
+#: catalog/objectaddress.c:2785
 #, c-format
 msgid "rule %s on "
 msgstr "правило %s для отношения: "
 
-#: catalog/objectaddress.c:1919
+#: catalog/objectaddress.c:2807
+#, c-format
+msgid "transform for %s language %s"
+msgstr "преобразование для %s, языка %s"
+
+#: catalog/objectaddress.c:2841
 #, c-format
 msgid "trigger %s on "
 msgstr "триггер %s в отношении: "
 
-#: catalog/objectaddress.c:1936
+#: catalog/objectaddress.c:2858
 #, c-format
 msgid "schema %s"
 msgstr "схема %s"
 
-#: catalog/objectaddress.c:1949
+#: catalog/objectaddress.c:2871
 #, c-format
 msgid "text search parser %s"
 msgstr "анализатор текстового поиска %s"
 
-#: catalog/objectaddress.c:1964
+#: catalog/objectaddress.c:2886
 #, c-format
 msgid "text search dictionary %s"
 msgstr "словарь текстового поиска %s"
 
-#: catalog/objectaddress.c:1979
+#: catalog/objectaddress.c:2901
 #, c-format
 msgid "text search template %s"
 msgstr "шаблон текстового поиска %s"
 
-#: catalog/objectaddress.c:1994
+#: catalog/objectaddress.c:2916
 #, c-format
 msgid "text search configuration %s"
 msgstr "конфигурация текстового поиска %s"
 
-#: catalog/objectaddress.c:2002
+#: catalog/objectaddress.c:2924
 #, c-format
 msgid "role %s"
 msgstr "роль %s"
 
-#: catalog/objectaddress.c:2015
+#: catalog/objectaddress.c:2937
 #, c-format
 msgid "database %s"
 msgstr "база данных %s"
 
-#: catalog/objectaddress.c:2027
+#: catalog/objectaddress.c:2949
 #, c-format
 msgid "tablespace %s"
 msgstr "табличное пространство %s"
 
-#: catalog/objectaddress.c:2036
+#: catalog/objectaddress.c:2958
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "обёртка сторонних данных %s"
 
-#: catalog/objectaddress.c:2045
+#: catalog/objectaddress.c:2967
 #, c-format
 msgid "server %s"
 msgstr "сервер %s"
 
-#: catalog/objectaddress.c:2073
+#: catalog/objectaddress.c:2995
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "сопоставление для пользователя %s на сервере %s"
 
-#: catalog/objectaddress.c:2108
+#: catalog/objectaddress.c:3030
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "права по умолчанию для новых отношений, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:2113
+#: catalog/objectaddress.c:3035
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr ""
 "права по умолчанию для новых последовательностей, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:2118
+#: catalog/objectaddress.c:3040
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "права по умолчанию для новых функций, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:2123
+#: catalog/objectaddress.c:3045
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "права по умолчанию для новых типов, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:2129
+#: catalog/objectaddress.c:3051
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "права по умолчанию для новых объектов, принадлежащих роли %s"
 
-#: catalog/objectaddress.c:2137
+#: catalog/objectaddress.c:3059
 #, c-format
 msgid " in schema %s"
 msgstr " в схеме %s"
 
-#: catalog/objectaddress.c:2154
+#: catalog/objectaddress.c:3076
 #, c-format
 msgid "extension %s"
 msgstr "расширение %s"
 
-#: catalog/objectaddress.c:2167
+#: catalog/objectaddress.c:3089
 #, c-format
 msgid "event trigger %s"
 msgstr "событийный триггер %s"
 
-#: catalog/objectaddress.c:2227
+#: catalog/objectaddress.c:3121
+#, c-format
+msgid "policy %s on "
+msgstr "политика %s отношения "
+
+#: catalog/objectaddress.c:3184
 #, c-format
 msgid "table %s"
 msgstr "таблица %s"
 
-#: catalog/objectaddress.c:2231
+#: catalog/objectaddress.c:3188
 #, c-format
 msgid "index %s"
 msgstr "индекс %s"
 
-#: catalog/objectaddress.c:2235
+#: catalog/objectaddress.c:3192
 #, c-format
 msgid "sequence %s"
 msgstr "последовательность %s"
 
-#: catalog/objectaddress.c:2239
+#: catalog/objectaddress.c:3196
 #, c-format
 msgid "toast table %s"
 msgstr "TOAST-таблица %s"
 
-#: catalog/objectaddress.c:2243
+#: catalog/objectaddress.c:3200
 #, c-format
 msgid "view %s"
 msgstr "представление %s"
 
-#: catalog/objectaddress.c:2247
+#: catalog/objectaddress.c:3204
 #, c-format
 msgid "materialized view %s"
 msgstr "материализованное представление %s"
 
-#: catalog/objectaddress.c:2251
+#: catalog/objectaddress.c:3208
 #, c-format
 msgid "composite type %s"
 msgstr "составной тип %s"
 
-#: catalog/objectaddress.c:2255
+#: catalog/objectaddress.c:3212
 #, c-format
 msgid "foreign table %s"
 msgstr "сторонняя таблица %s"
 
-#: catalog/objectaddress.c:2260
+#: catalog/objectaddress.c:3217
 #, c-format
 msgid "relation %s"
 msgstr "отношение %s"
 
-#: catalog/objectaddress.c:2297
+#: catalog/objectaddress.c:3254
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "семейство операторов %s для метода доступа %s"
@@ -4004,7 +4511,7 @@ msgstr ""
 msgid "return type of inverse transition function %s is not %s"
 msgstr "обратная функция перехода %s должна возвращать тип %s"
 
-#: catalog/pg_aggregate.c:344 executor/nodeWindowAgg.c:2301
+#: catalog/pg_aggregate.c:344 executor/nodeWindowAgg.c:2302
 #, c-format
 msgid ""
 "strictness of aggregate's forward and inverse transition functions must match"
@@ -4018,7 +4525,7 @@ msgstr ""
 "финальная функция с дополнительными аргументами не должна объявляться как "
 "строгая (STRICT)"
 
-#: catalog/pg_aggregate.c:410 catalog/pg_proc.c:241 catalog/pg_proc.c:248
+#: catalog/pg_aggregate.c:410 catalog/pg_proc.c:245 catalog/pg_proc.c:252
 #, c-format
 msgid "cannot determine result data type"
 msgstr "не удалось определить тип результата"
@@ -4032,12 +4539,12 @@ msgstr ""
 "Агрегатная функция, возвращающая полиморфный тип, должна иметь минимум один "
 "полиморфный аргумент."
 
-#: catalog/pg_aggregate.c:423 catalog/pg_proc.c:254
+#: catalog/pg_aggregate.c:423 catalog/pg_proc.c:258
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "небезопасное использование псевдотипа \"internal\""
 
-#: catalog/pg_aggregate.c:424 catalog/pg_proc.c:255
+#: catalog/pg_aggregate.c:424 catalog/pg_proc.c:259
 #, c-format
 msgid ""
 "A function returning \"internal\" must have at least one \"internal\" "
@@ -4062,29 +4569,29 @@ msgstr ""
 "оператор сортировки можно указать только для агрегатных функций с одним "
 "аргументом"
 
-#: catalog/pg_aggregate.c:701 commands/typecmds.c:1657
-#: commands/typecmds.c:1708 commands/typecmds.c:1739 commands/typecmds.c:1762
-#: commands/typecmds.c:1783 commands/typecmds.c:1810 commands/typecmds.c:1837
-#: commands/typecmds.c:1914 commands/typecmds.c:1956 parser/parse_func.c:357
-#: parser/parse_func.c:386 parser/parse_func.c:411 parser/parse_func.c:425
-#: parser/parse_func.c:500 parser/parse_func.c:511 parser/parse_func.c:1907
+#: catalog/pg_aggregate.c:700 commands/typecmds.c:1702
+#: commands/typecmds.c:1753 commands/typecmds.c:1784 commands/typecmds.c:1807
+#: commands/typecmds.c:1828 commands/typecmds.c:1855 commands/typecmds.c:1882
+#: commands/typecmds.c:1959 commands/typecmds.c:2001 parser/parse_func.c:364
+#: parser/parse_func.c:393 parser/parse_func.c:418 parser/parse_func.c:432
+#: parser/parse_func.c:507 parser/parse_func.c:518 parser/parse_func.c:1920
 #, c-format
 msgid "function %s does not exist"
 msgstr "функция %s не существует"
 
-#: catalog/pg_aggregate.c:707
+#: catalog/pg_aggregate.c:706
 #, c-format
 msgid "function %s returns a set"
 msgstr "функция %s возвращает множество"
 
-#: catalog/pg_aggregate.c:722
+#: catalog/pg_aggregate.c:721
 #, c-format
 msgid "function %s must accept VARIADIC ANY to be used in this aggregate"
 msgstr ""
 "для использования в этой агрегатной функции функция %s должна принимать "
 "VARIADIC ANY"
 
-#: catalog/pg_aggregate.c:746
+#: catalog/pg_aggregate.c:745
 #, c-format
 msgid "function %s requires run-time type coercion"
 msgstr "функции %s требуется приведение типов во время выполнения"
@@ -4099,42 +4606,42 @@ msgstr "правило сортировки \"%s\" для кодировки \"%
 msgid "collation \"%s\" already exists"
 msgstr "правило сортировки \"%s\" уже существует"
 
-#: catalog/pg_constraint.c:659
+#: catalog/pg_constraint.c:661
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "ограничение \"%s\" для домена %s уже существует"
 
-#: catalog/pg_constraint.c:811
+#: catalog/pg_constraint.c:813
 #, c-format
 msgid "table \"%s\" has multiple constraints named \"%s\""
 msgstr "таблица \"%s\" содержит несколько ограничений с именем \"%s\""
 
-#: catalog/pg_constraint.c:823
+#: catalog/pg_constraint.c:825
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "ограничение \"%s\" для таблицы \"%s\" не существует"
 
-#: catalog/pg_constraint.c:869
+#: catalog/pg_constraint.c:871
 #, c-format
 msgid "domain \"%s\" has multiple constraints named \"%s\""
 msgstr "домен \"%s\" содержит несколько ограничений с именем \"%s\""
 
-#: catalog/pg_constraint.c:881
+#: catalog/pg_constraint.c:883
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" does not exist"
 msgstr "ограничение \"%s\" для домена \"%s\" не существует"
 
-#: catalog/pg_conversion.c:67
+#: catalog/pg_conversion.c:66
 #, c-format
 msgid "conversion \"%s\" already exists"
 msgstr "преобразование \"%s\" уже существует"
 
-#: catalog/pg_conversion.c:80
+#: catalog/pg_conversion.c:79
 #, c-format
 msgid "default conversion for %s to %s already exists"
 msgstr "преобразование по умолчанию из %s в %s уже существует"
 
-#: catalog/pg_depend.c:165 commands/extension.c:2926
+#: catalog/pg_depend.c:165 commands/extension.c:2945
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "%s уже относится к расширению \"%s\""
@@ -4170,86 +4677,91 @@ msgstr "метка перечисления \"%s\" уже существует"
 msgid "\"%s\" is not an existing enum label"
 msgstr "в перечислении нет метки\"%s\""
 
-#: catalog/pg_enum.c:354
+#: catalog/pg_enum.c:349
+#, c-format
+msgid "pg_enum OID value not set when in binary upgrade mode"
+msgstr "значение OID в pg_enum не задано в режиме двоичного обновления"
+
+#: catalog/pg_enum.c:359
 #, c-format
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr ""
 "конструкция ALTER TYPE ADD BEFORE/AFTER несовместима с двоичным обновлением "
 "данных"
 
-#: catalog/pg_namespace.c:61 commands/schemacmds.c:220
+#: catalog/pg_namespace.c:61 commands/schemacmds.c:246
 #, c-format
 msgid "schema \"%s\" already exists"
 msgstr "схема \"%s\" уже существует"
 
-#: catalog/pg_operator.c:222 catalog/pg_operator.c:362
+#: catalog/pg_operator.c:222 catalog/pg_operator.c:363
 #, c-format
 msgid "\"%s\" is not a valid operator name"
 msgstr "имя \"%s\" недопустимо для оператора"
 
-#: catalog/pg_operator.c:371
+#: catalog/pg_operator.c:372
 #, c-format
 msgid "only binary operators can have commutators"
 msgstr "коммутативную операцию можно определить только для бинарных операторов"
 
-#: catalog/pg_operator.c:375
+#: catalog/pg_operator.c:376 commands/operatorcmds.c:464
 #, c-format
 msgid "only binary operators can have join selectivity"
 msgstr ""
 "функцию оценки соединения можно определить только для бинарных операторов"
 
-#: catalog/pg_operator.c:379
+#: catalog/pg_operator.c:380
 #, c-format
 msgid "only binary operators can merge join"
 msgstr ""
 "поддержку соединения слиянием можно обозначить только для бинарных операторов"
 
-#: catalog/pg_operator.c:383
+#: catalog/pg_operator.c:384
 #, c-format
 msgid "only binary operators can hash"
 msgstr "поддержку хэша можно обозначить только для бинарных операторов"
 
-#: catalog/pg_operator.c:394
+#: catalog/pg_operator.c:395
 #, c-format
 msgid "only boolean operators can have negators"
 msgstr "обратную операцию можно определить только для логических операторов"
 
-#: catalog/pg_operator.c:398
+#: catalog/pg_operator.c:399 commands/operatorcmds.c:472
 #, c-format
 msgid "only boolean operators can have restriction selectivity"
 msgstr ""
 "функцию оценки ограничения можно определить только для логических операторов"
 
-#: catalog/pg_operator.c:402
+#: catalog/pg_operator.c:403 commands/operatorcmds.c:476
 #, c-format
 msgid "only boolean operators can have join selectivity"
 msgstr ""
 "функцию оценки соединения можно определить только для логических операторов"
 
-#: catalog/pg_operator.c:406
+#: catalog/pg_operator.c:407
 #, c-format
 msgid "only boolean operators can merge join"
 msgstr ""
 "поддержку соединения слиянием можно обозначить только для логических "
 "операторов"
 
-#: catalog/pg_operator.c:410
+#: catalog/pg_operator.c:411
 #, c-format
 msgid "only boolean operators can hash"
 msgstr "поддержку хэша можно обозначить только для логических операторов"
 
-#: catalog/pg_operator.c:422
+#: catalog/pg_operator.c:423
 #, c-format
 msgid "operator %s already exists"
 msgstr "оператор %s уже существует"
 
-#: catalog/pg_operator.c:615
+#: catalog/pg_operator.c:616
 #, c-format
 msgid "operator cannot be its own negator or sort operator"
 msgstr ""
 "оператор не может быть обратным к себе или собственным оператором сортировки"
 
-#: catalog/pg_proc.c:129 parser/parse_func.c:1931 parser/parse_func.c:1971
+#: catalog/pg_proc.c:133 parser/parse_func.c:1944 parser/parse_func.c:1984
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
@@ -4257,7 +4769,7 @@ msgstr[0] "функции не могут иметь больше %d аргум
 msgstr[1] "функции не могут иметь больше %d аргументов"
 msgstr[2] "функции не могут иметь больше %d аргументов"
 
-#: catalog/pg_proc.c:242
+#: catalog/pg_proc.c:246
 #, c-format
 msgid ""
 "A function returning a polymorphic type must have at least one polymorphic "
@@ -4266,7 +4778,7 @@ msgstr ""
 "Функция, возвращающая полиморфный тип, должна иметь минимум один полиморфный "
 "аргумент."
 
-#: catalog/pg_proc.c:249
+#: catalog/pg_proc.c:253
 #, c-format
 msgid ""
 "A function returning \"anyrange\" must have at least one \"anyrange\" "
@@ -4275,90 +4787,90 @@ msgstr ""
 "Функция, возвращающая \"anyrange\", должна иметь минимум один аргумент "
 "\"anyrange\"."
 
-#: catalog/pg_proc.c:267
+#: catalog/pg_proc.c:271
 #, c-format
 msgid "\"%s\" is already an attribute of type %s"
 msgstr "\"%s\" уже является атрибутом типа %s"
 
-#: catalog/pg_proc.c:393
+#: catalog/pg_proc.c:401
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "функция \"%s\" с аргументами таких типов уже существует"
 
-#: catalog/pg_proc.c:407 catalog/pg_proc.c:430
+#: catalog/pg_proc.c:415 catalog/pg_proc.c:438
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "изменить тип возврата существующей функции нельзя"
 
-#: catalog/pg_proc.c:408 catalog/pg_proc.c:432 catalog/pg_proc.c:475
-#: catalog/pg_proc.c:499 catalog/pg_proc.c:526
+#: catalog/pg_proc.c:416 catalog/pg_proc.c:440 catalog/pg_proc.c:483
+#: catalog/pg_proc.c:507 catalog/pg_proc.c:534
 #, c-format
 msgid "Use DROP FUNCTION %s first."
 msgstr "Сначала удалите функцию (DROP FUNCTION %s)."
 
-#: catalog/pg_proc.c:431
+#: catalog/pg_proc.c:439
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "Параметры OUT определяют другой тип строки."
 
-#: catalog/pg_proc.c:473
+#: catalog/pg_proc.c:481
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "изменить имя входного параметра \"%s\" нельзя"
 
-#: catalog/pg_proc.c:498
+#: catalog/pg_proc.c:506
 #, c-format
 msgid "cannot remove parameter defaults from existing function"
 msgstr ""
 "для существующей функции нельзя убрать значения параметров по умолчанию"
 
-#: catalog/pg_proc.c:525
+#: catalog/pg_proc.c:533
 #, c-format
 msgid "cannot change data type of existing parameter default value"
 msgstr ""
 "для существующего значения параметра по умолчанию нельзя изменить тип данных"
 
-#: catalog/pg_proc.c:538
+#: catalog/pg_proc.c:546
 #, c-format
 msgid "function \"%s\" is an aggregate function"
 msgstr "\"%s\" - это агрегатная функция"
 
-#: catalog/pg_proc.c:543
+#: catalog/pg_proc.c:551
 #, c-format
 msgid "function \"%s\" is not an aggregate function"
 msgstr "\"%s\" - это не агрегатная функция"
 
-#: catalog/pg_proc.c:551
+#: catalog/pg_proc.c:559
 #, c-format
 msgid "function \"%s\" is a window function"
 msgstr "\"%s\" - это оконная функция"
 
-#: catalog/pg_proc.c:556
+#: catalog/pg_proc.c:564
 #, c-format
 msgid "function \"%s\" is not a window function"
 msgstr "\"%s\" - это не оконная функция"
 
-#: catalog/pg_proc.c:746
+#: catalog/pg_proc.c:772
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "встроенной функции \"%s\" нет"
 
-#: catalog/pg_proc.c:844
+#: catalog/pg_proc.c:870
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "SQL-функции не могут возвращать тип %s"
 
-#: catalog/pg_proc.c:859
+#: catalog/pg_proc.c:885
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "SQL-функции не могут иметь аргументы типа %s"
 
-#: catalog/pg_proc.c:945 executor/functions.c:1418
+#: catalog/pg_proc.c:971 executor/functions.c:1421
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "SQL-функция \"%s\""
 
-#: catalog/pg_shdepend.c:691
+#: catalog/pg_shdepend.c:692
 #, c-format
 msgid ""
 "\n"
@@ -4376,33 +4888,33 @@ msgstr[2] ""
 "\n"
 "и объекты в %d других базах данных (см. список в протоколе сервера)"
 
-#: catalog/pg_shdepend.c:1003
+#: catalog/pg_shdepend.c:1004
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "роль %u удалена другим процессом"
 
-#: catalog/pg_shdepend.c:1022
+#: catalog/pg_shdepend.c:1023
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "табличное пространство %u удалено другим процессом"
 
-#: catalog/pg_shdepend.c:1037
+#: catalog/pg_shdepend.c:1038
 #, c-format
 msgid "database %u was concurrently dropped"
 msgstr "база данных %u удалена другим процессом"
 
-#: catalog/pg_shdepend.c:1081
+#: catalog/pg_shdepend.c:1083
 #, c-format
 msgid "owner of %s"
 msgstr "владелец объекта %s"
 
-#: catalog/pg_shdepend.c:1083
+#: catalog/pg_shdepend.c:1085
 #, c-format
 msgid "privileges for %s"
 msgstr "права доступа к объекту \"%s\""
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1091
+#: catalog/pg_shdepend.c:1093
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
@@ -4410,7 +4922,7 @@ msgstr[0] "%d объект (%s)"
 msgstr[1] "%d объекта (%s)"
 msgstr[2] "%d объектов (%s)"
 
-#: catalog/pg_shdepend.c:1202
+#: catalog/pg_shdepend.c:1204
 #, c-format
 msgid ""
 "cannot drop objects owned by %s because they are required by the database "
@@ -4419,7 +4931,7 @@ msgstr ""
 "удалить объекты, принадлежащие роли %s, нельзя, так как они нужны системе "
 "баз данных"
 
-#: catalog/pg_shdepend.c:1305
+#: catalog/pg_shdepend.c:1307
 #, c-format
 msgid ""
 "cannot reassign ownership of objects owned by %s because they are required "
@@ -4428,41 +4940,46 @@ msgstr ""
 "изменить владельца объектов, принадлежащих роли %s, нельзя, так как они "
 "нужны системе баз данных"
 
-#: catalog/pg_type.c:244
+#: catalog/pg_type.c:136 catalog/pg_type.c:454
+#, c-format
+msgid "pg_type OID value not set when in binary upgrade mode"
+msgstr "значение OID в pg_type не задано в режиме двоичного обновления"
+
+#: catalog/pg_type.c:253
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "неверный внутренний размер типа: %d"
 
-#: catalog/pg_type.c:260 catalog/pg_type.c:268 catalog/pg_type.c:276
-#: catalog/pg_type.c:285
+#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285
+#: catalog/pg_type.c:294
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr ""
 "выравнивание \"%c\" не подходит для типа, передаваемого по значению (с "
 "размером: %d)"
 
-#: catalog/pg_type.c:292
+#: catalog/pg_type.c:301
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
 msgstr "внутренний размер %d не подходит для типа, передаваемого по значению"
 
-#: catalog/pg_type.c:301 catalog/pg_type.c:307
+#: catalog/pg_type.c:310 catalog/pg_type.c:316
 #, c-format
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "выравнивание \"%c\" не подходит для типа переменной длины"
 
-#: catalog/pg_type.c:315
+#: catalog/pg_type.c:324
 #, c-format
 msgid "fixed-size types must have storage PLAIN"
 msgstr "для типов постоянного размера применим только режим хранения PLAIN"
 
-#: catalog/pg_type.c:773
+#: catalog/pg_type.c:789
 #, c-format
 msgid "could not form array type name for type \"%s\""
 msgstr "не удалось сформировать имя типа массива для типа \"%s\""
 
-#: catalog/toasting.c:104 commands/indexcmds.c:380 commands/tablecmds.c:4139
-#: commands/tablecmds.c:11137
+#: catalog/toasting.c:104 commands/indexcmds.c:381 commands/tablecmds.c:4335
+#: commands/tablecmds.c:11783
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "\"%s\" - это не таблица и не материализованное представление"
@@ -4545,115 +5062,115 @@ msgstr ""
 msgid "aggregate transition data type cannot be %s"
 msgstr "переходным типом агрегатной функции не может быть %s"
 
-#: commands/alter.c:79 commands/event_trigger.c:194
+#: commands/alter.c:80 commands/event_trigger.c:230
 #, c-format
 msgid "event trigger \"%s\" already exists"
 msgstr "событийный триггер \"%s\" уже существует"
 
-#: commands/alter.c:82 commands/foreigncmds.c:544
+#: commands/alter.c:83 commands/foreigncmds.c:597
 #, c-format
 msgid "foreign-data wrapper \"%s\" already exists"
 msgstr "обёртка сторонних данных \"%s\" уже существует"
 
-#: commands/alter.c:85 commands/foreigncmds.c:838
+#: commands/alter.c:86 commands/foreigncmds.c:890
 #, c-format
 msgid "server \"%s\" already exists"
 msgstr "сервер \"%s\" уже существует"
 
-#: commands/alter.c:88 commands/proclang.c:356
+#: commands/alter.c:89 commands/proclang.c:363
 #, c-format
 msgid "language \"%s\" already exists"
 msgstr "язык \"%s\" уже существует"
 
-#: commands/alter.c:111
+#: commands/alter.c:112
 #, c-format
 msgid "conversion \"%s\" already exists in schema \"%s\""
 msgstr "преобразование \"%s\" уже существует в схеме \"%s\""
 
-#: commands/alter.c:115
+#: commands/alter.c:116
 #, c-format
 msgid "text search parser \"%s\" already exists in schema \"%s\""
 msgstr "анализатор текстового поиска \"%s\" уже существует в схеме \"%s\""
 
-#: commands/alter.c:119
+#: commands/alter.c:120
 #, c-format
 msgid "text search dictionary \"%s\" already exists in schema \"%s\""
 msgstr "словарь текстового поиска \"%s\" уже существует в схеме \"%s\""
 
-#: commands/alter.c:123
+#: commands/alter.c:124
 #, c-format
 msgid "text search template \"%s\" already exists in schema \"%s\""
 msgstr "шаблон текстового поиска \"%s\" уже существует в схеме \"%s\""
 
-#: commands/alter.c:127
+#: commands/alter.c:128
 #, c-format
 msgid "text search configuration \"%s\" already exists in schema \"%s\""
 msgstr "конфигурация текстового поиска \"%s\" уже существует в схеме \"%s\""
 
-#: commands/alter.c:201
+#: commands/alter.c:202
 #, c-format
 msgid "must be superuser to rename %s"
 msgstr "переименовать \"%s\" может только суперпользователь"
 
-#: commands/alter.c:585
+#: commands/alter.c:609
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "для назначения схемы объекта %s нужно быть суперпользователем"
 
-#: commands/analyze.c:157
+#: commands/analyze.c:145
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "анализ \"%s\" пропускается --- блокировка недоступна"
 
-#: commands/analyze.c:174
+#: commands/analyze.c:162
 #, c-format
 msgid "skipping \"%s\" --- only superuser can analyze it"
 msgstr ""
 "\"%s\" пропускается --- только суперпользователь может анализировать этот "
 "объект"
 
-#: commands/analyze.c:178
+#: commands/analyze.c:166
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can analyze it"
 msgstr ""
 "\"%s\" пропускается --- только суперпользователь или владелец БД может "
 "анализировать этот объект"
 
-#: commands/analyze.c:182
+#: commands/analyze.c:170
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can analyze it"
 msgstr ""
 "\"%s\" пропускается --- только владелец таблицы или БД может анализировать "
 "этот объект"
 
-#: commands/analyze.c:242
+#: commands/analyze.c:230
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "\"%s\" пропускается --- анализировать эту стороннюю таблицу нельзя"
 
-#: commands/analyze.c:253
+#: commands/analyze.c:241
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
 msgstr ""
 "\"%s\" пропускается --- анализировать не таблицы или специальные системные "
 "таблицы нельзя"
 
-#: commands/analyze.c:332
+#: commands/analyze.c:320
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "анализируется дерево наследования \"%s.%s\""
 
-#: commands/analyze.c:337
+#: commands/analyze.c:325
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "анализируется \"%s.%s\""
 
-#: commands/analyze.c:657
+#: commands/analyze.c:645
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
 msgstr "автоматический анализ таблицы \"%s.%s.%s\"; нагрузка системы: %s"
 
-#: commands/analyze.c:1300
+#: commands/analyze.c:1201
 #, c-format
 msgid ""
 "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead "
@@ -4663,21 +5180,39 @@ msgstr ""
 "%.0f, \"мёртвых\" строк: %.0f; строк в выборке: %d, примерное общее число "
 "строк: %.0f"
 
-#: commands/analyze.c:1564 executor/execQual.c:2907
+#: commands/analyze.c:1280
+#, c-format
+msgid ""
+"skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree "
+"contains no child tables"
+msgstr ""
+"пропускается анализ дерева наследования \"%s.%s\" --- это дерево "
+"наследования не содержит дочерних таблиц"
+
+#: commands/analyze.c:1369
+#, c-format
+msgid ""
+"skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree "
+"contains no analyzable child tables"
+msgstr ""
+"пропускается анализ дерева наследования \"%s.%s\" --- это дерево "
+"наследования не содержит анализируемых дочерних таблиц"
+
+#: commands/analyze.c:1417 executor/execQual.c:2899
 msgid "could not convert row type"
 msgstr "не удалось преобразовать тип строки"
 
-#: commands/async.c:545
+#: commands/async.c:544
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "имя канала не может быть пустым"
 
-#: commands/async.c:550
+#: commands/async.c:549
 #, c-format
 msgid "channel name too long"
 msgstr "слишком длинное имя канала"
 
-#: commands/async.c:557
+#: commands/async.c:556
 #, c-format
 msgid "payload string too long"
 msgstr "слишком длинная строка сообщения-нагрузки"
@@ -4695,12 +5230,12 @@ msgstr ""
 msgid "too many notifications in the NOTIFY queue"
 msgstr "слишком много уведомлений в очереди NOTIFY"
 
-#: commands/async.c:1418
+#: commands/async.c:1445
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "очередь NOTIFY заполнена на %.0f%%"
 
-#: commands/async.c:1420
+#: commands/async.c:1447
 #, c-format
 msgid ""
 "The server process with PID %d is among those with the oldest transactions."
@@ -4708,7 +5243,7 @@ msgstr ""
 "В число серверных процессов с самыми старыми транзакциями входит процесс с "
 "PID %d."
 
-#: commands/async.c:1423
+#: commands/async.c:1450
 #, c-format
 msgid ""
 "The NOTIFY queue cannot be emptied until that process ends its current "
@@ -4717,37 +5252,37 @@ msgstr ""
 "Очередь NOTIFY можно будет освободить, только когда этот процесс завершит "
 "текущую транзакцию."
 
-#: commands/cluster.c:126 commands/cluster.c:363
+#: commands/cluster.c:127 commands/cluster.c:364
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "кластеризовать временные таблицы других сеансов нельзя"
 
-#: commands/cluster.c:156
+#: commands/cluster.c:157
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "таблица \"%s\" ранее не кластеризовалась по какому-либо индексу"
 
-#: commands/cluster.c:170 commands/tablecmds.c:8795 commands/tablecmds.c:10461
+#: commands/cluster.c:171 commands/tablecmds.c:9228 commands/tablecmds.c:10925
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "индекс \"%s\" для таблицы \"%s\" не существует"
 
-#: commands/cluster.c:352
+#: commands/cluster.c:353
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "кластеризовать разделяемый каталог нельзя"
 
-#: commands/cluster.c:367
+#: commands/cluster.c:368
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "очищать временные таблицы других сеансов нельзя"
 
-#: commands/cluster.c:430 commands/tablecmds.c:10471
+#: commands/cluster.c:431 commands/tablecmds.c:10935
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "\"%s\" не является индексом таблицы \"%s\""
 
-#: commands/cluster.c:438
+#: commands/cluster.c:439
 #, c-format
 msgid ""
 "cannot cluster on index \"%s\" because access method does not support "
@@ -4755,33 +5290,33 @@ msgid ""
 msgstr ""
 "кластеризация по индексу \"%s\" невозможна, её не поддерживает метод доступа"
 
-#: commands/cluster.c:450
+#: commands/cluster.c:451
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "кластеризовать по частичному индексу \"%s\" нельзя"
 
-#: commands/cluster.c:464
+#: commands/cluster.c:465
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "нельзя кластеризовать таблицу по неверному индексу \"%s\""
 
-#: commands/cluster.c:920
+#: commands/cluster.c:918
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "кластеризация \"%s.%s\" путём сканирования индекса \"%s\""
 
-#: commands/cluster.c:926
+#: commands/cluster.c:924
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr ""
 "кластеризация \"%s.%s\" путём последовательного сканирования и сортировки"
 
-#: commands/cluster.c:931 commands/vacuumlazy.c:445
+#: commands/cluster.c:929 commands/vacuumlazy.c:464
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "очистка \"%s.%s\""
 
-#: commands/cluster.c:1090
+#: commands/cluster.c:1088
 #, c-format
 msgid ""
 "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
@@ -4789,7 +5324,7 @@ msgstr ""
 "\"%s\": найдено удаляемых версий строк: %.0f, неудаляемых - %.0f, "
 "просмотрено страниц: %u"
 
-#: commands/cluster.c:1094
+#: commands/cluster.c:1092
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -4798,42 +5333,42 @@ msgstr ""
 "В данный момент нельзя удалить \"мёртвых\" строк %.0f.\n"
 "%s."
 
-#: commands/collationcmds.c:79
+#: commands/collationcmds.c:80
 #, c-format
 msgid "collation attribute \"%s\" not recognized"
 msgstr "атрибут COLLATION \"%s\" не распознан"
 
-#: commands/collationcmds.c:124
+#: commands/collationcmds.c:125
 #, c-format
 msgid "parameter \"lc_collate\" must be specified"
 msgstr "необходимо указать параметр \"lc_collate\""
 
-#: commands/collationcmds.c:129
+#: commands/collationcmds.c:130
 #, c-format
 msgid "parameter \"lc_ctype\" must be specified"
 msgstr "необходимо указать параметр \"lc_ctype\""
 
-#: commands/collationcmds.c:163
+#: commands/collationcmds.c:166
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\""
 msgstr ""
 "правило сортировки \"%s\" для кодировки \"%s\" уже существует в схеме \"%s\""
 
-#: commands/collationcmds.c:174
+#: commands/collationcmds.c:177
 #, c-format
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "правило сортировки \"%s\" уже существует в схеме \"%s\""
 
-#: commands/comment.c:62 commands/dbcommands.c:775 commands/dbcommands.c:939
-#: commands/dbcommands.c:1042 commands/dbcommands.c:1234
-#: commands/dbcommands.c:1423 commands/dbcommands.c:1518
-#: commands/dbcommands.c:1935 utils/init/postinit.c:794
-#: utils/init/postinit.c:862 utils/init/postinit.c:879
+#: commands/comment.c:62 commands/dbcommands.c:797 commands/dbcommands.c:962
+#: commands/dbcommands.c:1067 commands/dbcommands.c:1257
+#: commands/dbcommands.c:1477 commands/dbcommands.c:1594
+#: commands/dbcommands.c:2011 utils/init/postinit.c:839
+#: utils/init/postinit.c:941 utils/init/postinit.c:958
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "база данных \"%s\" не существует"
 
-#: commands/comment.c:101 commands/seclabel.c:114 parser/parse_utilcmd.c:686
+#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:727
 #, c-format
 msgid ""
 "\"%s\" is not a table, view, materialized view, composite type, or foreign "
@@ -4842,12 +5377,12 @@ msgstr ""
 "\"%s\" - это не таблица, представление, мат. представление, составной тип "
 "или сторонняя таблица"
 
-#: commands/constraint.c:60 utils/adt/ri_triggers.c:2700
+#: commands/constraint.c:60 utils/adt/ri_triggers.c:2713
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "функция \"%s\" была вызвана не менеджером триггеров"
 
-#: commands/constraint.c:67 utils/adt/ri_triggers.c:2709
+#: commands/constraint.c:67 utils/adt/ri_triggers.c:2722
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "функция \"%s\" должна запускаться в триггере AFTER для строк"
@@ -4872,55 +5407,55 @@ msgstr "целевая кодировка \"%s\" не существует"
 msgid "encoding conversion function %s must return type \"void\""
 msgstr "функция преобразования кодировки %s должна возвращать void"
 
-#: commands/copy.c:361 commands/copy.c:373 commands/copy.c:407
-#: commands/copy.c:419
+#: commands/copy.c:365 commands/copy.c:377 commands/copy.c:411
+#: commands/copy.c:423
 #, c-format
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPY BINARY не поддерживает стандартный вывод (stdout) и ввод (stdin)"
 
-#: commands/copy.c:519
+#: commands/copy.c:523
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "не удалось записать в канал программы COPY: %m"
 
-#: commands/copy.c:524
+#: commands/copy.c:528
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "не удалось записать в файл COPY: %m"
 
-#: commands/copy.c:537
+#: commands/copy.c:541
 #, c-format
 msgid "connection lost during COPY to stdout"
 msgstr "в процессе вывода данных COPY в stdout потеряно соединение"
 
-#: commands/copy.c:578
+#: commands/copy.c:582
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "не удалось прочитать файл COPY: %m"
 
-#: commands/copy.c:594 commands/copy.c:615 commands/copy.c:619
-#: tcop/postgres.c:344 tcop/postgres.c:380 tcop/postgres.c:407
+#: commands/copy.c:598 commands/copy.c:619 commands/copy.c:623
+#: tcop/postgres.c:352 tcop/postgres.c:388 tcop/postgres.c:415
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "неожиданный обрыв соединения с клиентом при открытой транзакции"
 
-#: commands/copy.c:632
+#: commands/copy.c:636
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "ошибка при вводе данных COPY из stdin: %s"
 
-#: commands/copy.c:648
+#: commands/copy.c:652
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "неожиданный тип сообщения 0x%02X при вводе данных COPY из stdin"
 
-#: commands/copy.c:803
+#: commands/copy.c:808
 #, c-format
 msgid "must be superuser to COPY to or from an external program"
 msgstr ""
 "для использования COPY с внешними программами нужно быть суперпользователем"
 
-#: commands/copy.c:804 commands/copy.c:810
+#: commands/copy.c:809 commands/copy.c:815
 #, c-format
 msgid ""
 "Anyone can COPY to stdout or from stdin. psql's \\copy command also works "
@@ -4929,282 +5464,297 @@ msgstr ""
 "Не имея административных прав, можно использовать COPY с stdout и stdin (а "
 "также команду psql \\copy)."
 
-#: commands/copy.c:809
+#: commands/copy.c:814
 #, c-format
 msgid "must be superuser to COPY to or from a file"
 msgstr "для использования COPY с файлами нужно быть суперпользователем"
 
-#: commands/copy.c:947
+#: commands/copy.c:880
+#, c-format
+msgid "COPY FROM not supported with row level security."
+msgstr "COPY FROM не поддерживается с защитой на уровне строк."
+
+#: commands/copy.c:881
+#, c-format
+msgid "Use direct INSERT statements instead."
+msgstr "Используйте явные операторы INSERT."
+
+#: commands/copy.c:1012
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "формат \"%s\" для COPY не распознан"
 
-#: commands/copy.c:1018 commands/copy.c:1032 commands/copy.c:1046
-#: commands/copy.c:1066
+#: commands/copy.c:1083 commands/copy.c:1097 commands/copy.c:1111
+#: commands/copy.c:1131
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "аргументом параметра \"%s\" должен быть список имён колонок"
 
-#: commands/copy.c:1079
+#: commands/copy.c:1144
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "аргументом параметра \"%s\" должно быть название допустимой кодировки"
 
-#: commands/copy.c:1085
+#: commands/copy.c:1150 commands/dbcommands.c:232 commands/dbcommands.c:1427
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "параметр \"%s\" не распознан"
 
-#: commands/copy.c:1096
+#: commands/copy.c:1161
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "в режиме BINARY нельзя указывать DELIMITER"
 
-#: commands/copy.c:1101
+#: commands/copy.c:1166
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "в режиме BINARY нельзя указывать NULL"
 
-#: commands/copy.c:1123
+#: commands/copy.c:1188
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "разделитель для COPY должен быть однобайтным символом"
 
-#: commands/copy.c:1130
+#: commands/copy.c:1195
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr ""
 "разделителем для COPY не может быть символ новой строки или возврата каретки"
 
-#: commands/copy.c:1136
+#: commands/copy.c:1201
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr ""
 "представление NULL для COPY не может включать символ новой строки или "
 "возврата каретки"
 
-#: commands/copy.c:1153
+#: commands/copy.c:1218
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "\"%s\" не может быть разделителем для COPY"
 
-#: commands/copy.c:1159
+#: commands/copy.c:1224
 #, c-format
 msgid "COPY HEADER available only in CSV mode"
 msgstr "COPY HEADER можно использовать только в режиме CSV"
 
-#: commands/copy.c:1165
+#: commands/copy.c:1230
 #, c-format
 msgid "COPY quote available only in CSV mode"
 msgstr "определить кавычки для COPY можно только в режиме CSV"
 
-#: commands/copy.c:1170
+#: commands/copy.c:1235
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "символ кавычек для COPY должен быть однобайтным"
 
-#: commands/copy.c:1175
+#: commands/copy.c:1240
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "символ кавычек для COPY должен отличаться от разделителя"
 
-#: commands/copy.c:1181
+#: commands/copy.c:1246
 #, c-format
 msgid "COPY escape available only in CSV mode"
 msgstr "определить спецсимвол для COPY можно только в режиме CSV"
 
-#: commands/copy.c:1186
+#: commands/copy.c:1251
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "спецсимвол для COPY должен быть однобайтным"
 
-#: commands/copy.c:1192
+#: commands/copy.c:1257
 #, c-format
 msgid "COPY force quote available only in CSV mode"
 msgstr "параметр force quote для COPY можно использовать только в режиме CSV"
 
-#: commands/copy.c:1196
+#: commands/copy.c:1261
 #, c-format
 msgid "COPY force quote only available using COPY TO"
 msgstr "параметр force quote для COPY можно использовать только с COPY TO"
 
-#: commands/copy.c:1202
+#: commands/copy.c:1267
 #, c-format
 msgid "COPY force not null available only in CSV mode"
 msgstr ""
 "параметр force not null для COPY можно использовать только в режиме CSV"
 
-#: commands/copy.c:1206
+#: commands/copy.c:1271
 #, c-format
 msgid "COPY force not null only available using COPY FROM"
 msgstr "параметр force not null для COPY можно использовать только с COPY FROM"
 
-#: commands/copy.c:1212
+#: commands/copy.c:1277
 #, c-format
 msgid "COPY force null available only in CSV mode"
 msgstr "параметр force null для COPY можно использовать только в режиме CSV"
 
-#: commands/copy.c:1217
+#: commands/copy.c:1282
 #, c-format
 msgid "COPY force null only available using COPY FROM"
 msgstr "параметр force null для COPY можно использовать только с COPY FROM"
 
-#: commands/copy.c:1223
+#: commands/copy.c:1288
 #, c-format
 msgid "COPY delimiter must not appear in the NULL specification"
 msgstr "разделитель для COPY не должен присутствовать в представлении NULL"
 
-#: commands/copy.c:1230
+#: commands/copy.c:1295
 #, c-format
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "символ кавычек в CSV не должен присутствовать в представлении NULL"
 
-#: commands/copy.c:1292
+#: commands/copy.c:1358
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "таблица \"%s\" не содержит OID"
 
-#: commands/copy.c:1309
+#: commands/copy.c:1375
 #, c-format
 msgid "COPY (SELECT) WITH OIDS is not supported"
 msgstr "COPY (SELECT) WITH OIDS не поддерживается"
 
-#: commands/copy.c:1335
+#: commands/copy.c:1401
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) не поддерживается"
 
-#: commands/copy.c:1398
+#: commands/copy.c:1431
+#, c-format
+msgid "relation referenced by COPY statement has changed"
+msgstr "отношение, задействованное в операторе COPY, изменилось"
+
+#: commands/copy.c:1489
 #, c-format
 msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
 msgstr "колонка FORCE QUOTE \"%s\" не входит в список колонок COPY"
 
-#: commands/copy.c:1420
+#: commands/copy.c:1511
 #, c-format
 msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
 msgstr "колонка FORCE NOT NULL \"%s\" не входит в список колонок COPY"
 
-#: commands/copy.c:1442
+#: commands/copy.c:1533
 #, c-format
 msgid "FORCE NULL column \"%s\" not referenced by COPY"
 msgstr "колонка FORCE NULL \"%s\" не входит в список колонок COPY"
 
-#: commands/copy.c:1506
+#: commands/copy.c:1597
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "не удалось закрыть канал сообщений с внешней командой: %m"
 
-#: commands/copy.c:1509
+#: commands/copy.c:1600
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "сбой программы \"%s\""
 
-#: commands/copy.c:1558
+#: commands/copy.c:1650
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "копировать из представления \"%s\" нельзя"
 
-#: commands/copy.c:1560 commands/copy.c:1566 commands/copy.c:1572
+#: commands/copy.c:1652 commands/copy.c:1658 commands/copy.c:1664
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Попробуйте вариацию COPY (SELECT ...) TO."
 
-#: commands/copy.c:1564
+#: commands/copy.c:1656
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "копировать из материализованного представления \"%s\" нельзя"
 
-#: commands/copy.c:1570
+#: commands/copy.c:1662
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "копировать из сторонней таблицы \"%s\" нельзя"
 
-#: commands/copy.c:1576
+#: commands/copy.c:1668
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "копировать из последовательности \"%s\" нельзя"
 
-#: commands/copy.c:1581
+#: commands/copy.c:1673
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "копировать из отношения \"%s\", не являющегося таблицей, нельзя"
 
-#: commands/copy.c:1604 commands/copy.c:2635
+#: commands/copy.c:1697 commands/copy.c:2731
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "не удалось выполнить команду \"%s\": %m"
 
-#: commands/copy.c:1619
+#: commands/copy.c:1712
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "при выполнении COPY в файл нельзя указывать относительный путь"
 
-#: commands/copy.c:1627
+#: commands/copy.c:1720
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "не удалось открыть файл \"%s\" для записи: %m"
 
-#: commands/copy.c:1634 commands/copy.c:2653
+#: commands/copy.c:1729 commands/copy.c:2751
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "\"%s\" - это каталог"
 
-#: commands/copy.c:1959
+#: commands/copy.c:2054
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, строка %d, колонка %s"
 
-#: commands/copy.c:1963 commands/copy.c:2010
+#: commands/copy.c:2058 commands/copy.c:2105
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, строка %d"
 
-#: commands/copy.c:1974
+#: commands/copy.c:2069
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, строка %d, колонка %s: \"%s\""
 
-#: commands/copy.c:1982
+#: commands/copy.c:2077
 #, c-format
 msgid "COPY %s, line %d, column %s: null input"
 msgstr "COPY %s, строка %d, колонка %s: значение NULL"
 
-#: commands/copy.c:2004
+#: commands/copy.c:2099
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, строка %d: \"%s\""
 
-#: commands/copy.c:2088
+#: commands/copy.c:2183
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "копировать в представление \"%s\" нельзя"
 
-#: commands/copy.c:2093
+#: commands/copy.c:2188
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "копировать в материализованное представление \"%s\" нельзя"
 
-#: commands/copy.c:2098
+#: commands/copy.c:2193
 #, c-format
 msgid "cannot copy to foreign table \"%s\""
 msgstr "копировать в стороннюю таблицу \"%s\" нельзя"
 
-#: commands/copy.c:2103
+#: commands/copy.c:2198
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "копировать в последовательность \"%s\" нельзя"
 
-#: commands/copy.c:2108
+#: commands/copy.c:2203
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "копировать в отношение \"%s\", не являющееся таблицей, нельзя"
 
-#: commands/copy.c:2171
+#: commands/copy.c:2266
 #, c-format
 msgid "cannot perform FREEZE because of prior transaction activity"
 msgstr "выполнить FREEZE нельзя из-за предыдущей активности в транзакции"
 
-#: commands/copy.c:2177
+#: commands/copy.c:2272
 #, c-format
 msgid ""
 "cannot perform FREEZE because the table was not created or truncated in the "
@@ -5213,218 +5763,223 @@ msgstr ""
 "выполнить FREEZE нельзя, так как таблица не была создана или усечена в "
 "текущей подтранзакции"
 
-#: commands/copy.c:2646 utils/adt/genfile.c:123
+#: commands/copy.c:2742 commands/extension.c:3037 utils/adt/genfile.c:134
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "не удалось открыть файл \"%s\" для чтения: %m"
 
-#: commands/copy.c:2673
+#: commands/copy.c:2771
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "подпись COPY-файла не распознана"
 
-#: commands/copy.c:2678
+#: commands/copy.c:2776
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "неверный заголовок файла COPY (отсутствуют флаги)"
 
-#: commands/copy.c:2684
+#: commands/copy.c:2782
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "не распознаны важные флаги в заголовке файла COPY"
 
-#: commands/copy.c:2690
+#: commands/copy.c:2788
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "неверный заголовок файла COPY (отсутствует длина)"
 
-#: commands/copy.c:2697
+#: commands/copy.c:2795
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "неверный заголовок файла COPY (неправильная длина)"
 
-#: commands/copy.c:2830 commands/copy.c:3537 commands/copy.c:3767
+#: commands/copy.c:2928 commands/copy.c:3635 commands/copy.c:3865
 #, c-format
 msgid "extra data after last expected column"
 msgstr "лишние данные после содержимого последней колонки"
 
-#: commands/copy.c:2840
+#: commands/copy.c:2938
 #, c-format
 msgid "missing data for OID column"
 msgstr "нет данных для колонки OID"
 
-#: commands/copy.c:2846
+#: commands/copy.c:2944
 #, c-format
 msgid "null OID in COPY data"
 msgstr "неверное значение OID (NULL) в данных COPY"
 
-#: commands/copy.c:2856 commands/copy.c:2979
+#: commands/copy.c:2954 commands/copy.c:3077
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "неверный OID в данных COPY"
 
-#: commands/copy.c:2871
+#: commands/copy.c:2969
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "нет данных для колонки \"%s\""
 
-#: commands/copy.c:2954
+#: commands/copy.c:3052
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "после маркера конца файла продолжаются данные COPY"
 
-#: commands/copy.c:2961
+#: commands/copy.c:3059
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "количество полей в строке: %d, ожидалось: %d"
 
-#: commands/copy.c:3301 commands/copy.c:3318
+#: commands/copy.c:3399 commands/copy.c:3416
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "в данных обнаружен явный возврат каретки"
 
-#: commands/copy.c:3302 commands/copy.c:3319
+#: commands/copy.c:3400 commands/copy.c:3417
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "в данных обнаружен возврат каретки не в кавычках"
 
-#: commands/copy.c:3304 commands/copy.c:3321
+#: commands/copy.c:3402 commands/copy.c:3419
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Представьте возврат каретки как \"\\r\"."
 
-#: commands/copy.c:3305 commands/copy.c:3322
+#: commands/copy.c:3403 commands/copy.c:3420
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Заключите возврат каретки в кавычки CSV."
 
-#: commands/copy.c:3334
+#: commands/copy.c:3432
 #, c-format
 msgid "literal newline found in data"
 msgstr "в данных обнаружен явный символ новой строки"
 
-#: commands/copy.c:3335
+#: commands/copy.c:3433
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "в данных обнаружен явный символ новой строки не в кавычках"
 
-#: commands/copy.c:3337
+#: commands/copy.c:3435
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Представьте символ новой строки как \"\\n\"."
 
-#: commands/copy.c:3338
+#: commands/copy.c:3436
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Заключите символ новой строки в кавычки CSV."
 
-#: commands/copy.c:3384 commands/copy.c:3420
+#: commands/copy.c:3482 commands/copy.c:3518
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "маркер \"конец копии\" не соответствует предыдущему стилю новой строки"
 
-#: commands/copy.c:3393 commands/copy.c:3409
+#: commands/copy.c:3491 commands/copy.c:3507
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "маркер \"конец копии\" испорчен"
 
-#: commands/copy.c:3851
+#: commands/copy.c:3949
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "незавершённое поле в кавычках CSV"
 
-#: commands/copy.c:3928 commands/copy.c:3947
+#: commands/copy.c:4026 commands/copy.c:4045
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "неожиданный конец данных COPY"
 
-#: commands/copy.c:3937
+#: commands/copy.c:4035
 #, c-format
 msgid "invalid field size"
 msgstr "неверный размер поля"
 
-#: commands/copy.c:3960
+#: commands/copy.c:4058
 #, c-format
 msgid "incorrect binary data format"
 msgstr "неверный двоичный формат данных"
 
-#: commands/copy.c:4271 commands/indexcmds.c:993 commands/tablecmds.c:1427
-#: commands/tablecmds.c:2237 parser/parse_relation.c:2889
-#: utils/adt/tsvector_op.c:1417
+#: commands/copy.c:4369 commands/indexcmds.c:1008 commands/tablecmds.c:1457
+#: commands/tablecmds.c:2280 parser/parse_relation.c:3078
+#: parser/parse_relation.c:3098 utils/adt/tsvector_op.c:1417
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "колонка \"%s\" не существует"
 
-#: commands/copy.c:4278 commands/tablecmds.c:1453 commands/trigger.c:650
-#: parser/parse_target.c:936 parser/parse_target.c:947
+#: commands/copy.c:4376 commands/tablecmds.c:1483 commands/trigger.c:652
+#: parser/parse_target.c:956 parser/parse_target.c:967
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "колонка \"%s\" указана неоднократно"
 
-#: commands/createas.c:353
+#: commands/createas.c:383
 #, c-format
 msgid "too many column names were specified"
 msgstr "указано слишком много имён колонок"
 
-#: commands/dbcommands.c:203
+#: commands/createas.c:452
+#, c-format
+msgid "policies not yet implemented for this command"
+msgstr "политики для этой команды ещё не реализованы"
+
+#: commands/dbcommands.c:226
 #, c-format
 msgid "LOCATION is not supported anymore"
 msgstr "LOCATION больше не поддерживается"
 
-#: commands/dbcommands.c:204
+#: commands/dbcommands.c:227
 #, c-format
 msgid "Consider using tablespaces instead."
 msgstr "Рассмотрите возможность использования табличных пространств."
 
-#: commands/dbcommands.c:227 utils/adt/ascii.c:144
+#: commands/dbcommands.c:251 utils/adt/ascii.c:144
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr "%d не является верным кодом кодировки"
 
-#: commands/dbcommands.c:237 utils/adt/ascii.c:126
+#: commands/dbcommands.c:261 utils/adt/ascii.c:126
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr "%s не является верным названием кодировки"
 
-#: commands/dbcommands.c:255 commands/dbcommands.c:1404 commands/user.c:260
-#: commands/user.c:601
+#: commands/dbcommands.c:279 commands/dbcommands.c:1458 commands/user.c:271
+#: commands/user.c:635
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "неверный предел подключений: %d"
 
-#: commands/dbcommands.c:274
+#: commands/dbcommands.c:298
 #, c-format
 msgid "permission denied to create database"
 msgstr "нет прав на создание базы данных"
 
-#: commands/dbcommands.c:297
+#: commands/dbcommands.c:321
 #, c-format
 msgid "template database \"%s\" does not exist"
 msgstr "шаблон базы данных \"%s\" не существует"
 
-#: commands/dbcommands.c:309
+#: commands/dbcommands.c:333
 #, c-format
 msgid "permission denied to copy database \"%s\""
 msgstr "нет прав на копирование базы данных \"%s\""
 
-#: commands/dbcommands.c:325
+#: commands/dbcommands.c:349
 #, c-format
 msgid "invalid server encoding %d"
 msgstr "неверная кодировка для сервера: %d"
 
-#: commands/dbcommands.c:331 commands/dbcommands.c:336
+#: commands/dbcommands.c:355 commands/dbcommands.c:360
 #, c-format
 msgid "invalid locale name: \"%s\""
 msgstr "неверное имя локали: \"%s\""
 
-#: commands/dbcommands.c:356
+#: commands/dbcommands.c:380
 #, c-format
 msgid ""
 "new encoding (%s) is incompatible with the encoding of the template database "
 "(%s)"
 msgstr "новая кодировка (%s) несовместима с кодировкой шаблона базы данных(%s)"
 
-#: commands/dbcommands.c:359
+#: commands/dbcommands.c:383
 #, c-format
 msgid ""
 "Use the same encoding as in the template database, or use template0 as "
@@ -5433,7 +5988,7 @@ msgstr ""
 "Используйте кодировку шаблона базы данных или выберите в качестве шаблона "
 "template0."
 
-#: commands/dbcommands.c:364
+#: commands/dbcommands.c:388
 #, c-format
 msgid ""
 "new collation (%s) is incompatible with the collation of the template "
@@ -5442,7 +5997,7 @@ msgstr ""
 "новое правило сортировки (%s) несовместимо с правилом в шаблоне базы данных "
 "(%s)"
 
-#: commands/dbcommands.c:366
+#: commands/dbcommands.c:390
 #, c-format
 msgid ""
 "Use the same collation as in the template database, or use template0 as "
@@ -5451,7 +6006,7 @@ msgstr ""
 "Используйте то же правило сортировки, что и в шаблоне базы данных, или "
 "выберите в качестве шаблона template0."
 
-#: commands/dbcommands.c:371
+#: commands/dbcommands.c:395
 #, c-format
 msgid ""
 "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database "
@@ -5459,7 +6014,7 @@ msgid ""
 msgstr ""
 "новый параметр LC_CTYPE (%s) несовместим с LC_CTYPE в шаблоне базы данных(%s)"
 
-#: commands/dbcommands.c:373
+#: commands/dbcommands.c:397
 #, c-format
 msgid ""
 "Use the same LC_CTYPE as in the template database, or use template0 as "
@@ -5468,18 +6023,18 @@ msgstr ""
 "Используйте тот же LC_CTYPE, что и в шаблоне базы данных, или выберите в "
 "качестве шаблона template0."
 
-#: commands/dbcommands.c:395 commands/dbcommands.c:1088
+#: commands/dbcommands.c:419 commands/dbcommands.c:1113
 #, c-format
 msgid "pg_global cannot be used as default tablespace"
 msgstr ""
 "pg_global нельзя использовать в качестве табличного пространства по умолчанию"
 
-#: commands/dbcommands.c:421
+#: commands/dbcommands.c:445
 #, c-format
 msgid "cannot assign new default tablespace \"%s\""
 msgstr "не удалось назначить новое табличное пространство по умолчанию \"%s\""
 
-#: commands/dbcommands.c:423
+#: commands/dbcommands.c:447
 #, c-format
 msgid ""
 "There is a conflict because database \"%s\" already has some tables in this "
@@ -5488,52 +6043,52 @@ msgstr ""
 "База данных \"%s\" содержит таблицы, которые уже находятся в этом табличном "
 "пространстве."
 
-#: commands/dbcommands.c:443 commands/dbcommands.c:959
+#: commands/dbcommands.c:467 commands/dbcommands.c:982
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "база данных \"%s\" уже существует"
 
-#: commands/dbcommands.c:457
+#: commands/dbcommands.c:481
 #, c-format
 msgid "source database \"%s\" is being accessed by other users"
 msgstr "исходная база \"%s\" занята другими пользователями"
 
-#: commands/dbcommands.c:704 commands/dbcommands.c:719
+#: commands/dbcommands.c:726 commands/dbcommands.c:741
 #, c-format
 msgid "encoding \"%s\" does not match locale \"%s\""
 msgstr "кодировка \"%s\" не соответствует локали \"%s\""
 
-#: commands/dbcommands.c:707
+#: commands/dbcommands.c:729
 #, c-format
 msgid "The chosen LC_CTYPE setting requires encoding \"%s\"."
 msgstr "Для выбранного параметра LC_CTYPE требуется кодировка \"%s\"."
 
-#: commands/dbcommands.c:722
+#: commands/dbcommands.c:744
 #, c-format
 msgid "The chosen LC_COLLATE setting requires encoding \"%s\"."
 msgstr "Для выбранного параметра LC_COLLATE требуется кодировка \"%s\"."
 
-#: commands/dbcommands.c:782
+#: commands/dbcommands.c:804
 #, c-format
 msgid "database \"%s\" does not exist, skipping"
 msgstr "база данных \"%s\" не существует, пропускается"
 
-#: commands/dbcommands.c:806
+#: commands/dbcommands.c:828
 #, c-format
 msgid "cannot drop a template database"
 msgstr "удалить шаблон базы данных нельзя"
 
-#: commands/dbcommands.c:812
+#: commands/dbcommands.c:834
 #, c-format
 msgid "cannot drop the currently open database"
 msgstr "удалить базу данных, открытую в данный момент, нельзя"
 
-#: commands/dbcommands.c:822
+#: commands/dbcommands.c:844
 #, c-format
 msgid "database \"%s\" is used by a logical replication slot"
 msgstr "база \"%s\" используется слотом логической репликации"
 
-#: commands/dbcommands.c:824
+#: commands/dbcommands.c:846
 #, c-format
 msgid "There is %d slot, %d of them active."
 msgid_plural "There are %d slots, %d of them active."
@@ -5541,36 +6096,36 @@ msgstr[0] "Всего создано слотов: %d, из них активн
 msgstr[1] "Всего создано слотов: %d, из них активны: %d."
 msgstr[2] "Всего создано слотов: %d, из них активны: %d."
 
-#: commands/dbcommands.c:838 commands/dbcommands.c:981
-#: commands/dbcommands.c:1110
+#: commands/dbcommands.c:860 commands/dbcommands.c:1004
+#: commands/dbcommands.c:1135
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "база данных \"%s\" занята другими пользователями"
 
-#: commands/dbcommands.c:950
+#: commands/dbcommands.c:973
 #, c-format
 msgid "permission denied to rename database"
 msgstr "нет прав на переименование базы данных"
 
-#: commands/dbcommands.c:970
+#: commands/dbcommands.c:993
 #, c-format
 msgid "current database cannot be renamed"
 msgstr "нельзя переименовать текущую базу данных"
 
-#: commands/dbcommands.c:1066
+#: commands/dbcommands.c:1091
 #, c-format
 msgid "cannot change the tablespace of the currently open database"
 msgstr ""
 "изменить табличное пространство открытой в данный момент базы данных нельзя"
 
-#: commands/dbcommands.c:1169
+#: commands/dbcommands.c:1194
 #, c-format
 msgid "some relations of database \"%s\" are already in tablespace \"%s\""
 msgstr ""
 "некоторые отношения базы данных \"%s\" уже находятся в табличном "
 "пространстве \"%s\""
 
-#: commands/dbcommands.c:1171
+#: commands/dbcommands.c:1196
 #, c-format
 msgid ""
 "You must move them back to the database's default tablespace before using "
@@ -5579,19 +6134,29 @@ msgstr ""
 "Прежде чем выполнять эту команду, вы должны вернуть их назад в табличное "
 "пространство по умолчанию для этой базы данных."
 
-#: commands/dbcommands.c:1302 commands/dbcommands.c:1790
-#: commands/dbcommands.c:1996 commands/dbcommands.c:2044
-#: commands/tablespace.c:604
+#: commands/dbcommands.c:1325 commands/dbcommands.c:1868
+#: commands/dbcommands.c:2072 commands/dbcommands.c:2120
+#: commands/tablespace.c:605
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr "в старом каталоге базы данных \"%s\" могли остаться ненужные файлы"
 
-#: commands/dbcommands.c:1558
+#: commands/dbcommands.c:1440
+#, c-format
+msgid "option \"%s\" cannot be specified with other options"
+msgstr "параметр \"%s\" нельзя задать с другими параметрами"
+
+#: commands/dbcommands.c:1494
+#, c-format
+msgid "cannot disallow connections for current database"
+msgstr "запретить подключения к текущей базе данных нельзя"
+
+#: commands/dbcommands.c:1634
 #, c-format
 msgid "permission denied to change owner of database"
 msgstr "нет прав на изменение владельца базы данных"
 
-#: commands/dbcommands.c:1879
+#: commands/dbcommands.c:1955
 #, c-format
 msgid ""
 "There are %d other session(s) and %d prepared transaction(s) using the "
@@ -5600,7 +6165,7 @@ msgstr ""
 "С этой базой данных связаны другие сеансы (%d) и подготовленные транзакции "
 "(%d)."
 
-#: commands/dbcommands.c:1882
+#: commands/dbcommands.c:1958
 #, c-format
 msgid "There is %d other session using the database."
 msgid_plural "There are %d other sessions using the database."
@@ -5608,7 +6173,7 @@ msgstr[0] "Эта база данных используется ещё в %d с
 msgstr[1] "Эта база данных используется ещё в %d сеансах."
 msgstr[2] "Эта база данных используется ещё в %d сеансах."
 
-#: commands/dbcommands.c:1887
+#: commands/dbcommands.c:1963
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
@@ -5653,8 +6218,8 @@ msgstr "аргументом %s должно быть имя типа"
 msgid "invalid argument for %s: \"%s\""
 msgstr "неверный аргумент для %s: \"%s\""
 
-#: commands/dropcmds.c:112 commands/functioncmds.c:1110
-#: utils/adt/ruleutils.c:1936
+#: commands/dropcmds.c:112 commands/functioncmds.c:1166
+#: utils/adt/ruleutils.c:1950
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "функция \"%s\" является агрегатной"
@@ -5664,114 +6229,125 @@ msgstr "функция \"%s\" является агрегатной"
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Используйте DROP AGGREGATE для удаления агрегатных функций."
 
-#: commands/dropcmds.c:165 commands/sequence.c:405 commands/tablecmds.c:2318
-#: commands/tablecmds.c:2499 commands/tablecmds.c:10625 tcop/utility.c:1006
+#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2367
+#: commands/tablecmds.c:2518 commands/tablecmds.c:2560
+#: commands/tablecmds.c:11266 tcop/utility.c:1105
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "отношение \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:195 commands/dropcmds.c:288 commands/tablecmds.c:713
+#: commands/dropcmds.c:195 commands/dropcmds.c:292 commands/tablecmds.c:739
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "схема \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:237 commands/dropcmds.c:269 commands/tablecmds.c:237
+#: commands/dropcmds.c:237 commands/dropcmds.c:272 commands/tablecmds.c:243
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "тип \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:276
+#: commands/dropcmds.c:280
 #, c-format
 msgid "collation \"%s\" does not exist, skipping"
 msgstr "правило сортировки \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:283
+#: commands/dropcmds.c:287
 #, c-format
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "преобразование \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:294
+#: commands/dropcmds.c:298
 #, c-format
 msgid "text search parser \"%s\" does not exist, skipping"
 msgstr "анализатор текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:301
+#: commands/dropcmds.c:305
 #, c-format
 msgid "text search dictionary \"%s\" does not exist, skipping"
 msgstr "словарь текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:308
+#: commands/dropcmds.c:312
 #, c-format
 msgid "text search template \"%s\" does not exist, skipping"
 msgstr "шаблон текстового поиска \"%s\" не существует, пропускается "
 
-#: commands/dropcmds.c:315
+#: commands/dropcmds.c:319
 #, c-format
 msgid "text search configuration \"%s\" does not exist, skipping"
 msgstr "конфигурация текстового поиска \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:320
+#: commands/dropcmds.c:324
 #, c-format
 msgid "extension \"%s\" does not exist, skipping"
 msgstr "расширение \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:327
+#: commands/dropcmds.c:331
 #, c-format
 msgid "function %s(%s) does not exist, skipping"
 msgstr "функция %s(%s) не существует, пропускается"
 
-#: commands/dropcmds.c:336
+#: commands/dropcmds.c:340
 #, c-format
 msgid "aggregate %s(%s) does not exist, skipping"
 msgstr "агрегатная функция %s(%s) не существует, пропускается"
 
-#: commands/dropcmds.c:345
+#: commands/dropcmds.c:349
 #, c-format
 msgid "operator %s does not exist, skipping"
 msgstr "оператор %s не существует, пропускается"
 
-#: commands/dropcmds.c:350
+#: commands/dropcmds.c:354
 #, c-format
 msgid "language \"%s\" does not exist, skipping"
 msgstr "язык \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:359
+#: commands/dropcmds.c:363
 #, c-format
 msgid "cast from type %s to type %s does not exist, skipping"
-msgstr "пÑ\80еобÑ\80азование Ñ\82ипа %s Ð² Ñ\82ип %s не существует, пропускается"
+msgstr "пÑ\80иведение %s Ðº Ñ\82ипÑ\83 %s не существует, пропускается"
 
-#: commands/dropcmds.c:368
+#: commands/dropcmds.c:372
+#, c-format
+msgid "transform for type %s language \"%s\" does not exist, skipping"
+msgstr "преобразование для типа %s, языка \"%s\" не существует, пропускается"
+
+#: commands/dropcmds.c:380
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "триггер \"%s\" для отношения \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:375
+#: commands/dropcmds.c:389
+#, c-format
+msgid "policy \"%s\" for relation \"%s\" does not exist, skipping"
+msgstr "политика \"%s\" для отношения \"%s\" не существует, пропускается"
+
+#: commands/dropcmds.c:396
 #, c-format
 msgid "event trigger \"%s\" does not exist, skipping"
 msgstr "событийный триггер \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:381
+#: commands/dropcmds.c:402
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "правило \"%s\" для отношения \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:388
+#: commands/dropcmds.c:409
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "обёртка сторонних данных \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:392
+#: commands/dropcmds.c:413
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "сервер \"%s\" не существует, пропускается"
 
-#: commands/dropcmds.c:398
+#: commands/dropcmds.c:422
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\", skipping"
 msgstr ""
 "класс операторов \"%s\" не существует для метода доступа \"%s\", пропускается"
 
-#: commands/dropcmds.c:406
+#: commands/dropcmds.c:434
 #, c-format
 msgid ""
 "operator family \"%s\" does not exist for access method \"%s\", skipping"
@@ -5779,228 +6355,242 @@ msgstr ""
 "семейство операторов \"%s\" не существует для метода доступа \"%s\", "
 "пропускается"
 
-#: commands/event_trigger.c:149
+#: commands/event_trigger.c:181
 #, c-format
 msgid "permission denied to create event trigger \"%s\""
 msgstr "нет прав на создание событийного триггера \"%s\""
 
-#: commands/event_trigger.c:151
+#: commands/event_trigger.c:183
 #, c-format
 msgid "Must be superuser to create an event trigger."
 msgstr "Для создания событийного триггера нужно быть суперпользователем."
 
-#: commands/event_trigger.c:159
+#: commands/event_trigger.c:192
 #, c-format
 msgid "unrecognized event name \"%s\""
 msgstr "нераспознанное имя события \"%s\""
 
-#: commands/event_trigger.c:176
+#: commands/event_trigger.c:209
 #, c-format
 msgid "unrecognized filter variable \"%s\""
 msgstr "нераспознанная переменная фильтра \"%s\""
 
-#: commands/event_trigger.c:203
+#: commands/event_trigger.c:239
 #, c-format
 msgid "function \"%s\" must return type \"event_trigger\""
 msgstr "функция \"%s\" должна возвращать тип \"event_trigger\""
 
-#: commands/event_trigger.c:228
+#: commands/event_trigger.c:264
 #, c-format
 msgid "filter value \"%s\" not recognized for filter variable \"%s\""
 msgstr "значение фильтра \"%s\" неприемлемо для переменной фильтра \"%s\""
 
 #. translator: %s represents an SQL statement name
-#: commands/event_trigger.c:234
+#: commands/event_trigger.c:270 commands/event_trigger.c:340
 #, c-format
 msgid "event triggers are not supported for %s"
 msgstr "для %s событийные триггеры не поддерживаются"
 
-#: commands/event_trigger.c:289
+#: commands/event_trigger.c:363
 #, c-format
 msgid "filter variable \"%s\" specified more than once"
 msgstr "переменная фильтра \"%s\" указана больше одного раза"
 
-#: commands/event_trigger.c:437 commands/event_trigger.c:480
-#: commands/event_trigger.c:571
+#: commands/event_trigger.c:511 commands/event_trigger.c:555
+#: commands/event_trigger.c:648
 #, c-format
 msgid "event trigger \"%s\" does not exist"
 msgstr "событийный триггер \"%s\" не существует"
 
-#: commands/event_trigger.c:539
+#: commands/event_trigger.c:616
 #, c-format
 msgid "permission denied to change owner of event trigger \"%s\""
 msgstr "нет прав на изменение владельца событийного триггера \"%s\""
 
-#: commands/event_trigger.c:541
+#: commands/event_trigger.c:618
 #, c-format
 msgid "The owner of an event trigger must be a superuser."
 msgstr "Владельцем событийного триггера должен быть суперпользователь."
 
-#: commands/event_trigger.c:1219
+#: commands/event_trigger.c:1439
 #, c-format
 msgid "%s can only be called in a sql_drop event trigger function"
 msgstr "%s можно вызывать только в событийной триггерной функции sql_drop"
 
-#: commands/event_trigger.c:1226 commands/extension.c:1646
-#: commands/extension.c:1755 commands/extension.c:1948 commands/prepare.c:702
-#: executor/execQual.c:1742 executor/execQual.c:1767 executor/execQual.c:2142
-#: executor/execQual.c:5318 executor/functions.c:1018 foreign/foreign.c:421
-#: replication/logical/logicalfuncs.c:310 replication/slotfuncs.c:173
-#: replication/walsender.c:2734 utils/adt/jsonfuncs.c:1386
-#: utils/adt/jsonfuncs.c:1518 utils/adt/jsonfuncs.c:1708
-#: utils/adt/jsonfuncs.c:1837 utils/adt/jsonfuncs.c:2601
-#: utils/fmgr/funcapi.c:61 utils/mmgr/portalmem.c:986
+#: commands/event_trigger.c:1446 commands/event_trigger.c:1997
+#: commands/extension.c:1645 commands/extension.c:1754
+#: commands/extension.c:1947 commands/prepare.c:701 executor/execQual.c:1734
+#: executor/execQual.c:1759 executor/execQual.c:2134 executor/execQual.c:5374
+#: executor/functions.c:1021 foreign/foreign.c:491
+#: replication/logical/logicalfuncs.c:312 replication/logical/origin.c:1407
+#: replication/slotfuncs.c:173 replication/walsender.c:2742
+#: utils/adt/jsonfuncs.c:1474 utils/adt/jsonfuncs.c:1606
+#: utils/adt/jsonfuncs.c:1796 utils/adt/jsonfuncs.c:1925
+#: utils/adt/jsonfuncs.c:2693 utils/adt/pgstatfuncs.c:547
+#: utils/fmgr/funcapi.c:61 utils/misc/guc.c:8236 utils/mmgr/portalmem.c:986
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr ""
 "функция, возвращающая множество, вызвана в контексте, где ему нет места"
 
-#: commands/event_trigger.c:1230 commands/extension.c:1650
-#: commands/extension.c:1759 commands/extension.c:1952 commands/prepare.c:706
-#: foreign/foreign.c:426 replication/logical/logicalfuncs.c:314
-#: replication/slotfuncs.c:177 replication/walsender.c:2738
+#: commands/event_trigger.c:1450 commands/event_trigger.c:2001
+#: commands/extension.c:1649 commands/extension.c:1758
+#: commands/extension.c:1951 commands/prepare.c:705 foreign/foreign.c:496
+#: replication/logical/logicalfuncs.c:316 replication/logical/origin.c:1411
+#: replication/slotfuncs.c:177 replication/walsender.c:2746
+#: utils/adt/pgstatfuncs.c:551 utils/misc/guc.c:8240
 #: utils/mmgr/portalmem.c:990
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "требуется режим материализации, но он недопустим в этом контексте"
 
-#: commands/explain.c:173
+#: commands/event_trigger.c:1559 commands/event_trigger.c:1580
+#, c-format
+msgid "%s can only be called in a table_rewrite event trigger function"
+msgstr "%s можно вызывать только в событийной триггерной функции table_rewrite"
+
+#: commands/event_trigger.c:1990
+#, c-format
+msgid "%s can only be called in an event trigger function"
+msgstr "%s можно вызывать только в событийной триггерной функции"
+
+#: commands/explain.c:184
 #, c-format
 msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgstr "нераспознанное значение параметра EXPLAIN \"%s\": \"%s\""
 
-#: commands/explain.c:179
+#: commands/explain.c:190
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "нераспознанный параметр EXPLAIN: \"%s\""
 
-#: commands/explain.c:186
+#: commands/explain.c:197
 #, c-format
 msgid "EXPLAIN option BUFFERS requires ANALYZE"
 msgstr "параметр BUFFERS оператора EXPLAIN требует указания ANALYZE"
 
-#: commands/explain.c:195
+#: commands/explain.c:206
 #, c-format
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "параметр TIMING оператора EXPLAIN требует указания ANALYZE"
 
-#: commands/extension.c:148 commands/extension.c:2628
+#: commands/extension.c:152 commands/extension.c:2635
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "расширение \"%s\" не существует"
 
-#: commands/extension.c:247 commands/extension.c:256 commands/extension.c:268
-#: commands/extension.c:278
+#: commands/extension.c:251 commands/extension.c:260 commands/extension.c:272
+#: commands/extension.c:282
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "неверное имя расширения: \"%s\""
 
-#: commands/extension.c:248
+#: commands/extension.c:252
 #, c-format
 msgid "Extension names must not be empty."
 msgstr "Имя расширения не может быть пустым."
 
-#: commands/extension.c:257
+#: commands/extension.c:261
 #, c-format
 msgid "Extension names must not contain \"--\"."
 msgstr "Имя расширения не может содержать \"--\"."
 
-#: commands/extension.c:269
+#: commands/extension.c:273
 #, c-format
 msgid "Extension names must not begin or end with \"-\"."
 msgstr "Имя расширения не может начинаться или заканчиваться символом \"-\"."
 
-#: commands/extension.c:279
+#: commands/extension.c:283
 #, c-format
 msgid "Extension names must not contain directory separator characters."
 msgstr "Имя расширения не может содержать разделители пути."
 
-#: commands/extension.c:294 commands/extension.c:303 commands/extension.c:312
-#: commands/extension.c:322
+#: commands/extension.c:298 commands/extension.c:307 commands/extension.c:316
+#: commands/extension.c:326
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "неверный идентификатор версии расширения: \"%s\""
 
-#: commands/extension.c:295
+#: commands/extension.c:299
 #, c-format
 msgid "Version names must not be empty."
 msgstr "Идентификатор версии не может быть пустым."
 
-#: commands/extension.c:304
+#: commands/extension.c:308
 #, c-format
 msgid "Version names must not contain \"--\"."
 msgstr "Идентификатор версии не может содержать \"--\"."
 
-#: commands/extension.c:313
+#: commands/extension.c:317
 #, c-format
 msgid "Version names must not begin or end with \"-\"."
 msgstr ""
 "Идентификатор версии не может начинаться или заканчиваться символом \"-\"."
 
-#: commands/extension.c:323
+#: commands/extension.c:327
 #, c-format
 msgid "Version names must not contain directory separator characters."
 msgstr "Идентификатор версии не может содержать разделители пути."
 
-#: commands/extension.c:473
+#: commands/extension.c:477
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "не удалось открыть управляющий файл расширения \"%s\": %m"
 
-#: commands/extension.c:495 commands/extension.c:505
+#: commands/extension.c:499 commands/extension.c:509
 #, c-format
 msgid "parameter \"%s\" cannot be set in a secondary extension control file"
 msgstr ""
 "параметр \"%s\" нельзя задавать в дополнительном управляющем файле расширения"
 
-#: commands/extension.c:544
+#: commands/extension.c:548
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "неверное имя кодировки %s"
 
-#: commands/extension.c:558
+#: commands/extension.c:562
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "параметр \"%s\" должен содержать список имён расширений"
 
-#: commands/extension.c:565
+#: commands/extension.c:569
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "нераспознанный параметр \"%s\" в файле \"%s\""
 
-#: commands/extension.c:574
+#: commands/extension.c:578
 #, c-format
 msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
 msgstr ""
 "параметр \"schema\" не может быть указан вместе с \"relocatable\" = true"
 
-#: commands/extension.c:722
+#: commands/extension.c:719
 #, c-format
 msgid ""
 "transaction control statements are not allowed within an extension script"
 msgstr "в скрипте расширения не должно быть операторов управления транзакциями"
 
-#: commands/extension.c:790
+#: commands/extension.c:787
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "нет прав на создание расширения \"%s\""
 
-#: commands/extension.c:792
+#: commands/extension.c:789
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Для создания этого расширения нужно быть суперпользователем."
 
-#: commands/extension.c:796
+#: commands/extension.c:793
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "нет прав на изменение расширения \"%s\""
 
-#: commands/extension.c:798
+#: commands/extension.c:795
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Для изменения этого расширения нужно быть суперпользователем."
 
-#: commands/extension.c:1080
+#: commands/extension.c:1077
 #, c-format
 msgid ""
 "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
@@ -6008,47 +6598,47 @@ msgstr ""
 "для расширения \"%s\" не определён путь обновления с версии \"%s\" до версии "
 "\"%s\""
 
-#: commands/extension.c:1207
+#: commands/extension.c:1205
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "расширение \"%s\" уже существует, пропускается"
 
-#: commands/extension.c:1214
+#: commands/extension.c:1212
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "расширение \"%s\" уже существует"
 
-#: commands/extension.c:1225
+#: commands/extension.c:1223
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "вложенные операторы CREATE EXTENSION не поддерживаются"
 
-#: commands/extension.c:1280 commands/extension.c:2688
+#: commands/extension.c:1278 commands/extension.c:2695
 #, c-format
 msgid "version to install must be specified"
 msgstr "нужно указать версию для установки"
 
-#: commands/extension.c:1297
+#: commands/extension.c:1295
 #, c-format
 msgid "FROM version must be different from installation target version \"%s\""
 msgstr "версия FROM должна отличаться от устанавливаемой версии \"%s\""
 
-#: commands/extension.c:1352
+#: commands/extension.c:1350
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "расширение \"%s\" должно устанавливаться в схему \"%s\""
 
-#: commands/extension.c:1436 commands/extension.c:2831
+#: commands/extension.c:1434 commands/extension.c:2840
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "требуемое расширение \"%s\" не установлено"
 
-#: commands/extension.c:1598
+#: commands/extension.c:1597
 #, c-format
 msgid "cannot drop extension \"%s\" because it is being modified"
 msgstr "удалить расширение %s в процессе настройки нельзя"
 
-#: commands/extension.c:2069
+#: commands/extension.c:2068
 #, c-format
 msgid ""
 "pg_extension_config_dump() can only be called from an SQL script executed by "
@@ -6057,12 +6647,12 @@ msgstr ""
 "функцию pg_extension_config_dump() можно вызывать только из SQL-скрипта, "
 "запускаемого в CREATE EXTENSION"
 
-#: commands/extension.c:2081
+#: commands/extension.c:2080
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "OID %u не относится к таблице"
 
-#: commands/extension.c:2086
+#: commands/extension.c:2085
 #, c-format
 msgid "table \"%s\" is not a member of the extension being created"
 msgstr "таблица \"%s\" не относится к созданному расширению"
@@ -6086,17 +6676,17 @@ msgstr "расширение \"%s\" не поддерживает SET SCHEMA"
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "объект %s не принадлежит схеме расширения \"%s\""
 
-#: commands/extension.c:2608
+#: commands/extension.c:2615
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "вложенные операторы ALTER EXTENSION не поддерживаются"
 
-#: commands/extension.c:2699
+#: commands/extension.c:2706
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "версия \"%s\" расширения \"%s\" уже установлена"
 
-#: commands/extension.c:2938
+#: commands/extension.c:2957
 #, c-format
 msgid ""
 "cannot add schema \"%s\" to extension \"%s\" because the schema contains the "
@@ -6105,17 +6695,22 @@ msgstr ""
 "добавить схему \"%s\" к расширению \"%s\" нельзя, так как схема содержит "
 "расширение"
 
-#: commands/extension.c:2956
+#: commands/extension.c:2975
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s не относится к расширению \"%s\""
 
-#: commands/foreigncmds.c:138 commands/foreigncmds.c:147
+#: commands/extension.c:3031
+#, c-format
+msgid "file too large"
+msgstr "файл слишком большой"
+
+#: commands/foreigncmds.c:150 commands/foreigncmds.c:159
 #, c-format
 msgid "option \"%s\" not found"
 msgstr "нераспознанный параметр \"%s\""
 
-#: commands/foreigncmds.c:157
+#: commands/foreigncmds.c:169
 #, c-format
 msgid "option \"%s\" provided more than once"
 msgstr "параметр \"%s\" указан неоднократно"
@@ -6136,43 +6731,37 @@ msgstr ""
 msgid "The owner of a foreign-data wrapper must be a superuser."
 msgstr "Владельцем обёртки сторонних данных должен быть суперпользователь."
 
-#: commands/foreigncmds.c:271 commands/foreigncmds.c:655 foreign/foreign.c:600
+#: commands/foreigncmds.c:292 commands/foreigncmds.c:709 foreign/foreign.c:670
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "обёртка сторонних данных \"%s\" не существует"
 
-#: commands/foreigncmds.c:380 commands/foreigncmds.c:944
-#: commands/foreigncmds.c:1285 foreign/foreign.c:621
-#, c-format
-msgid "server \"%s\" does not exist"
-msgstr "сервер \"%s\" не существует"
-
-#: commands/foreigncmds.c:436
+#: commands/foreigncmds.c:489
 #, c-format
 msgid "function %s must return type \"fdw_handler\""
 msgstr "функция %s должна возвращать тип \"fdw_handler\""
 
-#: commands/foreigncmds.c:531
+#: commands/foreigncmds.c:584
 #, c-format
 msgid "permission denied to create foreign-data wrapper \"%s\""
 msgstr "нет прав на создание обёртки сторонних данных \"%s\""
 
-#: commands/foreigncmds.c:533
+#: commands/foreigncmds.c:586
 #, c-format
 msgid "Must be superuser to create a foreign-data wrapper."
 msgstr "Для создания обёртки сторонних данных нужно быть суперпользователем."
 
-#: commands/foreigncmds.c:645
+#: commands/foreigncmds.c:699
 #, c-format
 msgid "permission denied to alter foreign-data wrapper \"%s\""
 msgstr "нет прав на изменение обёртки сторонних данных \"%s\""
 
-#: commands/foreigncmds.c:647
+#: commands/foreigncmds.c:701
 #, c-format
 msgid "Must be superuser to alter a foreign-data wrapper."
 msgstr "Для изменения обёртки сторонних данных нужно быть суперпользователем."
 
-#: commands/foreigncmds.c:678
+#: commands/foreigncmds.c:732
 #, c-format
 msgid ""
 "changing the foreign-data wrapper handler can change behavior of existing "
@@ -6181,7 +6770,7 @@ msgstr ""
 "при изменении обработчика в обёртке сторонних данных может измениться "
 "поведение существующих сторонних таблиц"
 
-#: commands/foreigncmds.c:693
+#: commands/foreigncmds.c:747
 #, c-format
 msgid ""
 "changing the foreign-data wrapper validator can cause the options for "
@@ -6190,415 +6779,494 @@ msgstr ""
 "при изменении функции проверки в обёртке сторонних данных параметры "
 "зависимых объектов могут стать неверными"
 
-#: commands/foreigncmds.c:1106
+#: commands/foreigncmds.c:1165
 #, c-format
 msgid "user mapping \"%s\" already exists for server %s"
 msgstr "сопоставление пользователей \"%s\" для сервера \"%s\" уже существует"
 
-#: commands/foreigncmds.c:1194 commands/foreigncmds.c:1301
+#: commands/foreigncmds.c:1259 commands/foreigncmds.c:1375
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server"
 msgstr "сопоставление пользователей \"%s\" для данного сервера не существует"
 
-#: commands/foreigncmds.c:1288
+#: commands/foreigncmds.c:1362
 #, c-format
 msgid "server does not exist, skipping"
 msgstr "сервер не существует, пропускается"
 
-#: commands/foreigncmds.c:1306
+#: commands/foreigncmds.c:1380
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server, skipping"
 msgstr ""
 "сопоставление пользователей \"%s\" не существует для сервера, пропускается"
 
-#: commands/functioncmds.c:98
+#: commands/foreigncmds.c:1532 foreign/foreign.c:360
+#, c-format
+msgid "foreign-data wrapper \"%s\" has no handler"
+msgstr "обёртка сторонних данных \"%s\" не имеет обработчика"
+
+#: commands/foreigncmds.c:1538
+#, c-format
+msgid "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA"
+msgstr "обёртка сторонних данных \"%s\" не поддерживает IMPORT FOREIGN SCHEMA"
+
+#: commands/foreigncmds.c:1631
+#, c-format
+msgid "importing foreign table \"%s\""
+msgstr "импорт сторонней таблицы \"%s\""
+
+#: commands/functioncmds.c:99
 #, c-format
 msgid "SQL function cannot return shell type %s"
 msgstr "SQL-функция не может возвращать тип-пустышку %s"
 
-#: commands/functioncmds.c:103
+#: commands/functioncmds.c:104
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "возвращаемый тип %s - лишь пустышка"
 
-#: commands/functioncmds.c:132 parser/parse_type.c:333
+#: commands/functioncmds.c:134 parser/parse_type.c:338
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "для типа-пустышки \"%s\" нельзя указать модификатор типа"
 
-#: commands/functioncmds.c:138
+#: commands/functioncmds.c:140
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "тип \"%s\" ещё не определён"
 
-#: commands/functioncmds.c:139
+#: commands/functioncmds.c:141
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Создание определения типа-пустышки."
 
-#: commands/functioncmds.c:236
+#: commands/functioncmds.c:239
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "SQL-функция не может принимать значение типа-пустышки %s"