diff options
Diffstat (limited to 'src/bin')
-rw-r--r-- | src/bin/pg_ctl/pg_ctl.c | 4 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_dump.c | 52 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_dump.h | 3 | ||||
-rw-r--r-- | src/bin/pg_dump/po/ru.po | 162 | ||||
-rw-r--r-- | src/bin/pg_dump/t/002_pg_dump.pl | 6 | ||||
-rw-r--r-- | src/bin/pg_rewind/po/ru.po | 64 | ||||
-rw-r--r-- | src/bin/pg_rewind/t/003_extrafiles.pl | 13 | ||||
-rw-r--r-- | src/bin/pg_upgrade/po/ru.po | 15 | ||||
-rw-r--r-- | src/bin/pg_upgrade/po/uk.po | 258 | ||||
-rw-r--r-- | src/bin/pg_upgrade/t/002_pg_upgrade.pl | 14 | ||||
-rw-r--r-- | src/bin/pg_waldump/po/de.po | 6 | ||||
-rw-r--r-- | src/bin/pg_waldump/po/ru.po | 64 | ||||
-rw-r--r-- | src/bin/pgbench/pgbench.c | 15 | ||||
-rw-r--r-- | src/bin/pgbench/t/001_pgbench_with_server.pl | 30 | ||||
-rw-r--r-- | src/bin/psql/po/ja.po | 4 | ||||
-rw-r--r-- | src/bin/psql/po/ru.po | 8 | ||||
-rw-r--r-- | src/bin/scripts/po/uk.po | 166 |
17 files changed, 488 insertions, 396 deletions
diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c index dd78e5b..f58320b 100644 --- a/src/bin/pg_ctl/pg_ctl.c +++ b/src/bin/pg_ctl/pg_ctl.c @@ -559,11 +559,11 @@ start_postmaster(void) else close(fd); - cmd = psprintf("\"%s\" /C \"\"%s\" %s%s < \"%s\" >> \"%s\" 2>&1\"", + cmd = psprintf("\"%s\" /D /C \"\"%s\" %s%s < \"%s\" >> \"%s\" 2>&1\"", comspec, exec_path, pgdata_opt, post_opts, DEVNULL, log_file); } else - cmd = psprintf("\"%s\" /C \"\"%s\" %s%s < \"%s\" 2>&1\"", + cmd = psprintf("\"%s\" /D /C \"\"%s\" %s%s < \"%s\" 2>&1\"", comspec, exec_path, pgdata_opt, post_opts, DEVNULL); if (!CreateRestrictedProcess(cmd, &pi, false)) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 5e7317b..cf34bfd 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -1576,13 +1576,10 @@ checkExtensionMembership(DumpableObject *dobj, Archive *fout) addObjectDependency(dobj, ext->dobj.dumpId); /* - * In 9.6 and above, mark the member object to have any non-initial ACL, - * policies, and security labels dumped. - * - * Note that any initial ACLs (see pg_init_privs) will be removed when we - * extract the information about the object. We don't provide support for - * initial policies and security labels and it seems unlikely for those to - * ever exist, but we may have to revisit this later. + * In 9.6 and above, mark the member object to have any non-initial ACLs + * dumped. (Any initial ACLs will be removed later, using data from + * pg_init_privs, so that we'll dump only the delta from the extension's + * initial setup.) * * Prior to 9.6, we do not include any extension member components. * @@ -1590,6 +1587,13 @@ checkExtensionMembership(DumpableObject *dobj, Archive *fout) * individually, since the idea is to exactly reproduce the database * contents rather than replace the extension contents with something * different. + * + * Note: it might be interesting someday to implement storage and delta + * dumping of extension members' RLS policies and/or security labels. + * However there is a pitfall for RLS policies: trying to dump them + * requires getting a lock on their tables, and the calling user might not + * have privileges for that. We need no lock to examine a table's ACLs, + * so the current feature doesn't have a problem of that sort. */ if (fout->dopt->binary_upgrade) dobj->dump = ext->dobj.dump; @@ -1598,9 +1602,7 @@ checkExtensionMembership(DumpableObject *dobj, Archive *fout) if (fout->remoteVersion < 90600) dobj->dump = DUMP_COMPONENT_NONE; else - dobj->dump = ext->dobj.dump_contains & (DUMP_COMPONENT_ACL | - DUMP_COMPONENT_SECLABEL | - DUMP_COMPONENT_POLICY); + dobj->dump = ext->dobj.dump_contains & (DUMP_COMPONENT_ACL); } return true; @@ -1932,6 +1934,26 @@ selectDumpablePublicationObject(DumpableObject *dobj, Archive *fout) } /* + * selectDumpableStatisticsObject: policy-setting subroutine + * Mark an extended statistics object as to be dumped or not + * + * We dump an extended statistics object if the schema it's in and the table + * it's for are being dumped. (This'll need more thought if statistics + * objects ever support cross-table stats.) + */ +static void +selectDumpableStatisticsObject(StatsExtInfo *sobj, Archive *fout) +{ + if (checkExtensionMembership(&sobj->dobj, fout)) + return; /* extension membership overrides all else */ + + sobj->dobj.dump = sobj->dobj.namespace->dobj.dump_contains; + if (sobj->stattable == NULL || + !(sobj->stattable->dobj.dump & DUMP_COMPONENT_DEFINITION)) + sobj->dobj.dump = DUMP_COMPONENT_NONE; +} + +/* * selectDumpableObject: policy-setting subroutine * Mark a generic dumpable object as to be dumped or not * @@ -7094,6 +7116,7 @@ getExtendedStatistics(Archive *fout) int i_stxname; int i_stxnamespace; int i_stxowner; + int i_stxrelid; int i_stattarget; int i; @@ -7105,11 +7128,11 @@ getExtendedStatistics(Archive *fout) if (fout->remoteVersion < 130000) appendPQExpBuffer(query, "SELECT tableoid, oid, stxname, " - "stxnamespace, stxowner, (-1) AS stxstattarget " + "stxnamespace, stxowner, stxrelid, (-1) AS stxstattarget " "FROM pg_catalog.pg_statistic_ext"); else appendPQExpBuffer(query, "SELECT tableoid, oid, stxname, " - "stxnamespace, stxowner, stxstattarget " + "stxnamespace, stxowner, stxrelid, stxstattarget " "FROM pg_catalog.pg_statistic_ext"); res = ExecuteSqlQuery(fout, query->data, PGRES_TUPLES_OK); @@ -7121,6 +7144,7 @@ getExtendedStatistics(Archive *fout) i_stxname = PQfnumber(res, "stxname"); i_stxnamespace = PQfnumber(res, "stxnamespace"); i_stxowner = PQfnumber(res, "stxowner"); + i_stxrelid = PQfnumber(res, "stxrelid"); i_stattarget = PQfnumber(res, "stxstattarget"); statsextinfo = (StatsExtInfo *) pg_malloc(ntups * sizeof(StatsExtInfo)); @@ -7135,10 +7159,12 @@ getExtendedStatistics(Archive *fout) statsextinfo[i].dobj.namespace = findNamespace(atooid(PQgetvalue(res, i, i_stxnamespace))); statsextinfo[i].rolname = getRoleName(PQgetvalue(res, i, i_stxowner)); + statsextinfo[i].stattable = + findTableByOid(atooid(PQgetvalue(res, i, i_stxrelid))); statsextinfo[i].stattarget = atoi(PQgetvalue(res, i, i_stattarget)); /* Decide whether we want to dump it */ - selectDumpableObject(&(statsextinfo[i].dobj), fout); + selectDumpableStatisticsObject(&(statsextinfo[i]), fout); } PQclear(res); diff --git a/src/bin/pg_dump/pg_dump.h b/src/bin/pg_dump/pg_dump.h index 0cdcc01..18c9517 100644 --- a/src/bin/pg_dump/pg_dump.h +++ b/src/bin/pg_dump/pg_dump.h @@ -418,7 +418,8 @@ typedef struct _indexAttachInfo typedef struct _statsExtInfo { DumpableObject dobj; - const char *rolname; + const char *rolname; /* owner */ + TableInfo *stattable; /* link to table the stats are for */ int stattarget; /* statistics target */ } StatsExtInfo; diff --git a/src/bin/pg_dump/po/ru.po b/src/bin/pg_dump/po/ru.po index 0738e01..c0dd159 100644 --- a/src/bin/pg_dump/po/ru.po +++ b/src/bin/pg_dump/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-11-03 09:09+0300\n" +"POT-Creation-Date: 2024-02-02 18:11+0300\n" "PO-Revision-Date: 2023-08-30 14:18+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -629,7 +629,7 @@ msgstr "восстановление большого объекта с OID %u" msgid "could not create large object %u: %s" msgstr "не удалось создать большой объект %u: %s" -#: pg_backup_archiver.c:1375 pg_dump.c:3607 +#: pg_backup_archiver.c:1375 pg_dump.c:3629 #, c-format msgid "could not open large object %u: %s" msgstr "не удалось открыть большой объект %u: %s" @@ -1113,7 +1113,7 @@ msgstr "ошибка в PQputCopyEnd: %s" msgid "COPY failed for table \"%s\": %s" msgstr "сбой команды COPY для таблицы \"%s\": %s" -#: pg_backup_db.c:522 pg_dump.c:2106 +#: pg_backup_db.c:522 pg_dump.c:2128 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "неожиданные лишние результаты получены при COPY для таблицы \"%s\"" @@ -1918,115 +1918,115 @@ msgstr "В данный момент вы не подключены к базе msgid "cross-database references are not implemented: %s" msgstr "ссылки между базами не реализованы: %s" -#: pg_dump.c:1981 +#: pg_dump.c:2003 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "выгрузка содержимого таблицы \"%s.%s\"" -#: pg_dump.c:2087 +#: pg_dump.c:2109 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQgetCopyData()." -#: pg_dump.c:2088 pg_dump.c:2098 +#: pg_dump.c:2110 pg_dump.c:2120 #, c-format msgid "Error message from server: %s" msgstr "Сообщение об ошибке с сервера: %s" # skip-rule: language-mix -#: pg_dump.c:2089 pg_dump.c:2099 +#: pg_dump.c:2111 pg_dump.c:2121 #, c-format msgid "Command was: %s" msgstr "Выполнялась команда: %s" -#: pg_dump.c:2097 +#: pg_dump.c:2119 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQgetResult()." -#: pg_dump.c:2179 +#: pg_dump.c:2201 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "из таблицы \"%s\" получено неверное количество полей" -#: pg_dump.c:2875 +#: pg_dump.c:2897 #, c-format msgid "saving database definition" msgstr "сохранение определения базы данных" -#: pg_dump.c:2971 +#: pg_dump.c:2993 #, c-format msgid "unrecognized locale provider: %s" msgstr "нераспознанный провайдер локали: %s" -#: pg_dump.c:3317 +#: pg_dump.c:3339 #, c-format msgid "saving encoding = %s" msgstr "сохранение кодировки (%s)" -#: pg_dump.c:3342 +#: pg_dump.c:3364 #, c-format msgid "saving standard_conforming_strings = %s" msgstr "сохранение standard_conforming_strings (%s)" -#: pg_dump.c:3381 +#: pg_dump.c:3403 #, c-format msgid "could not parse result of current_schemas()" msgstr "не удалось разобрать результат current_schemas()" -#: pg_dump.c:3400 +#: pg_dump.c:3422 #, c-format msgid "saving search_path = %s" msgstr "сохранение search_path = %s" -#: pg_dump.c:3438 +#: pg_dump.c:3460 #, c-format msgid "reading large objects" msgstr "чтение больших объектов" -#: pg_dump.c:3576 +#: pg_dump.c:3598 #, c-format msgid "saving large objects" msgstr "сохранение больших объектов" -#: pg_dump.c:3617 +#: pg_dump.c:3639 #, c-format msgid "error reading large object %u: %s" msgstr "ошибка чтения большого объекта %u: %s" -#: pg_dump.c:3723 +#: pg_dump.c:3745 #, c-format msgid "reading row-level security policies" msgstr "чтение политик защиты на уровне строк" -#: pg_dump.c:3864 +#: pg_dump.c:3886 #, c-format msgid "unexpected policy command type: %c" msgstr "нераспознанный тип команды в политике: %c" -#: pg_dump.c:4314 pg_dump.c:4632 pg_dump.c:11835 pg_dump.c:17724 -#: pg_dump.c:17726 pg_dump.c:18347 +#: pg_dump.c:4336 pg_dump.c:4654 pg_dump.c:11861 pg_dump.c:17750 +#: pg_dump.c:17752 pg_dump.c:18373 #, c-format msgid "could not parse %s array" msgstr "не удалось разобрать массив %s" -#: pg_dump.c:4500 +#: pg_dump.c:4522 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "" "подписки не выгружены, так как текущий пользователь не суперпользователь" -#: pg_dump.c:5014 +#: pg_dump.c:5036 #, c-format msgid "could not find parent extension for %s %s" msgstr "не удалось найти родительское расширение для %s %s" -#: pg_dump.c:5159 +#: pg_dump.c:5181 #, c-format msgid "schema with OID %u does not exist" msgstr "схема с OID %u не существует" -#: pg_dump.c:6615 pg_dump.c:16988 +#: pg_dump.c:6637 pg_dump.c:17014 #, c-format msgid "" "failed sanity check, parent table with OID %u of sequence with OID %u not " @@ -2035,7 +2035,7 @@ msgstr "" "нарушение целостности: по OID %u не удалось найти родительскую таблицу " "последовательности с OID %u" -#: pg_dump.c:6758 +#: pg_dump.c:6780 #, c-format msgid "" "failed sanity check, table OID %u appearing in pg_partitioned_table not found" @@ -2043,18 +2043,18 @@ msgstr "" "нарушение целостности: таблица с OID %u, фигурирующим в " "pg_partitioned_table, не найдена" -#: pg_dump.c:6989 pg_dump.c:7256 pg_dump.c:7727 pg_dump.c:8394 pg_dump.c:8515 -#: pg_dump.c:8669 +#: pg_dump.c:7011 pg_dump.c:7282 pg_dump.c:7753 pg_dump.c:8420 pg_dump.c:8541 +#: pg_dump.c:8695 #, c-format msgid "unrecognized table OID %u" msgstr "нераспознанный OID таблицы %u" -#: pg_dump.c:6993 +#: pg_dump.c:7015 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "неожиданно получены данные индекса для таблицы \"%s\"" -#: pg_dump.c:7488 +#: pg_dump.c:7514 #, c-format msgid "" "failed sanity check, parent table with OID %u of pg_rewrite entry with OID " @@ -2063,7 +2063,7 @@ msgstr "" "нарушение целостности: по OID %u не удалось найти родительскую таблицу для " "записи pg_rewrite с OID %u" -#: pg_dump.c:7779 +#: pg_dump.c:7805 #, c-format msgid "" "query produced null referenced table name for foreign key trigger \"%s\" on " @@ -2072,32 +2072,32 @@ msgstr "" "запрос выдал NULL вместо имени целевой таблицы для триггера внешнего ключа " "\"%s\" в таблице \"%s\" (OID целевой таблицы: %u)" -#: pg_dump.c:8398 +#: pg_dump.c:8424 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "неожиданно получены данные столбцов для таблицы \"%s\"" -#: pg_dump.c:8428 +#: pg_dump.c:8454 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "неверная нумерация столбцов в таблице \"%s\"" -#: pg_dump.c:8477 +#: pg_dump.c:8503 #, c-format msgid "finding table default expressions" msgstr "поиск выражений по умолчанию для таблиц" -#: pg_dump.c:8519 +#: pg_dump.c:8545 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "неверное значение adnum (%d) в таблице \"%s\"" -#: pg_dump.c:8619 +#: pg_dump.c:8645 #, c-format msgid "finding table check constraints" msgstr "поиск ограничений-проверок для таблиц" -#: pg_dump.c:8673 +#: pg_dump.c:8699 #, c-format msgid "expected %d check constraint on table \"%s\" but found %d" msgid_plural "expected %d check constraints on table \"%s\" but found %d" @@ -2108,54 +2108,54 @@ msgstr[1] "" msgstr[2] "" "ожидалось %d ограничений-проверок для таблицы \"%s\", но найдено: %d" -#: pg_dump.c:8677 +#: pg_dump.c:8703 #, c-format msgid "The system catalogs might be corrupted." msgstr "Возможно, повреждены системные каталоги." -#: pg_dump.c:9367 +#: pg_dump.c:9393 #, c-format msgid "role with OID %u does not exist" msgstr "роль с OID %u не существует" -#: pg_dump.c:9479 pg_dump.c:9508 +#: pg_dump.c:9505 pg_dump.c:9534 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "неподдерживаемая запись в pg_init_privs: %u %u %d" -#: pg_dump.c:10329 +#: pg_dump.c:10355 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "у типа данных \"%s\" по-видимому неправильный тип типа" # TO REVEIW -#: pg_dump.c:11904 +#: pg_dump.c:11930 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "недопустимое значение provolatile для функции \"%s\"" # TO REVEIW -#: pg_dump.c:11954 pg_dump.c:13817 +#: pg_dump.c:11980 pg_dump.c:13843 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "недопустимое значение proparallel для функции \"%s\"" -#: pg_dump.c:12086 pg_dump.c:12192 pg_dump.c:12199 +#: pg_dump.c:12112 pg_dump.c:12218 pg_dump.c:12225 #, c-format msgid "could not find function definition for function with OID %u" msgstr "не удалось найти определение функции для функции с OID %u" -#: pg_dump.c:12125 +#: pg_dump.c:12151 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "неприемлемое значение в поле pg_cast.castfunc или pg_cast.castmethod" -#: pg_dump.c:12128 +#: pg_dump.c:12154 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "неприемлемое значение в поле pg_cast.castmethod" -#: pg_dump.c:12218 +#: pg_dump.c:12244 #, c-format msgid "" "bogus transform definition, at least one of trffromsql and trftosql should " @@ -2164,62 +2164,62 @@ msgstr "" "неприемлемое определение преобразования (trffromsql или trftosql должно быть " "ненулевым)" -#: pg_dump.c:12235 +#: pg_dump.c:12261 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "неприемлемое значение в поле pg_transform.trffromsql" -#: pg_dump.c:12256 +#: pg_dump.c:12282 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "неприемлемое значение в поле pg_transform.trftosql" -#: pg_dump.c:12401 +#: pg_dump.c:12427 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "постфиксные операторы больше не поддерживаются (оператор \"%s\")" -#: pg_dump.c:12571 +#: pg_dump.c:12597 #, c-format msgid "could not find operator with OID %s" msgstr "оператор с OID %s не найден" -#: pg_dump.c:12639 +#: pg_dump.c:12665 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "неверный тип \"%c\" метода доступа \"%s\"" -#: pg_dump.c:13293 pg_dump.c:13346 +#: pg_dump.c:13319 pg_dump.c:13372 #, c-format msgid "unrecognized collation provider: %s" msgstr "нераспознанный провайдер правил сортировки: %s" -#: pg_dump.c:13302 pg_dump.c:13311 pg_dump.c:13321 pg_dump.c:13330 +#: pg_dump.c:13328 pg_dump.c:13337 pg_dump.c:13347 pg_dump.c:13356 #, c-format msgid "invalid collation \"%s\"" msgstr "неверное правило сортировки \"%s\"" -#: pg_dump.c:13736 +#: pg_dump.c:13762 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "нераспознанное значение aggfinalmodify для агрегата \"%s\"" -#: pg_dump.c:13792 +#: pg_dump.c:13818 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "нераспознанное значение aggmfinalmodify для агрегата \"%s\"" -#: pg_dump.c:14510 +#: pg_dump.c:14536 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "нераспознанный тип объекта в определении прав по умолчанию: %d" -#: pg_dump.c:14526 +#: pg_dump.c:14552 #, c-format msgid "could not parse default ACL list (%s)" msgstr "не удалось разобрать список прав по умолчанию (%s)" -#: pg_dump.c:14608 +#: pg_dump.c:14634 #, c-format msgid "" "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" @@ -2227,20 +2227,20 @@ msgstr "" "не удалось разобрать изначальный список ACL (%s) или ACL по умолчанию (%s) " "для объекта \"%s\" (%s)" -#: pg_dump.c:14633 +#: pg_dump.c:14659 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "" "не удалось разобрать список ACL (%s) или ACL по умолчанию (%s) для объекта " "\"%s\" (%s)" -#: pg_dump.c:15171 +#: pg_dump.c:15197 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "" "запрос на получение определения представления \"%s\" не возвратил данные" -#: pg_dump.c:15174 +#: pg_dump.c:15200 #, c-format msgid "" "query to obtain definition of view \"%s\" returned more than one definition" @@ -2248,49 +2248,49 @@ msgstr "" "запрос на получение определения представления \"%s\" возвратил несколько " "определений" -#: pg_dump.c:15181 +#: pg_dump.c:15207 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "определение представления \"%s\" пустое (длина равна нулю)" -#: pg_dump.c:15265 +#: pg_dump.c:15291 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "свойство WITH OIDS больше не поддерживается (таблица \"%s\")" -#: pg_dump.c:16194 +#: pg_dump.c:16220 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "неверный номер столбца %d для таблицы \"%s\"" -#: pg_dump.c:16272 +#: pg_dump.c:16298 #, c-format msgid "could not parse index statistic columns" msgstr "не удалось разобрать столбцы статистики в индексе" -#: pg_dump.c:16274 +#: pg_dump.c:16300 #, c-format msgid "could not parse index statistic values" msgstr "не удалось разобрать значения статистики в индексе" -#: pg_dump.c:16276 +#: pg_dump.c:16302 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "" "столбцы, задающие статистику индекса, не соответствуют значениям по " "количеству" -#: pg_dump.c:16494 +#: pg_dump.c:16520 #, c-format msgid "missing index for constraint \"%s\"" msgstr "отсутствует индекс для ограничения \"%s\"" -#: pg_dump.c:16722 +#: pg_dump.c:16748 #, c-format msgid "unrecognized constraint type: %c" msgstr "нераспознанный тип ограничения: %c" -#: pg_dump.c:16823 pg_dump.c:17052 +#: pg_dump.c:16849 pg_dump.c:17078 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "" @@ -2305,22 +2305,22 @@ msgstr[2] "" "запрос на получение данных последовательности \"%s\" вернул %d строк " "(ожидалась 1)" -#: pg_dump.c:16855 +#: pg_dump.c:16881 #, c-format msgid "unrecognized sequence type: %s" msgstr "нераспознанный тип последовательности: %s" -#: pg_dump.c:17144 +#: pg_dump.c:17170 #, c-format msgid "unexpected tgtype value: %d" msgstr "неожиданное значение tgtype: %d" -#: pg_dump.c:17216 +#: pg_dump.c:17242 #, c-format msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" msgstr "неверная строка аргументов (%s) для триггера \"%s\" таблицы \"%s\"" -#: pg_dump.c:17485 +#: pg_dump.c:17511 #, c-format msgid "" "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows " @@ -2329,27 +2329,27 @@ msgstr "" "запрос на получение правила \"%s\" для таблицы \"%s\" возвратил неверное " "число строк" -#: pg_dump.c:17638 +#: pg_dump.c:17664 #, c-format msgid "could not find referenced extension %u" msgstr "не удалось найти упомянутое расширение %u" -#: pg_dump.c:17728 +#: pg_dump.c:17754 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "конфигурации расширения не соответствуют условиям по количеству" -#: pg_dump.c:17860 +#: pg_dump.c:17886 #, c-format msgid "reading dependency data" msgstr "чтение информации о зависимостях" -#: pg_dump.c:17946 +#: pg_dump.c:17972 #, c-format msgid "no referencing object %u %u" msgstr "нет подчинённого объекта %u %u" -#: pg_dump.c:17957 +#: pg_dump.c:17983 #, c-format msgid "no referenced object %u %u" msgstr "нет вышестоящего объекта %u %u" diff --git a/src/bin/pg_dump/t/002_pg_dump.pl b/src/bin/pg_dump/t/002_pg_dump.pl index 6006276..d012b74 100644 --- a/src/bin/pg_dump/t/002_pg_dump.pl +++ b/src/bin/pg_dump/t/002_pg_dump.pl @@ -3136,13 +3136,13 @@ my %tests = ( 'CREATE STATISTICS extended_stats_no_options' => { create_order => 97, create_sql => 'CREATE STATISTICS dump_test.test_ext_stats_no_options - ON col1, col2 FROM dump_test.test_fifth_table', + ON col1, col2 FROM dump_test.test_table', regexp => qr/^ - \QCREATE STATISTICS dump_test.test_ext_stats_no_options ON col1, col2 FROM dump_test.test_fifth_table;\E + \QCREATE STATISTICS dump_test.test_ext_stats_no_options ON col1, col2 FROM dump_test.test_table;\E /xms, like => { %full_runs, %dump_test_schema_runs, section_post_data => 1, }, - unlike => { exclude_dump_test_schema => 1, }, + unlike => { exclude_dump_test_schema => 1, exclude_test_table => 1, }, }, 'CREATE STATISTICS extended_stats_options' => { diff --git a/src/bin/pg_rewind/po/ru.po b/src/bin/pg_rewind/po/ru.po index f41d400..4c95c7c 100644 --- a/src/bin/pg_rewind/po/ru.po +++ b/src/bin/pg_rewind/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-11-03 09:09+0300\n" +"POT-Creation-Date: 2024-02-02 18:11+0300\n" "PO-Revision-Date: 2023-08-30 15:22+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -904,59 +904,59 @@ msgid "Timeline IDs must be less than child timeline's ID." msgstr "" "Идентификаторы линий времени должны быть меньше идентификатора линии-потомка." -#: xlogreader.c:592 +#: xlogreader.c:620 #, c-format msgid "invalid record offset at %X/%X" msgstr "неверное смещение записи в позиции %X/%X" -#: xlogreader.c:600 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "в позиции %X/%X запрошено продолжение записи" -#: xlogreader.c:641 xlogreader.c:1106 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: wanted %u, got %u" msgstr "неверная длина записи в позиции %X/%X: ожидалось %u, получено %u" -#: xlogreader.c:730 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "нет флага contrecord в позиции %X/%X" -#: xlogreader.c:743 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X" -#: xlogreader.c:1114 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X" -#: xlogreader.c:1127 xlogreader.c:1143 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X" -#: xlogreader.c:1181 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" "некорректная контрольная сумма данных менеджера ресурсов в записи в позиции " "%X/%X" -#: xlogreader.c:1218 +#: xlogreader.c:1246 #, c-format msgid "invalid magic number %04X in log segment %s, offset %u" msgstr "неверное магическое число %04X в сегменте журнала %s, смещение %u" -#: xlogreader.c:1232 xlogreader.c:1273 +#: xlogreader.c:1260 xlogreader.c:1301 #, c-format msgid "invalid info bits %04X in log segment %s, offset %u" msgstr "неверные информационные биты %04X в сегменте журнала %s, смещение %u" -#: xlogreader.c:1247 +#: xlogreader.c:1275 #, c-format msgid "" "WAL file is from different database system: WAL file database system " @@ -965,7 +965,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД " "%llu, а идентификатор системы pg_control: %llu" -#: xlogreader.c:1255 +#: xlogreader.c:1283 #, c-format msgid "" "WAL file is from different database system: incorrect segment size in page " @@ -974,7 +974,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке " "страницы" -#: xlogreader.c:1261 +#: xlogreader.c:1289 #, c-format msgid "" "WAL file is from different database system: incorrect XLOG_BLCKSZ in page " @@ -983,35 +983,35 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке " "страницы" -#: xlogreader.c:1292 +#: xlogreader.c:1320 #, c-format msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" msgstr "неожиданный pageaddr %X/%X в сегменте журнала %s, смещение %u" -#: xlogreader.c:1317 +#: xlogreader.c:1345 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" msgstr "" "нарушение последовательности ID линии времени %u (после %u) в сегменте " "журнала %s, смещение %u" -#: xlogreader.c:1722 +#: xlogreader.c:1750 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X" -#: xlogreader.c:1746 +#: xlogreader.c:1774 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет" -#: xlogreader.c:1753 +#: xlogreader.c:1781 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "" "BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X" -#: xlogreader.c:1789 +#: xlogreader.c:1817 #, c-format msgid "" "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at " @@ -1020,21 +1020,21 @@ msgstr "" "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u " "при длине образа блока %u в позиции %X/%X" -#: xlogreader.c:1805 +#: xlogreader.c:1833 #, 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" -#: xlogreader.c:1819 +#: xlogreader.c:1847 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "" "BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/" "%X" -#: xlogreader.c:1834 +#: xlogreader.c:1862 #, c-format msgid "" "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image " @@ -1043,41 +1043,41 @@ msgstr "" "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа " "блока равна %u в позиции %X/%X" -#: xlogreader.c:1850 +#: xlogreader.c:1878 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "" "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/" "%X" -#: xlogreader.c:1862 +#: xlogreader.c:1890 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "неверный идентификатор блока %u в позиции %X/%X" -#: xlogreader.c:1929 +#: xlogreader.c:1957 #, c-format msgid "record with invalid length at %X/%X" msgstr "запись с неверной длиной в позиции %X/%X" -#: xlogreader.c:1954 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не удалось найти копию блока с ID %d в записи журнала WAL" -#: xlogreader.c:2038 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "" "не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d" -#: xlogreader.c:2045 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "" "не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d" -#: xlogreader.c:2072 xlogreader.c:2089 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "" "could not restore image at %X/%X compressed with %s not supported by build, " @@ -1086,7 +1086,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не " "поддерживается этой сборкой, блок %d" -#: xlogreader.c:2098 +#: xlogreader.c:2126 #, c-format msgid "" "could not restore image at %X/%X compressed with unknown method, block %d" @@ -1094,7 +1094,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, " "блок %d" -#: xlogreader.c:2106 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не удалось развернуть образ в позиции %X/%X, блок %d" diff --git a/src/bin/pg_rewind/t/003_extrafiles.pl b/src/bin/pg_rewind/t/003_extrafiles.pl index b1c47ea..100c212 100644 --- a/src/bin/pg_rewind/t/003_extrafiles.pl +++ b/src/bin/pg_rewind/t/003_extrafiles.pl @@ -78,6 +78,19 @@ sub run_test }, $test_primary_datadir); @paths = sort @paths; + + # File::Find converts backslashes to slashes in the newer Perl + # versions. To support all Perl versions, do the same conversion + # for Windows before comparing the paths. + if ($windows_os) + { + for my $filename (@paths) + { + $filename =~ s{\\}{/}g; + } + $test_primary_datadir =~ s{\\}{/}g; + } + is_deeply( \@paths, [ diff --git a/src/bin/pg_upgrade/po/ru.po b/src/bin/pg_upgrade/po/ru.po index 4eeef71..cd50ed2 100644 --- a/src/bin/pg_upgrade/po/ru.po +++ b/src/bin/pg_upgrade/po/ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-11-03 09:09+0300\n" +"POT-Creation-Date: 2024-02-02 18:11+0300\n" "PO-Revision-Date: 2023-11-03 09:24+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -273,8 +273,8 @@ msgstr "" "pg_database.datallowconn должно быть false\n" #: check.c:785 check.c:910 check.c:1012 check.c:1138 check.c:1219 check.c:1278 -#: check.c:1339 check.c:1404 check.c:1523 function.c:187 version.c:192 -#: version.c:232 version.c:378 +#: check.c:1339 check.c:1373 check.c:1404 check.c:1523 function.c:187 +#: version.c:192 version.c:232 version.c:378 #, c-format msgid "fatal\n" msgstr "сбой\n" @@ -472,11 +472,6 @@ msgstr "" msgid "Checking for removed \"%s\" data type in user tables" msgstr "Проверка удалённого типа данных \"%s\" в пользовательских таблицах" -#: check.c:1373 -#, c-format -msgid "fatal" -msgstr "сбой" - #: check.c:1374 #, c-format msgid "" @@ -2100,6 +2095,10 @@ msgstr "" "эти расширения.\n" "\n" +#, c-format +#~ msgid "fatal" +#~ msgstr "сбой" + #~ msgid "" #~ "When checking a pre-PG 9.1 live old server, you must specify the old " #~ "server's port number.\n" diff --git a/src/bin/pg_upgrade/po/uk.po b/src/bin/pg_upgrade/po/uk.po index 8710602..eefdc2f 100644 --- a/src/bin/pg_upgrade/po/uk.po +++ b/src/bin/pg_upgrade/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:49+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2023-12-17 22:33+0000\n" +"PO-Revision-Date: 2023-12-18 17:41\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -17,28 +17,28 @@ msgstr "" "X-Crowdin-File: /REL_15_STABLE/pg_upgrade.pot\n" "X-Crowdin-File-ID: 916\n" -#: check.c:72 +#: check.c:75 #, c-format msgid "Performing Consistency Checks on Old Live Server\n" "------------------------------------------------\n" msgstr "Перевірка цілістності на старому працюючому сервері\n" "------------------------------------------------\n" -#: check.c:78 +#: check.c:81 #, c-format msgid "Performing Consistency Checks\n" "-----------------------------\n" msgstr "Проведення перевірок цілістності\n" "-----------------------------\n" -#: check.c:218 +#: check.c:231 #, c-format msgid "\n" "*Clusters are compatible*\n" msgstr "\n" "*Кластери сумісні*\n" -#: check.c:226 +#: check.c:239 #, c-format msgid "\n" "If pg_upgrade fails after this point, you must re-initdb the\n" @@ -47,7 +47,7 @@ msgstr "\n" "Якщо робота pg_upgrade після цієї точки перерветься, вам потрібно буде заново виконати initdb \n" "для нового кластера, перед продовженням.\n" -#: check.c:267 +#: check.c:280 #, c-format msgid "Optimizer statistics are not transferred by pg_upgrade.\n" "Once you start the new server, consider running:\n" @@ -56,14 +56,14 @@ msgstr "Статистика оптимізатора не передаєтьс "Після запуску нового серверу, розгляньте можливість запуску:\n" " %s/vacuumdb %s--all --analyze-in-stages\n\n" -#: check.c:273 +#: check.c:286 #, c-format msgid "Running this script will delete the old cluster's data files:\n" " %s\n" msgstr "При запуску цього скрипту файли даних старого кластера будуть видалені:\n" " %s\n" -#: check.c:278 +#: check.c:291 #, c-format msgid "Could not create a script to delete the old cluster's data files\n" "because user-defined tablespaces or the new cluster's data directory\n" @@ -74,150 +74,150 @@ msgstr "Не вдалося створити скрипт для видален "простори або каталог даних нового кластера. Вміст старого кластера\n" "треба буде видалити вручну.\n" -#: check.c:290 +#: check.c:303 #, c-format msgid "Checking cluster versions" msgstr "Перевірка версій кластерів" -#: check.c:302 +#: check.c:315 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later.\n" msgstr "Ця утиліта може виконувати оновлення тільки з версії PostgreSQL %s і новіше.\n" -#: check.c:307 +#: check.c:320 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s.\n" msgstr "Ця утиліта може тільки підвищувати версію PostgreSQL до %s.\n" -#: check.c:316 +#: check.c:329 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions.\n" msgstr "Ця утиліта не може не може використовуватись щоб понижувати версію до більш старих основних версій PostgreSQL.\n" -#: check.c:321 +#: check.c:334 #, c-format msgid "Old cluster data and binary directories are from different major versions.\n" msgstr "Каталог даних і двійковий каталог старого кластера з різних основних версій.\n" -#: check.c:324 +#: check.c:337 #, c-format msgid "New cluster data and binary directories are from different major versions.\n" msgstr "Каталог даних і двійковий каталог нового кластера з різних основних версій.\n" -#: check.c:339 +#: check.c:352 #, c-format msgid "When checking a live server, the old and new port numbers must be different.\n" msgstr "Для перевірки працюючого сервера, старий і новий номер порта повинні бути різними.\n" -#: check.c:354 +#: check.c:367 #, c-format msgid "encodings for database \"%s\" do not match: old \"%s\", new \"%s\"\n" msgstr "кодування для бази даних \"%s\" не збігаються: старе \"%s\", нове \"%s\"\n" -#: check.c:359 +#: check.c:372 #, c-format msgid "lc_collate values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" msgstr "значення lc_collate для бази даних \"%s\" не збігаються: старе \"%s\", нове \"%s\"\n" -#: check.c:362 +#: check.c:375 #, c-format msgid "lc_ctype values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" msgstr "значення lc_ctype для бази даних \"%s\" не збігаються: старе \"%s\", нове \"%s\"\n" -#: check.c:365 +#: check.c:378 #, c-format msgid "locale providers for database \"%s\" do not match: old \"%s\", new \"%s\"\n" msgstr "постачальники локалей для бази даних \"%s\" не збігаються: старий \"%s\", новий \"%s\"\n" -#: check.c:372 +#: check.c:385 #, c-format msgid "ICU locale values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" msgstr "значення локалі ICU для бази даних \"%s\" не збігаються: старий \"%s\", новий \"%s\n" -#: check.c:447 +#: check.c:460 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"\n" msgstr "Новий кластер бази даних \"%s\" не порожній: знайдено відношення \"%s.%s\"\n" -#: check.c:499 +#: check.c:512 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Перевірка каталогів табличних просторів кластера" -#: check.c:510 +#: check.c:523 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"\n" msgstr "каталог нового кластерного табличного простору вже існує: \"%s\"\n" -#: check.c:543 +#: check.c:556 #, c-format msgid "\n" "WARNING: new data directory should not be inside the old data directory, i.e. %s\n" msgstr "\n" "ПОПЕРЕДЖЕННЯ: новий каталог даних не повинен бути всередині старого каталогу даних, наприклад %s\n" -#: check.c:567 +#: check.c:580 #, c-format msgid "\n" "WARNING: user-defined tablespace locations should not be inside the data directory, i.e. %s\n" msgstr "\n" "ПОПЕРЕДЖЕННЯ: користувацькі розташування табличних просторів не повинні бути всередині каталогу даних, наприклад %s\n" -#: check.c:577 +#: check.c:590 #, c-format msgid "Creating script to delete old cluster" msgstr "Створення скрипту для видалення старого кластеру" -#: check.c:580 check.c:755 check.c:875 check.c:974 check.c:1105 check.c:1184 -#: check.c:1447 file.c:338 function.c:165 option.c:465 version.c:116 -#: version.c:288 version.c:423 +#: check.c:593 check.c:768 check.c:888 check.c:987 check.c:1118 check.c:1197 +#: check.c:1500 file.c:338 function.c:165 option.c:465 version.c:116 +#: version.c:292 version.c:429 #, c-format msgid "could not open file \"%s\": %s\n" msgstr "не вдалося відкрити файл \"%s\": %s\n" -#: check.c:631 +#: check.c:644 #, c-format msgid "could not add execute permission to file \"%s\": %s\n" msgstr "не вдалося додати право виконання для файлу \"%s\": %s\n" -#: check.c:651 +#: check.c:664 #, c-format msgid "Checking database user is the install user" msgstr "Перевірка, чи є користувач бази даних стартовим користувачем" -#: check.c:667 +#: check.c:680 #, c-format msgid "database user \"%s\" is not the install user\n" msgstr "користувач бази даних \"%s\" не є стартовим користувачем\n" -#: check.c:678 +#: check.c:691 #, c-format msgid "could not determine the number of users\n" msgstr "не вдалося визначити кількість користувачів\n" -#: check.c:686 +#: check.c:699 #, c-format msgid "Only the install user can be defined in the new cluster.\n" msgstr "В новому кластері може бути визначеним тільки стартовий користувач.\n" -#: check.c:716 +#: check.c:729 #, c-format msgid "Checking database connection settings" msgstr "Перевірка параметрів підключення до бази даних" -#: check.c:742 +#: check.c:755 #, c-format msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false\n" msgstr "template0 не повинна дозволяти підключення, тобто pg_database.datallowconn повинно бути false\n" -#: check.c:772 check.c:897 check.c:999 check.c:1125 check.c:1206 check.c:1263 -#: check.c:1322 check.c:1351 check.c:1470 function.c:187 version.c:190 -#: version.c:228 version.c:372 +#: check.c:785 check.c:910 check.c:1012 check.c:1138 check.c:1219 check.c:1278 +#: check.c:1339 check.c:1373 check.c:1404 check.c:1523 function.c:187 +#: version.c:192 version.c:232 version.c:378 #, c-format msgid "fatal\n" msgstr "збій\n" -#: check.c:773 +#: check.c:786 #, c-format msgid "All non-template0 databases must allow connections, i.e. their\n" "pg_database.datallowconn must be true. Your installation contains\n" @@ -234,27 +234,27 @@ msgstr "Всі бази даних, окрім template0, повинні доз "Список баз даних з проблемою знаходиться у файлі:\n" " %s\n\n" -#: check.c:798 +#: check.c:811 #, c-format msgid "Checking for prepared transactions" msgstr "Перевірка підготовлених транзакцій" -#: check.c:807 +#: check.c:820 #, c-format msgid "The source cluster contains prepared transactions\n" msgstr "Початковий кластер містить підготовлені транзакції\n" -#: check.c:809 +#: check.c:822 #, c-format msgid "The target cluster contains prepared transactions\n" msgstr "Цільовий кластер містить підготовлені транзакції\n" -#: check.c:835 +#: check.c:848 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Перевірка невідповідності при передаванні bigint в contrib/isn" -#: check.c:898 +#: check.c:911 #, c-format msgid "Your installation contains \"contrib/isn\" functions which rely on the\n" "bigint data type. Your old and new clusters pass bigint values\n" @@ -266,12 +266,12 @@ msgid "Your installation contains \"contrib/isn\" functions which rely on the\n" msgstr "Ваша інсталяція містить функції \"contrib/isn\", що використовують тип даних bigint. Старі та нові кластери передають значення bigint по-різному, тому цей кластер наразі неможливо оновити. Ви можете вручну вивантажити бази даних зі старого кластеру, що використовує засоби \"contrib/isn\", видалити їх, виконати оновлення, а потім відновити їх. Список проблемних функцій подано у файлі:\n" " %s\n\n" -#: check.c:921 +#: check.c:934 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Перевірка постфіксних операторів визначених користувачем" -#: check.c:1000 +#: check.c:1013 #, c-format msgid "Your installation contains user-defined postfix operators, which are not\n" "supported anymore. Consider dropping the postfix operators and replacing\n" @@ -283,12 +283,12 @@ msgstr "Ваша інсталяція містить користувацькі "Список користувацьких постфіксних операторів знаходиться у файлі:\n" " %s\n\n" -#: check.c:1024 +#: check.c:1037 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "Перевірка несумісних поліморфних функцій" -#: check.c:1126 +#: check.c:1139 #, c-format msgid "Your installation contains user-defined objects that refer to internal\n" "polymorphic functions with arguments of type \"anyarray\" or \"anyelement\".\n" @@ -305,12 +305,12 @@ msgstr "У вашій інсталяції містяться користува "Список проблемних об'єктів знаходиться у файлі:\n" " %s\n\n" -#: check.c:1151 +#: check.c:1164 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Перевірка таблиць WITH OIDS" -#: check.c:1207 +#: check.c:1220 #, c-format msgid "Your installation contains tables declared WITH OIDS, which is not\n" "supported anymore. Consider removing the oid column using\n" @@ -322,12 +322,12 @@ msgstr "Ваша інсталяція містить таблиці, створ "Список проблемних таблиць подано у файлі:\n" " %s\n\n" -#: check.c:1235 +#: check.c:1248 #, c-format msgid "Checking for system-defined composite types in user tables" msgstr "Перевірка складених типів визначених системою у таблицях користувача" -#: check.c:1264 +#: check.c:1279 #, c-format msgid "Your installation contains system-defined composite type(s) in user tables.\n" "These type OIDs are not stable across PostgreSQL versions,\n" @@ -341,12 +341,12 @@ msgstr "Ваша інсталяція містить складені типи "Список проблемних стовпців знаходиться у файлі:\n" " %s\n\n" -#: check.c:1292 +#: check.c:1307 #, c-format msgid "Checking for reg* data types in user tables" msgstr "Перевірка типів даних reg* в користувацьких таблицях" -#: check.c:1323 +#: check.c:1340 #, c-format msgid "Your installation contains one of the reg* data types in user tables.\n" "These data types reference system OIDs that are not preserved by\n" @@ -360,12 +360,32 @@ msgstr "Ваша інсталяція містить один з типів да "Список проблемних стовпців знаходиться у файлі:\n" " %s\n\n" -#: check.c:1345 +#: check.c:1364 +#, c-format +msgid "Checking for removed \"%s\" data type in user tables" +msgstr "Перевірка видаленого типу даних \"%s\" в користувацьких таблицях" + +#: check.c:1374 +#, c-format +msgid "Your installation contains the \"%s\" data type in user tables.\n" +"The \"%s\" type has been removed in PostgreSQL version %s,\n" +"so this cluster cannot currently be upgraded. You can drop the\n" +"problem columns, or change them to another data type, and restart\n" +"the upgrade. A list of the problem columns is in the file:\n" +" %s\n\n" +msgstr "Користувацькі таблиці у вашій інсталяції містять тип даних \"%s\".\n" +"Тип \"%s\" був видалений з версії PostgreSQL %s, тому цей кластер \n" +"наразі не може бути оновлений. Ви можете видалите проблемні \n" +"стовпці або змінити їх на інший тип даних, і перезапустити\n" +"оновлення. Список проблемних стовпців є у файлі:\n" +" %s\n\n" + +#: check.c:1396 #, c-format msgid "Checking for incompatible \"jsonb\" data type" msgstr "Перевірка несумісного типу даних \"jsonb\"" -#: check.c:1352 +#: check.c:1405 #, c-format msgid "Your installation contains the \"jsonb\" data type in user tables.\n" "The internal format of \"jsonb\" changed during 9.4 beta so this\n" @@ -380,27 +400,27 @@ msgstr "Ваша інсталяція містить тип даних \"jsonb\" "Список проблемних стовпців знаходиться у файлі:\n" " %s\n\n" -#: check.c:1374 +#: check.c:1427 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "Перевірка ролей, які починаються з \"pg_\"" -#: check.c:1384 +#: check.c:1437 #, c-format msgid "The source cluster contains roles starting with \"pg_\"\n" msgstr "Початковий кластер містить ролі, які починаються з \"pg_\"\n" -#: check.c:1386 +#: check.c:1439 #, c-format msgid "The target cluster contains roles starting with \"pg_\"\n" msgstr "Цільовий кластер містить ролі, які починаються з \"pg_\"\n" -#: check.c:1407 +#: check.c:1460 #, c-format msgid "Checking for user-defined encoding conversions" msgstr "Перевірка користувацьких перетворення кодувань" -#: check.c:1471 +#: check.c:1524 #, c-format msgid "Your installation contains user-defined encoding conversions.\n" "The conversion function parameters changed in PostgreSQL version 14\n" @@ -415,17 +435,17 @@ msgstr "Ваша інсталяція містить користувацькі "Список перетворень кодувань знаходиться у файлі:\n" " %s\n\n" -#: check.c:1498 +#: check.c:1551 #, c-format msgid "failed to get the current locale\n" msgstr "не вдалося отримати поточну локаль\n" -#: check.c:1507 +#: check.c:1560 #, c-format msgid "failed to get system locale name for \"%s\"\n" msgstr "не вдалося отримати системне ім'я локалі для \"%s\"\n" -#: check.c:1513 +#: check.c:1566 #, c-format msgid "failed to restore old locale \"%s\"\n" msgstr "не вдалося відновити стару локаль \"%s\"\n" @@ -492,194 +512,194 @@ msgstr "%d: проблема pg_resetwal\n" msgid "%d: controldata retrieval problem\n" msgstr "%d: проблема з отриманням контрольних даних\n" -#: controldata.c:572 +#: controldata.c:571 #, c-format msgid "The source cluster lacks some required control information:\n" msgstr "У початковому кластері відсутня необхідна контрольна інформація:\n" -#: controldata.c:575 +#: controldata.c:574 #, c-format msgid "The target cluster lacks some required control information:\n" msgstr "У цільовому кластері відсутня необхідна контрольна інформація:\n" -#: controldata.c:578 +#: controldata.c:577 #, c-format msgid " checkpoint next XID\n" msgstr " наступний XID контрольної точки\n" -#: controldata.c:581 +#: controldata.c:580 #, c-format msgid " latest checkpoint next OID\n" msgstr " наступний OID останньої контрольної точки\n" -#: controldata.c:584 +#: controldata.c:583 #, c-format msgid " latest checkpoint next MultiXactId\n" msgstr " наступний MultiXactId останньої контрольної точки\n" -#: controldata.c:588 +#: controldata.c:587 #, c-format msgid " latest checkpoint oldest MultiXactId\n" msgstr " найстарший MultiXactId останньої контрольної точки\n" -#: controldata.c:591 +#: controldata.c:590 #, c-format msgid " latest checkpoint oldestXID\n" msgstr " найстарший oldestXID останньої контрольної точки\n" -#: controldata.c:594 +#: controldata.c:593 #, c-format msgid " latest checkpoint next MultiXactOffset\n" msgstr " наступний MultiXactOffset останньої контрольної точки\n" -#: controldata.c:597 +#: controldata.c:596 #, c-format msgid " first WAL segment after reset\n" msgstr " перший сегмет WAL після скидання\n" -#: controldata.c:600 +#: controldata.c:599 #, c-format msgid " float8 argument passing method\n" msgstr " метод передачі аргументу float8\n" -#: controldata.c:603 +#: controldata.c:602 #, c-format msgid " maximum alignment\n" msgstr " максимальне вирівнювання\n" -#: controldata.c:606 +#: controldata.c:605 #, c-format msgid " block size\n" msgstr " розмір блоку\n" -#: controldata.c:609 +#: controldata.c:608 #, c-format msgid " large relation segment size\n" msgstr " розмір сегменту великого відношення\n" -#: controldata.c:612 +#: controldata.c:611 #, c-format msgid " WAL block size\n" msgstr " розмір блоку WAL\n" -#: controldata.c:615 +#: controldata.c:614 #, c-format msgid " WAL segment size\n" msgstr " розмір сегменту WAL\n" -#: controldata.c:618 +#: controldata.c:617 #, c-format msgid " maximum identifier length\n" msgstr " максимальна довжина ідентифікатора\n" -#: controldata.c:621 +#: controldata.c:620 #, c-format msgid " maximum number of indexed columns\n" msgstr " максимальна кількість індексованих стовпців\n" -#: controldata.c:624 +#: controldata.c:623 #, c-format msgid " maximum TOAST chunk size\n" msgstr " максимальний розмір порції TOAST\n" -#: controldata.c:628 +#: controldata.c:627 #, c-format msgid " large-object chunk size\n" msgstr " розмір порції великого об'єкту\n" -#: controldata.c:631 +#: controldata.c:630 #, c-format msgid " dates/times are integers?\n" msgstr " дата/час представлені цілими числами?\n" -#: controldata.c:635 +#: controldata.c:634 #, c-format msgid " data checksum version\n" msgstr " версія контрольних сум даних\n" -#: controldata.c:637 +#: controldata.c:636 #, c-format msgid "Cannot continue without required control information, terminating\n" msgstr "Не можна продовжити без необхідної контрольної інформації, завершення\n" -#: controldata.c:652 +#: controldata.c:651 #, c-format msgid "old and new pg_controldata alignments are invalid or do not match\n" "Likely one cluster is a 32-bit install, the other 64-bit\n" msgstr "старе і нове вирівнювання в pg_controldata неприпустимі або не збігаються\n" "Ймовірно, один кластер встановлений у 32-бітній системі, а інший - у 64-бітній\n" -#: controldata.c:656 +#: controldata.c:655 #, c-format msgid "old and new pg_controldata block sizes are invalid or do not match\n" msgstr "старий і новий розмір блоків в pg_controldata неприпустимі або не збігаються\n" -#: controldata.c:659 +#: controldata.c:658 #, c-format msgid "old and new pg_controldata maximum relation segment sizes are invalid or do not match\n" msgstr "старий і новий максимальний розмір сегментів відношень в pg_controldata неприпустимі або не збігаються\n" -#: controldata.c:662 +#: controldata.c:661 #, c-format msgid "old and new pg_controldata WAL block sizes are invalid or do not match\n" msgstr "старий і новий розмір блоків WAL в pg_controldata неприпустимі або не збігаються\n" -#: controldata.c:665 +#: controldata.c:664 #, c-format msgid "old and new pg_controldata WAL segment sizes are invalid or do not match\n" msgstr "старий і новий розмір сегментів WAL в pg_controldata неприпустимі або не збігаються\n" -#: controldata.c:668 +#: controldata.c:667 #, c-format msgid "old and new pg_controldata maximum identifier lengths are invalid or do not match\n" msgstr "стара і нова максимальна довжина ідентифікаторів в pg_controldata неприпустимі або не збігаються\n" -#: controldata.c:671 +#: controldata.c:670 #, c-format msgid "old and new pg_controldata maximum indexed columns are invalid or do not match\n" msgstr "стара і нова максимальна кількість індексованих стовпців в pg_controldata неприпустимі або не збігаються\n" -#: controldata.c:674 +#: controldata.c:673 #, c-format msgid "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not match\n" msgstr "старий і новий максимальний розмір порції TOAST в pg_controldata неприпустимі або не збігаються\n" -#: controldata.c:679 +#: controldata.c:678 #, c-format msgid "old and new pg_controldata large-object chunk sizes are invalid or do not match\n" msgstr "старий і новий розмір порції великого об'єкту в pg_controldata неприпустимі або не збігаються\n" -#: controldata.c:682 +#: controldata.c:681 #, c-format msgid "old and new pg_controldata date/time storage types do not match\n" msgstr "старий і новий тип сховища дати/часу в pg_controldata неприпустимі або не збігаються\n" -#: controldata.c:695 +#: controldata.c:694 #, c-format msgid "old cluster does not use data checksums but the new one does\n" msgstr "старий кластер не використовує контрольні суми даних, але новий використовує\n" -#: controldata.c:698 +#: controldata.c:697 #, c-format msgid "old cluster uses data checksums but the new one does not\n" msgstr "старий кластер використовує контрольні суми даних, але новий не використовує\n" -#: controldata.c:700 +#: controldata.c:699 #, c-format msgid "old and new cluster pg_controldata checksum versions do not match\n" msgstr "стара і нова версія контрольних сум кластера в pg_controldata не збігаються\n" -#: controldata.c:711 +#: controldata.c:710 #, c-format msgid "Adding \".old\" suffix to old global/pg_control" msgstr "Додавання суфікса \".old\" до старого файла global/pg_control" -#: controldata.c:716 +#: controldata.c:715 #, c-format msgid "Unable to rename %s to %s.\n" msgstr "Не вдалося перейменувати %s на %s.\n" -#: controldata.c:719 +#: controldata.c:718 #, c-format msgid "\n" "If you want to start the old cluster, you will need to remove\n" @@ -957,17 +977,17 @@ msgid "\n" msgstr "\n" "цільові бази даних:\n" -#: info.c:605 +#: info.c:604 #, c-format msgid "Database: %s\n" msgstr "База даних: %s\n" -#: info.c:607 +#: info.c:606 #, c-format msgid "\n\n" msgstr "\n\n" -#: info.c:618 +#: info.c:617 #, c-format msgid "relname: %s.%s: reloid: %u reltblspace: %s\n" msgstr "ім'я_відношення: %s.%s: oid_відношення: %u табл_простір: %s\n" @@ -1578,7 +1598,7 @@ msgstr "ok" msgid "Checking for incompatible \"line\" data type" msgstr "Перевірка несумісного типу даних \"line\"" -#: version.c:191 +#: version.c:193 #, c-format msgid "Your installation contains the \"line\" data type in user tables.\n" "This data type changed its internal and input/output format\n" @@ -1594,12 +1614,12 @@ msgstr "Ваша інсталяція містить тип даних \"line\" "Список проблемних стовпців знаходиться у файлі:\n" " %s\n\n" -#: version.c:222 +#: version.c:224 #, c-format msgid "Checking for invalid \"unknown\" user columns" msgstr "Перевірка неприпустимих користувацьких стовпців \"unknown\"" -#: version.c:229 +#: version.c:233 #, c-format msgid "Your installation contains the \"unknown\" data type in user tables.\n" "This data type is no longer allowed in tables, so this\n" @@ -1614,17 +1634,17 @@ msgstr "Ваша інсталяція містить \"unknown\" тип дани "Список проблемних стовпців знаходиться у файлі:\n" " %s\n\n" -#: version.c:253 +#: version.c:257 #, c-format msgid "Checking for hash indexes" msgstr "Перевірка геш-індексів" -#: version.c:331 +#: version.c:335 #, c-format msgid "warning" msgstr "попередження" -#: version.c:333 +#: version.c:337 #, c-format msgid "\n" "Your installation contains hash indexes. These indexes have different\n" @@ -1636,7 +1656,7 @@ msgstr "\n" "формати в старому і новому кластерах, тож їх потрібно повторно індексувати\n" "за допомогою команди REINDEX. Після оновлення вам буде надано інструкції REINDEX.\n\n" -#: version.c:339 +#: version.c:343 #, c-format msgid "\n" "Your installation contains hash indexes. These indexes have different\n" @@ -1653,12 +1673,12 @@ msgstr "\n" "після виконання суперкористувачем бази даних в psql, повторно створить\n" "всі неприпустимі індекси; до цього ніякі геш-індекси не будуть використовуватись.\n\n" -#: version.c:365 +#: version.c:369 #, c-format msgid "Checking for invalid \"sql_identifier\" user columns" msgstr "Перевірка неприпустимих користувацьких стовпців \"sql_identifier\"" -#: version.c:373 +#: version.c:379 #, c-format msgid "Your installation contains the \"sql_identifier\" data type in user tables.\n" "The on-disk format for this data type has changed, so this\n" @@ -1673,17 +1693,17 @@ msgstr "Ваша інсталяція містить \"sql_identifier\" тип "Список проблемних стовпців знаходиться у файлі:\n" " %s\n\n" -#: version.c:397 +#: version.c:403 #, c-format msgid "Checking for extension updates" msgstr "Перевірка оновлень розширення" -#: version.c:449 +#: version.c:455 #, c-format msgid "notice" msgstr "повідомлення" -#: version.c:450 +#: version.c:456 #, c-format msgid "\n" "Your installation contains extensions that should be updated\n" diff --git a/src/bin/pg_upgrade/t/002_pg_upgrade.pl b/src/bin/pg_upgrade/t/002_pg_upgrade.pl index 6b0f42c..ceca3ac 100644 --- a/src/bin/pg_upgrade/t/002_pg_upgrade.pl +++ b/src/bin/pg_upgrade/t/002_pg_upgrade.pl @@ -221,7 +221,7 @@ if (defined($ENV{oldinstall})) my $dump_data = slurp_file($dump1_file); - my $newregresssrc = "$srcdir/src/test/regress"; + my $newregresssrc = dirname($ENV{REGRESS_SHLIB}); foreach (@libpaths) { my $libpath = $_; @@ -364,15 +364,9 @@ push(@dump_command, '--extra-float-digits', '0') if ($oldnode->pg_version < 12); $newnode->command_ok(\@dump_command, 'dump after running pg_upgrade'); -# No need to apply filters on the dumps if working on the same version -# for the old and new nodes. -my $dump1_filtered = $dump1_file; -my $dump2_filtered = $dump2_file; -if ($oldnode->pg_version != $newnode->pg_version) -{ - $dump1_filtered = filter_dump(1, $oldnode->pg_version, $dump1_file); - $dump2_filtered = filter_dump(0, $oldnode->pg_version, $dump2_file); -} +# Filter the contents of the dumps. +my $dump1_filtered = filter_dump(1, $oldnode->pg_version, $dump1_file); +my $dump2_filtered = filter_dump(0, $oldnode->pg_version, $dump2_file); # Compare the two dumps, there should be no differences. my $compare_res = compare($dump1_filtered, $dump2_filtered); diff --git a/src/bin/pg_waldump/po/de.po b/src/bin/pg_waldump/po/de.po index 7e3e141..4b73d64 100644 --- a/src/bin/pg_waldump/po/de.po +++ b/src/bin/pg_waldump/po/de.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_waldump (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 04:48+0000\n" -"PO-Revision-Date: 2022-05-20 10:51+0200\n" +"PO-Revision-Date: 2023-11-08 21:52+0100\n" "Last-Translator: Peter Eisentraut <peter@eisentraut.org>\n" "Language-Team: German <pgsql-translators@postgresql.org>\n" "Language: de\n" @@ -265,12 +265,12 @@ msgstr "ungültiger Wert »%s« für Option %s" #: pg_waldump.c:858 #, c-format msgid "custom resource manager \"%s\" does not exist" -msgstr "Custom-Resouce-Manager »%s« existiert nicht" +msgstr "Custom-Resource-Manager »%s« existiert nicht" #: pg_waldump.c:879 #, c-format msgid "resource manager \"%s\" does not exist" -msgstr "Resouce-Manager »%s« existiert nicht" +msgstr "Resource-Manager »%s« existiert nicht" #: pg_waldump.c:894 #, c-format diff --git a/src/bin/pg_waldump/po/ru.po b/src/bin/pg_waldump/po/ru.po index 6d05882..7a0e293 100644 --- a/src/bin/pg_waldump/po/ru.po +++ b/src/bin/pg_waldump/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_waldump (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-11-03 09:09+0300\n" +"POT-Creation-Date: 2024-02-02 18:11+0300\n" "PO-Revision-Date: 2023-08-30 15:41+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -409,59 +409,59 @@ msgstr "ошибка в записи WAL в позиции %X/%X: %s" msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: xlogreader.c:592 +#: xlogreader.c:620 #, c-format msgid "invalid record offset at %X/%X" msgstr "неверное смещение записи в позиции %X/%X" -#: xlogreader.c:600 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "в позиции %X/%X запрошено продолжение записи" -#: xlogreader.c:641 xlogreader.c:1106 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: wanted %u, got %u" msgstr "неверная длина записи в позиции %X/%X: ожидалось %u, получено %u" -#: xlogreader.c:730 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "нет флага contrecord в позиции %X/%X" -#: xlogreader.c:743 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X" -#: xlogreader.c:1114 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X" -#: xlogreader.c:1127 xlogreader.c:1143 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X" -#: xlogreader.c:1181 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" "некорректная контрольная сумма данных менеджера ресурсов в записи в позиции " "%X/%X" -#: xlogreader.c:1218 +#: xlogreader.c:1246 #, c-format msgid "invalid magic number %04X in log segment %s, offset %u" msgstr "неверное магическое число %04X в сегменте журнала %s, смещение %u" -#: xlogreader.c:1232 xlogreader.c:1273 +#: xlogreader.c:1260 xlogreader.c:1301 #, c-format msgid "invalid info bits %04X in log segment %s, offset %u" msgstr "неверные информационные биты %04X в сегменте журнала %s, смещение %u" -#: xlogreader.c:1247 +#: xlogreader.c:1275 #, c-format msgid "" "WAL file is from different database system: WAL file database system " @@ -470,7 +470,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД " "%llu, а идентификатор системы pg_control: %llu" -#: xlogreader.c:1255 +#: xlogreader.c:1283 #, c-format msgid "" "WAL file is from different database system: incorrect segment size in page " @@ -479,7 +479,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке " "страницы" -#: xlogreader.c:1261 +#: xlogreader.c:1289 #, c-format msgid "" "WAL file is from different database system: incorrect XLOG_BLCKSZ in page " @@ -488,35 +488,35 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке " "страницы" -#: xlogreader.c:1292 +#: xlogreader.c:1320 #, c-format msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" msgstr "неожиданный pageaddr %X/%X в сегменте журнала %s, смещение %u" -#: xlogreader.c:1317 +#: xlogreader.c:1345 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" msgstr "" "нарушение последовательности ID линии времени %u (после %u) в сегменте " "журнала %s, смещение %u" -#: xlogreader.c:1722 +#: xlogreader.c:1750 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X" -#: xlogreader.c:1746 +#: xlogreader.c:1774 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет" -#: xlogreader.c:1753 +#: xlogreader.c:1781 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "" "BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X" -#: xlogreader.c:1789 +#: xlogreader.c:1817 #, c-format msgid "" "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at " @@ -525,21 +525,21 @@ msgstr "" "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u " "при длине образа блока %u в позиции %X/%X" -#: xlogreader.c:1805 +#: xlogreader.c:1833 #, 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" -#: xlogreader.c:1819 +#: xlogreader.c:1847 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "" "BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/" "%X" -#: xlogreader.c:1834 +#: xlogreader.c:1862 #, c-format msgid "" "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image " @@ -548,41 +548,41 @@ msgstr "" "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа " "блока равна %u в позиции %X/%X" -#: xlogreader.c:1850 +#: xlogreader.c:1878 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "" "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/" "%X" -#: xlogreader.c:1862 +#: xlogreader.c:1890 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "неверный идентификатор блока %u в позиции %X/%X" -#: xlogreader.c:1929 +#: xlogreader.c:1957 #, c-format msgid "record with invalid length at %X/%X" msgstr "запись с неверной длиной в позиции %X/%X" -#: xlogreader.c:1954 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не удалось найти копию блока с ID %d в записи журнала WAL" -#: xlogreader.c:2038 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "" "не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d" -#: xlogreader.c:2045 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "" "не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d" -#: xlogreader.c:2072 xlogreader.c:2089 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "" "could not restore image at %X/%X compressed with %s not supported by build, " @@ -591,7 +591,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не " "поддерживается этой сборкой, блок %d" -#: xlogreader.c:2098 +#: xlogreader.c:2126 #, c-format msgid "" "could not restore image at %X/%X compressed with unknown method, block %d" @@ -599,7 +599,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, " "блок %d" -#: xlogreader.c:2106 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не удалось развернуть образ в позиции %X/%X, блок %d" diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c index 895afcb..e5ee1a0 100644 --- a/src/bin/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -3778,10 +3778,21 @@ advanceConnectionState(TState *thread, CState *st, StatsData *agg) case CSTATE_START_COMMAND: command = sql_script[st->use_file].commands[st->command]; - /* Transition to script end processing if done */ + /* + * Transition to script end processing if done, but close up + * shop if a pipeline is open at this point. + */ if (command == NULL) { - st->state = CSTATE_END_TX; + if (PQpipelineStatus(st->con) == PQ_PIPELINE_OFF) + st->state = CSTATE_END_TX; + else + { + pg_log_error("client %d aborted: end of script reached with pipeline open", + st->id); + st->state = CSTATE_ABORTED; + } + break; } diff --git a/src/bin/pgbench/t/001_pgbench_with_server.pl b/src/bin/pgbench/t/001_pgbench_with_server.pl index 027c513..85eb5bc 100644 --- a/src/bin/pgbench/t/001_pgbench_with_server.pl +++ b/src/bin/pgbench/t/001_pgbench_with_server.pl @@ -841,9 +841,37 @@ select 1 \gset f } }); +# Try \startpipeline without \endpipeline in a single transaction +$node->pgbench( + '-t 1 -n -M extended', + 2, + [], + [qr{end of script reached with pipeline open}], + 'error: call \startpipeline without \endpipeline in a single transaction', + { + '001_pgbench_pipeline_5' => q{ +-- startpipeline only with single transaction +\startpipeline +} + }); + +# Try \startpipeline without \endpipeline +$node->pgbench( + '-t 2 -n -M extended', + 2, + [], + [qr{end of script reached with pipeline open}], + 'error: call \startpipeline without \endpipeline', + { + '001_pgbench_pipeline_6' => q{ +-- startpipeline only +\startpipeline +} + }); + # Working \startpipeline in prepared query mode with serializable $node->pgbench( - '-c4 -j2 -t 10 -n -M prepared', + '-c4 -t 10 -n -M prepared', 0, [ qr{type: .*/001_pgbench_pipeline_serializable}, diff --git a/src/bin/psql/po/ja.po b/src/bin/psql/po/ja.po index b707ff5..b07e77d 100644 --- a/src/bin/psql/po/ja.po +++ b/src/bin/psql/po/ja.po @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: psql (PostgreSQL 15)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-02-06 15:59+0900\n" -"PO-Revision-Date: 2023-02-06 17:39+0900\n" +"PO-Revision-Date: 2023-11-22 10:50+0900\n" "Last-Translator: Kyotaro Horiguchi <horikyota.ntt@gmail.com>\n" "Language-Team: Japan PostgreSQL Users Group <jpug-doc@ml.postgresql.jp>\n" "Language: ja\n" @@ -161,7 +161,7 @@ msgstr "割り込み\n" #: ../../fe_utils/print.c:3173 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" -msgstr "テーブルの内容にヘッダーを追加できません: 列数 %d が制限値を超えています。\n" +msgstr "テーブルの内容にヘッダーを追加できません: 列数の上限値%dを超えています。\n" #: ../../fe_utils/print.c:3213 #, c-format diff --git a/src/bin/psql/po/ru.po b/src/bin/psql/po/ru.po index 3026961..b8153a8 100644 --- a/src/bin/psql/po/ru.po +++ b/src/bin/psql/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: psql (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-11-03 09:09+0300\n" +"POT-Creation-Date: 2024-02-02 18:11+0300\n" "PO-Revision-Date: 2023-02-03 15:12+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -288,7 +288,7 @@ msgstr "" #: command.c:1317 command.c:2120 command.c:3306 command.c:3505 command.c:5603 #: common.c:181 common.c:230 common.c:399 common.c:1082 common.c:1100 #: common.c:1174 common.c:1281 common.c:1319 common.c:1407 common.c:1443 -#: copy.c:488 copy.c:722 help.c:66 large_obj.c:157 large_obj.c:192 +#: copy.c:488 copy.c:723 help.c:66 large_obj.c:157 large_obj.c:192 #: large_obj.c:254 startup.c:304 #, c-format msgid "%s" @@ -1019,11 +1019,11 @@ msgstr "" "Вводите данные для копирования, разделяя строки переводом строки.\n" "Закончите ввод строкой '\\.' или сигналом EOF." -#: copy.c:684 +#: copy.c:685 msgid "aborted because of read failure" msgstr "прерывание из-за ошибки чтения" -#: copy.c:718 +#: copy.c:719 msgid "trying to exit copy mode" msgstr "попытка выйти из режима копирования" diff --git a/src/bin/scripts/po/uk.po b/src/bin/scripts/po/uk.po index 59346f8..b8c10b9 100644 --- a/src/bin/scripts/po/uk.po +++ b/src/bin/scripts/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:50+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2023-12-17 22:34+0000\n" +"PO-Revision-Date: 2023-12-18 17:41\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -94,12 +94,22 @@ msgstr "неприпустиме значення \"%s\" для параметр msgid "%s must be in range %d..%d" msgstr "%s має бути в діапазоні %d..%d" -#: ../../fe_utils/parallel_slot.c:301 +#: ../../fe_utils/parallel_slot.c:319 #, c-format -msgid "too many jobs for this platform" -msgstr "занадто багато завдань для цієї платформи" +msgid "too many jobs for this platform: %d" +msgstr "занадто багато завдань для цієї платформи: %d" -#: ../../fe_utils/parallel_slot.c:519 +#: ../../fe_utils/parallel_slot.c:328 +#, c-format +msgid "socket file descriptor out of range for select(): %d" +msgstr "дескриптор файлу сокету поза діапазоном для select(): %d" + +#: ../../fe_utils/parallel_slot.c:330 +#, c-format +msgid "Try fewer jobs." +msgstr "Спробуйте менше робочих завдань." + +#: ../../fe_utils/parallel_slot.c:552 #, c-format msgid "processing of database \"%s\" failed: %s" msgstr "обробка бази даних \"%s\" не вдалась: %s" @@ -177,130 +187,130 @@ msgstr "кластеризувати таблицю \"%s\" у базі дани msgid "clustering of database \"%s\" failed: %s" msgstr "кластеризувати базу даних \"%s\" не вдалося: %s" -#: clusterdb.c:246 +#: clusterdb.c:248 #, c-format msgid "%s: clustering database \"%s\"\n" msgstr "%s: кластеризація бази даних \"%s\"\n" -#: clusterdb.c:262 +#: clusterdb.c:264 #, c-format msgid "%s clusters all previously clustered tables in a database.\n\n" msgstr "%s кластеризація усіх попередньо кластеризованих таблиць в базі даних.\n\n" -#: clusterdb.c:263 createdb.c:283 createuser.c:346 dropdb.c:172 dropuser.c:170 -#: pg_isready.c:226 reindexdb.c:760 vacuumdb.c:964 +#: clusterdb.c:265 createdb.c:281 createuser.c:346 dropdb.c:172 dropuser.c:170 +#: pg_isready.c:226 reindexdb.c:762 vacuumdb.c:964 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: clusterdb.c:264 reindexdb.c:761 vacuumdb.c:965 +#: clusterdb.c:266 reindexdb.c:763 vacuumdb.c:965 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [DBNAME]\n" -#: clusterdb.c:265 createdb.c:285 createuser.c:348 dropdb.c:174 dropuser.c:172 -#: pg_isready.c:229 reindexdb.c:762 vacuumdb.c:966 +#: clusterdb.c:267 createdb.c:283 createuser.c:348 dropdb.c:174 dropuser.c:172 +#: pg_isready.c:229 reindexdb.c:764 vacuumdb.c:966 #, c-format msgid "\n" "Options:\n" msgstr "\n" "Параметри:\n" -#: clusterdb.c:266 +#: clusterdb.c:268 #, c-format msgid " -a, --all cluster all databases\n" msgstr " -a, --all кластеризація усіх баз даних\n" -#: clusterdb.c:267 +#: clusterdb.c:269 #, c-format msgid " -d, --dbname=DBNAME database to cluster\n" msgstr " -d, --dbname=ІМ'Я_БД база даних для кластеризації\n" -#: clusterdb.c:268 createuser.c:352 dropdb.c:175 dropuser.c:173 +#: clusterdb.c:270 createuser.c:352 dropdb.c:175 dropuser.c:173 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo показати команди, надіслані серверу\n" -#: clusterdb.c:269 +#: clusterdb.c:271 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet не виводити жодних повідомлень\n" -#: clusterdb.c:270 +#: clusterdb.c:272 #, c-format msgid " -t, --table=TABLE cluster specific table(s) only\n" msgstr " -t, --table=ТАБЛИЦЯ кластеризувати тільки вказані таблиці\n" -#: clusterdb.c:271 +#: clusterdb.c:273 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose виводити багато інформації\n" -#: clusterdb.c:272 createuser.c:364 dropdb.c:178 dropuser.c:176 +#: clusterdb.c:274 createuser.c:364 dropdb.c:178 dropuser.c:176 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: clusterdb.c:273 createuser.c:369 dropdb.c:180 dropuser.c:178 +#: clusterdb.c:275 createuser.c:369 dropdb.c:180 dropuser.c:178 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку, потім вийти\n" -#: clusterdb.c:274 createdb.c:300 createuser.c:370 dropdb.c:181 dropuser.c:179 -#: pg_isready.c:235 reindexdb.c:777 vacuumdb.c:991 +#: clusterdb.c:276 createdb.c:298 createuser.c:370 dropdb.c:181 dropuser.c:179 +#: pg_isready.c:235 reindexdb.c:779 vacuumdb.c:991 #, c-format msgid "\n" "Connection options:\n" msgstr "\n" "Налаштування з'єднання:\n" -#: clusterdb.c:275 createuser.c:371 dropdb.c:182 dropuser.c:180 vacuumdb.c:992 +#: clusterdb.c:277 createuser.c:371 dropdb.c:182 dropuser.c:180 vacuumdb.c:992 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME хост сервера бази даних або каталог сокетів\n" -#: clusterdb.c:276 createuser.c:372 dropdb.c:183 dropuser.c:181 vacuumdb.c:993 +#: clusterdb.c:278 createuser.c:372 dropdb.c:183 dropuser.c:181 vacuumdb.c:993 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT порт сервера бази даних\n" -#: clusterdb.c:277 dropdb.c:184 vacuumdb.c:994 +#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:994 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=ІМ'Я_КОРИСТУВАЧА ім'я користувача для з'єднання з сервером\n" -#: clusterdb.c:278 createuser.c:374 dropdb.c:185 dropuser.c:183 vacuumdb.c:995 +#: clusterdb.c:280 createuser.c:374 dropdb.c:185 dropuser.c:183 vacuumdb.c:995 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ніколи не запитувати пароль\n" -#: clusterdb.c:279 createuser.c:375 dropdb.c:186 dropuser.c:184 vacuumdb.c:996 +#: clusterdb.c:281 createuser.c:375 dropdb.c:186 dropuser.c:184 vacuumdb.c:996 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password запросити пароль\n" -#: clusterdb.c:280 dropdb.c:187 vacuumdb.c:997 +#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:997 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAME альтернативна бази даних для обслуговування\n" -#: clusterdb.c:281 +#: clusterdb.c:283 #, c-format msgid "\n" "Read the description of the SQL command CLUSTER for details.\n" msgstr "\n" "Для деталей читайте опис команди SQL CLUSTER.\n" -#: clusterdb.c:282 createdb.c:308 createuser.c:376 dropdb.c:188 dropuser.c:185 -#: pg_isready.c:240 reindexdb.c:785 vacuumdb.c:999 +#: clusterdb.c:284 createdb.c:306 createuser.c:376 dropdb.c:188 dropuser.c:185 +#: pg_isready.c:240 reindexdb.c:787 vacuumdb.c:999 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: clusterdb.c:283 createdb.c:309 createuser.c:377 dropdb.c:189 dropuser.c:186 -#: pg_isready.c:241 reindexdb.c:786 vacuumdb.c:1000 +#: clusterdb.c:285 createdb.c:307 createuser.c:377 dropdb.c:189 dropuser.c:186 +#: pg_isready.c:241 reindexdb.c:788 vacuumdb.c:1000 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" @@ -336,139 +346,129 @@ msgstr "%s (%s/%s) " msgid "Please answer \"%s\" or \"%s\".\n" msgstr "Відповідь має бути \"%s\" або \"%s\".\n" -#: createdb.c:165 -#, c-format -msgid "only one of --locale and --lc-ctype can be specified" -msgstr "тільки --locale або --lc-ctype може бути вказаний" - -#: createdb.c:167 -#, c-format -msgid "only one of --locale and --lc-collate can be specified" -msgstr "можна вказати лише одне: або --locale, або --lc-collate" - -#: createdb.c:175 +#: createdb.c:173 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "\"%s\" не є невірним ім'ям кодування" -#: createdb.c:245 +#: createdb.c:243 #, c-format msgid "database creation failed: %s" msgstr "створити базу даних не вдалося: %s" -#: createdb.c:264 +#: createdb.c:262 #, c-format msgid "comment creation failed (database was created): %s" msgstr "не вдалося створити коментарі (база даних була створена): %s" -#: createdb.c:282 +#: createdb.c:280 #, c-format msgid "%s creates a PostgreSQL database.\n\n" msgstr "%s створює базу даних PostgreSQL.\n\n" -#: createdb.c:284 +#: createdb.c:282 #, c-format msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" msgstr " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" -#: createdb.c:286 +#: createdb.c:284 #, c-format msgid " -D, --tablespace=TABLESPACE default tablespace for the database\n" msgstr " -D, --tablespace=ТАБЛИЧНИЙ_ПРОСТІР табличний простір для бази даних за замовчуванням\n" -#: createdb.c:287 reindexdb.c:766 +#: createdb.c:285 reindexdb.c:768 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo показати команди, надіслані серверу\n" -#: createdb.c:288 +#: createdb.c:286 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" msgstr " -E, --encoding=КОДУВАННЯ кодування бази даних\n" -#: createdb.c:289 +#: createdb.c:287 #, c-format msgid " -l, --locale=LOCALE locale settings for the database\n" msgstr " -l, --locale=ЛОКАЛЬ параметри локалі бази даних\n" -#: createdb.c:290 +#: createdb.c:288 #, c-format msgid " --lc-collate=LOCALE LC_COLLATE setting for the database\n" msgstr " --lc-collate=ЛОКАЛЬ параметр LC_COLLATE для бази даних\n" -#: createdb.c:291 +#: createdb.c:289 #, c-format msgid " --lc-ctype=LOCALE LC_CTYPE setting for the database\n" msgstr " --lc-ctype=ЛОКАЛЬ параметр LC_CTYPE для бази даних\n" -#: createdb.c:292 +#: createdb.c:290 #, c-format msgid " --icu-locale=LOCALE ICU locale setting for the database\n" msgstr " --icu-locale=LOCALE параметр локалі ICU бази даних\n" -#: createdb.c:293 +#: createdb.c:291 #, c-format msgid " --locale-provider={libc|icu}\n" " locale provider for the database's default collation\n" msgstr " --locale-provider={libc|icu}\n" " провайдер локалі для сортування бази даних за замовчуванням\n" -#: createdb.c:295 +#: createdb.c:293 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" msgstr " -O, --власник=ВЛАСНИК користувач-власник нової бази даних\n" -#: createdb.c:296 +#: createdb.c:294 #, c-format msgid " -S, --strategy=STRATEGY database creation strategy wal_log or file_copy\n" msgstr " -S, --strategy=STRATEGY стратегія створення бази даних для wal_log або file_copy\n" -#: createdb.c:297 +#: createdb.c:295 #, c-format msgid " -T, --template=TEMPLATE template database to copy\n" msgstr " -T, --шаблон=ШАБЛОН шаблонна база даних для копіювання\n" -#: createdb.c:298 reindexdb.c:775 +#: createdb.c:296 reindexdb.c:777 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію, потім вийти\n" -#: createdb.c:299 reindexdb.c:776 +#: createdb.c:297 reindexdb.c:778 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку, потім вийти\n" -#: createdb.c:301 reindexdb.c:778 +#: createdb.c:299 reindexdb.c:780 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=ІМ'Я_ХОСТА хост сервера бази даних або каталог сокетів\n" -#: createdb.c:302 reindexdb.c:779 +#: createdb.c:300 reindexdb.c:781 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=ПОРТ порт сервера бази даних\n" -#: createdb.c:303 reindexdb.c:780 +#: createdb.c:301 reindexdb.c:782 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=ІМ'Я_КОРИСТУВАЧА ім'я користувача для з'єднання з сервером\n" -#: createdb.c:304 reindexdb.c:781 +#: createdb.c:302 reindexdb.c:783 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ніколи не запитувати пароль\n" -#: createdb.c:305 reindexdb.c:782 +#: createdb.c:303 reindexdb.c:784 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password запросити пароль\n" -#: createdb.c:306 reindexdb.c:783 +#: createdb.c:304 reindexdb.c:785 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAME альтернативна бази даних для обслуговування\n" -#: createdb.c:307 +#: createdb.c:305 #, c-format msgid "\n" "By default, a database with the same name as the current user is created.\n" @@ -864,72 +864,72 @@ msgstr "переіндексування системних каталогів msgid "reindexing of table \"%s\" in database \"%s\" failed: %s" msgstr "переіндексувати таблиці \"%s\" в базі даних \"%s\" не вдалося: %s" -#: reindexdb.c:742 +#: reindexdb.c:744 #, c-format msgid "%s: reindexing database \"%s\"\n" msgstr "%s: переіндексування бази даних \"%s\"\n" -#: reindexdb.c:759 +#: reindexdb.c:761 #, c-format msgid "%s reindexes a PostgreSQL database.\n\n" msgstr "%s переіндексовує базу даних PostgreSQL.\n\n" -#: reindexdb.c:763 +#: reindexdb.c:765 #, c-format msgid " -a, --all reindex all databases\n" msgstr " -a, --all переіндексувати всі бази даних\n" -#: reindexdb.c:764 +#: reindexdb.c:766 #, c-format msgid " --concurrently reindex concurrently\n" msgstr " --concurrently переіндексувати одночасно\n" -#: reindexdb.c:765 +#: reindexdb.c:767 #, c-format msgid " -d, --dbname=DBNAME database to reindex\n" msgstr " -d, --dbname=DBNAME база даних для переіндексування\n" -#: reindexdb.c:767 +#: reindexdb.c:769 #, c-format msgid " -i, --index=INDEX recreate specific index(es) only\n" msgstr " -i, --index=INDEX повторно створити лише вказані індекси\n" -#: reindexdb.c:768 +#: reindexdb.c:770 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to reindex\n" msgstr " -j, --jobs=NUM використати цю кількість паралельних підключень для переіндексування\n" -#: reindexdb.c:769 +#: reindexdb.c:771 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet не писати жодних повідомлень\n" -#: reindexdb.c:770 +#: reindexdb.c:772 #, c-format msgid " -s, --system reindex system catalogs only\n" msgstr " -s, --system переіндексувати тільки системні каталоги\n" -#: reindexdb.c:771 +#: reindexdb.c:773 #, c-format msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" msgstr " -S, --schema=SCHEMA переіндексувати лише вказані схеми\n" -#: reindexdb.c:772 +#: reindexdb.c:774 #, c-format msgid " -t, --table=TABLE reindex specific table(s) only\n" msgstr " -t, --table=TABLE переіндексувати лише вказані таблиці\n" -#: reindexdb.c:773 +#: reindexdb.c:775 #, c-format msgid " --tablespace=TABLESPACE tablespace where indexes are rebuilt\n" msgstr " --tablespace=TABLESPACE табличний простір для перебудованих індексів\n" -#: reindexdb.c:774 +#: reindexdb.c:776 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose виводити багато повідомлень\n" -#: reindexdb.c:784 +#: reindexdb.c:786 #, c-format msgid "\n" "Read the description of the SQL command REINDEX for details.\n" |