Version in base suite: 17.7-0+deb13u1 Base version: postgresql-17_17.7-0+deb13u1 Target version: postgresql-17_17.8-0+deb13u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/p/postgresql-17/postgresql-17_17.7-0+deb13u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/p/postgresql-17/postgresql-17_17.8-0+deb13u1.dsc .abi-compliance-history | 37 .cirrus.tasks.yml | 2 COPYRIGHT | 2 configure | 18 configure.ac | 2 contrib/amcheck/t/002_cic.pl | 24 contrib/amcheck/verify_nbtree.c | 94 contrib/btree_gist/btree_utils_var.c | 21 contrib/dict_xsyn/dict_xsyn.c | 8 contrib/file_fdw/expected/file_fdw.out | 15 contrib/file_fdw/sql/file_fdw.sql | 18 contrib/hstore/hstore_io.c | 2 contrib/intarray/_int_selfuncs.c | 23 contrib/ltree/lquery_op.c | 44 contrib/ltree/ltree.h | 9 contrib/ltree/ltree_io.c | 16 contrib/ltree/ltxtquery_io.c | 4 contrib/ltree/ltxtquery_op.c | 8 contrib/pageinspect/heapfuncs.c | 2 contrib/pg_trgm/Makefile | 2 contrib/pg_trgm/data/trgm_utf8.data | 50 contrib/pg_trgm/expected/pg_utf8_trgm.out | 8 contrib/pg_trgm/expected/pg_utf8_trgm_1.out | 3 contrib/pg_trgm/meson.build | 1 contrib/pg_trgm/sql/pg_utf8_trgm.sql | 9 contrib/pg_trgm/trgm.h | 4 contrib/pg_trgm/trgm_gist.c | 5 contrib/pg_trgm/trgm_op.c | 48 contrib/pg_trgm/trgm_regexp.c | 21 contrib/pgcrypto/Makefile | 2 contrib/pgcrypto/expected/pgp-decrypt.out | 24 contrib/pgcrypto/expected/pgp-decrypt_1.out | 24 contrib/pgcrypto/expected/pgp-pubkey-session.out | 47 contrib/pgcrypto/meson.build | 1 contrib/pgcrypto/pgp-pgsql.c | 2 contrib/pgcrypto/pgp-pubdec.c | 11 contrib/pgcrypto/px.c | 1 contrib/pgcrypto/px.h | 2 contrib/pgcrypto/scripts/pgp_session_data.py | 491 + contrib/pgcrypto/sql/pgp-decrypt.sql | 23 contrib/pgcrypto/sql/pgp-pubkey-session.sql | 46 contrib/unaccent/unaccent.c | 7 debian/changelog | 51 doc/src/sgml/amcheck.sgml | 2 doc/src/sgml/config.sgml | 123 doc/src/sgml/ddl.sgml | 4 doc/src/sgml/ecpg.sgml | 2 doc/src/sgml/file-fdw.sgml | 11 doc/src/sgml/func.sgml | 15 doc/src/sgml/hash.sgml | 9 doc/src/sgml/history.sgml | 2 doc/src/sgml/legal.sgml | 6 doc/src/sgml/plpgsql.sgml | 14 doc/src/sgml/ref/alter_publication.sgml | 16 doc/src/sgml/ref/create_policy.sgml | 203 doc/src/sgml/ref/create_publication.sgml | 22 doc/src/sgml/ref/create_table.sgml | 4 doc/src/sgml/ref/createuser.sgml | 2 doc/src/sgml/ref/delete.sgml | 3 doc/src/sgml/ref/update.sgml | 3 doc/src/sgml/release-17.sgml | 1369 +++ meson.build | 12 src/backend/Makefile | 10 src/backend/access/brin/brin_pageops.c | 6 src/backend/access/hash/README | 9 src/backend/access/hash/hashfunc.c | 3 src/backend/access/heap/README.tuplock | 36 src/backend/access/heap/heapam.c | 156 src/backend/access/heap/heaptoast.c | 2 src/backend/access/nbtree/nbtcompare.c | 4 src/backend/access/transam/multixact.c | 253 src/backend/access/transam/parallel.c | 7 src/backend/access/transam/xact.c | 26 src/backend/access/transam/xlog.c | 34 src/backend/access/transam/xlogrecovery.c | 10 src/backend/backup/backup_manifest.c | 2 src/backend/backup/basebackup_incremental.c | 14 src/backend/backup/walsummary.c | 4 src/backend/catalog/index.c | 11 src/backend/catalog/pg_depend.c | 72 src/backend/catalog/pg_proc.c | 2 src/backend/commands/async.c | 272 src/backend/commands/event_trigger.c | 5 src/backend/commands/extension.c | 130 src/backend/commands/operatorcmds.c | 57 src/backend/commands/publicationcmds.c | 7 src/backend/commands/statscmds.c | 8 src/backend/commands/subscriptioncmds.c | 10 src/backend/commands/trigger.c | 148 src/backend/commands/vacuum.c | 7 src/backend/executor/nodeModifyTable.c | 49 src/backend/jit/llvm/Makefile | 6 src/backend/jit/llvm/llvmjit.c | 7 src/backend/jit/llvm/llvmjit_expr.c | 4 src/backend/jit/llvm/llvmjit_wrap.cpp | 7 src/backend/optimizer/path/indxpath.c | 10 src/backend/optimizer/plan/planner.c | 35 src/backend/optimizer/util/clauses.c | 11 src/backend/parser/parse_agg.c | 49 src/backend/parser/parse_expr.c | 23 src/backend/parser/parse_utilcmd.c | 5 src/backend/po/de.po | 2768 +++--- src/backend/po/es.po | 2780 +++--- src/backend/po/ja.po | 580 - src/backend/po/ru.po | 2795 +++--- src/backend/po/sv.po | 3545 ++++---- src/backend/po/uk.po | 4305 +++++----- src/backend/replication/libpqwalreceiver/libpqwalreceiver.c | 43 src/backend/replication/logical/decode.c | 11 src/backend/replication/logical/logical.c | 12 src/backend/replication/logical/slotsync.c | 114 src/backend/replication/logical/tablesync.c | 58 src/backend/replication/logical/worker.c | 30 src/backend/replication/pgoutput/pgoutput.c | 6 src/backend/replication/slot.c | 138 src/backend/rewrite/rewriteHandler.c | 31 src/backend/storage/buffer/bufmgr.c | 67 src/backend/storage/file/fd.c | 3 src/backend/storage/ipc/dsm_registry.c | 37 src/backend/storage/ipc/ipc.c | 11 src/backend/storage/lmgr/lwlock.c | 23 src/backend/storage/smgr/md.c | 24 src/backend/storage/smgr/smgr.c | 17 src/backend/tsearch/dict_synonym.c | 8 src/backend/tsearch/dict_thesaurus.c | 18 src/backend/tsearch/regis.c | 37 src/backend/tsearch/spell.c | 123 src/backend/tsearch/ts_locale.c | 109 src/backend/tsearch/ts_selfuncs.c | 8 src/backend/tsearch/ts_utils.c | 4 src/backend/tsearch/wparser_def.c | 3 src/backend/utils/.gitignore | 3 src/backend/utils/Makefile | 13 src/backend/utils/activity/.gitignore | 3 src/backend/utils/activity/Makefile | 17 src/backend/utils/activity/meson.build | 1 src/backend/utils/activity/wait_event.c | 2 src/backend/utils/activity/wait_event_funcs.c | 2 src/backend/utils/activity/wait_event_names.txt | 6 src/backend/utils/adt/arrayfuncs.c | 6 src/backend/utils/adt/encode.c | 6 src/backend/utils/adt/format_type.c | 6 src/backend/utils/adt/formatting.c | 22 src/backend/utils/adt/int.c | 31 src/backend/utils/adt/jsonfuncs.c | 2 src/backend/utils/adt/jsonpath_gram.y | 3 src/backend/utils/adt/levenshtein.c | 14 src/backend/utils/adt/like.c | 18 src/backend/utils/adt/like_match.c | 3 src/backend/utils/adt/multirangetypes.c | 5 src/backend/utils/adt/network_selfuncs.c | 48 src/backend/utils/adt/oid.c | 31 src/backend/utils/adt/oracle_compat.c | 33 src/backend/utils/adt/pg_locale.c | 3 src/backend/utils/adt/pgstatfuncs.c | 2 src/backend/utils/adt/regexp.c | 9 src/backend/utils/adt/tsquery.c | 25 src/backend/utils/adt/tsvector.c | 11 src/backend/utils/adt/tsvector_op.c | 10 src/backend/utils/adt/tsvector_parser.c | 29 src/backend/utils/adt/varbit.c | 8 src/backend/utils/adt/varlena.c | 34 src/backend/utils/adt/xml.c | 11 src/backend/utils/cache/catcache.c | 62 src/backend/utils/cache/inval.c | 330 src/backend/utils/cache/relcache.c | 20 src/backend/utils/cache/syscache.c | 3 src/backend/utils/mb/mbutils.c | 153 src/backend/utils/misc/guc_tables.c | 19 src/backend/utils/misc/injection_point.c | 16 src/backend/utils/misc/postgresql.conf.sample | 7 src/backend/utils/misc/ps_status.c | 4 src/backend/utils/mmgr/mcxt.c | 58 src/backend/utils/sort/sharedtuplestore.c | 3 src/bin/initdb/po/es.po | 2 src/bin/pg_amcheck/po/es.po | 2 src/bin/pg_archivecleanup/po/es.po | 2 src/bin/pg_basebackup/po/es.po | 2 src/bin/pg_basebackup/po/ja.po | 8 src/bin/pg_basebackup/po/ru.po | 2 src/bin/pg_basebackup/po/sv.po | 200 src/bin/pg_basebackup/po/uk.po | 198 src/bin/pg_checksums/po/es.po | 2 src/bin/pg_combinebackup/copy_file.c | 2 src/bin/pg_combinebackup/meson.build | 1 src/bin/pg_combinebackup/pg_combinebackup.c | 2 src/bin/pg_combinebackup/po/de.po | 165 src/bin/pg_combinebackup/po/es.po | 9 src/bin/pg_combinebackup/po/ru.po | 15 src/bin/pg_combinebackup/po/sv.po | 89 src/bin/pg_combinebackup/t/011_ib_truncation.pl | 101 src/bin/pg_config/po/es.po | 2 src/bin/pg_controldata/po/es.po | 2 src/bin/pg_ctl/po/es.po | 2 src/bin/pg_dump/pg_dump.c | 10 src/bin/pg_dump/pg_dump_sort.c | 11 src/bin/pg_dump/po/es.po | 20 src/bin/pg_dump/po/ru.po | 22 src/bin/pg_dump/po/uk.po | 982 +- src/bin/pg_resetwal/pg_resetwal.c | 36 src/bin/pg_resetwal/po/de.po | 241 src/bin/pg_resetwal/po/es.po | 241 src/bin/pg_resetwal/po/ja.po | 377 src/bin/pg_resetwal/po/ru.po | 249 src/bin/pg_resetwal/po/sv.po | 249 src/bin/pg_resetwal/po/uk.po | 243 src/bin/pg_resetwal/t/001_basic.pl | 12 src/bin/pg_rewind/file_ops.c | 2 src/bin/pg_rewind/po/es.po | 9 src/bin/pg_rewind/po/ru.po | 13 src/bin/pg_rewind/po/sv.po | 163 src/bin/pg_test_fsync/po/es.po | 2 src/bin/pg_test_timing/po/es.po | 2 src/bin/pg_upgrade/check.c | 6 src/bin/pg_upgrade/po/es.po | 2 src/bin/pg_upgrade/po/uk.po | 246 src/bin/pg_upgrade/t/004_subscription.pl | 27 src/bin/pg_verifybackup/po/es.po | 2 src/bin/pg_waldump/po/es.po | 2 src/bin/pg_waldump/t/002_save_fullpage.pl | 5 src/bin/pg_walsummary/po/es.po | 2 src/bin/pgbench/pgbench.c | 39 src/bin/psql/po/de.po | 1640 +-- src/bin/psql/po/es.po | 1640 +-- src/bin/psql/po/ja.po | 1642 +-- src/bin/psql/po/ru.po | 1644 +-- src/bin/psql/po/sv.po | 1727 ++-- src/bin/psql/po/uk.po | 2323 ++--- src/bin/scripts/po/es.po | 2 src/common/saslprep.c | 6 src/common/wchar.c | 66 src/include/Makefile | 1 src/include/access/xlog.h | 1 src/include/catalog/dependency.h | 2 src/include/catalog/pg_extension.h | 9 src/include/commands/async.h | 3 src/include/commands/extension.h | 2 src/include/commands/trigger.h | 4 src/include/mb/pg_wchar.h | 7 src/include/nodes/pathnodes.h | 7 src/include/port.h | 1 src/include/port/win32_port.h | 19 src/include/storage/bufmgr.h | 3 src/include/storage/fd.h | 11 src/include/storage/lwlock.h | 2 src/include/storage/proc.h | 8 src/include/tsearch/ts_locale.h | 36 src/include/tsearch/ts_utils.h | 14 src/include/utils/.gitignore | 2 src/include/utils/builtins.h | 1 src/include/utils/catcache.h | 3 src/include/utils/inval.h | 6 src/include/utils/meson.build | 4 src/include/utils/relcache.h | 8 src/interfaces/ecpg/ecpglib/po/es.po | 2 src/interfaces/ecpg/preproc/po/es.po | 2 src/interfaces/ecpg/test/expected/sql-sqlda.c | 137 src/interfaces/ecpg/test/expected/sql-sqlda.stderr | 450 - src/interfaces/ecpg/test/sql/sqlda.pgc | 9 src/interfaces/libpq/po/de.po | 401 src/interfaces/libpq/po/es.po | 363 src/interfaces/libpq/po/fr.po | 2 src/interfaces/libpq/po/ja.po | 728 - src/interfaces/libpq/po/ru.po | 370 src/interfaces/libpq/po/sv.po | 409 src/interfaces/libpq/po/uk.po | 403 src/pl/plperl/po/es.po | 2 src/pl/plpgsql/src/po/es.po | 2 src/pl/plpython/po/es.po | 2 src/pl/tcl/po/es.po | 2 src/port/open.c | 14 src/test/isolation/expected/inplace-inval.out | 10 src/test/isolation/expected/insert-conflict-do-update-4.out | 63 src/test/isolation/expected/merge-update.out | 146 src/test/isolation/isolation_schedule | 1 src/test/isolation/specs/inplace-inval.spec | 12 src/test/isolation/specs/insert-conflict-do-update-4.spec | 42 src/test/isolation/specs/merge-update.spec | 50 src/test/modules/Makefile | 1 src/test/modules/gin/expected/gin_incomplete_splits.out | 1 src/test/modules/gin/sql/gin_incomplete_splits.sql | 2 src/test/modules/injection_points/Makefile | 4 src/test/modules/injection_points/expected/heap_lock_update.out | 83 src/test/modules/injection_points/meson.build | 1 src/test/modules/injection_points/regress_injection.c | 2 src/test/modules/injection_points/specs/heap_lock_update.spec | 117 src/test/modules/meson.build | 1 src/test/modules/test_cloexec/.gitignore | 3 src/test/modules/test_cloexec/Makefile | 21 src/test/modules/test_cloexec/meson.build | 26 src/test/modules/test_cloexec/t/001_cloexec.pl | 60 src/test/modules/test_cloexec/test_cloexec.c | 240 src/test/modules/test_regex/test_regex.c | 3 src/test/modules/xid_wraparound/meson.build | 1 src/test/modules/xid_wraparound/t/004_notify_freeze.pl | 71 src/test/perl/PostgreSQL/Test/BackgroundPsql.pm | 40 src/test/perl/PostgreSQL/Test/Cluster.pm | 4 src/test/recovery/t/046_checkpoint_logical_slot.pl | 90 src/test/regress/expected/arrays.out | 5 src/test/regress/expected/encoding.out | 401 src/test/regress/expected/encoding_1.out | 4 src/test/regress/expected/euc_kr.out | 16 src/test/regress/expected/euc_kr_1.out | 6 src/test/regress/expected/hash_index.out | 21 src/test/regress/expected/sqljson_queryfuncs.out | 8 src/test/regress/expected/triggers.out | 8 src/test/regress/expected/with.out | 97 src/test/regress/parallel_schedule | 2 src/test/regress/regress.c | 139 src/test/regress/sql/arrays.sql | 4 src/test/regress/sql/encoding.sql | 228 src/test/regress/sql/euc_kr.sql | 12 src/test/regress/sql/hash_index.sql | 13 src/test/regress/sql/sqljson_queryfuncs.sql | 2 src/test/regress/sql/triggers.sql | 4 src/test/regress/sql/with.sql | 45 src/test/subscription/t/001_rep_changes.pl | 39 src/test/subscription/t/004_sync.pl | 6 src/test/subscription/t/023_twophase_stream.pl | 45 src/timezone/data/tzdata.zi | 6 src/tools/pgindent/typedefs.list | 2 321 files changed, 25289 insertions(+), 18449 deletions(-) dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpnxqg4sb3/postgresql-17_17.7-0+deb13u1.dsc: no acceptable signature found dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpnxqg4sb3/postgresql-17_17.8-0+deb13u1.dsc: no acceptable signature found diff -Nru postgresql-17-17.7/.abi-compliance-history postgresql-17-17.8/.abi-compliance-history --- postgresql-17-17.7/.abi-compliance-history 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/.abi-compliance-history 2026-02-09 21:51:54.000000000 +0000 @@ -18,6 +18,43 @@ # Be sure to replace "" with details of your change and # why it is deemed acceptable. +4dac22aa10d2882c2e6fb465d7c314cc2d8fb754 +# +# Add file_extend_method=posix_fallocate,write_zeros. +# 2026-02-06 17:41:42 +1300 +# +# Modifying GUC tables isn't really an ABI break: the relevant object has +# incomplete type so its layout is inaccessible from other C translation units. +# +# Discussion: https://www.postgresql.org/message-id/flat/e1f0cd3b-0164-45f5-9705-e922e59df90f%40dunslane.net#8a350b54012c0042f9869d288e978cfe + +c5fc17ddaccff14bc22217df2b06ed43a5af16ba +# +# Fix trigger transition table capture for MERGE in CTE queries. +# 2026-01-24 11:30:49 +0000 +# +# This commit changed the TransitionCaptureState structure, replacing +# the "tcs_private" field with 3 separate fields. This structure can +# only be built using MakeTransitionCaptureState(), and PGXN contained +# no calls to MakeTransitionCaptureState() or uses of the +# TransitionCaptureState structure. + +0f69beddea113dd1d6c5b6f6d82df577ef3c21f2 +# +# For inplace update, send nontransactional invalidations. +# 2025-12-16 16:13:54 -0800 +# +# This changed PrepareToInvalidateCacheTuple() parameters. PGXN contained no +# calls to that function. + +e2fb3dfa817fbe89494a62c100e9cb442f4d6b15 +# +# Check for CREATE privilege on the schema in CREATE STATISTICS. +# 2025-11-10 09:00:00 -0600 +# +# This commit added a parameter to CreateStatistics(). We are unaware of any +# impacted third-party code. + 24f6c1bd41d0631a04cc956cc8cafa0b117ab625 # # Fix the handling of two GUCs during upgrade. diff -Nru postgresql-17-17.7/.cirrus.tasks.yml postgresql-17-17.8/.cirrus.tasks.yml --- postgresql-17-17.7/.cirrus.tasks.yml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/.cirrus.tasks.yml 2026-02-09 21:51:54.000000000 +0000 @@ -431,7 +431,7 @@ env: CPUS: 4 # always get that much for cirrusci macOS instances BUILD_JOBS: $CPUS - # Test performance regresses noticably when using all cores. 8 seems to + # Test performance regresses noticeably when using all cores. 8 seems to # work OK. See # https://postgr.es/m/20220927040208.l3shfcidovpzqxfh%40awork3.anarazel.de TEST_JOBS: 8 diff -Nru postgresql-17-17.7/COPYRIGHT postgresql-17-17.8/COPYRIGHT --- postgresql-17-17.7/COPYRIGHT 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/COPYRIGHT 2026-02-09 21:51:54.000000000 +0000 @@ -1,7 +1,7 @@ PostgreSQL Database Management System (also known as Postgres, formerly known as Postgres95) -Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group +Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group Portions Copyright (c) 1994, The Regents of the University of California diff -Nru postgresql-17-17.7/configure postgresql-17-17.8/configure --- postgresql-17-17.7/configure 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/configure 2026-02-09 21:51:54.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for PostgreSQL 17.7. +# Generated by GNU Autoconf 2.69 for PostgreSQL 17.8. # # Report bugs to . # @@ -582,8 +582,8 @@ # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='17.7' -PACKAGE_STRING='PostgreSQL 17.7' +PACKAGE_VERSION='17.8' +PACKAGE_STRING='PostgreSQL 17.8' PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org' PACKAGE_URL='https://www.postgresql.org/' @@ -1450,7 +1450,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures PostgreSQL 17.7 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 17.8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1515,7 +1515,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 17.7:";; + short | recursive ) echo "Configuration of PostgreSQL 17.8:";; esac cat <<\_ACEOF @@ -1690,7 +1690,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PostgreSQL configure 17.7 +PostgreSQL configure 17.8 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2443,7 +2443,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by PostgreSQL $as_me 17.7, which was +It was created by PostgreSQL $as_me 17.8, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -19866,7 +19866,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by PostgreSQL $as_me 17.7, which was +This file was extended by PostgreSQL $as_me 17.8, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19937,7 +19937,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -PostgreSQL config.status 17.7 +PostgreSQL config.status 17.8 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru postgresql-17-17.7/configure.ac postgresql-17-17.8/configure.ac --- postgresql-17-17.7/configure.ac 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/configure.ac 2026-02-09 21:51:54.000000000 +0000 @@ -17,7 +17,7 @@ dnl m4_pattern_forbid(^PGAC_)dnl to catch undefined macros -AC_INIT([PostgreSQL], [17.7], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) +AC_INIT([PostgreSQL], [17.8], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. Untested combinations of 'autoconf' and PostgreSQL versions are not diff -Nru postgresql-17-17.7/contrib/amcheck/t/002_cic.pl postgresql-17-17.8/contrib/amcheck/t/002_cic.pl --- postgresql-17-17.7/contrib/amcheck/t/002_cic.pl 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/amcheck/t/002_cic.pl 2026-02-09 21:51:54.000000000 +0000 @@ -60,5 +60,29 @@ ) }); +# Test bt_index_parent_check() with indexes created with +# CREATE INDEX CONCURRENTLY. +$node->safe_psql('postgres', q(CREATE TABLE quebec(i int primary key))); +# Insert two rows into index +$node->safe_psql('postgres', + q(INSERT INTO quebec SELECT i FROM generate_series(1, 2) s(i);)); + +# start background transaction +my $in_progress_h = $node->background_psql('postgres'); +$in_progress_h->query_safe(q(BEGIN; SELECT pg_current_xact_id();)); + +# delete one row from table, while background transaction is in progress +$node->safe_psql('postgres', q(DELETE FROM quebec WHERE i = 1;)); +# create index concurrently, which will skip the deleted row +$node->safe_psql('postgres', + q(CREATE INDEX CONCURRENTLY oscar ON quebec(i);)); + +# check index using bt_index_parent_check +$result = $node->psql('postgres', + q(SELECT bt_index_parent_check('oscar', heapallindexed => true))); +is($result, '0', 'bt_index_parent_check for CIC after removed row'); + +$in_progress_h->quit; + $node->stop; done_testing(); diff -Nru postgresql-17-17.7/contrib/amcheck/verify_nbtree.c postgresql-17-17.8/contrib/amcheck/verify_nbtree.c --- postgresql-17-17.7/contrib/amcheck/verify_nbtree.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/amcheck/verify_nbtree.c 2026-02-09 21:51:54.000000000 +0000 @@ -90,9 +90,11 @@ BufferAccessStrategy checkstrategy; /* - * Info for uniqueness checking. Fill these fields once per index check. + * Info for uniqueness checking. Fill this field and the one below once + * per index check. */ IndexInfo *indexinfo; + /* Table scan snapshot for heapallindexed and checkunique */ Snapshot snapshot; /* @@ -508,7 +510,6 @@ BTMetaPageData *metad; uint32 previouslevel; BtreeLevel current; - Snapshot snapshot = SnapshotAny; if (!readonly) elog(DEBUG1, "verifying consistency of tree structure for index \"%s\"", @@ -559,54 +560,46 @@ state->heaptuplespresent = 0; /* - * Register our own snapshot in !readonly case, rather than asking + * Register our own snapshot for heapallindexed, rather than asking * table_index_build_scan() to do this for us later. This needs to * happen before index fingerprinting begins, so we can later be * certain that index fingerprinting should have reached all tuples * returned by table_index_build_scan(). */ - if (!state->readonly) - { - snapshot = RegisterSnapshot(GetTransactionSnapshot()); + state->snapshot = RegisterSnapshot(GetTransactionSnapshot()); - /* - * GetTransactionSnapshot() always acquires a new MVCC snapshot in - * READ COMMITTED mode. A new snapshot is guaranteed to have all - * the entries it requires in the index. - * - * We must defend against the possibility that an old xact - * snapshot was returned at higher isolation levels when that - * snapshot is not safe for index scans of the target index. This - * is possible when the snapshot sees tuples that are before the - * index's indcheckxmin horizon. Throwing an error here should be - * very rare. It doesn't seem worth using a secondary snapshot to - * avoid this. - */ - if (IsolationUsesXactSnapshot() && rel->rd_index->indcheckxmin && - !TransactionIdPrecedes(HeapTupleHeaderGetXmin(rel->rd_indextuple->t_data), - snapshot->xmin)) - ereport(ERROR, - (errcode(ERRCODE_T_R_SERIALIZATION_FAILURE), - errmsg("index \"%s\" cannot be verified using transaction snapshot", - RelationGetRelationName(rel)))); - } + /* + * GetTransactionSnapshot() always acquires a new MVCC snapshot in + * READ COMMITTED mode. A new snapshot is guaranteed to have all the + * entries it requires in the index. + * + * We must defend against the possibility that an old xact snapshot + * was returned at higher isolation levels when that snapshot is not + * safe for index scans of the target index. This is possible when + * the snapshot sees tuples that are before the index's indcheckxmin + * horizon. Throwing an error here should be very rare. It doesn't + * seem worth using a secondary snapshot to avoid this. + */ + if (IsolationUsesXactSnapshot() && rel->rd_index->indcheckxmin && + !TransactionIdPrecedes(HeapTupleHeaderGetXmin(rel->rd_indextuple->t_data), + state->snapshot->xmin)) + ereport(ERROR, + errcode(ERRCODE_T_R_SERIALIZATION_FAILURE), + errmsg("index \"%s\" cannot be verified using transaction snapshot", + RelationGetRelationName(rel))); } /* - * We need a snapshot to check the uniqueness of the index. For better - * performance take it once per index check. If snapshot already taken - * reuse it. + * We need a snapshot to check the uniqueness of the index. For better + * performance, take it once per index check. If one was already taken + * above, use that. */ if (state->checkunique) { state->indexinfo = BuildIndexInfo(state->rel); - if (state->indexinfo->ii_Unique) - { - if (snapshot != SnapshotAny) - state->snapshot = snapshot; - else - state->snapshot = RegisterSnapshot(GetTransactionSnapshot()); - } + + if (state->indexinfo->ii_Unique && state->snapshot == InvalidSnapshot) + state->snapshot = RegisterSnapshot(GetTransactionSnapshot()); } Assert(!state->rootdescend || state->readonly); @@ -681,13 +674,12 @@ /* * Create our own scan for table_index_build_scan(), rather than * getting it to do so for us. This is required so that we can - * actually use the MVCC snapshot registered earlier in !readonly - * case. + * actually use the MVCC snapshot registered earlier. * * Note that table_index_build_scan() calls heap_endscan() for us. */ scan = table_beginscan_strat(state->heaprel, /* relation */ - snapshot, /* snapshot */ + state->snapshot, /* snapshot */ 0, /* number of keys */ NULL, /* scan key */ true, /* buffer access strategy OK */ @@ -695,16 +687,15 @@ /* * Scan will behave as the first scan of a CREATE INDEX CONCURRENTLY - * behaves in !readonly case. + * behaves. * * It's okay that we don't actually use the same lock strength for the - * heap relation as any other ii_Concurrent caller would in !readonly - * case. We have no reason to care about a concurrent VACUUM - * operation, since there isn't going to be a second scan of the heap - * that needs to be sure that there was no concurrent recycling of - * TIDs. + * heap relation as any other ii_Concurrent caller would. We have no + * reason to care about a concurrent VACUUM operation, since there + * isn't going to be a second scan of the heap that needs to be sure + * that there was no concurrent recycling of TIDs. */ - indexinfo->ii_Concurrent = !state->readonly; + indexinfo->ii_Concurrent = true; /* * Don't wait for uncommitted tuple xact commit/abort when index is a @@ -728,14 +719,11 @@ state->heaptuplespresent, RelationGetRelationName(heaprel), 100.0 * bloom_prop_bits_set(state->filter)))); - if (snapshot != SnapshotAny) - UnregisterSnapshot(snapshot); - bloom_free(state->filter); } /* Be tidy: */ - if (snapshot == SnapshotAny && state->snapshot != InvalidSnapshot) + if (state->snapshot != InvalidSnapshot) UnregisterSnapshot(state->snapshot); MemoryContextDelete(state->targetcontext); } @@ -847,7 +835,7 @@ errmsg("block %u is not leftmost in index \"%s\"", current, RelationGetRelationName(state->rel)))); - if (level.istruerootlevel && !P_ISROOT(opaque)) + if (level.istruerootlevel && (!P_ISROOT(opaque) && !P_INCOMPLETE_SPLIT(opaque))) ereport(ERROR, (errcode(ERRCODE_INDEX_CORRUPTED), errmsg("block %u is not true root in index \"%s\"", @@ -2367,7 +2355,7 @@ * If we visit page with high key, check that it is equal to the * target key next to corresponding downlink. */ - if (!rightsplit && !P_RIGHTMOST(opaque)) + if (!rightsplit && !P_RIGHTMOST(opaque) && !P_ISHALFDEAD(opaque)) { BTPageOpaque topaque; IndexTuple highkey; diff -Nru postgresql-17-17.7/contrib/btree_gist/btree_utils_var.c postgresql-17-17.8/contrib/btree_gist/btree_utils_var.c --- postgresql-17-17.7/contrib/btree_gist/btree_utils_var.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/btree_gist/btree_utils_var.c 2026-02-09 21:51:54.000000000 +0000 @@ -116,36 +116,47 @@ /* * returns the common prefix length of a node key + * + * If the underlying type is character data, the prefix length may point in + * the middle of a multibyte character. */ static int32 gbt_var_node_cp_len(const GBT_VARKEY *node, const gbtree_vinfo *tinfo) { GBT_VARKEY_R r = gbt_var_key_readable(node); int32 i = 0; - int32 l = 0; + int32 l_left_to_match = 0; + int32 l_total = 0; int32 t1len = VARSIZE(r.lower) - VARHDRSZ; int32 t2len = VARSIZE(r.upper) - VARHDRSZ; int32 ml = Min(t1len, t2len); char *p1 = VARDATA(r.lower); char *p2 = VARDATA(r.upper); + const char *end1 = p1 + t1len; + const char *end2 = p2 + t2len; if (ml == 0) return 0; while (i < ml) { - if (tinfo->eml > 1 && l == 0) + if (tinfo->eml > 1 && l_left_to_match == 0) { - if ((l = pg_mblen(p1)) != pg_mblen(p2)) + l_total = pg_mblen_range(p1, end1); + if (l_total != pg_mblen_range(p2, end2)) { return i; } + l_left_to_match = l_total; } if (*p1 != *p2) { if (tinfo->eml > 1) { - return (i - l + 1); + int32 l_matched_subset = l_total - l_left_to_match; + + /* end common prefix at final byte of last matching char */ + return i - l_matched_subset; } else { @@ -155,7 +166,7 @@ p1++; p2++; - l--; + l_left_to_match--; i++; } return ml; /* lower == upper */ diff -Nru postgresql-17-17.7/contrib/dict_xsyn/dict_xsyn.c postgresql-17-17.8/contrib/dict_xsyn/dict_xsyn.c --- postgresql-17-17.7/contrib/dict_xsyn/dict_xsyn.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/dict_xsyn/dict_xsyn.c 2026-02-09 21:51:54.000000000 +0000 @@ -48,15 +48,15 @@ char *start; *end = NULL; - while (*in && t_isspace(in)) - in += pg_mblen(in); + while (*in && t_isspace_cstr(in)) + in += pg_mblen_cstr(in); if (!*in || *in == '#') return NULL; start = in; - while (*in && !t_isspace(in)) - in += pg_mblen(in); + while (*in && !t_isspace_cstr(in)) + in += pg_mblen_cstr(in); *end = in; diff -Nru postgresql-17-17.7/contrib/file_fdw/expected/file_fdw.out postgresql-17-17.8/contrib/file_fdw/expected/file_fdw.out --- postgresql-17-17.7/contrib/file_fdw/expected/file_fdw.out 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/file_fdw/expected/file_fdw.out 2026-02-09 21:51:54.000000000 +0000 @@ -415,6 +415,21 @@ p2 | 2 | xyzzy (3 rows) +-- Test DELETE/UPDATE/MERGE on a partitioned table when all partitions +-- are excluded and only the dummy root result relation remains. The +-- operation is a no-op but should not fail regardless of whether the +-- foreign child was processed (pruning off) or not (pruning on). +DROP TABLE p2; +SET enable_partition_pruning TO off; +DELETE FROM pt WHERE false; +UPDATE pt SET b = 'x' WHERE false; +MERGE INTO pt t USING (VALUES (1, 'x'::text)) AS s(a, b) + ON false WHEN MATCHED THEN UPDATE SET b = s.b; +SET enable_partition_pruning TO on; +DELETE FROM pt WHERE false; +UPDATE pt SET b = 'x' WHERE false; +MERGE INTO pt t USING (VALUES (1, 'x'::text)) AS s(a, b) + ON false WHEN MATCHED THEN UPDATE SET b = s.b; DROP TABLE pt; -- generated column tests \set filename :abs_srcdir '/data/list1.csv' diff -Nru postgresql-17-17.7/contrib/file_fdw/sql/file_fdw.sql postgresql-17-17.8/contrib/file_fdw/sql/file_fdw.sql --- postgresql-17-17.7/contrib/file_fdw/sql/file_fdw.sql 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/file_fdw/sql/file_fdw.sql 2026-02-09 21:51:54.000000000 +0000 @@ -226,6 +226,24 @@ SELECT tableoid::regclass, * FROM pt; SELECT tableoid::regclass, * FROM p1; SELECT tableoid::regclass, * FROM p2; + +-- Test DELETE/UPDATE/MERGE on a partitioned table when all partitions +-- are excluded and only the dummy root result relation remains. The +-- operation is a no-op but should not fail regardless of whether the +-- foreign child was processed (pruning off) or not (pruning on). +DROP TABLE p2; +SET enable_partition_pruning TO off; +DELETE FROM pt WHERE false; +UPDATE pt SET b = 'x' WHERE false; +MERGE INTO pt t USING (VALUES (1, 'x'::text)) AS s(a, b) + ON false WHEN MATCHED THEN UPDATE SET b = s.b; + +SET enable_partition_pruning TO on; +DELETE FROM pt WHERE false; +UPDATE pt SET b = 'x' WHERE false; +MERGE INTO pt t USING (VALUES (1, 'x'::text)) AS s(a, b) + ON false WHEN MATCHED THEN UPDATE SET b = s.b; + DROP TABLE pt; -- generated column tests diff -Nru postgresql-17-17.7/contrib/hstore/hstore_io.c postgresql-17-17.8/contrib/hstore/hstore_io.c --- postgresql-17-17.7/contrib/hstore/hstore_io.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/hstore/hstore_io.c 2026-02-09 21:51:54.000000000 +0000 @@ -64,7 +64,7 @@ errsave(state->escontext, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("syntax error in hstore, near \"%.*s\" at position %d", - pg_mblen(state->ptr), state->ptr, + pg_mblen_cstr(state->ptr), state->ptr, (int) (state->ptr - state->begin)))); /* In soft error situation, return false as convenience for caller */ return false; diff -Nru postgresql-17-17.7/contrib/intarray/_int_selfuncs.c postgresql-17-17.8/contrib/intarray/_int_selfuncs.c --- postgresql-17-17.7/contrib/intarray/_int_selfuncs.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/intarray/_int_selfuncs.c 2026-02-09 21:51:54.000000000 +0000 @@ -19,6 +19,7 @@ #include "catalog/pg_operator.h" #include "catalog/pg_statistic.h" #include "catalog/pg_type.h" +#include "commands/extension.h" #include "miscadmin.h" #include "utils/builtins.h" #include "utils/lsyscache.h" @@ -171,7 +172,18 @@ PG_RETURN_FLOAT8(0.0); } - /* The caller made sure the const is a query, so get it now */ + /* + * Verify that the Const is a query_int, else return a default estimate. + * (This could only fail if someone attached this estimator to the wrong + * operator.) + */ + if (((Const *) other)->consttype != + get_function_sibling_type(fcinfo->flinfo->fn_oid, "query_int")) + { + ReleaseVariableStats(vardata); + PG_RETURN_FLOAT8(DEFAULT_EQ_SEL); + } + query = DatumGetQueryTypeP(((Const *) other)->constvalue); /* Empty query matches nothing */ @@ -327,7 +339,12 @@ compare_val_int4(const void *a, const void *b) { int32 key = *(int32 *) a; - const Datum *t = (const Datum *) b; + int32 value = DatumGetInt32(*(const Datum *) b); - return key - DatumGetInt32(*t); + if (key < value) + return -1; + else if (key > value) + return 1; + else + return 0; } diff -Nru postgresql-17-17.7/contrib/ltree/lquery_op.c postgresql-17-17.8/contrib/ltree/lquery_op.c --- postgresql-17-17.7/contrib/ltree/lquery_op.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/ltree/lquery_op.c 2026-02-09 21:51:54.000000000 +0000 @@ -27,21 +27,22 @@ char *ptr; while (start < end && t_iseq(start, '_')) - start += pg_mblen(start); + start += pg_mblen_range(start, end); ptr = start; if (ptr >= end) return NULL; while (ptr < end && !t_iseq(ptr, '_')) - ptr += pg_mblen(ptr); + ptr += pg_mblen_range(ptr, end); *len = ptr - start; return start; } bool -compare_subnode(ltree_level *t, char *qn, int len, int (*cmpptr) (const char *, const char *, size_t), bool anyend) +compare_subnode(ltree_level *t, char *qn, int len, + ltree_prefix_eq_func prefix_eq, bool anyend) { char *endt = t->name + t->len; char *endq = qn + len; @@ -57,7 +58,7 @@ while ((tn = getlexeme(tn, endt, &lent)) != NULL) { if ((lent == lenq || (lent > lenq && anyend)) && - (*cmpptr) (qn, tn, lenq) == 0) + (*prefix_eq) (qn, lenq, tn, lent)) { isok = true; @@ -74,14 +75,29 @@ return true; } -int -ltree_strncasecmp(const char *a, const char *b, size_t s) +/* + * Check if 'a' is a prefix of 'b'. + */ +bool +ltree_prefix_eq(const char *a, size_t a_sz, const char *b, size_t b_sz) +{ + if (a_sz > b_sz) + return false; + else + return (strncmp(a, b, a_sz) == 0); +} + +/* + * Case-insensitive check if 'a' is a prefix of 'b'. + */ +bool +ltree_prefix_eq_ci(const char *a, size_t a_sz, const char *b, size_t b_sz) { - char *al = str_tolower(a, s, DEFAULT_COLLATION_OID); - char *bl = str_tolower(b, s, DEFAULT_COLLATION_OID); - int res; + char *al = str_tolower(a, a_sz, DEFAULT_COLLATION_OID); + char *bl = str_tolower(b, b_sz, DEFAULT_COLLATION_OID); + bool res; - res = strncmp(al, bl, s); + res = (strncmp(al, bl, a_sz) == 0); pfree(al); pfree(bl); @@ -109,19 +125,19 @@ for (int i = 0; i < curq->numvar; i++) { - int (*cmpptr) (const char *, const char *, size_t); + ltree_prefix_eq_func prefix_eq; - cmpptr = (curvar->flag & LVAR_INCASE) ? ltree_strncasecmp : strncmp; + prefix_eq = (curvar->flag & LVAR_INCASE) ? ltree_prefix_eq_ci : ltree_prefix_eq; if (curvar->flag & LVAR_SUBLEXEME) { - if (compare_subnode(curt, curvar->name, curvar->len, cmpptr, + if (compare_subnode(curt, curvar->name, curvar->len, prefix_eq, (curvar->flag & LVAR_ANYEND))) return success; } else if ((curvar->len == curt->len || (curt->len > curvar->len && (curvar->flag & LVAR_ANYEND))) && - (*cmpptr) (curvar->name, curt->name, curvar->len) == 0) + (*prefix_eq) (curvar->name, curvar->len, curt->name, curt->len)) return success; curvar = LVAR_NEXT(curvar); diff -Nru postgresql-17-17.7/contrib/ltree/ltree.h postgresql-17-17.8/contrib/ltree/ltree.h --- postgresql-17-17.7/contrib/ltree/ltree.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/ltree/ltree.h 2026-02-09 21:51:54.000000000 +0000 @@ -127,7 +127,7 @@ #define LQUERY_HASNOT 0x01 /* valid label chars are alphanumerics, underscores and hyphens */ -#define ISLABEL(x) ( t_isalnum(x) || t_iseq(x, '_') || t_iseq(x, '-') ) +#define ISLABEL(x) ( t_isalnum_cstr(x) || t_iseq(x, '_') || t_iseq(x, '-') ) /* full text query */ @@ -157,6 +157,8 @@ char data[FLEXIBLE_ARRAY_MEMBER]; } ltxtquery; +typedef bool (*ltree_prefix_eq_func) (const char *, size_t, const char *, size_t); + #define HDRSIZEQT MAXALIGN(VARHDRSZ + sizeof(int32)) #define COMPUTESIZE(size,lenofoperand) ( HDRSIZEQT + (size) * sizeof(ITEM) + (lenofoperand) ) #define LTXTQUERY_TOO_BIG(size,lenofoperand) \ @@ -208,9 +210,10 @@ int ltree_compare(const ltree *a, const ltree *b); bool inner_isparent(const ltree *c, const ltree *p); bool compare_subnode(ltree_level *t, char *qn, int len, - int (*cmpptr) (const char *, const char *, size_t), bool anyend); + ltree_prefix_eq_func prefix_eq, bool anyend); ltree *lca_inner(ltree **a, int len); -int ltree_strncasecmp(const char *a, const char *b, size_t s); +bool ltree_prefix_eq(const char *a, size_t a_sz, const char *b, size_t b_sz); +bool ltree_prefix_eq_ci(const char *a, size_t a_sz, const char *b, size_t b_sz); /* fmgr macros for ltree objects */ #define DatumGetLtreeP(X) ((ltree *) PG_DETOAST_DATUM(X)) diff -Nru postgresql-17-17.7/contrib/ltree/ltree_io.c postgresql-17-17.8/contrib/ltree/ltree_io.c --- postgresql-17-17.7/contrib/ltree/ltree_io.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/ltree/ltree_io.c 2026-02-09 21:51:54.000000000 +0000 @@ -55,7 +55,7 @@ ptr = buf; while (*ptr) { - charlen = pg_mblen(ptr); + charlen = pg_mblen_cstr(ptr); if (t_iseq(ptr, '.')) num++; ptr += charlen; @@ -70,7 +70,7 @@ ptr = buf; while (*ptr) { - charlen = pg_mblen(ptr); + charlen = pg_mblen_cstr(ptr); switch (state) { @@ -292,7 +292,7 @@ ptr = buf; while (*ptr) { - charlen = pg_mblen(ptr); + charlen = pg_mblen_cstr(ptr); if (t_iseq(ptr, '.')) num++; @@ -312,7 +312,7 @@ ptr = buf; while (*ptr) { - charlen = pg_mblen(ptr); + charlen = pg_mblen_cstr(ptr); switch (state) { @@ -412,7 +412,7 @@ case LQPRS_WAITFNUM: if (t_iseq(ptr, ',')) state = LQPRS_WAITSNUM; - else if (t_isdigit(ptr)) + else if (t_isdigit_cstr(ptr)) { int low = atoi(ptr); @@ -430,7 +430,7 @@ UNCHAR; break; case LQPRS_WAITSNUM: - if (t_isdigit(ptr)) + if (t_isdigit_cstr(ptr)) { int high = atoi(ptr); @@ -461,7 +461,7 @@ case LQPRS_WAITCLOSE: if (t_iseq(ptr, '}')) state = LQPRS_WAITEND; - else if (!t_isdigit(ptr)) + else if (!t_isdigit_cstr(ptr)) UNCHAR; break; case LQPRS_WAITND: @@ -472,7 +472,7 @@ } else if (t_iseq(ptr, ',')) state = LQPRS_WAITSNUM; - else if (!t_isdigit(ptr)) + else if (!t_isdigit_cstr(ptr)) UNCHAR; break; case LQPRS_WAITEND: diff -Nru postgresql-17-17.7/contrib/ltree/ltxtquery_io.c postgresql-17-17.8/contrib/ltree/ltxtquery_io.c --- postgresql-17-17.7/contrib/ltree/ltxtquery_io.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/ltree/ltxtquery_io.c 2026-02-09 21:51:54.000000000 +0000 @@ -64,7 +64,7 @@ for (;;) { - charlen = pg_mblen(state->buf); + charlen = pg_mblen_cstr(state->buf); switch (state->state) { @@ -88,7 +88,7 @@ *lenval = charlen; *flag = 0; } - else if (!t_isspace(state->buf)) + else if (!t_isspace_cstr(state->buf)) ereturn(state->escontext, ERR, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("operand syntax error"))); diff -Nru postgresql-17-17.7/contrib/ltree/ltxtquery_op.c postgresql-17-17.8/contrib/ltree/ltxtquery_op.c --- postgresql-17-17.7/contrib/ltree/ltxtquery_op.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/ltree/ltxtquery_op.c 2026-02-09 21:51:54.000000000 +0000 @@ -58,19 +58,19 @@ ltree_level *level = LTREE_FIRST(((CHKVAL *) checkval)->node); int tlen = ((CHKVAL *) checkval)->node->numlevel; char *op = ((CHKVAL *) checkval)->operand + val->distance; - int (*cmpptr) (const char *, const char *, size_t); + ltree_prefix_eq_func prefix_eq; - cmpptr = (val->flag & LVAR_INCASE) ? ltree_strncasecmp : strncmp; + prefix_eq = (val->flag & LVAR_INCASE) ? ltree_prefix_eq_ci : ltree_prefix_eq; while (tlen > 0) { if (val->flag & LVAR_SUBLEXEME) { - if (compare_subnode(level, op, val->length, cmpptr, (val->flag & LVAR_ANYEND))) + if (compare_subnode(level, op, val->length, prefix_eq, (val->flag & LVAR_ANYEND))) return true; } else if ((val->length == level->len || (level->len > val->length && (val->flag & LVAR_ANYEND))) && - (*cmpptr) (op, level->name, val->length) == 0) + (*prefix_eq) (op, val->length, level->name, level->len)) return true; tlen--; diff -Nru postgresql-17-17.7/contrib/pageinspect/heapfuncs.c postgresql-17-17.8/contrib/pageinspect/heapfuncs.c --- postgresql-17-17.7/contrib/pageinspect/heapfuncs.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pageinspect/heapfuncs.c 2026-02-09 21:51:54.000000000 +0000 @@ -101,7 +101,7 @@ ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), errmsg("invalid character \"%.*s\" in t_bits string", - pg_mblen(str + off), str + off))); + pg_mblen_cstr(str + off), str + off))); if (off % 8 == 7) bits[off / 8] = byte; diff -Nru postgresql-17-17.7/contrib/pg_trgm/Makefile postgresql-17-17.8/contrib/pg_trgm/Makefile --- postgresql-17-17.7/contrib/pg_trgm/Makefile 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pg_trgm/Makefile 2026-02-09 21:51:54.000000000 +0000 @@ -14,7 +14,7 @@ pg_trgm--1.0--1.1.sql PGFILEDESC = "pg_trgm - trigram matching" -REGRESS = pg_trgm pg_word_trgm pg_strict_word_trgm +REGRESS = pg_trgm pg_utf8_trgm pg_word_trgm pg_strict_word_trgm ifdef USE_PGXS PG_CONFIG = pg_config diff -Nru postgresql-17-17.7/contrib/pg_trgm/data/trgm_utf8.data postgresql-17-17.8/contrib/pg_trgm/data/trgm_utf8.data --- postgresql-17-17.7/contrib/pg_trgm/data/trgm_utf8.data 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/contrib/pg_trgm/data/trgm_utf8.data 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,50 @@ +Mathematics +数学 +गणित +Matemáticas +رياضيات +Mathématiques +গণিত +Matemática +Математика +ریاضی +Matematika +Mathematik +数学 +Mathematics +गणित +గణితం +Matematik +கணிதம் +數學 +Toán học +Matematika +数学 +수학 +ریاضی +Lissafi +Hisabati +Matematika +Matematica +ریاضی +ಗಣಿತ +ગણિત +คณิตศาสตร์ +ሂሳብ +गणित +ਗਣਿਤ +數學 +数学 +Iṣiro +數學 +သင်္ချာ +Herrega +رياضي +गणित +Математика +Matematyka +ഗണിതം +Matematika +رياضي +Matematika +Matematică diff -Nru postgresql-17-17.7/contrib/pg_trgm/expected/pg_utf8_trgm.out postgresql-17-17.8/contrib/pg_trgm/expected/pg_utf8_trgm.out --- postgresql-17-17.7/contrib/pg_trgm/expected/pg_utf8_trgm.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/contrib/pg_trgm/expected/pg_utf8_trgm.out 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,8 @@ +SELECT getdatabaseencoding() <> 'UTF8' AS skip_test \gset +\if :skip_test +\quit +\endif +-- Index 50 translations of the word "Mathematics" +CREATE TEMP TABLE mb (s text); +\copy mb from 'data/trgm_utf8.data' +CREATE INDEX ON mb USING gist(s gist_trgm_ops); diff -Nru postgresql-17-17.7/contrib/pg_trgm/expected/pg_utf8_trgm_1.out postgresql-17-17.8/contrib/pg_trgm/expected/pg_utf8_trgm_1.out --- postgresql-17-17.7/contrib/pg_trgm/expected/pg_utf8_trgm_1.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/contrib/pg_trgm/expected/pg_utf8_trgm_1.out 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,3 @@ +SELECT getdatabaseencoding() <> 'UTF8' AS skip_test \gset +\if :skip_test +\quit diff -Nru postgresql-17-17.7/contrib/pg_trgm/meson.build postgresql-17-17.8/contrib/pg_trgm/meson.build --- postgresql-17-17.7/contrib/pg_trgm/meson.build 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pg_trgm/meson.build 2026-02-09 21:51:54.000000000 +0000 @@ -39,6 +39,7 @@ 'regress': { 'sql': [ 'pg_trgm', + 'pg_utf8_trgm', 'pg_word_trgm', 'pg_strict_word_trgm', ], diff -Nru postgresql-17-17.7/contrib/pg_trgm/sql/pg_utf8_trgm.sql postgresql-17-17.8/contrib/pg_trgm/sql/pg_utf8_trgm.sql --- postgresql-17-17.7/contrib/pg_trgm/sql/pg_utf8_trgm.sql 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/contrib/pg_trgm/sql/pg_utf8_trgm.sql 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,9 @@ +SELECT getdatabaseencoding() <> 'UTF8' AS skip_test \gset +\if :skip_test +\quit +\endif + +-- Index 50 translations of the word "Mathematics" +CREATE TEMP TABLE mb (s text); +\copy mb from 'data/trgm_utf8.data' +CREATE INDEX ON mb USING gist(s gist_trgm_ops); diff -Nru postgresql-17-17.7/contrib/pg_trgm/trgm.h postgresql-17-17.8/contrib/pg_trgm/trgm.h --- postgresql-17-17.7/contrib/pg_trgm/trgm.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pg_trgm/trgm.h 2026-02-09 21:51:54.000000000 +0000 @@ -52,10 +52,10 @@ } while(0) #ifdef KEEPONLYALNUM -#define ISWORDCHR(c) (t_isalnum(c)) +#define ISWORDCHR(c, len) (t_isalnum_with_len(c, len)) #define ISPRINTABLECHAR(a) ( isascii( *(unsigned char*)(a) ) && (isalnum( *(unsigned char*)(a) ) || *(unsigned char*)(a)==' ') ) #else -#define ISWORDCHR(c) (!t_isspace(c)) +#define ISWORDCHR(c, len) (!t_isspace_with_len(c, len)) #define ISPRINTABLECHAR(a) ( isascii( *(unsigned char*)(a) ) && isprint( *(unsigned char*)(a) ) ) #endif #define ISPRINTABLETRGM(t) ( ISPRINTABLECHAR( ((char*)(t)) ) && ISPRINTABLECHAR( ((char*)(t))+1 ) && ISPRINTABLECHAR( ((char*)(t))+2 ) ) diff -Nru postgresql-17-17.7/contrib/pg_trgm/trgm_gist.c postgresql-17-17.8/contrib/pg_trgm/trgm_gist.c --- postgresql-17-17.7/contrib/pg_trgm/trgm_gist.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pg_trgm/trgm_gist.c 2026-02-09 21:51:54.000000000 +0000 @@ -699,10 +699,13 @@ if (ISARRKEY(newval)) { char *cache = (char *) fcinfo->flinfo->fn_extra; - TRGM *cachedVal = (TRGM *) (cache + MAXALIGN(siglen)); + TRGM *cachedVal = NULL; Size newvalsize = VARSIZE(newval); BITVECP sign; + if (cache != NULL) + cachedVal = (TRGM *) (cache + MAXALIGN(siglen)); + /* * Cache the sign data across multiple calls with the same newval. */ diff -Nru postgresql-17-17.7/contrib/pg_trgm/trgm_op.c postgresql-17-17.8/contrib/pg_trgm/trgm_op.c --- postgresql-17-17.7/contrib/pg_trgm/trgm_op.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pg_trgm/trgm_op.c 2026-02-09 21:51:54.000000000 +0000 @@ -174,18 +174,29 @@ find_word(char *str, int lenstr, char **endword, int *charlen) { char *beginword = str; + const char *endstr = str + lenstr; - while (beginword - str < lenstr && !ISWORDCHR(beginword)) - beginword += pg_mblen(beginword); + while (beginword < endstr) + { + int clen = pg_mblen_range(beginword, endstr); - if (beginword - str >= lenstr) + if (ISWORDCHR(beginword, clen)) + break; + beginword += clen; + } + + if (beginword >= endstr) return NULL; *endword = beginword; *charlen = 0; - while (*endword - str < lenstr && ISWORDCHR(*endword)) + while (*endword < endstr) { - *endword += pg_mblen(*endword); + int clen = pg_mblen_range(*endword, endstr); + + if (!ISWORDCHR(*endword, clen)) + break; + *endword += clen; (*charlen)++; } @@ -233,9 +244,9 @@ if (bytelen > charlen) { /* Find multibyte character boundaries and apply compact_trigram */ - int lenfirst = pg_mblen(str), - lenmiddle = pg_mblen(str + lenfirst), - lenlast = pg_mblen(str + lenfirst + lenmiddle); + int lenfirst = pg_mblen_unbounded(str), + lenmiddle = pg_mblen_unbounded(str + lenfirst), + lenlast = pg_mblen_unbounded(str + lenfirst + lenmiddle); while ((ptr - str) + lenfirst + lenmiddle + lenlast <= bytelen) { @@ -246,7 +257,7 @@ lenfirst = lenmiddle; lenmiddle = lenlast; - lenlast = pg_mblen(ptr + lenfirst + lenmiddle); + lenlast = pg_mblen_unbounded(ptr + lenfirst + lenmiddle); } } else @@ -726,6 +737,7 @@ { const char *beginword = str; const char *endword; + const char *endstr = str + lenstr; char *s = buf; bool in_leading_wildcard_meta = false; bool in_trailing_wildcard_meta = false; @@ -738,11 +750,13 @@ * from this loop to the next one, since we may exit at a word character * that is in_escape. */ - while (beginword - str < lenstr) + while (beginword < endstr) { + clen = pg_mblen_range(beginword, endstr); + if (in_escape) { - if (ISWORDCHR(beginword)) + if (ISWORDCHR(beginword, clen)) break; in_escape = false; in_leading_wildcard_meta = false; @@ -753,12 +767,12 @@ in_escape = true; else if (ISWILDCARDCHAR(beginword)) in_leading_wildcard_meta = true; - else if (ISWORDCHR(beginword)) + else if (ISWORDCHR(beginword, clen)) break; else in_leading_wildcard_meta = false; } - beginword += pg_mblen(beginword); + beginword += clen; } /* @@ -791,12 +805,12 @@ * string boundary. Strip escapes during copy. */ endword = beginword; - while (endword - str < lenstr) + while (endword < endstr) { - clen = pg_mblen(endword); + clen = pg_mblen_range(endword, endstr); if (in_escape) { - if (ISWORDCHR(endword)) + if (ISWORDCHR(endword, clen)) { memcpy(s, endword, clen); (*charlen)++; @@ -824,7 +838,7 @@ in_trailing_wildcard_meta = true; break; } - else if (ISWORDCHR(endword)) + else if (ISWORDCHR(endword, clen)) { memcpy(s, endword, clen); (*charlen)++; diff -Nru postgresql-17-17.7/contrib/pg_trgm/trgm_regexp.c postgresql-17-17.8/contrib/pg_trgm/trgm_regexp.c --- postgresql-17-17.7/contrib/pg_trgm/trgm_regexp.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pg_trgm/trgm_regexp.c 2026-02-09 21:51:54.000000000 +0000 @@ -481,7 +481,7 @@ static void RE_compile(regex_t *regex, text *text_re, int cflags, Oid collation); static void getColorInfo(regex_t *regex, TrgmNFA *trgmNFA); -static bool convertPgWchar(pg_wchar c, trgm_mb_char *result); +static int convertPgWchar(pg_wchar c, trgm_mb_char *result); static void transformGraph(TrgmNFA *trgmNFA); static void processState(TrgmNFA *trgmNFA, TrgmState *state); static void addKey(TrgmNFA *trgmNFA, TrgmState *state, TrgmStateKey *key); @@ -806,10 +806,11 @@ for (j = 0; j < charsCount; j++) { trgm_mb_char c; + int clen = convertPgWchar(chars[j], &c); - if (!convertPgWchar(chars[j], &c)) + if (!clen) continue; /* ok to ignore it altogether */ - if (ISWORDCHR(c.bytes)) + if (ISWORDCHR(c.bytes, clen)) colorInfo->wordChars[colorInfo->wordCharsCount++] = c; else colorInfo->containsNonWord = true; @@ -821,13 +822,15 @@ /* * Convert pg_wchar to multibyte format. - * Returns false if the character should be ignored completely. + * Returns 0 if the character should be ignored completely, else returns its + * byte length. */ -static bool +static int convertPgWchar(pg_wchar c, trgm_mb_char *result) { /* "s" has enough space for a multibyte character and a trailing NUL */ char s[MAX_MULTIBYTE_CHAR_LEN + 1]; + int clen; /* * We can ignore the NUL character, since it can never appear in a PG text @@ -835,11 +838,11 @@ * reconstructing trigrams. */ if (c == 0) - return false; + return 0; /* Do the conversion, making sure the result is NUL-terminated */ memset(s, 0, sizeof(s)); - pg_wchar2mb_with_len(&c, s, 1); + clen = pg_wchar2mb_with_len(&c, s, 1); /* * In IGNORECASE mode, we can ignore uppercase characters. We assume that @@ -861,7 +864,7 @@ if (strcmp(lowerCased, s) != 0) { pfree(lowerCased); - return false; + return 0; } pfree(lowerCased); } @@ -869,7 +872,7 @@ /* Fill result with exactly MAX_MULTIBYTE_CHAR_LEN bytes */ memcpy(result->bytes, s, MAX_MULTIBYTE_CHAR_LEN); - return true; + return clen; } diff -Nru postgresql-17-17.7/contrib/pgcrypto/Makefile postgresql-17-17.8/contrib/pgcrypto/Makefile --- postgresql-17-17.7/contrib/pgcrypto/Makefile 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/Makefile 2026-02-09 21:51:54.000000000 +0000 @@ -43,7 +43,7 @@ sha2 des 3des cast5 \ crypt-des crypt-md5 crypt-blowfish crypt-xdes \ pgp-armor pgp-decrypt pgp-encrypt pgp-encrypt-md5 $(CF_PGP_TESTS) \ - pgp-pubkey-decrypt pgp-pubkey-encrypt pgp-info + pgp-pubkey-decrypt pgp-pubkey-encrypt pgp-pubkey-session pgp-info EXTRA_CLEAN = gen-rtab diff -Nru postgresql-17-17.7/contrib/pgcrypto/expected/pgp-decrypt.out postgresql-17-17.8/contrib/pgcrypto/expected/pgp-decrypt.out --- postgresql-17-17.7/contrib/pgcrypto/expected/pgp-decrypt.out 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/expected/pgp-decrypt.out 2026-02-09 21:51:54.000000000 +0000 @@ -315,7 +315,7 @@ \xda39a3ee5e6b4b0d3255bfef95601890afd80709 (1 row) -select digest(pgp_sym_decrypt(dearmor(' +select digest(pgp_sym_decrypt_bytea(dearmor(' -----BEGIN PGP MESSAGE----- Comment: dat3.aes.sha1.mdc.s2k3.z0 @@ -387,6 +387,28 @@ select pgp_sym_decrypt(pgp_sym_encrypt_bytea('P', 'key'), 'key', 'debug=1'); NOTICE: dbg: parse_literal_data: data type=b ERROR: Not text data +-- NUL byte in text decrypt. Ciphertext source: +-- printf 'a\x00\xc' | gpg --homedir /nonexistent \ +-- --personal-compress-preferences uncompressed --textmode \ +-- --personal-cipher-preferences aes --no-emit-version --batch \ +-- --symmetric --passphrase key --armor +do $$ +begin + perform pgp_sym_decrypt(dearmor(' +-----BEGIN PGP MESSAGE----- + +jA0EBwMCXLc8pozB10Fg0jQBVUID59TLvWutJp0j6eh9ZgjqIRzdYaIymFB8y4XH +vu0YlJP5D5BX7yqZ+Pry7TlDmiFO +=rV7z +-----END PGP MESSAGE----- +'), 'key', 'debug=1'); +exception when others then + raise '%', + regexp_replace(sqlerrm, 'encoding "[^"]*"', 'encoding [REDACTED]'); +end +$$; +ERROR: invalid byte sequence for encoding [REDACTED]: 0x00 +CONTEXT: PL/pgSQL function inline_code_block line 12 at RAISE -- Decryption with a certain incorrect key yields an apparent BZip2-compressed -- plaintext. Ciphertext source: iterative pgp_sym_encrypt('secret', 'key') -- until the random prefix gave rise to that property. diff -Nru postgresql-17-17.7/contrib/pgcrypto/expected/pgp-decrypt_1.out postgresql-17-17.8/contrib/pgcrypto/expected/pgp-decrypt_1.out --- postgresql-17-17.7/contrib/pgcrypto/expected/pgp-decrypt_1.out 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/expected/pgp-decrypt_1.out 2026-02-09 21:51:54.000000000 +0000 @@ -311,7 +311,7 @@ \xda39a3ee5e6b4b0d3255bfef95601890afd80709 (1 row) -select digest(pgp_sym_decrypt(dearmor(' +select digest(pgp_sym_decrypt_bytea(dearmor(' -----BEGIN PGP MESSAGE----- Comment: dat3.aes.sha1.mdc.s2k3.z0 @@ -383,6 +383,28 @@ select pgp_sym_decrypt(pgp_sym_encrypt_bytea('P', 'key'), 'key', 'debug=1'); NOTICE: dbg: parse_literal_data: data type=b ERROR: Not text data +-- NUL byte in text decrypt. Ciphertext source: +-- printf 'a\x00\xc' | gpg --homedir /nonexistent \ +-- --personal-compress-preferences uncompressed --textmode \ +-- --personal-cipher-preferences aes --no-emit-version --batch \ +-- --symmetric --passphrase key --armor +do $$ +begin + perform pgp_sym_decrypt(dearmor(' +-----BEGIN PGP MESSAGE----- + +jA0EBwMCXLc8pozB10Fg0jQBVUID59TLvWutJp0j6eh9ZgjqIRzdYaIymFB8y4XH +vu0YlJP5D5BX7yqZ+Pry7TlDmiFO +=rV7z +-----END PGP MESSAGE----- +'), 'key', 'debug=1'); +exception when others then + raise '%', + regexp_replace(sqlerrm, 'encoding "[^"]*"', 'encoding [REDACTED]'); +end +$$; +ERROR: invalid byte sequence for encoding [REDACTED]: 0x00 +CONTEXT: PL/pgSQL function inline_code_block line 12 at RAISE -- Decryption with a certain incorrect key yields an apparent BZip2-compressed -- plaintext. Ciphertext source: iterative pgp_sym_encrypt('secret', 'key') -- until the random prefix gave rise to that property. diff -Nru postgresql-17-17.7/contrib/pgcrypto/expected/pgp-pubkey-session.out postgresql-17-17.8/contrib/pgcrypto/expected/pgp-pubkey-session.out --- postgresql-17-17.7/contrib/pgcrypto/expected/pgp-pubkey-session.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/expected/pgp-pubkey-session.out 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,47 @@ +-- Test for overflow with session key at decrypt. +-- Data automatically generated by scripts/pgp_session_data.py. +-- See this file for details explaining how this data is generated. +SELECT pgp_pub_decrypt_bytea( +'\xc1c04c030000000000000000020800a46f5b9b1905b49457a6485474f71ed9b46c2527e1 +da08e1f7871e12c3d38828f2076b984a595bf60f616599ca5729d547de06a258bfbbcd30 +94a321e4668cd43010f0ca8ecf931e5d39bda1152c50c367b11c723f270729245d3ebdbd +0694d320c5a5aa6a405fb45182acb3d7973cbce398e0c5060af7603cfd9ed186ebadd616 +3b50ae42bea5f6d14dda24e6d4687b434c175084515d562e896742b0ba9a1c87d5642e10 +a5550379c71cc490a052ada483b5d96526c0a600fc51755052aa77fdf72f7b4989b920e7 +b90f4b30787a46482670d5caecc7a515a926055ad5509d135702ce51a0e4c1033f2d939d +8f0075ec3428e17310da37d3d2d7ad1ce99adcc91cd446c366c402ae1ee38250343a7fcc +0f8bc28020e603d7a4795ef0dcc1c04c030000000000000000020800a46f5b9b1905b494 +57a6485474f71ed9b46c2527e1da08e1f7871e12c3d38828f2076b984a595bf60f616599 +ca5729d547de06a258bfbbcd3094a321e4668cd43010f0ca8ecf931e5d39bda1152c50c3 +67b11c723f270729245d3ebdbd0694d320c5a5aa6a405fb45182acb3d7973cbce398e0c5 +060af7603cfd9ed186ebadd6163b50ae42bea5f6d14dda24e6d4687b434c175084515d56 +2e896742b0ba9a1c87d5642e10a5550379c71cc490a052ada483b5d96526c0a600fc5175 +5052aa77fdf72f7b4989b920e7b90f4b30787a46482670d5caecc7a515a926055ad5509d +135702ce51a0e4c1033f2d939d8f0075ec3428e17310da37d3d2d7ad1ce99adc'::bytea, +'\xc7c2d8046965d657020800eef8bf1515adb1a3ee7825f75c668ea8dd3e3f9d13e958f6ad +9c55adc0c931a4bb00abe1d52cf7bb0c95d537949d277a5292ede375c6b2a67a3bf7d19f +f975bb7e7be35c2d8300dacba360a0163567372f7dc24000cc7cb6170bedc8f3b1f98c12 +07a6cb4de870a4bc61319b139dcc0e20c368fd68f8fd346d2c0b69c5aed560504e2ec6f1 +23086fe3c5540dc4dd155c0c67257c4ada862f90fe172ace344089da8135e92aca5c2709 +f1c1bc521798bb8c0365841496e709bd184132d387e0c9d5f26dc00fd06c3a76ef66a75c +138285038684707a847b7bd33cfbefbf1d336be954a8048946af97a66352adef8e8b5ae4 +c4748c6f2510265b7a8267bc370dbb00110100010007ff7e72d4f95d2d39901ac12ca5c5 +18e767e719e72340c3fab51c8c5ab1c40f31db8eaffe43533fa61e2dbca2c3f4396c0847 +e5434756acbb1f68128f4136bb135710c89137d74538908dac77967de9e821c559700dd9 +de5a2727eec1f5d12d5d74869dd1de45ed369d94a8814d23861dd163f8c27744b26b98f0 +239c2e6dd1e3493b8cc976fdc8f9a5e250f715aa4c3d7d5f237f8ee15d242e8fa941d1a0 +ed9550ab632d992a97518d142802cb0a97b251319bf5742db8d9d8cbaa06cdfba2d75bc9 +9d77a51ff20bd5ba7f15d7af6e85b904de2855d19af08d45f39deb85403033c69c767a8e +74a343b1d6c8911d34ea441ac3850e57808ed3d885835cbe6c79d10400ef16256f3d5c4c +3341516a2d2aa888df81b603f48a27f3666b40f992a857c1d11ff639cd764a9b42d5a1f8 +58b4aeee36b85508bb5e8b91ef88a7737770b330224479d9b44eae8c631bc43628b69549 +507c0a1af0be0dd7696015abea722b571eb35eefc4ab95595378ec12814727443f625fcd +183bb9b3bccf53b54dd0e5e7a50400ffe08537b2d4e6074e4a1727b658cfccdec8962302 +25e300c05690de45f7065c3d40d86f544a64d51a3e94424f9851a16d1322ebdb41fa8a45 +3131f3e2dc94e858e6396722643df382680f815e53bcdcde5da622f50530a83b217f1103 +cdd6e5e9babe1e415bbff28d44bd18c95f43bbd04afeb2a2a99af38a571c7540de21df03 +ff62c0a33d9143dd3f639893f47732c11c5a12c6052d1935f4d507b7ae1f76ab0e9a69b8 +7305a7f7c19bd509daf4903bff614bc26d118f03e461469c72c12d3a2bb4f78e4d342ce8 +487723649a01ed2b9eb11c662134502c098d55dfcd361939d8370873422c3da75a515a75 +9ffedfe7df44fb3c20f81650801a30d43b5c90b98b3eee'::bytea); +ERROR: Public key too big diff -Nru postgresql-17-17.7/contrib/pgcrypto/meson.build postgresql-17-17.8/contrib/pgcrypto/meson.build --- postgresql-17-17.7/contrib/pgcrypto/meson.build 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/meson.build 2026-02-09 21:51:54.000000000 +0000 @@ -51,6 +51,7 @@ 'pgp-encrypt-md5', 'pgp-pubkey-decrypt', 'pgp-pubkey-encrypt', + 'pgp-pubkey-session', 'pgp-info', ] diff -Nru postgresql-17-17.7/contrib/pgcrypto/pgp-pgsql.c postgresql-17-17.8/contrib/pgcrypto/pgp-pgsql.c --- postgresql-17-17.7/contrib/pgcrypto/pgp-pgsql.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/pgp-pgsql.c 2026-02-09 21:51:54.000000000 +0000 @@ -631,6 +631,7 @@ arg = PG_GETARG_TEXT_PP(2); res = decrypt_internal(0, 1, data, key, NULL, arg); + pg_verifymbstr(VARDATA_ANY(res), VARSIZE_ANY_EXHDR(res), false); PG_FREE_IF_COPY(data, 0); PG_FREE_IF_COPY(key, 1); @@ -732,6 +733,7 @@ arg = PG_GETARG_TEXT_PP(3); res = decrypt_internal(1, 1, data, key, psw, arg); + pg_verifymbstr(VARDATA_ANY(res), VARSIZE_ANY_EXHDR(res), false); PG_FREE_IF_COPY(data, 0); PG_FREE_IF_COPY(key, 1); diff -Nru postgresql-17-17.7/contrib/pgcrypto/pgp-pubdec.c postgresql-17-17.8/contrib/pgcrypto/pgp-pubdec.c --- postgresql-17-17.7/contrib/pgcrypto/pgp-pubdec.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/pgp-pubdec.c 2026-02-09 21:51:54.000000000 +0000 @@ -157,6 +157,7 @@ uint8 *msg; int msglen; PGP_MPI *m; + unsigned sess_key_len; pk = ctx->pub_key; if (pk == NULL) @@ -220,11 +221,19 @@ if (res < 0) goto out; + sess_key_len = msglen - 3; + if (sess_key_len > PGP_MAX_KEY) + { + px_debug("incorrect session key length=%u", sess_key_len); + res = PXE_PGP_KEY_TOO_BIG; + goto out; + } + /* * got sesskey */ ctx->cipher_algo = *msg; - ctx->sess_key_len = msglen - 3; + ctx->sess_key_len = sess_key_len; memcpy(ctx->sess_key, msg + 1, ctx->sess_key_len); out: diff -Nru postgresql-17-17.7/contrib/pgcrypto/px.c postgresql-17-17.8/contrib/pgcrypto/px.c --- postgresql-17-17.7/contrib/pgcrypto/px.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/px.c 2026-02-09 21:51:54.000000000 +0000 @@ -65,6 +65,7 @@ {PXE_PGP_UNEXPECTED_PKT, "Unexpected packet in key data"}, {PXE_PGP_MATH_FAILED, "Math operation failed"}, {PXE_PGP_SHORT_ELGAMAL_KEY, "Elgamal keys must be at least 1024 bits long"}, + {PXE_PGP_KEY_TOO_BIG, "Public key too big"}, {PXE_PGP_UNKNOWN_PUBALGO, "Unknown public-key encryption algorithm"}, {PXE_PGP_WRONG_KEY, "Wrong key"}, {PXE_PGP_MULTIPLE_KEYS, diff -Nru postgresql-17-17.7/contrib/pgcrypto/px.h postgresql-17-17.8/contrib/pgcrypto/px.h --- postgresql-17-17.7/contrib/pgcrypto/px.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/px.h 2026-02-09 21:51:54.000000000 +0000 @@ -75,7 +75,7 @@ /* -108 is unused */ #define PXE_PGP_MATH_FAILED -109 #define PXE_PGP_SHORT_ELGAMAL_KEY -110 -/* -111 is unused */ +#define PXE_PGP_KEY_TOO_BIG -111 #define PXE_PGP_UNKNOWN_PUBALGO -112 #define PXE_PGP_WRONG_KEY -113 #define PXE_PGP_MULTIPLE_KEYS -114 diff -Nru postgresql-17-17.7/contrib/pgcrypto/scripts/pgp_session_data.py postgresql-17-17.8/contrib/pgcrypto/scripts/pgp_session_data.py --- postgresql-17-17.7/contrib/pgcrypto/scripts/pgp_session_data.py 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/scripts/pgp_session_data.py 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,491 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Generate PGP data to check the session key length of the input data provided +# to pgp_pub_decrypt_bytea(). +# +# First, the crafted data is generated from valid RSA data, freshly generated +# by this script each time it is run, see generate_rsa_keypair(). +# Second, the crafted PGP data is built, see build_message_data() and +# build_key_data(). Finally, the resulting SQL script is generated. +# +# This script generates in stdout the SQL file that is used in the regression +# tests of pgcrypto. The following command can be used to regenerate the file +# which should never be manually manipulated: +# python3 scripts/pgp_session_data.py > sql/pgp-pubkey-session.sql + +import os +import re +import struct +import secrets +import sys +import time + +# pwn for binary manipulation (p32, p64) +from pwn import * + +# Cryptographic libraries, to craft the PGP data. +from Crypto.Cipher import AES +from Crypto.PublicKey import RSA +from Crypto.Util.number import inverse + +# AES key used for session key encryption (16 bytes for AES-128) +AES_KEY = b'\x01' * 16 + +def generate_rsa_keypair(key_size: int = 2048) -> dict: + """ + Generate a fresh RSA key pair. + + The generated key includes all components needed for PGP operations: + - n: public modulus (p * q) + - e: public exponent (typically 65537) + - d: private exponent (e^-1 mod phi(n)) + - p, q: prime factors of n + - u: coefficient (p^-1 mod q) for CRT optimization + + The caller can pass the wanted key size in input, for a default of 2048 + bytes. This function returns the RSA key components, after performing + some validation on them. + """ + + start_time = time.time() + + # Generate RSA key + key = RSA.generate(key_size) + + # Extract all key components + rsa_components = { + 'n': key.n, # Public modulus (p * q) + 'e': key.e, # Public exponent (typically 65537) + 'd': key.d, # Private exponent (e^-1 mod phi(n)) + 'p': key.p, # First prime factor + 'q': key.q, # Second prime factor + 'u': inverse(key.p, key.q) # Coefficient for CRT: p^-1 mod q + } + + # Validate key components for correctness + validate_rsa_key(rsa_components) + + return rsa_components + +def validate_rsa_key(rsa: dict) -> None: + """ + Validate a generated RSA key. + + This function performs basic validation to ensure the RSA key is properly + constructed and all components are consistent, at least mathematically. + + Validations performed: + 1. n = p * q (modulus is product of primes) + 2. gcd(e, phi(n)) = 1 (public exponent is coprime to phi(n)) + 3. (d * e) mod(phi(n)) = 1 (private exponent is multiplicative inverse) + 4. (u * p) (mod q) = 1 (coefficient is correct for CRT) + """ + + n, e, d, p, q, u = rsa['n'], rsa['e'], rsa['d'], rsa['p'], rsa['q'], rsa['u'] + + # Check that n = p * q + if n != p * q: + raise ValueError("RSA validation failed: n <> p * q") + + # Check that p and q are different + if p == q: + raise ValueError("RSA validation failed: p = q (not allowed)") + + # Calculate phi(n) = (p-1)(q-1) + phi_n = (p - 1) * (q - 1) + + # Check that gcd(e, phi(n)) = 1 + def gcd(a, b): + while b: + a, b = b, a % b + return a + + if gcd(e, phi_n) != 1: + raise ValueError("RSA validation failed: gcd(e, phi(n)) <> 1") + + # Check that (d * e) mod(phi(n)) = 1 + if (d * e) % phi_n != 1: + raise ValueError("RSA validation failed: d * e <> 1 (mod phi(n))") + + # Check that (u * p) (mod q) = 1 + if (u * p) % q != 1: + raise ValueError("RSA validation failed: u * p <> 1 (mod q)") + +def mpi_encode(x: int) -> bytes: + """ + Encode an integer as an OpenPGP Multi-Precision Integer (MPI). + + Format (RFC 4880, Section 3.2): + - 2 bytes: bit length of the integer (big-endian) + - N bytes: the integer in big-endian format + + This is used to encode RSA key components (n, e, d, p, q, u) in PGP + packets. + + The integer to encode is given in input, returning an MPI-encoded + integer. + + For example: + mpi_encode(65537) -> b'\x00\x11\x01\x00\x01' + (17 bits, value 0x010001) + """ + if x < 0: + raise ValueError("MPI cannot encode negative integers") + + if x == 0: + # Special case: zero has 0 bits and empty magnitude + bits = 0 + mag = b"" + else: + # Calculate bit length and convert to bytes + bits = x.bit_length() + mag = x.to_bytes((bits + 7) // 8, 'big') + + # Pack: 2-byte bit length + magnitude bytes + return struct.pack('>H', bits) + mag + +def new_packet(tag: int, payload: bytes) -> bytes: + """ + Create a new OpenPGP packet with a proper header. + + OpenPGP packet format (RFC 4880, Section 4.2): + - New packet format: 0xC0 | tag + - Length encoding depends on payload size: + * 0-191: single byte + * 192-8383: two bytes (192 + ((length - 192) >> 8), (length - 192) & 0xFF) + * 8384+: five bytes (0xFF + 4-byte big-endian length) + + The packet is built from a "tag" (1-63) and some "payload" data. The + result generated is a complete OpenPGP packet. + + For example: + new_packet(1, b'data') -> b'\xC1\x04data' + (Tag 1, length 4, payload 'data') + """ + # New packet format: set bit 7 and 6, clear bit 5, tag in bits 0-5 + first = 0xC0 | (tag & 0x3F) + ln = len(payload) + + # Encode length according to OpenPGP specification + if ln <= 191: + # Single byte length for small packets + llen = bytes([ln]) + elif ln <= 8383: + # Two-byte length for medium packets + ln2 = ln - 192 + llen = bytes([192 + (ln2 >> 8), ln2 & 0xFF]) + else: + # Five-byte length for large packets + llen = bytes([255]) + struct.pack('>I', ln) + + return bytes([first]) + llen + payload + +def build_key_data(rsa: dict) -> bytes: + """ + Build the key data, containing an RSA private key. + + The RSA contents should have been generated previously. + + Format (see RFC 4880, Section 5.5.3): + - 1 byte: version (4) + - 4 bytes: creation time (current Unix timestamp) + - 1 byte: public key algorithm (2 = RSA encrypt) + - MPI: RSA public modulus n + - MPI: RSA public exponent e + - 1 byte: string-to-key usage (0 = no encryption) + - MPI: RSA private exponent d + - MPI: RSA prime p + - MPI: RSA prime q + - MPI: RSA coefficient u = p^-1 mod q + - 2 bytes: checksum of private key material + + This function takes a set of RSA key components in input (n, e, d, p, q, u) + and returns a secret key packet. + """ + + # Public key portion + ver = bytes([4]) # Version 4 key + ctime = struct.pack('>I', int(time.time())) # Current Unix timestamp + algo = bytes([2]) # RSA encrypt algorithm + n_mpi = mpi_encode(rsa['n']) # Public modulus + e_mpi = mpi_encode(rsa['e']) # Public exponent + pub = ver + ctime + algo + n_mpi + e_mpi + + # Private key portion + hide_type = bytes([0]) # No string-to-key encryption + d_mpi = mpi_encode(rsa['d']) # Private exponent + p_mpi = mpi_encode(rsa['p']) # Prime p + q_mpi = mpi_encode(rsa['q']) # Prime q + u_mpi = mpi_encode(rsa['u']) # Coefficient u = p^-1 mod q + + # Calculate checksum of private key material (simple sum mod 65536) + private_data = d_mpi + p_mpi + q_mpi + u_mpi + cksum = sum(private_data) & 0xFFFF + + secret = hide_type + private_data + struct.pack('>H', cksum) + payload = pub + secret + + return new_packet(7, payload) + +def pgp_cfb_encrypt_resync(key, plaintext): + """ + Implement OpenPGP CFB mode with resync. + + OpenPGP CFB mode is a variant of standard CFB with a resync operation + after the first two blocks. + + Algorithm (RFC 4880, Section 13.9): + 1. Block 1: FR=zeros, encrypt full block_size bytes + 2. Block 2: FR=block1, encrypt only 2 bytes + 3. Resync: FR = block1[2:] + block2 + 4. Remaining blocks: standard CFB mode + + This function uses the following arguments: + - key: AES encryption key (16 bytes for AES-128) + - plaintext: Data to encrypt + """ + block_size = 16 # AES block size + cipher = AES.new(key[:16], AES.MODE_ECB) # Use ECB for manual CFB + ciphertext = b'' + + # Block 1: FR=zeros, encrypt full 16 bytes + FR = b'\x00' * block_size + FRE = cipher.encrypt(FR) # Encrypt the feedback register + block1 = bytes(a ^ b for a, b in zip(FRE, plaintext[0:16])) + ciphertext += block1 + + # Block 2: FR=block1, encrypt only 2 bytes + FR = block1 + FRE = cipher.encrypt(FR) + block2 = bytes(a ^ b for a, b in zip(FRE[0:2], plaintext[16:18])) + ciphertext += block2 + + # Resync: FR = block1[2:16] + block2[0:2] + # This is the key difference from standard CFB mode + FR = block1[2:] + block2 + + # Block 3+: Continue with standard CFB mode + pos = 18 + while pos < len(plaintext): + FRE = cipher.encrypt(FR) + chunk_len = min(block_size, len(plaintext) - pos) + chunk = plaintext[pos:pos+chunk_len] + enc_chunk = bytes(a ^ b for a, b in zip(FRE[:chunk_len], chunk)) + ciphertext += enc_chunk + + # Update feedback register for next iteration + if chunk_len == block_size: + FR = enc_chunk + else: + # Partial block: pad with old FR bytes + FR = enc_chunk + FR[chunk_len:] + pos += chunk_len + + return ciphertext + +def build_literal_data_packet(data: bytes) -> bytes: + """ + Build a literal data packet containing a message. + + Format (RFC 4880, Section 5.9): + - 1 byte: data format ('b' = binary, 't' = text, 'u' = UTF-8 text) + - 1 byte: filename length (0 = no filename) + - N bytes: filename (empty in this case) + - 4 bytes: date (current Unix timestamp) + - M bytes: literal data + + The data used to build the packet is given in input, with the generated + result returned. + """ + body = bytes([ + ord('b'), # Binary data format + 0, # Filename length (0 = no filename) + ]) + struct.pack('>I', int(time.time())) + data # Current timestamp + data + + return new_packet(11, body) + +def build_symenc_data_packet(sess_key: bytes, cipher_algo: int, payload: bytes) -> bytes: + """ + Build a symmetrically-encrypted data packet using AES-128-CFB. + + This packet contains encrypted data using the session key. The format + includes a random prefix, for security (see RFC 4880, Section 5.7). + + Packet structure: + - Random prefix (block_size bytes) + - Prefix repeat (last 2 bytes of prefix repeated) + - Encrypted literal data packet + + This function uses the following set of arguments: + - sess_key: Session key for encryption + - cipher_algo: Cipher algorithm identifier (7 = AES-128) + - payload: Data to encrypt (wrapped in literal data packet) + """ + block_size = 16 # AES-128 block size + key = sess_key[:16] # Use first 16 bytes for AES-128 + + # Create random prefix + repeat last 2 bytes (total 18 bytes) + # This is required by OpenPGP for integrity checking + prefix_random = secrets.token_bytes(block_size) + prefix = prefix_random + prefix_random[-2:] # 18 bytes total + + # Wrap payload in literal data packet + literal_pkt = build_literal_data_packet(payload) + + # Plaintext = prefix + literal data packet + plaintext = prefix + literal_pkt + + # Encrypt using OpenPGP CFB mode with resync + ciphertext = pgp_cfb_encrypt_resync(key, plaintext) + + return new_packet(9, ciphertext) + +def build_tag1_packet(rsa: dict, sess_key: bytes) -> bytes: + """ + Build a public-key encrypted key. + + This is a very important function, as it is able to create the packet + triggering the overflow check. This function can also be used to create + "legit" packet data. + + Format (RFC 4880, Section 5.1): + - 1 byte: version (3) + - 8 bytes: key ID (0 = any key accepted) + - 1 byte: public key algorithm (2 = RSA encrypt) + - MPI: RSA-encrypted session key + + This uses in arguments the generated RSA key pair, and the session key + to encrypt. The latter is manipulated to trigger the overflow. + + This function returns a complete packet encrypted by a session key. + """ + + # Calculate RSA modulus size in bytes + n_bytes = (rsa['n'].bit_length() + 7) // 8 + + # Session key message format: + # - 1 byte: symmetric cipher algorithm (7 = AES-128) + # - N bytes: session key + # - 2 bytes: checksum (simple sum of session key bytes) + algo_byte = bytes([7]) # AES-128 algorithm identifier + cksum = sum(sess_key) & 0xFFFF # 16-bit checksum + M = algo_byte + sess_key + struct.pack('>H', cksum) + + # PKCS#1 v1.5 padding construction + # Format: 0x02 || PS || 0x00 || M + # Total padded message must be exactly n_bytes long. + total_len = n_bytes # Total length must equal modulus size in bytes + ps_len = total_len - len(M) - 2 # Subtract 2 for 0x02 and 0x00 bytes + + if ps_len < 8: + raise ValueError(f"Padding string too short ({ps_len} bytes); need at least 8 bytes. " + f"Message length: {len(M)}, Modulus size: {n_bytes} bytes") + + # Create padding string with *ALL* bytes being 0xFF (no zero separator!) + PS = bytes([0xFF]) * ps_len + + # Construct the complete padded message + # Normal PKCS#1 v1.5 padding: 0x02 || PS || 0x00 || M + padded = bytes([0x02]) + PS + bytes([0x00]) + M + + # Verify padding construction + if len(padded) != n_bytes: + raise ValueError(f"Padded message length ({len(padded)}) doesn't match RSA modulus size ({n_bytes})") + + # Convert padded message to integer and encrypt with RSA + m_int = int.from_bytes(padded, 'big') + + # Ensure message is smaller than modulus (required for RSA) + if m_int >= rsa['n']: + raise ValueError("Padded message is larger than RSA modulus") + + # RSA encryption: c = m^e mod n + c_int = pow(m_int, rsa['e'], rsa['n']) + + # Encode encrypted result as MPI + c_mpi = mpi_encode(c_int) + + # Build complete packet + ver = bytes([3]) # Version 3 packet + key_id = b"\x00" * 8 # Key ID (0 = any key accepted) + algo = bytes([2]) # RSA encrypt algorithm + payload = ver + key_id + algo + c_mpi + + return new_packet(1, payload) + +def build_message_data(rsa: dict) -> bytes: + """ + This function creates a crafted message, with a long session key + length. + + This takes in input the RSA key components generated previously, + returning a concatenated set of PGP packets crafted for the purpose + of this test. + """ + + # Base prefix for session key (AES key + padding + size). + # Note that the crafted size is the important part for this test. + prefix = AES_KEY + b"\x00" * 16 + p32(0x10) + + # Build encrypted data packet, legit. + sedata = build_symenc_data_packet(AES_KEY, cipher_algo=7, payload=b"\x0a\x00") + + # Build multiple packets + packets = [ + # First packet, legit. + build_tag1_packet(rsa, prefix), + + # Encrypted data packet, legit. + sedata, + + # Second packet: information payload. + # + # This packet contains a longer-crafted session key, able to trigger + # the overflow check in pgcrypto. This is the critical part, and + # and you are right to pay a lot of attention here if you are + # reading this code. + build_tag1_packet(rsa, prefix) + ] + + return b"".join(packets) + +def main(): + # Default key size. + # This number can be set to a higher number if wanted, like 4096. We + # just do not need to do that here. + key_size = 2048 + + # Generate fresh RSA key pair + rsa = generate_rsa_keypair(key_size) + + # Generate the message data. + print("### Building message data", file=sys.stderr) + message_data = build_message_data(rsa) + + # Build the key containing the RSA private key + print("### Building key data", file=sys.stderr) + key_data = build_key_data(rsa) + + # Convert to hexadecimal, for the bytea used in the SQL file. + message_data = message_data.hex() + key_data = key_data.hex() + + # Split each value into lines of 72 characters, for readability. + message_data = re.sub("(.{72})", "\\1\n", message_data, 0, re.DOTALL) + key_data = re.sub("(.{72})", "\\1\n", key_data, 0, re.DOTALL) + + # Get the script filename for documentation + file_basename = os.path.basename(__file__) + + # Output the SQL test case + print(f'''-- Test for overflow with session key at decrypt. +-- Data automatically generated by scripts/{file_basename}. +-- See this file for details explaining how this data is generated. +SELECT pgp_pub_decrypt_bytea( +'\\x{message_data}'::bytea, +'\\x{key_data}'::bytea);''', + file=sys.stdout) + +if __name__ == "__main__": + main() diff -Nru postgresql-17-17.7/contrib/pgcrypto/sql/pgp-decrypt.sql postgresql-17-17.8/contrib/pgcrypto/sql/pgp-decrypt.sql --- postgresql-17-17.7/contrib/pgcrypto/sql/pgp-decrypt.sql 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/sql/pgp-decrypt.sql 2026-02-09 21:51:54.000000000 +0000 @@ -228,7 +228,7 @@ -----END PGP MESSAGE----- '), '0123456789abcdefghij'), 'sha1'); -select digest(pgp_sym_decrypt(dearmor(' +select digest(pgp_sym_decrypt_bytea(dearmor(' -----BEGIN PGP MESSAGE----- Comment: dat3.aes.sha1.mdc.s2k3.z0 @@ -282,6 +282,27 @@ -- Routine text/binary mismatch. select pgp_sym_decrypt(pgp_sym_encrypt_bytea('P', 'key'), 'key', 'debug=1'); +-- NUL byte in text decrypt. Ciphertext source: +-- printf 'a\x00\xc' | gpg --homedir /nonexistent \ +-- --personal-compress-preferences uncompressed --textmode \ +-- --personal-cipher-preferences aes --no-emit-version --batch \ +-- --symmetric --passphrase key --armor +do $$ +begin + perform pgp_sym_decrypt(dearmor(' +-----BEGIN PGP MESSAGE----- + +jA0EBwMCXLc8pozB10Fg0jQBVUID59TLvWutJp0j6eh9ZgjqIRzdYaIymFB8y4XH +vu0YlJP5D5BX7yqZ+Pry7TlDmiFO +=rV7z +-----END PGP MESSAGE----- +'), 'key', 'debug=1'); +exception when others then + raise '%', + regexp_replace(sqlerrm, 'encoding "[^"]*"', 'encoding [REDACTED]'); +end +$$; + -- Decryption with a certain incorrect key yields an apparent BZip2-compressed -- plaintext. Ciphertext source: iterative pgp_sym_encrypt('secret', 'key') -- until the random prefix gave rise to that property. diff -Nru postgresql-17-17.7/contrib/pgcrypto/sql/pgp-pubkey-session.sql postgresql-17-17.8/contrib/pgcrypto/sql/pgp-pubkey-session.sql --- postgresql-17-17.7/contrib/pgcrypto/sql/pgp-pubkey-session.sql 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/contrib/pgcrypto/sql/pgp-pubkey-session.sql 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,46 @@ +-- Test for overflow with session key at decrypt. +-- Data automatically generated by scripts/pgp_session_data.py. +-- See this file for details explaining how this data is generated. +SELECT pgp_pub_decrypt_bytea( +'\xc1c04c030000000000000000020800a46f5b9b1905b49457a6485474f71ed9b46c2527e1 +da08e1f7871e12c3d38828f2076b984a595bf60f616599ca5729d547de06a258bfbbcd30 +94a321e4668cd43010f0ca8ecf931e5d39bda1152c50c367b11c723f270729245d3ebdbd +0694d320c5a5aa6a405fb45182acb3d7973cbce398e0c5060af7603cfd9ed186ebadd616 +3b50ae42bea5f6d14dda24e6d4687b434c175084515d562e896742b0ba9a1c87d5642e10 +a5550379c71cc490a052ada483b5d96526c0a600fc51755052aa77fdf72f7b4989b920e7 +b90f4b30787a46482670d5caecc7a515a926055ad5509d135702ce51a0e4c1033f2d939d +8f0075ec3428e17310da37d3d2d7ad1ce99adcc91cd446c366c402ae1ee38250343a7fcc +0f8bc28020e603d7a4795ef0dcc1c04c030000000000000000020800a46f5b9b1905b494 +57a6485474f71ed9b46c2527e1da08e1f7871e12c3d38828f2076b984a595bf60f616599 +ca5729d547de06a258bfbbcd3094a321e4668cd43010f0ca8ecf931e5d39bda1152c50c3 +67b11c723f270729245d3ebdbd0694d320c5a5aa6a405fb45182acb3d7973cbce398e0c5 +060af7603cfd9ed186ebadd6163b50ae42bea5f6d14dda24e6d4687b434c175084515d56 +2e896742b0ba9a1c87d5642e10a5550379c71cc490a052ada483b5d96526c0a600fc5175 +5052aa77fdf72f7b4989b920e7b90f4b30787a46482670d5caecc7a515a926055ad5509d +135702ce51a0e4c1033f2d939d8f0075ec3428e17310da37d3d2d7ad1ce99adc'::bytea, +'\xc7c2d8046965d657020800eef8bf1515adb1a3ee7825f75c668ea8dd3e3f9d13e958f6ad +9c55adc0c931a4bb00abe1d52cf7bb0c95d537949d277a5292ede375c6b2a67a3bf7d19f +f975bb7e7be35c2d8300dacba360a0163567372f7dc24000cc7cb6170bedc8f3b1f98c12 +07a6cb4de870a4bc61319b139dcc0e20c368fd68f8fd346d2c0b69c5aed560504e2ec6f1 +23086fe3c5540dc4dd155c0c67257c4ada862f90fe172ace344089da8135e92aca5c2709 +f1c1bc521798bb8c0365841496e709bd184132d387e0c9d5f26dc00fd06c3a76ef66a75c +138285038684707a847b7bd33cfbefbf1d336be954a8048946af97a66352adef8e8b5ae4 +c4748c6f2510265b7a8267bc370dbb00110100010007ff7e72d4f95d2d39901ac12ca5c5 +18e767e719e72340c3fab51c8c5ab1c40f31db8eaffe43533fa61e2dbca2c3f4396c0847 +e5434756acbb1f68128f4136bb135710c89137d74538908dac77967de9e821c559700dd9 +de5a2727eec1f5d12d5d74869dd1de45ed369d94a8814d23861dd163f8c27744b26b98f0 +239c2e6dd1e3493b8cc976fdc8f9a5e250f715aa4c3d7d5f237f8ee15d242e8fa941d1a0 +ed9550ab632d992a97518d142802cb0a97b251319bf5742db8d9d8cbaa06cdfba2d75bc9 +9d77a51ff20bd5ba7f15d7af6e85b904de2855d19af08d45f39deb85403033c69c767a8e +74a343b1d6c8911d34ea441ac3850e57808ed3d885835cbe6c79d10400ef16256f3d5c4c +3341516a2d2aa888df81b603f48a27f3666b40f992a857c1d11ff639cd764a9b42d5a1f8 +58b4aeee36b85508bb5e8b91ef88a7737770b330224479d9b44eae8c631bc43628b69549 +507c0a1af0be0dd7696015abea722b571eb35eefc4ab95595378ec12814727443f625fcd +183bb9b3bccf53b54dd0e5e7a50400ffe08537b2d4e6074e4a1727b658cfccdec8962302 +25e300c05690de45f7065c3d40d86f544a64d51a3e94424f9851a16d1322ebdb41fa8a45 +3131f3e2dc94e858e6396722643df382680f815e53bcdcde5da622f50530a83b217f1103 +cdd6e5e9babe1e415bbff28d44bd18c95f43bbd04afeb2a2a99af38a571c7540de21df03 +ff62c0a33d9143dd3f639893f47732c11c5a12c6052d1935f4d507b7ae1f76ab0e9a69b8 +7305a7f7c19bd509daf4903bff614bc26d118f03e461469c72c12d3a2bb4f78e4d342ce8 +487723649a01ed2b9eb11c662134502c098d55dfcd361939d8370873422c3da75a515a75 +9ffedfe7df44fb3c20f81650801a30d43b5c90b98b3eee'::bytea); diff -Nru postgresql-17-17.7/contrib/unaccent/unaccent.c postgresql-17-17.8/contrib/unaccent/unaccent.c --- postgresql-17-17.7/contrib/unaccent/unaccent.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/contrib/unaccent/unaccent.c 2026-02-09 21:51:54.000000000 +0000 @@ -155,9 +155,9 @@ state = 0; for (ptr = line; *ptr; ptr += ptrlen) { - ptrlen = pg_mblen(ptr); + ptrlen = pg_mblen_cstr(ptr); /* ignore whitespace, but end src or trg */ - if (t_isspace(ptr)) + if (t_isspace_cstr(ptr)) { if (state == 1) state = 2; @@ -381,6 +381,7 @@ char *srcchar = (char *) PG_GETARG_POINTER(1); int32 len = PG_GETARG_INT32(2); char *srcstart = srcchar; + const char *srcend = srcstart + len; TSLexeme *res; StringInfoData buf; @@ -408,7 +409,7 @@ } else { - matchlen = pg_mblen(srcchar); + matchlen = pg_mblen_range(srcchar, srcend); if (buf.data != NULL) appendBinaryStringInfo(&buf, srcchar, matchlen); } diff -Nru postgresql-17-17.7/debian/changelog postgresql-17-17.8/debian/changelog --- postgresql-17-17.7/debian/changelog 2025-12-25 18:03:31.000000000 +0000 +++ postgresql-17-17.8/debian/changelog 2026-02-10 10:26:19.000000000 +0000 @@ -1,3 +1,54 @@ +postgresql-17 (17.8-0+deb13u1) trixie-security; urgency=medium + + * New upstream version 17.8. + + + Guard against unexpected dimensions of oidvector/int2vector (Tom Lane) + + These data types are expected to be 1-dimensional arrays containing no + nulls, but there are cast pathways that permit violating those + expectations. Add checks to some functions that were depending on those + expectations without verifying them, and could misbehave in consequence. + + The PostgreSQL Project thanks Altan Birler for reporting this problem. + (CVE-2026-2003) + + + Harden selectivity estimators against being attached to operators that + accept unexpected data types (Tom Lane) + + contrib/intarray contained a selectivity estimation function that could + be abused for arbitrary code execution, because it did not check that + its input was of the expected data type. Third-party extensions should + check for similar hazards and add defenses using the technique intarray + now uses. Since such extension fixes will take time, we now require + superuser privilege to attach a non-built-in selectivity estimator to an + operator. + + The PostgreSQL Project thanks Daniel Firer, as part of zeroday.cloud, + for reporting this problem. (CVE-2026-2004) + + + Fix buffer overrun in contrib/pgcrypto's PGP decryption functions + (Michael Paquier) + + Decrypting a crafted message with an overlength session key caused a + buffer overrun, with consequences as bad as arbitrary code execution. + + The PostgreSQL Project thanks Team Xint Code, as part of zeroday.cloud, + for reporting this problem. (CVE-2026-2005) + + + Fix inadequate validation of multibyte character lengths + (Thomas Munro, Noah Misch) + + Assorted bugs allowed an attacker able to issue crafted SQL to overrun + string buffers, with consequences as bad as arbitrary code execution. + After these fixes, applications may observe invalid byte sequence for + encoding errors when string functions process invalid text that has been + stored in the database. + + The PostgreSQL Project thanks Paul Gerste and Moritz Sanft, as part of + zeroday.cloud, for reporting this problem. (CVE-2026-2006) + + -- Christoph Berg Tue, 10 Feb 2026 11:26:19 +0100 + postgresql-17 (17.7-0+deb13u1) trixie; urgency=medium * New upstream version 17.7. diff -Nru postgresql-17-17.7/doc/src/sgml/amcheck.sgml postgresql-17-17.8/doc/src/sgml/amcheck.sgml --- postgresql-17-17.7/doc/src/sgml/amcheck.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/amcheck.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -362,7 +362,7 @@ verification functions is true, an additional phase of verification is performed against the table associated with the target index relation. This consists of a dummy - CREATE INDEX operation, which checks for the + CREATE INDEX CONCURRENTLY operation, which checks for the presence of all hypothetical new index tuples against a temporary, in-memory summarizing structure (this is built when needed during the basic first phase of verification). The summarizing structure diff -Nru postgresql-17-17.7/doc/src/sgml/config.sgml postgresql-17-17.8/doc/src/sgml/config.sgml --- postgresql-17-17.7/doc/src/sgml/config.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/config.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -1603,7 +1603,7 @@ This parameter determines whether the passphrase command set by ssl_passphrase_command will also be called during a configuration reload if a key file needs a passphrase. If this - parameter is off (the default), then + parameter is off (the default), then ssl_passphrase_command will be ignored during a reload and the SSL configuration will not be reloaded if a passphrase is needed. That setting is appropriate for a command that requires a @@ -1612,6 +1612,12 @@ passphrase is obtained from a file, for example. + This parameter must be set to on when running on + Windows since all connections + will perform a configuration reload due to the different process model + of that platform. + + This parameter can only be set in the postgresql.conf file or on the server command line. @@ -2289,6 +2295,43 @@ + + file_extend_method (enum) + + file_extend_method configuration parameter + + + + + Specifies the method used to extend data files during bulk operations + such as COPY. The first available option is used as + the default, depending on the operating system: + + + + posix_fallocate (Unix) uses the standard POSIX + interface for allocating disk space, but is missing on some systems. + If it is present but the underlying file system doesn't support it, + this option silently falls back to write_zeros. + Current versions of BTRFS are known to disable compression when + this option is used. + This is the default on systems that have the function. + + + + + write_zeros extends files by writing out blocks + of zero bytes. This is the default on systems that don't have the + function posix_fallocate. + + + + The write_zeros method is always used when data + files are extended by 8 blocks or fewer. + + + + max_notify_queue_pages (integer) @@ -4583,45 +4626,6 @@ - - synchronized_standby_slots (string) - - synchronized_standby_slots configuration parameter - - - - - A comma-separated list of streaming replication standby server slot names - that logical WAL sender processes will wait for. Logical WAL sender processes - will send decoded changes to plugins only after the specified replication - slots confirm receiving WAL. This guarantees that logical replication - failover slots do not consume changes until those changes are received - and flushed to corresponding physical standbys. If a - logical replication connection is meant to switch to a physical standby - after the standby is promoted, the physical replication slot for the - standby should be listed here. Note that logical replication will not - proceed if the slots specified in the - synchronized_standby_slots do not exist or are invalidated. - Additionally, the replication management functions - - pg_replication_slot_advance, - - pg_logical_slot_get_changes, and - - pg_logical_slot_peek_changes, - when used with logical failover slots, will block until all - physical slots specified in synchronized_standby_slots have - confirmed WAL receipt. - - - The standbys corresponding to the physical replication slots in - synchronized_standby_slots must configure - sync_replication_slots = true so they can receive - logical failover slot changes from the primary. - - - - @@ -4768,6 +4772,45 @@ file or on the server command line. + + + + synchronized_standby_slots (string) + + synchronized_standby_slots configuration parameter + + + + + A comma-separated list of streaming replication standby server slot names + that logical WAL sender processes will wait for. Logical WAL sender processes + will send decoded changes to plugins only after the specified replication + slots confirm receiving WAL. This guarantees that logical replication + failover slots do not consume changes until those changes are received + and flushed to corresponding physical standbys. If a + logical replication connection is meant to switch to a physical standby + after the standby is promoted, the physical replication slot for the + standby should be listed here. Note that logical replication will not + proceed if the slots specified in the + synchronized_standby_slots do not exist or are invalidated. + Additionally, the replication management functions + + pg_replication_slot_advance, + + pg_logical_slot_get_changes, and + + pg_logical_slot_peek_changes, + when used with logical failover slots, will block until all + physical slots specified in synchronized_standby_slots have + confirmed WAL receipt. + + + The standbys corresponding to the physical replication slots in + synchronized_standby_slots must configure + sync_replication_slots = true so they can receive + logical failover slot changes from the primary. + + diff -Nru postgresql-17-17.7/doc/src/sgml/ddl.sgml postgresql-17-17.8/doc/src/sgml/ddl.sgml --- postgresql-17-17.7/doc/src/sgml/ddl.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/ddl.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -1468,7 +1468,7 @@ locate the row version very quickly, a row's ctid will change if it is updated or moved by VACUUM FULL. Therefore - ctid is useless as a long-term row + ctid should not be used as a row identifier. A primary key should be used to identify logical rows. @@ -1863,6 +1863,8 @@ Superusers can always do this; ordinary roles can only do it if they are both the current owner of the object (or inherit the privileges of the owning role) and able to SET ROLE to the new owning role. + All object privileges of the old owner are transferred to the new owner + along with the ownership. diff -Nru postgresql-17-17.7/doc/src/sgml/ecpg.sgml postgresql-17-17.8/doc/src/sgml/ecpg.sgml --- postgresql-17-17.7/doc/src/sgml/ecpg.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/ecpg.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -1823,7 +1823,7 @@ representation of that type is (%f,%f), which is defined in the functions complex_in() - and complex_out() functions + and complex_out() in . The following example inserts the complex type values (1,1) and (3,3) into the diff -Nru postgresql-17-17.7/doc/src/sgml/file-fdw.sgml postgresql-17-17.8/doc/src/sgml/file-fdw.sgml --- postgresql-17-17.7/doc/src/sgml/file-fdw.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/file-fdw.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -116,6 +116,17 @@ + default + + + + Specifies the string that represents a default value, + the same as COPY's DEFAULT option. + + + + + encoding diff -Nru postgresql-17-17.7/doc/src/sgml/func.sgml postgresql-17-17.8/doc/src/sgml/func.sgml --- postgresql-17-17.7/doc/src/sgml/func.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/func.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -25948,6 +25948,21 @@ + pg_get_partition_constraintdef + + pg_get_partition_constraintdef ( table oid ) + text + + + Reconstructs the definition of a partition constraint. + (This is a decompiled reconstruction, not the original text + of the command.) + + + + + + pg_get_partkeydef pg_get_partkeydef ( table oid ) diff -Nru postgresql-17-17.7/doc/src/sgml/hash.sgml postgresql-17-17.8/doc/src/sgml/hash.sgml --- postgresql-17-17.7/doc/src/sgml/hash.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/hash.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -125,11 +125,10 @@ Both scanning the index and inserting tuples require locating the bucket where a given tuple ought to be located. To do this, we need the bucket count, highmask, and lowmask from the metapage; however, it's undesirable - for performance reasons to have to have to lock and pin the metapage for - every such operation. Instead, we retain a cached copy of the metapage - in each backend's relcache entry. This will produce the correct bucket - mapping as long as the target bucket hasn't been split since the last - cache refresh. + for performance reasons to have to lock and pin the metapage for every such + operation. Instead, we retain a cached copy of the metapage in each + backend's relcache entry. This will produce the correct bucket mapping as + long as the target bucket hasn't been split since the last cache refresh. diff -Nru postgresql-17-17.7/doc/src/sgml/history.sgml postgresql-17-17.8/doc/src/sgml/history.sgml --- postgresql-17-17.7/doc/src/sgml/history.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/history.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -165,7 +165,7 @@ A short tutorial introducing regular SQL features as well as those of Postgres95 was distributed with the - source code + source code. diff -Nru postgresql-17-17.7/doc/src/sgml/legal.sgml postgresql-17-17.8/doc/src/sgml/legal.sgml --- postgresql-17-17.7/doc/src/sgml/legal.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/legal.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -1,9 +1,9 @@ -2025 +2026 - 1996–2025 + 1996–2026 The PostgreSQL Global Development Group @@ -16,7 +16,7 @@ - Portions Copyright © 1996-2025, PostgreSQL Global Development Group + Portions Copyright © 1996-2026, PostgreSQL Global Development Group Portions Copyright © 1994, The Regents of the University of California diff -Nru postgresql-17-17.7/doc/src/sgml/plpgsql.sgml postgresql-17-17.8/doc/src/sgml/plpgsql.sgml --- postgresql-17-17.7/doc/src/sgml/plpgsql.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/plpgsql.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -4948,13 +4948,13 @@ Variable substitution currently works only in SELECT, INSERT, UPDATE, - DELETE, and commands containing one of - these (such as EXPLAIN and CREATE TABLE - ... AS SELECT), - because the main SQL engine allows query parameters only in these - commands. To use a non-constant name or value in other statement - types (generically called utility statements), you must construct - the utility statement as a string and EXECUTE it. + DELETE, MERGE and commands + containing one of these (such as EXPLAIN and + CREATE TABLE ... AS SELECT), because the main SQL + engine allows query parameters only in these commands. To use a + non-constant name or value in other statement types (generically called + utility statements), you must construct the utility statement as a string + and EXECUTE it. diff -Nru postgresql-17-17.7/doc/src/sgml/ref/alter_publication.sgml postgresql-17-17.8/doc/src/sgml/ref/alter_publication.sgml --- postgresql-17-17.7/doc/src/sgml/ref/alter_publication.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/ref/alter_publication.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -23,15 +23,24 @@ ALTER PUBLICATION name ADD publication_object [, ...] ALTER PUBLICATION name SET publication_object [, ...] -ALTER PUBLICATION name DROP publication_object [, ...] +ALTER PUBLICATION name DROP publication_drop_object [, ...] ALTER PUBLICATION name SET ( publication_parameter [= value] [, ... ] ) ALTER PUBLICATION name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER PUBLICATION name RENAME TO new_name where publication_object is one of: - TABLE [ ONLY ] table_name [ * ] [ ( column_name [, ... ] ) ] [ WHERE ( expression ) ] [, ... ] + TABLE table_and_columns [, ... ] TABLES IN SCHEMA { schema_name | CURRENT_SCHEMA } [, ... ] + +and publication_drop_object is one of: + + TABLE [ ONLY ] table_name [ * ] [, ... ] + TABLES IN SCHEMA { schema_name | CURRENT_SCHEMA } [, ... ] + +and table_and_columns is: + + [ ONLY ] table_name [ * ] [ ( column_name [, ... ] ) ] [ WHERE ( expression ) ] @@ -57,8 +66,7 @@ DROP TABLES IN SCHEMA will not drop any schema tables that were specified using FOR TABLE/ - ADD TABLE, and the combination of DROP - with a WHERE clause is not allowed. + ADD TABLE. diff -Nru postgresql-17-17.7/doc/src/sgml/ref/create_policy.sgml postgresql-17-17.8/doc/src/sgml/ref/create_policy.sgml --- postgresql-17-17.7/doc/src/sgml/ref/create_policy.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/ref/create_policy.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -49,6 +49,8 @@ in WITH CHECK. When a USING expression returns true for a given row then that row is visible to the user, while if false or null is returned then the row is not visible. + Typically, no error occurs when a row is not visible, but see + for exceptions. When a WITH CHECK expression returns true for a row then that row is inserted or updated, while if false or null is returned then an error occurs. @@ -194,8 +196,9 @@ rows for which the expression returns false or null will not be visible to the user (in a SELECT), and will not be available for modification (in an UPDATE - or DELETE). Such rows are silently suppressed; no error - is reported. + or DELETE). Typically, such rows are silently + suppressed; no error is reported (but see + for exceptions). @@ -251,8 +254,10 @@ otherwise). If an INSERT or UPDATE command attempts to add rows to the table that do not pass the ALL - policy's WITH CHECK expression, the entire - command will be aborted. + policy's WITH CHECK expression (or its + USING expression, if it does not have a + WITH CHECK expression), the entire command will + be aborted. @@ -268,11 +273,50 @@ relation that pass the SELECT policy will be returned during a SELECT query, and that queries that require SELECT permissions, such as - UPDATE, will also only see those records + UPDATE, DELETE, and + MERGE, will also only see those records that are allowed by the SELECT policy. A SELECT policy cannot have a WITH CHECK expression, as it only applies in cases where - records are being retrieved from the relation. + records are being retrieved from the relation, except as described + below. + + + If a data-modifying query has a RETURNING clause, + SELECT permissions are required on the relation, + and any newly inserted or updated rows from the relation must satisfy + the relation's SELECT policies in order to be + available to the RETURNING clause. If a newly + inserted or updated row does not satisfy the relation's + SELECT policies, an error will be thrown (inserted + or updated rows to be returned are never + silently ignored). + + + If an INSERT has an ON CONFLICT DO + NOTHING/UPDATE clause, SELECT + permissions are required on the relation, and the rows proposed for + insertion are checked using the relation's SELECT + policies. If a row proposed for insertion does not satisfy the + relation's SELECT policies, an error is thrown + (the INSERT is never silently + avoided). In addition, if the UPDATE path is + taken, the row to be updated and the new updated row are checked + against the relation's SELECT policies, and an + error is thrown if they are not satisfied (an auxiliary + UPDATE is never silently + avoided). + + + A MERGE command requires SELECT + permissions on both the source and target relations, and so each + relation's SELECT policies are applied before they + are joined, and the MERGE actions will only see + those records that are allowed by those policies. In addition, if + an UPDATE action is executed, the target relation's + SELECT policies are applied to the updated row, as + for a standalone UPDATE, except that an error is + thrown if they are not satisfied. @@ -292,10 +336,11 @@ where records are being added to the relation. - Note that INSERT with ON CONFLICT DO - UPDATE checks INSERT policies' - WITH CHECK expressions only for rows appended - to the relation by the INSERT path. + Note that an INSERT with an ON CONFLICT + DO NOTHING/UPDATE clause will check the + INSERT policies' WITH CHECK + expressions for all rows proposed for insertion, regardless of + whether or not they end up being inserted. @@ -305,12 +350,12 @@ Using UPDATE for a policy means that it will apply - to UPDATE, SELECT FOR UPDATE + to UPDATE, SELECT FOR UPDATE, and SELECT FOR SHARE commands, as well as auxiliary ON CONFLICT DO UPDATE clauses of - INSERT commands. - MERGE commands containing UPDATE - actions are affected as well. Since UPDATE + INSERT commands, and MERGE + commands containing UPDATE actions. + Since an UPDATE command involves pulling an existing record and replacing it with a new modified record, UPDATE policies accept both a USING expression and @@ -356,7 +401,8 @@ command, if the existing row does not pass the USING expressions, an error will be thrown (the UPDATE path will never be silently - avoided). + avoided). The same applies to an UPDATE action + of a MERGE command. @@ -366,12 +412,18 @@ Using DELETE for a policy means that it will apply - to DELETE commands. Only rows that pass this - policy will be seen by a DELETE command. There can - be rows that are visible through a SELECT that are - not available for deletion, if they do not pass the - USING expression for - the DELETE policy. + to DELETE commands and MERGE + commands containing DELETE actions. For a + DELETE command, only rows that pass this policy + will be seen by the DELETE command. There can + be rows that are visible through a SELECT policy + that are not available for deletion, if they do not pass the + USING expression for the DELETE + policy. Note, however, that a DELETE action in a + MERGE command will see rows that are visible + through SELECT policies, and if the + DELETE policy does not pass for such a row, an + error will be thrown. @@ -400,6 +452,15 @@ + + summarizes how the different + types of policy apply to specific commands. In the table, + check means that the policy expression is checked and an + error is thrown if it returns false or null, whereas filter + means that the row is silently ignored if the policy expression returns + false or null. + + Policies Applied by Command Type @@ -424,8 +485,8 @@ - SELECT - Existing row + SELECT / COPY ... TO + Filter existing row @@ -433,63 +494,117 @@ SELECT FOR UPDATE/SHARE - Existing row + Filter existing row - Existing row + Filter existing row - INSERT / MERGE ... THEN INSERT + INSERT + + Check new row  + + If read access is required to either the existing or new row (for + example, a WHERE or RETURNING + clause that refers to columns from the relation). + + + + Check new row - New row + + + UPDATE + + Filter existing row  & + check new row  + + + Filter existing row + Check new row - INSERT ... RETURNING + DELETE - New row + Filter existing row  + + + + + Filter existing row + + + INSERT ... ON CONFLICT + + Check new row  - If read access is required to the existing or new row (for example, - a WHERE or RETURNING clause - that refers to columns from the relation). + Row proposed for insertion is checked regardless of whether or not a + conflict occurs. - New row + + Check new row  + - UPDATE / MERGE ... THEN UPDATE + ON CONFLICT DO UPDATE - Existing & new rows + Check existing & new rows  + + New row of the auxiliary UPDATE command, which + might be different from the new row of the original + INSERT command. + + - Existing row - New row + Check existing row + + Check new row  + - DELETE + MERGE + Filter source & target rows + + + + + + + MERGE ... THEN INSERT - Existing row + Check new row  + Check new row - Existing row - ON CONFLICT DO UPDATE - Existing & new rows + MERGE ... THEN UPDATE + Check new row + + Check existing row + Check new row + + + + MERGE ... THEN DELETE + + - Existing row - New row + Check existing row diff -Nru postgresql-17-17.7/doc/src/sgml/ref/create_publication.sgml postgresql-17-17.8/doc/src/sgml/ref/create_publication.sgml --- postgresql-17-17.7/doc/src/sgml/ref/create_publication.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/ref/create_publication.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -28,8 +28,12 @@ where publication_object is one of: - TABLE [ ONLY ] table_name [ * ] [ ( column_name [, ... ] ) ] [ WHERE ( expression ) ] [, ... ] + TABLE table_and_columns [, ... ] TABLES IN SCHEMA { schema_name | CURRENT_SCHEMA } [, ... ] + +and table_and_columns is: + + [ ONLY ] table_name [ * ] [ ( column_name [, ... ] ) ] [ WHERE ( expression ) ] @@ -192,13 +196,15 @@ publish_via_partition_root (boolean) - This parameter determines whether changes in a partitioned table (or - on its partitions) contained in the publication will be published - using the identity and schema of the partitioned table rather than - that of the individual partitions that are actually changed; the - latter is the default. Enabling this allows the changes to be - replicated into a non-partitioned table or a partitioned table - consisting of a different set of partitions. + This parameter controls how changes to a partitioned table (or any of + its partitions) are published. When set to true, + changes are published using the identity and schema of the + root partitioned table. When set to false (the + default), changes are published using the identity and schema of the + individual partitions where the changes actually occurred. Enabling + this option allows the changes to be replicated into a + non-partitioned table or into a partitioned table whose partition + structure differs from that of the publisher. diff -Nru postgresql-17-17.7/doc/src/sgml/ref/create_table.sgml postgresql-17-17.8/doc/src/sgml/ref/create_table.sgml --- postgresql-17-17.7/doc/src/sgml/ref/create_table.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/ref/create_table.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -1283,8 +1283,8 @@ REFERENCES (foreign key) constraints accept this clause. NOT NULL and CHECK constraints are not deferrable. Note that deferrable constraints cannot be used as - conflict arbitrators in an INSERT statement that - includes an ON CONFLICT DO UPDATE clause. + conflict arbiters in an INSERT statement that + includes an ON CONFLICT clause. diff -Nru postgresql-17-17.7/doc/src/sgml/ref/createuser.sgml postgresql-17-17.8/doc/src/sgml/ref/createuser.sgml --- postgresql-17-17.7/doc/src/sgml/ref/createuser.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/ref/createuser.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -539,7 +539,7 @@ $ createuser -P -s -e joeEnter password for new role: xyzzyEnter it again: xyzzy -CREATE ROLE joe PASSWORD 'md5b5f5ba1a423792b526f799ae4eb3d59e' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN; +CREATE ROLE joe PASSWORD 'SCRAM-SHA-256$4096:44560wPMLfjqiAzyPDZ/eQ==$4CA054rZlSFEq8Z3FEhToBTa2X6KnWFxFkPwIbKoDe0=:L/nbSZRCjp6RhOhKK56GoR1zibCCSePKshCJ9lnl3yw=' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN NOREPLICATION NOBYPASSRLS; In the above example, the new password isn't actually echoed when typed, but we show what was typed for clarity. As you see, the password is diff -Nru postgresql-17-17.7/doc/src/sgml/ref/delete.sgml postgresql-17-17.8/doc/src/sgml/ref/delete.sgml --- postgresql-17-17.7/doc/src/sgml/ref/delete.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/ref/delete.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -285,6 +285,9 @@ USING delete_batch AS del WHERE dl.ctid = del.ctid; + This use of ctid is only safe because + the query is repeatedly run, avoiding the problem of changed + ctids. diff -Nru postgresql-17-17.7/doc/src/sgml/ref/update.sgml postgresql-17-17.8/doc/src/sgml/ref/update.sgml --- postgresql-17-17.7/doc/src/sgml/ref/update.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/ref/update.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -470,6 +470,9 @@ WHERE work_item.ctid = emr.ctid; This command will need to be repeated until no rows remain to be updated. + (This use of ctid is only safe because + the query is repeatedly run, avoiding the problem of changed + ctids.) Use of an ORDER BY clause allows the command to prioritize which rows will be updated; it can also prevent deadlock with other update operations if they use the same ordering. diff -Nru postgresql-17-17.7/doc/src/sgml/release-17.sgml postgresql-17-17.8/doc/src/sgml/release-17.sgml --- postgresql-17-17.7/doc/src/sgml/release-17.sgml 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/doc/src/sgml/release-17.sgml 2026-02-09 21:51:54.000000000 +0000 @@ -1,6 +1,1375 @@ + + Release 17.8 + + + Release date: + 2026-02-12 + + + + This release contains a variety of fixes from 17.7. + For information about new features in major release 17, see + . + + + + Migration to Version 17.8 + + + A dump/restore is not required for those running 17.X. + + + + However, if you are upgrading from a version earlier than 17.6, + see . + + + + + Changes + + + + + + + Guard against unexpected dimensions + of oidvector/int2vector (Tom Lane) + § + + + + These data types are expected to be 1-dimensional arrays containing + no nulls, but there are cast pathways that permit violating those + expectations. Add checks to some functions that were depending on + those expectations without verifying them, and could misbehave in + consequence. + + + + The PostgreSQL Project thanks + Altan Birler for reporting this problem. + (CVE-2026-2003) + + + + + + + Harden selectivity estimators against being attached to operators + that accept unexpected data types (Tom Lane) + § + § + § + + + + contrib/intarray contained a selectivity + estimation function that could be abused for arbitrary code + execution, because it did not check that its input was of the + expected data type. Third-party extensions should check for similar + hazards and add defenses using the technique intarray now uses. + Since such extension fixes will take time, we now require superuser + privilege to attach a non-built-in selectivity estimator to an + operator. + + + + The PostgreSQL Project thanks + Daniel Firer, as part of zeroday.cloud, for reporting this problem. + (CVE-2026-2004) + + + + + + + Fix buffer overrun in contrib/pgcrypto's + PGP decryption functions (Michael Paquier) + § + + + + Decrypting a crafted message with an overlength session key caused a + buffer overrun, with consequences as bad as arbitrary code + execution. + + + + The PostgreSQL Project thanks + Team Xint Code, as part of zeroday.cloud, for reporting this problem. + (CVE-2026-2005) + + + + + + + Fix inadequate validation of multibyte character lengths + (Thomas Munro, Noah Misch) + § + § + § + § + § + § + + + + Assorted bugs allowed an attacker able to issue crafted SQL to + overrun string buffers, with consequences as bad as arbitrary code + execution. After these fixes, applications may + observe invalid byte sequence for encoding errors + when string functions process invalid text that has been stored in + the database. + + + + The PostgreSQL Project thanks Paul Gerste + and Moritz Sanft, as part of zeroday.cloud, for reporting this + problem. + (CVE-2026-2006) + + + + + + + Don't allow CTE references in sub-selects to determine semantic + levels of aggregate functions (Tom Lane) + § + + + + This change undoes a change made two minor releases ago, instead + throwing an error if a sub-select references a CTE that's below the + semantic level that standard SQL rules would assign to the aggregate + based on contained column references and aggregates. The attempted + fix turned out to cause problems of its own, and it's unclear what + to do instead. Since sub-selects within aggregates are disallowed + altogether by the SQL standard, treating such cases as errors seems + sufficient. + + + + + + + Fix trigger transition table capture for MERGE + in CTE queries (Dean Rasheed) + § + + + + When executing a data-modifying CTE query containing both + a MERGE and another DML operation on a table with + statement-level AFTER triggers, the transition + tables passed to the triggers would not include the rows affected by + the MERGE, only those affected by the other + operation(s). + + + + + + + Fix failure when all children of a partitioned target table + of an update or delete have been pruned (Amit Langote) + § + + + + In such cases, the executor could report could not find junk + ctid column errors, even though nothing needs to be done. + + + + + + + Avoid possible planner failure when a query contains duplicate + window function calls (Meng Zhang, David Rowley) + § + + + + Confusion over de-duplication of such calls could result in errors + like WindowFunc with winref 2 assigned to WindowAgg with + winref 1. + + + + + + + Allow indexscans on partial hash indexes even when the index's + predicate implies the truth of the WHERE clause (Tom Lane) + § + + + + Normally we drop a WHERE clause that is implied by the predicate, + since it's pointless to test it; it must hold for every index + entry. However that can prevent creation of an indexscan plan if + the index is one that requires a WHERE clause on the leading index + key, as hash indexes do. Don't drop implied clauses when + considering such an index. + + + + + + + Do not emit WAL for unlogged BRIN indexes (Kirill Reshke) + § + + + + One seldom-taken code path incorrectly emitted a WAL record + relating to a BRIN index even if the index was marked unlogged. + Crash recovery would then fail to replay that record, complaining + that the file already exists. + + + + + + + Prevent truncation of CLOG that is still needed by + unread NOTIFY messages (Joel Jacobson, Heikki + Linnakangas) + § + § + § + + + + This fix prevents could not access status of + transaction errors when a backend is slow to + absorb NOTIFY messages. + + + + + + + Escalate errors occurring during NOTIFY message + processing to FATAL, i.e. close the connection (Heikki Linnakangas) + § + + + + Formerly, if a backend got an error while absorbing + a NOTIFY message, it would advance past that + message, report the error to the client, and move on. That behavior + was fraught with problems though. One big concern is that the + client has no good way to know that a notification was lost, and + certainly no way to know what was in it. Depending on the + application logic, missing a notification could cause the + application to get stuck waiting, for example. Also, any remaining + messages would not get processed until someone sent a + new NOTIFY. + + + + Also, if the connection is idle at the time of receiving + a NOTIFY signal, any ERROR would be escalated to + FATAL anyway, due to unrelated concerns. Therefore, we've chosen to + make that happen in all cases, for consistency and to provide a + clear signal to the application that it might have missed some + notifications. + + + + + + + Fix erroneous counting of updates in EXPLAIN ANALYZE + MERGE with a concurrent update (Dean Rasheed) + § + + + + This situation led to an incorrect count of skipped + tuples in EXPLAIN's output, or to an assertion + failure in an assert-enabled build. + + + + + + + Fix bug in following update chain when locking a tuple (Jasper + Smit) + § + + + + This code path neglected to check the xmin of the first new tuple in + the update chain, making it possible to lock an unrelated tuple if + the original updater aborted and the space was immediately reclaimed + by VACUUM and then re-used. + That could cause unexpected transaction delays or deadlocks. + Errors associated with having identified the wrong tuple have also + been observed. + + + + + + + Fix issues around in-place catalog updates (Noah Misch) + § + § + § + + + + Send a nontransactional invalidation message for an in-place update, + since such an update will survive transaction rollback. Also ensure + that the update is WAL-logged before other sessions can see it. + These fixes primarily prevent scenarios in which relations' + frozen-XID attributes become inconsistent, possibly allowing + premature CLOG truncation and subsequent could not access + status of transaction errors. + + + + + + + Fix incorrect handling of incremental backups of large tables + (Robert Haas, Oleg Tkachenko) + § + + + + If a table exceeding 1GB (or in general, the installation's segment + size) is truncated by VACUUM between the base + backup and the incremental + backup, pg_combinebackup could fail with + an error about truncation block length in excess of segment + size. This prevented restoring the incremental backup. + + + + + + + Fix potential backend process crash at process exit due to trying to + release a lock in an already-unmapped shared memory segment + (Rahila Syed) + § + + + + + + + Guard against incorrect truncation of the multixact log after a + crash (Heikki Linnakangas) + § + + + + + + + Fix possibly mis-encoded result + of pg_stat_get_backend_activity() (Chao Li) + § + + + + The shared-memory buffer holding a session's activity string can + end with an incomplete multibyte character. Readers are supposed + to truncate off any such incomplete character, but this function + failed to do so. + + + + + + + Guard against recursive memory context logging (Fujii Masao) + § + + + + A constant flow of signals requesting memory context logging could + cause recursive execution of the logging code, which in theory could + lead to stack overflow. + + + + + + + Fix memory context usage when reinitializing a parallel execution + context (Jakub Wartak, Jeevan Chalke) + § + + + + This error could result in a crash due to a subsidiary data + structure having a shorter lifespan than the parallel context. + The problem is not known to be reachable using only + core PostgreSQL, but we have reports of + trouble in extensions. + + + + + + + Set next multixid's offset when creating a new multixid, to remove + the wait loop that was needed in corner cases (Andrey Borodin) + § + § + + + + The previous logic could get stuck waiting for an update that would + never occur. + + + + + + + Avoid rewriting data-modifying CTEs more than once (Bernice Southey, + Dean Rasheed) + § + + + + Formerly, when updating an auto-updatable view or a relation with + rules, if the original query had any data-modifying CTEs, the rewriter + would rewrite those CTEs multiple times due to recursion. This was + inefficient and could produce false errors if a CTE included an + update of an always-generated column. + + + + + + + Allow retrying initialization of a DSM registry entry + (Nathan Bossart) + § + + + + If we fail partway through initialization of a dynamic shared memory + entry, allow the next attempt to use that entry to retry + initialization. Previously the entry was left in a + permanently-failed state. + + + + + + + Fail recovery if WAL does not exist back to the redo point indicated + by the checkpoint record (Nitin Jadhav) + § + + + + Add an explicit check for this before starting recovery, so that no + harm is done and a useful error message is provided. Previously, + recovery might crash or corrupt the database in this situation. + + + + + + + Avoid scribbling on the source query tree during ALTER + PUBLICATION (Sunil S) + § + + + + This error had the visible effect that an event trigger fired for + the query would see only the first publish + option, even if several had been specified. If such a query were + set up as a prepared statement, re-executions would misbehave too. + + + + + + + Pass connection options specified in CREATE SUBSCRIPTION + ... CONNECTION to the publisher's walsender (Fujii Masao) + § + + + + Before this fix, the options connection option + (if any) was ignored, thus for example preventing setting custom + server parameter values in the walsender session. It was intended + for that to work, and it did work before refactoring + in PostgreSQL version 15 broke it, so + restore the previous behavior. + + + + + + + Prevent invalidation of newly created or newly synced replication + slots (Zhijie Hou) + § + § + § + + + + A race condition with a concurrent checkpoint could allow WAL to be + removed that is needed by the replication slot, causing the slot to + immediately get marked invalid. + + + + + + + Fix race condition in computing a replication slot's required xmin + (Zhijie Hou) + § + + + + This could lead to the error cannot build an initial slot + snapshot as oldest safe xid follows snapshot's xmin. + + + + + + + During initial synchronization of a logical replication + subscription, commit the addition of + a pg_replication_origin entry before + starting to copy data (Zhijie Hou) + § + + + + Previously, if the copy step failed, the + new pg_replication_origin entry would be + lost due to transaction rollback. This led to inconsistent state in + shared memory. + + + + + + + Don't advance logical replication progress after a parallel worker + apply failure (Zhijie Hou) + § + + + + The previous behavior allowed transactions to be lost by a + subscriber. + + + + + + + Fix logical replication slotsync worker processes to handle + LOCK_TIMEOUT signals correctly (Zhijie Hou) + § + + + + Previously, timeout signals were effectively ignored. + + + + + + + Fix possible failure with unexpected data beyond EOF + during restart of a streaming replica server (Anthonin Bonnefoy) + § + + + + + + + Fix error reporting for SQL/JSON path type mismatches (Jian He) + § + + + + The code could produce a cache lookup failed for type 0 + error instead of the intended complaint about the path expression + not being of the right type. + + + + + + + Fix erroneous tracking of column position when parsing partition + range bounds (myzhen) + § + + + + This could, for example, lead to the wrong column name being cited + in error messages about casting partition bound values to the + column's data type. + + + + + + + Fix assorted minor errors in error messages (Man Zeng, Tianchen Zhang) + § + § + § + § + § + + + + For example, an error report about mismatched timeline number in a + backup manifest showed the starting timeline number where it meant + to show the ending timeline number. + + + + + + + Fix failure to perform function inlining when doing JIT compilation + with LLVM version 17 or later (Anthonin Bonnefoy) + § + + + + + + + Adjust our JIT code to work with LLVM 21 (Holger Hoffstätte) + § + + + + The previous coding failed to compile on aarch64 machines. + + + + + + + Add new server parameter to + control use of posix_fallocate() (Thomas Munro) + § + + + + PostgreSQL version 16 and later will + use posix_fallocate(), if the platform provides + it, to extend relation files. However, this has been reported to + interact poorly with some file systems: BTRFS compression is + disabled by the use of posix_fallocate(), and + XFS could produce spurious ENOSPC errors in older + Linux kernel versions. To provide a workaround, introduce this new + server parameter. Setting file_extend_method + to write_zeros will cause the server to return to + the old method of extending files by writing blocks of zeroes. + + + + + + + Honor open()'s O_CLOEXEC + flag on Windows (Bryan Green, Thomas Munro) + § + § + § + + + + Make this flag work like it does on POSIX platforms, so that we + don't leak file handles into child processes such as COPY + TO/FROM PROGRAM. While that leakage hasn't caused many + problems, it seems undesirable. + + + + + + + Fix failure to parse long options on the server command line in + Solaris executables built with meson (Tom Lane) + § + + + + + + + Support process title changes on GNU/Hurd (Michael Banck) + § + + + + + + + Avoid pg_dump assertion failure in + binary-upgrade mode (Vignesh C) + § + + + + Failure to handle subscription-relation objects in the object + sorting code triggered an assertion, though there were no serious + ill effects in production builds. + + + + + + + Fix incorrect error handling in pgbench + with multiple \syncpipeline commands + in pipeline mode (Yugo Nagata) + § + + + + If multiple \syncpipeline commands are + encountered after a query error, pgbench + would report failed to exit pipeline mode, or get an + assertion failure in an assert-enabled build. + + + + + + + Make pg_resetwal print the updated value + when changing OldestXID (Heikki Linnakangas) + § + + + + It already did that for every other variable it can change. + + + + + + + Make pg_resetwal allow setting next + multixact xid to 0 or next multixact offset to UINT32_MAX (Maxim + Orlov) + § + + + + These are valid values, so rejecting them was incorrect. In the + worst case, if a pg_upgrade is attempted when exactly at the point + of multixact wraparound, the upgrade would fail. + + + + + + + In contrib/amcheck, use the correct snapshot + for btree index parent checks (Mihail Nikalayeu) + § + § + + + + The previous coding caused spurious errors when examining indexes + created with CREATE INDEX CONCURRENTLY. + + + + + + + Fix contrib/amcheck to + handle half-dead btree index pages correctly + (Heikki Linnakangas) + § + + + + amcheck expected such a page to have a parent + downlink, but it does not, leading to a false error report + about mismatch between parent key and child high key. + + + + + + + Fix contrib/amcheck to + handle incomplete btree root page splits correctly + (Heikki Linnakangas) + § + + + + amcheck could report a false error + about block is not true root. + + + + + + + Fix edge-case integer overflow + in contrib/intarray's selectivity estimator + for @@ (Chao Li) + § + + + + This could cause poor selectivity estimates to be produced for cases + involving the maximum integer value. + + + + + + + Fix multibyte-encoding issue in contrib/ltree + (Jeff Davis) + § + + + + The previous coding could pass an incomplete multibyte character + to lower(), probably resulting in incorrect + behavior. + + + + + + + Update time zone data files to tzdata + release 2025c (Tom Lane) + § + + + + The only change is in historical data for pre-1976 timestamps in + Baja California. + + + + + + + + Release 17.7 diff -Nru postgresql-17-17.7/meson.build postgresql-17-17.8/meson.build --- postgresql-17-17.7/meson.build 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/meson.build 2026-02-09 21:51:54.000000000 +0000 @@ -8,7 +8,7 @@ project('postgresql', ['c'], - version: '17.7', + version: '17.8', license: 'PostgreSQL', # We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for @@ -440,6 +440,14 @@ segsize = (get_option('segsize') * 1024 * 1024 * 1024) / blocksize endif +# If we don't have largefile support, can't handle segment size >= 2GB. +if cc.sizeof('off_t', args: test_c_args) < 8 + segsize_bytes = segsize * blocksize + if segsize_bytes >= (2 * 1024 * 1024 * 1024) + error('Large file support is not enabled. Segment size cannot be larger than 1GB.') + endif +endif + cdata.set('BLCKSZ', blocksize, description: '''Size of a disk block --- this also limits the size of a tuple. You can set it bigger if you need bigger tuples (although TOAST should reduce the need @@ -2689,7 +2697,7 @@ # (i.e., allow '-' as a flag character), so use our version on those platforms # - We want to use system's getopt_long() only if the system provides struct # option -always_replace_getopt = host_system in ['windows', 'cygwin', 'openbsd', 'solaris'] +always_replace_getopt = host_system in ['windows', 'cygwin', 'openbsd', 'sunos'] always_replace_getopt_long = host_system in ['windows', 'cygwin'] or not cdata.has('HAVE_STRUCT_OPTION') # Required on BSDs diff -Nru postgresql-17-17.7/src/backend/Makefile postgresql-17-17.8/src/backend/Makefile --- postgresql-17-17.7/src/backend/Makefile 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/Makefile 2026-02-09 21:51:54.000000000 +0000 @@ -113,9 +113,6 @@ storage/lmgr/lwlocknames.h: storage/lmgr/generate-lwlocknames.pl ../include/storage/lwlocklist.h utils/activity/wait_event_names.txt $(MAKE) -C storage/lmgr lwlocknames.h -utils/activity/wait_event_types.h: utils/activity/generate-wait_event_types.pl utils/activity/wait_event_names.txt - $(MAKE) -C utils/activity wait_event_types.h pgstat_wait_event.c wait_event_funcs_data.c - # run this unconditionally to avoid needing to know its dependencies here: submake-catalog-headers: $(MAKE) -C ../include/catalog generated-headers @@ -140,17 +137,12 @@ .PHONY: generated-headers -generated-headers: $(top_builddir)/src/include/storage/lwlocknames.h $(top_builddir)/src/include/utils/wait_event_types.h submake-catalog-headers submake-nodes-headers submake-utils-headers parser/gram.h +generated-headers: $(top_builddir)/src/include/storage/lwlocknames.h submake-catalog-headers submake-nodes-headers submake-utils-headers parser/gram.h $(top_builddir)/src/include/storage/lwlocknames.h: storage/lmgr/lwlocknames.h prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \ cd '$(dir $@)' && rm -f $(notdir $@) && \ $(LN_S) "$$prereqdir/$(notdir $<)" . - -$(top_builddir)/src/include/utils/wait_event_types.h: utils/activity/wait_event_types.h - prereqdir=`cd '$(dir $<)' >/dev/null && pwd` && \ - cd '$(dir $@)' && rm -f $(notdir $@) && \ - $(LN_S) "$$prereqdir/$(notdir $<)" . utils/probes.o: utils/probes.d $(SUBDIROBJS) $(DTRACE) $(DTRACEFLAGS) -C -G -s $(call expand_subsys,$^) -o $@ diff -Nru postgresql-17-17.7/src/backend/access/brin/brin_pageops.c postgresql-17-17.8/src/backend/access/brin/brin_pageops.c --- postgresql-17-17.7/src/backend/access/brin/brin_pageops.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/brin/brin_pageops.c 2026-02-09 21:51:54.000000000 +0000 @@ -893,7 +893,11 @@ page = BufferGetPage(buffer); brin_page_init(page, BRIN_PAGETYPE_REGULAR); MarkBufferDirty(buffer); - log_newpage_buffer(buffer, true); + + /* XLOG stuff */ + if (RelationNeedsWAL(idxrel)) + log_newpage_buffer(buffer, true); + END_CRIT_SECTION(); /* diff -Nru postgresql-17-17.7/src/backend/access/hash/README postgresql-17-17.8/src/backend/access/hash/README --- postgresql-17-17.7/src/backend/access/hash/README 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/hash/README 2026-02-09 21:51:54.000000000 +0000 @@ -171,11 +171,10 @@ Both scanning the index and inserting tuples require locating the bucket where a given tuple ought to be located. To do this, we need the bucket count, highmask, and lowmask from the metapage; however, it's undesirable -for performance reasons to have to have to lock and pin the metapage for -every such operation. Instead, we retain a cached copy of the metapage -in each backend's relcache entry. This will produce the correct -bucket mapping as long as the target bucket hasn't been split since the -last cache refresh. +for performance reasons to have to lock and pin the metapage for every such +operation. Instead, we retain a cached copy of the metapage in each backend's +relcache entry. This will produce the correct bucket mapping as long as the +target bucket hasn't been split since the last cache refresh. To guard against the possibility that such a split has occurred, the primary page of each bucket chain stores the number of buckets that diff -Nru postgresql-17-17.7/src/backend/access/hash/hashfunc.c postgresql-17-17.8/src/backend/access/hash/hashfunc.c --- postgresql-17-17.7/src/backend/access/hash/hashfunc.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/hash/hashfunc.c 2026-02-09 21:51:54.000000000 +0000 @@ -27,6 +27,7 @@ #include "postgres.h" #include "common/hashfn.h" +#include "utils/builtins.h" #include "utils/float.h" #include "utils/fmgrprotos.h" #include "utils/pg_locale.h" @@ -233,6 +234,7 @@ { oidvector *key = (oidvector *) PG_GETARG_POINTER(0); + check_valid_oidvector(key); return hash_any((unsigned char *) key->values, key->dim1 * sizeof(Oid)); } @@ -241,6 +243,7 @@ { oidvector *key = (oidvector *) PG_GETARG_POINTER(0); + check_valid_oidvector(key); return hash_any_extended((unsigned char *) key->values, key->dim1 * sizeof(Oid), PG_GETARG_INT64(1)); diff -Nru postgresql-17-17.7/src/backend/access/heap/README.tuplock postgresql-17-17.8/src/backend/access/heap/README.tuplock --- postgresql-17-17.7/src/backend/access/heap/README.tuplock 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/heap/README.tuplock 2026-02-09 21:51:54.000000000 +0000 @@ -198,6 +198,36 @@ under a reader holding a pin. A reader of a heap_fetch() result tuple may witness a torn read. Current inplace-updated fields are aligned and are no wider than four bytes, and current readers don't need consistency across -fields. Hence, they get by with just fetching each field once. XXX such a -caller may also read a value that has not reached WAL; see -systable_inplace_update_finish(). +fields. Hence, they get by with just fetching each field once. + +During logical decoding, caches reflect an inplace update no later than the +next XLOG_XACT_INVALIDATIONS. That record witnesses the end of a command. +Tuples of its cmin are then visible to decoding, as are inplace updates of any +lower LSN. Inplace updates of a higher LSN may also be visible, even if those +updates would have been invisible to a non-historic snapshot matching +decoding's historic snapshot. (In other words, decoding may see inplace +updates that were not visible to a similar snapshot taken during original +transaction processing.) That's a consequence of inplace update violating +MVCC: there are no snapshot-specific versions of inplace-updated values. This +all makes it hard to reason about inplace-updated column reads during logical +decoding, but the behavior does suffice for relhasindex. A relhasindex=t in +CREATE INDEX becomes visible no later than the new pg_index row. While it may +be visible earlier, that's harmless. Finding zero indexes despite +relhasindex=t is normal in more cases than this, e.g. after DROP INDEX. +Example of a case that meaningfully reacts to the inplace inval: + +CREATE TABLE cat (c int) WITH (user_catalog_table = true); +CREATE TABLE normal (d int); +... +CREATE INDEX ON cat (c)\; INSERT INTO normal VALUES (1); + +If the output plugin reads "cat" during decoding of the INSERT, it's fair to +want that read to see relhasindex=t and use the new index. + +An alternative would be to have decoding of XLOG_HEAP_INPLACE immediately +execute its invals. That would behave more like invals during original +transaction processing. It would remove the decoding-specific delay in e.g. a +decoding plugin witnessing a relfrozenxid change. However, a good use case +for that is unlikely, since the plugin would still witness relfrozenxid +changes prematurely. Hence, inplace update takes the trivial approach of +delegating to XLOG_XACT_INVALIDATIONS. diff -Nru postgresql-17-17.7/src/backend/access/heap/heapam.c postgresql-17-17.8/src/backend/access/heap/heapam.c --- postgresql-17-17.7/src/backend/access/heap/heapam.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/heap/heapam.c 2026-02-09 21:51:54.000000000 +0000 @@ -104,8 +104,11 @@ LockTupleMode mode, bool is_update, TransactionId *result_xmax, uint16 *result_infomask, uint16 *result_infomask2); -static TM_Result heap_lock_updated_tuple(Relation rel, HeapTuple tuple, - ItemPointer ctid, TransactionId xid, +static TM_Result heap_lock_updated_tuple(Relation rel, + uint16 prior_infomask, + TransactionId prior_rawxmax, + const ItemPointerData *prior_ctid, + TransactionId xid, LockTupleMode mode); static void GetMultiXactIdHintBits(MultiXactId multi, uint16 *new_infomask, uint16 *new_infomask2); @@ -4744,11 +4747,13 @@ * If there are updates, follow the update chain; bail out if * that cannot be done. */ - if (follow_updates && updated) + if (follow_updates && updated && + !ItemPointerEquals(&tuple->t_self, &t_ctid)) { TM_Result res; - res = heap_lock_updated_tuple(relation, tuple, &t_ctid, + res = heap_lock_updated_tuple(relation, + infomask, xwait, &t_ctid, GetCurrentTransactionId(), mode); if (res != TM_Ok) @@ -4991,11 +4996,13 @@ } /* if there are updates, follow the update chain */ - if (follow_updates && !HEAP_XMAX_IS_LOCKED_ONLY(infomask)) + if (follow_updates && !HEAP_XMAX_IS_LOCKED_ONLY(infomask) && + !ItemPointerEquals(&tuple->t_self, &t_ctid)) { TM_Result res; - res = heap_lock_updated_tuple(relation, tuple, &t_ctid, + res = heap_lock_updated_tuple(relation, + infomask, xwait, &t_ctid, GetCurrentTransactionId(), mode); if (res != TM_Ok) @@ -5649,7 +5656,8 @@ * version as well. */ static TM_Result -heap_lock_updated_tuple_rec(Relation rel, ItemPointer tid, TransactionId xid, +heap_lock_updated_tuple_rec(Relation rel, TransactionId priorXmax, + const ItemPointerData *tid, TransactionId xid, LockTupleMode mode) { TM_Result result; @@ -5662,7 +5670,6 @@ old_infomask2; TransactionId xmax, new_xmax; - TransactionId priorXmax = InvalidTransactionId; bool cleared_all_frozen = false; bool pinned_desired_page; Buffer vmbuffer = InvalidBuffer; @@ -5976,7 +5983,10 @@ * Follow update chain when locking an updated tuple, acquiring locks (row * marks) on the updated versions. * - * The initial tuple is assumed to be already locked. + * 'prior_infomask', 'prior_raw_xmax' and 'prior_ctid' are the corresponding + * fields from the initial tuple. We will lock the tuples starting from the + * one that 'prior_ctid' points to. Note: This function does not lock the + * initial tuple itself. * * This function doesn't check visibility, it just unconditionally marks the * tuple(s) as locked. If any tuple in the updated chain is being deleted @@ -5994,16 +6004,22 @@ * levels, because that would lead to a serializability failure. */ static TM_Result -heap_lock_updated_tuple(Relation rel, HeapTuple tuple, ItemPointer ctid, +heap_lock_updated_tuple(Relation rel, + uint16 prior_infomask, + TransactionId prior_raw_xmax, + const ItemPointerData *prior_ctid, TransactionId xid, LockTupleMode mode) { + INJECTION_POINT("heap_lock_updated_tuple"); + /* - * If the tuple has not been updated, or has moved into another partition - * (effectively a delete) stop here. + * If the tuple has moved into another partition (effectively a delete) + * stop here. */ - if (!HeapTupleHeaderIndicatesMovedPartitions(tuple->t_data) && - !ItemPointerEquals(&tuple->t_self, ctid)) + if (!ItemPointerIndicatesMovedPartitions(prior_ctid)) { + TransactionId prior_xmax; + /* * If this is the first possibly-multixact-able operation in the * current transaction, set my per-backend OldestMemberMXactId @@ -6015,7 +6031,9 @@ */ MultiXactIdSetOldestMember(); - return heap_lock_updated_tuple_rec(rel, ctid, xid, mode); + prior_xmax = (prior_infomask & HEAP_XMAX_IS_MULTI) ? + MultiXactIdGetUpdateXid(prior_raw_xmax, prior_infomask) : prior_raw_xmax; + return heap_lock_updated_tuple_rec(rel, prior_xmax, prior_ctid, xid, mode); } /* nothing to lock */ @@ -6320,6 +6338,19 @@ Assert(BufferIsValid(buffer)); + /* + * Register shared cache invals if necessary. Other sessions may finish + * inplace updates of this tuple between this step and LockTuple(). Since + * inplace updates don't change cache keys, that's harmless. + * + * While it's tempting to register invals only after confirming we can + * return true, the following obstacle precludes reordering steps that + * way. Registering invals might reach a CatalogCacheInitializeCache() + * that locks "buffer". That would hang indefinitely if running after our + * own LockBuffer(). Hence, we must register invals before LockBuffer(). + */ + CacheInvalidateHeapTupleInplace(relation, oldtup_ptr); + LockTuple(relation, &oldtup.t_self, InplaceUpdateTupleLock); LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE); @@ -6415,6 +6446,7 @@ if (!ret) { UnlockTuple(relation, &oldtup.t_self, InplaceUpdateTupleLock); + ForgetInplace_Inval(); InvalidateCatalogSnapshot(); } return ret; @@ -6436,6 +6468,8 @@ HeapTupleHeader htup = oldtup->t_data; uint32 oldlen; uint32 newlen; + char *dst; + char *src; Assert(ItemPointerEquals(&oldtup->t_self, &tuple->t_self)); oldlen = oldtup->t_len - htup->t_hoff; @@ -6443,15 +6477,28 @@ if (oldlen != newlen || htup->t_hoff != tuple->t_data->t_hoff) elog(ERROR, "wrong tuple length"); - /* NO EREPORT(ERROR) from here till changes are logged */ - START_CRIT_SECTION(); + dst = (char *) htup + htup->t_hoff; + src = (char *) tuple->t_data + tuple->t_data->t_hoff; - memcpy((char *) htup + htup->t_hoff, - (char *) tuple->t_data + tuple->t_data->t_hoff, - newlen); + /* + * Unlink relcache init files as needed. If unlinking, acquire + * RelCacheInitLock until after associated invalidations. By doing this + * in advance, if we checkpoint and then crash between inplace + * XLogInsert() and inval, we don't rely on StartupXLOG() -> + * RelationCacheInitFileRemove(). That uses elevel==LOG, so replay would + * neglect to PANIC on EIO. + */ + PreInplace_Inval(); /*---------- - * XXX A crash here can allow datfrozenxid() to get ahead of relfrozenxid: + * NO EREPORT(ERROR) from here till changes are complete + * + * Our buffer lock won't stop a reader having already pinned and checked + * visibility for this tuple. Hence, we write WAL first, then mutate the + * buffer. Like in MarkBufferDirtyHint() or RecordTransactionCommit(), + * checkpoint delay makes that acceptable. With the usual order of + * changes, a crash after memcpy() and before XLogInsert() could allow + * datfrozenxid to overtake relfrozenxid: * * ["D" is a VACUUM (ONLY_DATABASE_STATS)] * ["R" is a VACUUM tbl] @@ -6461,14 +6508,36 @@ * D: raise pg_database.datfrozenxid, XLogInsert(), finish * [crash] * [recovery restores datfrozenxid w/o relfrozenxid] + * + * Mimic MarkBufferDirtyHint() subroutine XLogSaveBufferForHint(). + * Specifically, use DELAY_CHKPT_START, and copy the buffer to the stack. + * The stack copy facilitates a FPI of the post-mutation block before we + * accept other sessions seeing it. DELAY_CHKPT_START allows us to + * XLogInsert() before MarkBufferDirty(). Since XLogSaveBufferForHint() + * can operate under BUFFER_LOCK_SHARED, it can't avoid DELAY_CHKPT_START. + * This function, however, likely could avoid it with the following order + * of operations: MarkBufferDirty(), XLogInsert(), memcpy(). Opt to use + * DELAY_CHKPT_START here, too, as a way to have fewer distinct code + * patterns to analyze. Inplace update isn't so frequent that it should + * pursue the small optimization of skipping DELAY_CHKPT_START. */ - - MarkBufferDirty(buffer); + Assert((MyProc->delayChkptFlags & DELAY_CHKPT_START) == 0); + START_CRIT_SECTION(); + MyProc->delayChkptFlags |= DELAY_CHKPT_START; /* XLOG stuff */ if (RelationNeedsWAL(relation)) { xl_heap_inplace xlrec; + PGAlignedBlock copied_buffer; + char *origdata = (char *) BufferGetBlock(buffer); + Page page = BufferGetPage(buffer); + uint16 lower = ((PageHeader) page)->pd_lower; + uint16 upper = ((PageHeader) page)->pd_upper; + uintptr_t dst_offset_in_block; + RelFileLocator rlocator; + ForkNumber forkno; + BlockNumber blkno; XLogRecPtr recptr; xlrec.offnum = ItemPointerGetOffsetNumber(&tuple->t_self); @@ -6476,27 +6545,47 @@ XLogBeginInsert(); XLogRegisterData((char *) &xlrec, SizeOfHeapInplace); - XLogRegisterBuffer(0, buffer, REGBUF_STANDARD); - XLogRegisterBufData(0, (char *) htup + htup->t_hoff, newlen); + /* register block matching what buffer will look like after changes */ + memcpy(copied_buffer.data, origdata, lower); + memcpy(copied_buffer.data + upper, origdata + upper, BLCKSZ - upper); + dst_offset_in_block = dst - origdata; + memcpy(copied_buffer.data + dst_offset_in_block, src, newlen); + BufferGetTag(buffer, &rlocator, &forkno, &blkno); + Assert(forkno == MAIN_FORKNUM); + XLogRegisterBlock(0, &rlocator, forkno, blkno, copied_buffer.data, + REGBUF_STANDARD); + XLogRegisterBufData(0, src, newlen); /* inplace updates aren't decoded atm, don't log the origin */ recptr = XLogInsert(RM_HEAP_ID, XLOG_HEAP_INPLACE); - PageSetLSN(BufferGetPage(buffer), recptr); + PageSetLSN(page, recptr); } + memcpy(dst, src, newlen); + + MarkBufferDirty(buffer); + + LockBuffer(buffer, BUFFER_LOCK_UNLOCK); + + /* + * Send invalidations to shared queue. SearchSysCacheLocked1() assumes we + * do this before UnlockTuple(). + */ + AtInplace_Inval(); + + MyProc->delayChkptFlags &= ~DELAY_CHKPT_START; END_CRIT_SECTION(); + UnlockTuple(relation, &tuple->t_self, InplaceUpdateTupleLock); - heap_inplace_unlock(relation, oldtup, buffer); + AcceptInvalidationMessages(); /* local processing of just-sent inval */ /* - * Send out shared cache inval if necessary. Note that because we only - * pass the new version of the tuple, this mustn't be used for any - * operations that could change catcache lookup keys. But we aren't - * bothering with index updates either, so that's true a fortiori. - * - * XXX ROLLBACK discards the invalidation. See test inplace-inval.spec. + * Queue a transactional inval, for logical decoding and for third-party + * code that might have been relying on it since long before inplace + * update adopted immediate invalidation. See README.tuplock section + * "Reading inplace-updated columns" for logical decoding details. */ if (!IsBootstrapProcessingMode()) CacheInvalidateHeapTuple(relation, tuple, NULL); @@ -6511,6 +6600,7 @@ { LockBuffer(buffer, BUFFER_LOCK_UNLOCK); UnlockTuple(relation, &oldtup->t_self, InplaceUpdateTupleLock); + ForgetInplace_Inval(); } /* diff -Nru postgresql-17-17.7/src/backend/access/heap/heaptoast.c postgresql-17-17.8/src/backend/access/heap/heaptoast.c --- postgresql-17-17.7/src/backend/access/heap/heaptoast.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/heap/heaptoast.c 2026-02-09 21:51:54.000000000 +0000 @@ -770,7 +770,7 @@ chcpyend = (sliceoffset + slicelength - 1) % TOAST_MAX_CHUNK_SIZE; memcpy(VARDATA(result) + - (curchunk * TOAST_MAX_CHUNK_SIZE - sliceoffset) + chcpystrt, + curchunk * TOAST_MAX_CHUNK_SIZE - sliceoffset + chcpystrt, chunkdata + chcpystrt, (chcpyend - chcpystrt) + 1); diff -Nru postgresql-17-17.7/src/backend/access/nbtree/nbtcompare.c postgresql-17-17.8/src/backend/access/nbtree/nbtcompare.c --- postgresql-17-17.7/src/backend/access/nbtree/nbtcompare.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/nbtree/nbtcompare.c 2026-02-09 21:51:54.000000000 +0000 @@ -57,6 +57,7 @@ #include +#include "utils/builtins.h" #include "utils/fmgrprotos.h" #include "utils/sortsupport.h" @@ -299,6 +300,9 @@ oidvector *b = (oidvector *) PG_GETARG_POINTER(1); int i; + check_valid_oidvector(a); + check_valid_oidvector(b); + /* We arbitrarily choose to sort first by vector length */ if (a->dim1 != b->dim1) PG_RETURN_INT32(a->dim1 - b->dim1); diff -Nru postgresql-17-17.7/src/backend/access/transam/multixact.c postgresql-17-17.8/src/backend/access/transam/multixact.c --- postgresql-17-17.7/src/backend/access/transam/multixact.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/transam/multixact.c 2026-02-09 21:51:54.000000000 +0000 @@ -275,12 +275,6 @@ MultiXactOffset offsetStopLimit; /* known if oldestOffsetKnown */ /* - * This is used to sleep until a multixact offset is written when we want - * to create the next one. - */ - ConditionVariable nextoff_cv; - - /* * Per-backend data starts here. We have two arrays stored in the area * immediately following the MultiXactStateData struct. Each is indexed by * ProcNumber. @@ -384,6 +378,9 @@ #define debug_elog6(a,b,c,d,e,f) #endif +/* hack to deal with WAL generated with older minor versions */ +static int64 pre_initialized_offsets_page = -1; + /* internal MultiXactId management */ static void MultiXactIdSetOldestVisible(void); static void RecordNewMultiXact(MultiXactId multi, MultiXactOffset offset, @@ -915,13 +912,66 @@ int entryno; int slotno; MultiXactOffset *offptr; - int i; + MultiXactId next; + int64 next_pageno; + int next_entryno; + MultiXactOffset *next_offptr; + MultiXactOffset next_offset; LWLock *lock; LWLock *prevlock = NULL; + /* position of this multixid in the offsets SLRU area */ pageno = MultiXactIdToOffsetPage(multi); entryno = MultiXactIdToOffsetEntry(multi); + /* position of the next multixid */ + next = multi + 1; + if (next < FirstMultiXactId) + next = FirstMultiXactId; + next_pageno = MultiXactIdToOffsetPage(next); + next_entryno = MultiXactIdToOffsetEntry(next); + + /* + * Older minor versions didn't set the next multixid's offset in this + * function, and therefore didn't initialize the next page until the next + * multixid was assigned. If we're replaying WAL that was generated by + * such a version, the next page might not be initialized yet. Initialize + * it now. + */ + if (InRecovery && + next_pageno != pageno && + pg_atomic_read_u64(&MultiXactOffsetCtl->shared->latest_page_number) == pageno) + { + elog(DEBUG1, "next offsets page is not initialized, initializing it now"); + + lock = SimpleLruGetBankLock(MultiXactOffsetCtl, next_pageno); + LWLockAcquire(lock, LW_EXCLUSIVE); + + /* Create and zero the page */ + slotno = SimpleLruZeroPage(MultiXactOffsetCtl, next_pageno); + + /* Make sure it's written out */ + SimpleLruWritePage(MultiXactOffsetCtl, slotno); + Assert(!MultiXactOffsetCtl->shared->page_dirty[slotno]); + + LWLockRelease(lock); + + /* + * Remember that we initialized the page, so that we don't zero it + * again at the XLOG_MULTIXACT_ZERO_OFF_PAGE record. + */ + pre_initialized_offsets_page = next_pageno; + } + + /* + * Set the starting offset of this multixid's members. + * + * In the common case, it was already be set by the previous + * RecordNewMultiXact call, as this was the next multixid of the previous + * multixid. But if multiple backends are generating multixids + * concurrently, we might race ahead and get called before the previous + * multixid. + */ lock = SimpleLruGetBankLock(MultiXactOffsetCtl, pageno); LWLockAcquire(lock, LW_EXCLUSIVE); @@ -936,22 +986,54 @@ offptr = (MultiXactOffset *) MultiXactOffsetCtl->shared->page_buffer[slotno]; offptr += entryno; - *offptr = offset; + if (*offptr != offset) + { + /* should already be set to the correct value, or not at all */ + Assert(*offptr == 0); + *offptr = offset; + MultiXactOffsetCtl->shared->page_dirty[slotno] = true; + } + + /* + * Set the next multixid's offset to the end of this multixid's members. + */ + if (next_pageno == pageno) + { + next_offptr = offptr + 1; + } + else + { + /* must be the first entry on the page */ + Assert(next_entryno == 0 || next == FirstMultiXactId); + + /* Swap the lock for a lock on the next page */ + LWLockRelease(lock); + lock = SimpleLruGetBankLock(MultiXactOffsetCtl, next_pageno); + LWLockAcquire(lock, LW_EXCLUSIVE); + + slotno = SimpleLruReadPage(MultiXactOffsetCtl, next_pageno, true, next); + next_offptr = (MultiXactOffset *) MultiXactOffsetCtl->shared->page_buffer[slotno]; + next_offptr += next_entryno; + } - MultiXactOffsetCtl->shared->page_dirty[slotno] = true; + /* Like in GetNewMultiXactId(), skip over offset 0 */ + next_offset = offset + nmembers; + if (next_offset == 0) + next_offset = 1; + if (*next_offptr != next_offset) + { + /* should already be set to the correct value, or not at all */ + Assert(*next_offptr == 0); + *next_offptr = next_offset; + MultiXactOffsetCtl->shared->page_dirty[slotno] = true; + } /* Release MultiXactOffset SLRU lock. */ LWLockRelease(lock); - /* - * If anybody was waiting to know the offset of this multixact ID we just - * wrote, they can read it now, so wake them up. - */ - ConditionVariableBroadcast(&MultiXactState->nextoff_cv); - prev_pageno = -1; - for (i = 0; i < nmembers; i++, offset++) + for (int i = 0; i < nmembers; i++, offset++) { TransactionId *memberptr; uint32 *flagsptr; @@ -1141,8 +1223,11 @@ result = FirstMultiXactId; } - /* Make sure there is room for the MXID in the file. */ - ExtendMultiXactOffset(result); + /* + * Make sure there is room for the next MXID in the file. Assigning this + * MXID sets the next MXID's offset already. + */ + ExtendMultiXactOffset(result + 1); /* * Reserve the members space, similarly to above. Also, be careful not to @@ -1307,7 +1392,6 @@ MultiXactOffset nextOffset; MultiXactMember *ptr; LWLock *lock; - bool slept = false; debug_elog3(DEBUG2, "GetMembers: asked for %u", multi); @@ -1384,23 +1468,14 @@ * one's. However, there are some corner cases to worry about: * * 1. This multixact may be the latest one created, in which case there is - * no next one to look at. In this case the nextOffset value we just - * saved is the correct endpoint. + * no next one to look at. The next multixact's offset should be set + * already, as we set it in RecordNewMultiXact(), but we used to not do + * that in older minor versions. To cope with that case, if this + * multixact is the latest one created, use the nextOffset value we read + * above as the endpoint. * - * 2. The next multixact may still be in process of being filled in: that - * is, another process may have done GetNewMultiXactId but not yet written - * the offset entry for that ID. In that scenario, it is guaranteed that - * the offset entry for that multixact exists (because GetNewMultiXactId - * won't release MultiXactGenLock until it does) but contains zero - * (because we are careful to pre-zero offset pages). Because - * GetNewMultiXactId will never return zero as the starting offset for a - * multixact, when we read zero as the next multixact's offset, we know we - * have this case. We handle this by sleeping on the condition variable - * we have just for this; the process in charge will signal the CV as soon - * as it has finished writing the multixact offset. - * - * 3. Because GetNewMultiXactId increments offset zero to offset one to - * handle case #2, there is an ambiguity near the point of offset + * 2. Because GetNewMultiXactId skips over offset zero, to reserve zero + * for to mean "unset", there is an ambiguity near the point of offset * wraparound. If we see next multixact's offset is one, is that our * multixact's actual endpoint, or did it end at zero with a subsequent * increment? We handle this using the knowledge that if the zero'th @@ -1412,7 +1487,6 @@ * cases, so it seems better than holding the MultiXactGenLock for a long * time on every multixact creation. */ -retry: pageno = MultiXactIdToOffsetPage(multi); entryno = MultiXactIdToOffsetEntry(multi); @@ -1475,16 +1549,10 @@ nextMXOffset = *offptr; if (nextMXOffset == 0) - { - /* Corner case 2: next multixact is still being filled in */ - LWLockRelease(lock); - CHECK_FOR_INTERRUPTS(); - - ConditionVariableSleep(&MultiXactState->nextoff_cv, - WAIT_EVENT_MULTIXACT_CREATION); - slept = true; - goto retry; - } + ereport(ERROR, + (errcode(ERRCODE_DATA_CORRUPTED), + errmsg("MultiXact %u has invalid next offset", + multi))); length = nextMXOffset - offset; } @@ -1492,12 +1560,6 @@ LWLockRelease(lock); lock = NULL; - /* - * If we slept above, clean up state; it's no longer needed. - */ - if (slept) - ConditionVariableCancelSleep(); - ptr = (MultiXactMember *) palloc(length * sizeof(MultiXactMember)); truelength = 0; @@ -1540,7 +1602,10 @@ if (!TransactionIdIsValid(*xactptr)) { - /* Corner case 3: we must be looking at unused slot zero */ + /* + * Corner case 2: offset must have wrapped around to unused slot + * zero. + */ Assert(offset == 0); continue; } @@ -1987,7 +2052,6 @@ /* Make sure we zero out the per-backend state */ MemSet(MultiXactState, 0, SHARED_MULTIXACT_STATE_SIZE); - ConditionVariableInit(&MultiXactState->nextoff_cv); } else Assert(found); @@ -2194,26 +2258,34 @@ pageno); /* - * Zero out the remainder of the current offsets page. See notes in - * TrimCLOG() for background. Unlike CLOG, some WAL record covers every - * pg_multixact SLRU mutation. Since, also unlike CLOG, we ignore the WAL - * rule "write xlog before data," nextMXact successors may carry obsolete, - * nonzero offset values. Zero those so case 2 of GetMultiXactIdMembers() - * operates normally. + * Set the offset of nextMXact on the offsets page. This is normally done + * in RecordNewMultiXact() of the previous multixact, but we used to not + * do that in older minor versions. To ensure that the next offset is set + * if the binary was just upgraded from an older minor version, do it now. + * + * Zero out the remainder of the page. See notes in TrimCLOG() for + * background. Unlike CLOG, some WAL record covers every pg_multixact + * SLRU mutation. Since, also unlike CLOG, we ignore the WAL rule "write + * xlog before data," nextMXact successors may carry obsolete, nonzero + * offset values. */ entryno = MultiXactIdToOffsetEntry(nextMXact); - if (entryno != 0) { int slotno; MultiXactOffset *offptr; LWLock *lock = SimpleLruGetBankLock(MultiXactOffsetCtl, pageno); LWLockAcquire(lock, LW_EXCLUSIVE); - slotno = SimpleLruReadPage(MultiXactOffsetCtl, pageno, true, nextMXact); + if (entryno == 0) + slotno = SimpleLruZeroPage(MultiXactOffsetCtl, pageno); + else + slotno = SimpleLruReadPage(MultiXactOffsetCtl, pageno, true, nextMXact); offptr = (MultiXactOffset *) MultiXactOffsetCtl->shared->page_buffer[slotno]; offptr += entryno; - MemSet(offptr, 0, BLCKSZ - (entryno * sizeof(MultiXactOffset))); + *offptr = offset; + if (entryno != 0 && (entryno + 1) * sizeof(MultiXactOffset) != BLCKSZ) + MemSet(offptr + 1, 0, BLCKSZ - (entryno + 1) * sizeof(MultiXactOffset)); MultiXactOffsetCtl->shared->page_dirty[slotno] = true; LWLockRelease(lock); @@ -3201,6 +3273,23 @@ return; } + /* + * On crash, MultiXactIdCreateFromMembers() can leave behind multixids + * that were not yet written out and hence have zero offset on disk. If + * such a multixid becomes oldestMulti, we won't be able to look up its + * offset. That should be rare, so we don't try to do anything smart about + * it. Just skip the truncation, and hope that by the next truncation + * attempt, oldestMulti has advanced to a valid multixid. + */ + if (newOldestOffset == 0) + { + ereport(LOG, + (errmsg("cannot truncate up to MultiXact %u because it has invalid offset, skipping truncation", + newOldestMulti))); + LWLockRelease(MultiXactTruncationLock); + return; + } + elog(DEBUG1, "performing multixact truncation: " "offsets [%u, %u), offsets segments [%llx, %llx), " "members [%u, %u), members segments [%llx, %llx)", @@ -3398,14 +3487,24 @@ memcpy(&pageno, XLogRecGetData(record), sizeof(pageno)); - lock = SimpleLruGetBankLock(MultiXactOffsetCtl, pageno); - LWLockAcquire(lock, LW_EXCLUSIVE); + /* + * Skip the record if we already initialized the page at the previous + * XLOG_MULTIXACT_CREATE_ID record. See RecordNewMultiXact(). + */ + if (pre_initialized_offsets_page != pageno) + { + lock = SimpleLruGetBankLock(MultiXactOffsetCtl, pageno); + LWLockAcquire(lock, LW_EXCLUSIVE); - slotno = ZeroMultiXactOffsetPage(pageno, false); - SimpleLruWritePage(MultiXactOffsetCtl, slotno); - Assert(!MultiXactOffsetCtl->shared->page_dirty[slotno]); + slotno = ZeroMultiXactOffsetPage(pageno, false); + SimpleLruWritePage(MultiXactOffsetCtl, slotno); + Assert(!MultiXactOffsetCtl->shared->page_dirty[slotno]); - LWLockRelease(lock); + LWLockRelease(lock); + } + else + elog(DEBUG1, "skipping initialization of offsets page " INT64_FORMAT " because it was already initialized on multixid creation", pageno); + pre_initialized_offsets_page = -1; } else if (info == XLOG_MULTIXACT_ZERO_MEM_PAGE) { @@ -3431,6 +3530,22 @@ TransactionId max_xid; int i; + if (pre_initialized_offsets_page != -1) + { + /* + * If we implicitly initialized the next offsets page while + * replaying an XLOG_MULTIXACT_CREATE_ID record that was generated + * with an older minor version, we still expect to see an + * XLOG_MULTIXACT_ZERO_OFF_PAGE record for it before any other + * XLOG_MULTIXACT_CREATE_ID records. Therefore this case should + * not happen. If it does, we'll continue with the replay, but + * log a message to note that something's funny. + */ + elog(LOG, "expected to see an XLOG_MULTIXACT_ZERO_OFF_PAGE record for page " INT64_FORMAT " that was implicitly initialized earlier", + pre_initialized_offsets_page); + pre_initialized_offsets_page = -1; + } + /* Store the data back into the SLRU files */ RecordNewMultiXact(xlrec->mid, xlrec->moff, xlrec->nmembers, xlrec->members); diff -Nru postgresql-17-17.7/src/backend/access/transam/parallel.c postgresql-17-17.8/src/backend/access/transam/parallel.c --- postgresql-17-17.7/src/backend/access/transam/parallel.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/transam/parallel.c 2026-02-09 21:51:54.000000000 +0000 @@ -503,8 +503,12 @@ void ReinitializeParallelDSM(ParallelContext *pcxt) { + MemoryContext oldcontext; FixedParallelState *fps; + /* We might be running in a very short-lived memory context. */ + oldcontext = MemoryContextSwitchTo(TopTransactionContext); + /* Wait for any old workers to exit. */ if (pcxt->nworkers_launched > 0) { @@ -542,6 +546,9 @@ pcxt->worker[i].error_mqh = shm_mq_attach(mq, pcxt->seg, NULL); } } + + /* Restore previous memory context. */ + MemoryContextSwitchTo(oldcontext); } /* diff -Nru postgresql-17-17.7/src/backend/access/transam/xact.c postgresql-17-17.8/src/backend/access/transam/xact.c --- postgresql-17-17.7/src/backend/access/transam/xact.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/transam/xact.c 2026-02-09 21:51:54.000000000 +0000 @@ -1358,14 +1358,24 @@ /* * Transactions without an assigned xid can contain invalidation - * messages (e.g. explicit relcache invalidations or catcache - * invalidations for inplace updates); standbys need to process those. - * We can't emit a commit record without an xid, and we don't want to - * force assigning an xid, because that'd be problematic for e.g. - * vacuum. Hence we emit a bespoke record for the invalidations. We - * don't want to use that in case a commit record is emitted, so they - * happen synchronously with commits (besides not wanting to emit more - * WAL records). + * messages. While inplace updates do this, this is not known to be + * necessary; see comment at inplace CacheInvalidateHeapTuple(). + * Extensions might still rely on this capability, and standbys may + * need to process those invals. We can't emit a commit record + * without an xid, and we don't want to force assigning an xid, + * because that'd be problematic for e.g. vacuum. Hence we emit a + * bespoke record for the invalidations. We don't want to use that in + * case a commit record is emitted, so they happen synchronously with + * commits (besides not wanting to emit more WAL records). + * + * XXX Every known use of this capability is a defect. Since an XID + * isn't controlling visibility of the change that prompted invals, + * other sessions need the inval even if this transactions aborts. + * + * ON COMMIT DELETE ROWS does a nontransactional index_build(), which + * queues a relcache inval, including in transactions without an xid + * that had read the (empty) table. Standbys don't need any ON COMMIT + * DELETE ROWS invals, but we've not done the work to withhold them. */ if (nmsgs != 0) { diff -Nru postgresql-17-17.7/src/backend/access/transam/xlog.c postgresql-17-17.8/src/backend/access/transam/xlog.c --- postgresql-17-17.7/src/backend/access/transam/xlog.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/transam/xlog.c 2026-02-09 21:51:54.000000000 +0000 @@ -669,7 +669,6 @@ static void CheckPointGuts(XLogRecPtr checkPointRedo, int flags); static void KeepLogSeg(XLogRecPtr recptr, XLogRecPtr slotsMinLSN, XLogSegNo *logSegNo); -static XLogRecPtr XLogGetReplicationSlotMinimumLSN(void); static void AdvanceXLInsertBuffer(XLogRecPtr upto, TimeLineID tli, bool opportunistic); @@ -2674,7 +2673,7 @@ * Return the oldest LSN we must retain to satisfy the needs of some * replication slot. */ -static XLogRecPtr +XLogRecPtr XLogGetReplicationSlotMinimumLSN(void) { XLogRecPtr retval; @@ -7108,8 +7107,18 @@ * according to synchronized LSNs of replication slots. The slot's LSN * might be advanced concurrently, so we call this before * CheckPointReplicationSlots() synchronizes replication slots. + * + * We acquire the Allocation lock to serialize the minimum LSN calculation + * with concurrent slot WAL reservation. This ensures that the WAL + * position being reserved is either included in the miminum LSN or is + * beyond or equal to the redo pointer of the current checkpoint (See + * ReplicationSlotReserveWal for details), thus preventing its removal by + * checkpoints. Note that this lock is required only during checkpoints + * where WAL removal is dictated by the slot's minimum LSN. */ + LWLockAcquire(ReplicationSlotAllocationLock, LW_SHARED); slotsMinReqLSN = XLogGetReplicationSlotMinimumLSN(); + LWLockRelease(ReplicationSlotAllocationLock); /* * In some cases there are groups of actions that must all occur on one @@ -7309,7 +7318,10 @@ /* * Recalculate the current minimum LSN to be used in the WAL segment * cleanup. Then, we must synchronize the replication slots again in - * order to make this LSN safe to use. + * order to make this LSN safe to use. Here, we don't need to acquire + * the ReplicationSlotAllocationLock to serialize the minimum LSN + * computation with slot reservation as the RedoRecPtr is not updated + * after the previous computation of minimum LSN. */ slotsMinReqLSN = XLogGetReplicationSlotMinimumLSN(); CheckPointReplicationSlots(shutdown); @@ -7681,8 +7693,16 @@ * according to synchronized LSNs of replication slots. The slot's LSN * might be advanced concurrently, so we call this before * CheckPointReplicationSlots() synchronizes replication slots. + * + * We acquire the Allocation lock to serialize the minimum LSN calculation + * with concurrent slot WAL reservation. This ensures that the WAL + * position being reserved is either included in the miminum LSN or is + * beyond or equal to the redo pointer of the current checkpoint (See + * ReplicationSlotReserveWal for details). */ + LWLockAcquire(ReplicationSlotAllocationLock, LW_SHARED); slotsMinReqLSN = XLogGetReplicationSlotMinimumLSN(); + LWLockRelease(ReplicationSlotAllocationLock); if (log_checkpoints) LogCheckpointStart(flags, true); @@ -7773,6 +7793,9 @@ replayPtr = GetXLogReplayRecPtr(&replayTLI); endptr = (receivePtr < replayPtr) ? replayPtr : receivePtr; KeepLogSeg(endptr, slotsMinReqLSN, &_logSegNo); + + INJECTION_POINT("restartpoint-before-slot-invalidation"); + if (InvalidateObsoleteReplicationSlots(RS_INVAL_WAL_REMOVED, _logSegNo, InvalidOid, InvalidTransactionId)) @@ -7780,7 +7803,10 @@ /* * Recalculate the current minimum LSN to be used in the WAL segment * cleanup. Then, we must synchronize the replication slots again in - * order to make this LSN safe to use. + * order to make this LSN safe to use. Here, we don't need to acquire + * the ReplicationSlotAllocationLock to serialize the minimum LSN + * computation with slot reservation as the RedoRecPtr is not updated + * after the previous computation of minimum LSN. */ slotsMinReqLSN = XLogGetReplicationSlotMinimumLSN(); CheckPointReplicationSlots(flags & CHECKPOINT_IS_SHUTDOWN); diff -Nru postgresql-17-17.7/src/backend/access/transam/xlogrecovery.c postgresql-17-17.8/src/backend/access/transam/xlogrecovery.c --- postgresql-17-17.7/src/backend/access/transam/xlogrecovery.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/access/transam/xlogrecovery.c 2026-02-09 21:51:54.000000000 +0000 @@ -797,6 +797,16 @@ } memcpy(&checkPoint, XLogRecGetData(xlogreader), sizeof(CheckPoint)); wasShutdown = ((record->xl_info & ~XLR_INFO_MASK) == XLOG_CHECKPOINT_SHUTDOWN); + + /* Make sure that REDO location exists. */ + if (checkPoint.redo < CheckPointLoc) + { + XLogPrefetcherBeginRead(xlogprefetcher, checkPoint.redo); + if (!ReadRecord(xlogprefetcher, LOG, false, checkPoint.ThisTimeLineID)) + ereport(PANIC, + errmsg("could not find redo location %X/%08X referenced by checkpoint record at %X/%08X", + LSN_FORMAT_ARGS(checkPoint.redo), LSN_FORMAT_ARGS(CheckPointLoc))); + } } if (ArchiveRecoveryRequested) diff -Nru postgresql-17-17.7/src/backend/backup/backup_manifest.c postgresql-17-17.8/src/backend/backup/backup_manifest.c --- postgresql-17-17.7/src/backend/backup/backup_manifest.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/backup/backup_manifest.c 2026-02-09 21:51:54.000000000 +0000 @@ -252,7 +252,7 @@ if (first_wal_range && endtli != entry->tli) ereport(ERROR, errmsg("expected end timeline %u but found timeline %u", - starttli, entry->tli)); + endtli, entry->tli)); /* * If this timeline entry matches with the timeline on which the diff -Nru postgresql-17-17.7/src/backend/backup/basebackup_incremental.c postgresql-17-17.8/src/backend/backup/basebackup_incremental.c --- postgresql-17-17.7/src/backend/backup/basebackup_incremental.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/backup/basebackup_incremental.c 2026-02-09 21:51:54.000000000 +0000 @@ -854,8 +854,22 @@ { unsigned relative_limit = limit_block - segno * RELSEG_SIZE; + /* + * We can't set a truncation_block_length in excess of the limit block + * number (relativized to the current segment). To do so would be to + * treat blocks from older backups as valid current contents even if + * they were subsequently truncated away. + */ if (*truncation_block_length < relative_limit) *truncation_block_length = relative_limit; + + /* + * We also can't set a truncation_block_length in excess of the + * segment size, since the reconstructed file can't be larger than + * that. + */ + if (*truncation_block_length > RELSEG_SIZE) + *truncation_block_length = RELSEG_SIZE; } /* Send it incrementally. */ diff -Nru postgresql-17-17.7/src/backend/backup/walsummary.c postgresql-17-17.8/src/backend/backup/walsummary.c --- postgresql-17-17.7/src/backend/backup/walsummary.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/backup/walsummary.c 2026-02-09 21:51:54.000000000 +0000 @@ -214,7 +214,7 @@ LSN_FORMAT_ARGS(ws->end_lsn)); file = PathNameOpenFile(path, O_RDONLY); - if (file < 0 && (errno != EEXIST || !missing_ok)) + if (file < 0 && (errno != ENOENT || !missing_ok)) ereport(ERROR, (errcode_for_file_access(), errmsg("could not open file \"%s\": %m", path))); @@ -251,7 +251,7 @@ if (unlink(path) != 0) ereport(ERROR, (errcode_for_file_access(), - errmsg("could not stat file \"%s\": %m", path))); + errmsg("could not remove file \"%s\": %m", path))); ereport(DEBUG2, (errmsg_internal("removing file \"%s\"", path))); } diff -Nru postgresql-17-17.7/src/backend/catalog/index.c postgresql-17-17.8/src/backend/catalog/index.c --- postgresql-17-17.7/src/backend/catalog/index.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/catalog/index.c 2026-02-09 21:51:54.000000000 +0000 @@ -2905,12 +2905,19 @@ if (dirty) { systable_inplace_update_finish(state, tuple); - /* the above sends a cache inval message */ + /* the above sends transactional and immediate cache inval messages */ } else { systable_inplace_update_cancel(state); - /* no need to change tuple, but force relcache inval anyway */ + + /* + * While we didn't change relhasindex, CREATE INDEX needs a + * transactional inval for when the new index's catalog rows become + * visible. Other CREATE INDEX and REINDEX code happens to also queue + * this inval, but keep this in case rare callers rely on this part of + * our API contract. + */ CacheInvalidateRelcacheByTuple(tuple); } diff -Nru postgresql-17-17.7/src/backend/catalog/pg_depend.c postgresql-17-17.8/src/backend/catalog/pg_depend.c --- postgresql-17-17.7/src/backend/catalog/pg_depend.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/catalog/pg_depend.c 2026-02-09 21:51:54.000000000 +0000 @@ -23,6 +23,7 @@ #include "catalog/pg_constraint.h" #include "catalog/pg_depend.h" #include "catalog/pg_extension.h" +#include "catalog/pg_type.h" #include "catalog/partition.h" #include "commands/extension.h" #include "miscadmin.h" @@ -808,6 +809,77 @@ } systable_endscan(scan); + + table_close(depRel, AccessShareLock); + + return result; +} + +/* + * Look up a type belonging to an extension. + * + * Returns the type's OID, or InvalidOid if not found. + * + * Notice that the type is specified by name only, without a schema. + * That's because this will typically be used by relocatable extensions + * which can't make a-priori assumptions about which schema their objects + * are in. As long as the extension only defines one type of this name, + * the answer is unique anyway. + * + * We might later add the ability to look up functions, operators, etc. + */ +Oid +getExtensionType(Oid extensionOid, const char *typname) +{ + Oid result = InvalidOid; + Relation depRel; + ScanKeyData key[3]; + SysScanDesc scan; + HeapTuple tup; + + depRel = table_open(DependRelationId, AccessShareLock); + + ScanKeyInit(&key[0], + Anum_pg_depend_refclassid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(ExtensionRelationId)); + ScanKeyInit(&key[1], + Anum_pg_depend_refobjid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(extensionOid)); + ScanKeyInit(&key[2], + Anum_pg_depend_refobjsubid, + BTEqualStrategyNumber, F_INT4EQ, + Int32GetDatum(0)); + + scan = systable_beginscan(depRel, DependReferenceIndexId, true, + NULL, 3, key); + + while (HeapTupleIsValid(tup = systable_getnext(scan))) + { + Form_pg_depend depform = (Form_pg_depend) GETSTRUCT(tup); + + if (depform->classid == TypeRelationId && + depform->deptype == DEPENDENCY_EXTENSION) + { + Oid typoid = depform->objid; + HeapTuple typtup; + + typtup = SearchSysCache1(TYPEOID, ObjectIdGetDatum(typoid)); + if (!HeapTupleIsValid(typtup)) + continue; /* should we throw an error? */ + if (strcmp(NameStr(((Form_pg_type) GETSTRUCT(typtup))->typname), + typname) == 0) + { + result = typoid; + ReleaseSysCache(typtup); + break; /* no need to keep searching */ + } + ReleaseSysCache(typtup); + } + } + + systable_endscan(scan); table_close(depRel, AccessShareLock); diff -Nru postgresql-17-17.7/src/backend/catalog/pg_proc.c postgresql-17-17.8/src/backend/catalog/pg_proc.c --- postgresql-17-17.7/src/backend/catalog/pg_proc.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/catalog/pg_proc.c 2026-02-09 21:51:54.000000000 +0000 @@ -1160,7 +1160,7 @@ if (cursorpos > 0) newcp++; } - chlen = pg_mblen(prosrc); + chlen = pg_mblen_cstr(prosrc); if (strncmp(prosrc, literal, chlen) != 0) goto fail; prosrc += chlen; diff -Nru postgresql-17-17.7/src/backend/commands/async.c postgresql-17-17.8/src/backend/commands/async.c --- postgresql-17-17.7/src/backend/commands/async.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/commands/async.c 2026-02-09 21:51:54.000000000 +0000 @@ -446,9 +446,8 @@ static void asyncQueueFillWarning(void); static void SignalBackends(void); static void asyncQueueReadAllNotifications(void); -static bool asyncQueueProcessPageEntries(volatile QueuePosition *current, +static bool asyncQueueProcessPageEntries(QueuePosition *current, QueuePosition stop, - char *page_buffer, Snapshot snapshot); static void asyncQueueAdvanceTail(void); static void ProcessIncomingNotify(bool flush); @@ -1419,6 +1418,7 @@ */ qe.length = QUEUE_PAGESIZE - offset; qe.dboid = InvalidOid; + qe.xid = InvalidTransactionId; qe.data[0] = '\0'; /* empty channel */ qe.data[1] = '\0'; /* empty payload */ } @@ -1850,17 +1850,10 @@ static void asyncQueueReadAllNotifications(void) { - volatile QueuePosition pos; + QueuePosition pos; QueuePosition head; Snapshot snapshot; - /* page_buffer must be adequately aligned, so use a union */ - union - { - char buf[QUEUE_PAGESIZE]; - AsyncQueueEntry align; - } page_buffer; - /* Fetch current state */ LWLockAcquire(NotifyQueueLock, LW_SHARED); /* Assert checks that we have a valid state entry */ @@ -1920,49 +1913,27 @@ * It is possible that we fail while trying to send a message to our * frontend (for example, because of encoding conversion failure). If * that happens it is critical that we not try to send the same message - * over and over again. Therefore, we place a PG_TRY block here that will - * forcibly advance our queue position before we lose control to an error. - * (We could alternatively retake NotifyQueueLock and move the position - * before handling each individual message, but that seems like too much - * lock traffic.) + * over and over again. Therefore, we set ExitOnAnyError to upgrade any + * ERRORs to FATAL, causing the client connection to be closed on error. + * + * We used to only skip over the offending message and try to soldier on, + * but it was somewhat questionable to lose a notification and give the + * client an ERROR instead. A client application is not be prepared for + * that and can't tell that a notification was missed. It was also not + * very useful in practice because notifications are often processed while + * a connection is idle and reading a message from the client, and in that + * state, any error is upgraded to FATAL anyway. Closing the connection + * is a clear signal to the application that it might have missed + * notifications. */ - PG_TRY(); { + bool save_ExitOnAnyError = ExitOnAnyError; bool reachedStop; + ExitOnAnyError = true; + do { - int64 curpage = QUEUE_POS_PAGE(pos); - int curoffset = QUEUE_POS_OFFSET(pos); - int slotno; - int copysize; - - /* - * We copy the data from SLRU into a local buffer, so as to avoid - * holding the SLRU lock while we are examining the entries and - * possibly transmitting them to our frontend. Copy only the part - * of the page we will actually inspect. - */ - slotno = SimpleLruReadPage_ReadOnly(NotifyCtl, curpage, - InvalidTransactionId); - if (curpage == QUEUE_POS_PAGE(head)) - { - /* we only want to read as far as head */ - copysize = QUEUE_POS_OFFSET(head) - curoffset; - if (copysize < 0) - copysize = 0; /* just for safety */ - } - else - { - /* fetch all the rest of the page */ - copysize = QUEUE_PAGESIZE - curoffset; - } - memcpy(page_buffer.buf + curoffset, - NotifyCtl->shared->page_buffer[slotno] + curoffset, - copysize); - /* Release lock that we got from SimpleLruReadPage_ReadOnly() */ - LWLockRelease(SimpleLruGetBankLock(NotifyCtl, curpage)); - /* * Process messages up to the stop position, end of page, or an * uncommitted message. @@ -1978,19 +1949,16 @@ * rewrite pages under us. Especially we don't want to hold a lock * while sending the notifications to the frontend. */ - reachedStop = asyncQueueProcessPageEntries(&pos, head, - page_buffer.buf, - snapshot); + reachedStop = asyncQueueProcessPageEntries(&pos, head, snapshot); } while (!reachedStop); - } - PG_FINALLY(); - { + /* Update shared state */ LWLockAcquire(NotifyQueueLock, LW_SHARED); QUEUE_BACKEND_POS(MyProcNumber) = pos; LWLockRelease(NotifyQueueLock); + + ExitOnAnyError = save_ExitOnAnyError; } - PG_END_TRY(); /* Done with snapshot */ UnregisterSnapshot(snapshot); @@ -2000,31 +1968,42 @@ * Fetch notifications from the shared queue, beginning at position current, * and deliver relevant ones to my frontend. * - * The current page must have been fetched into page_buffer from shared - * memory. (We could access the page right in shared memory, but that - * would imply holding the SLRU bank lock throughout this routine.) - * - * We stop if we reach the "stop" position, or reach a notification from an - * uncommitted transaction, or reach the end of the page. - * * The function returns true once we have reached the stop position or an * uncommitted notification, and false if we have finished with the page. * In other words: once it returns true there is no need to look further. * The QueuePosition *current is advanced past all processed messages. */ static bool -asyncQueueProcessPageEntries(volatile QueuePosition *current, +asyncQueueProcessPageEntries(QueuePosition *current, QueuePosition stop, - char *page_buffer, Snapshot snapshot) { + int64 curpage = QUEUE_POS_PAGE(*current); + int slotno; + char *page_buffer; bool reachedStop = false; bool reachedEndOfPage; - AsyncQueueEntry *qe; + + /* + * We copy the entries into a local buffer to avoid holding the SLRU lock + * while we transmit them to our frontend. The local buffer must be + * adequately aligned, so use a union. + */ + union + { + char buf[QUEUE_PAGESIZE]; + AsyncQueueEntry align; + } local_buf; + char *local_buf_end = local_buf.buf; + + slotno = SimpleLruReadPage_ReadOnly(NotifyCtl, curpage, + InvalidTransactionId); + page_buffer = NotifyCtl->shared->page_buffer[slotno]; do { QueuePosition thisentry = *current; + AsyncQueueEntry *qe; if (QUEUE_POS_EQUAL(thisentry, stop)) break; @@ -2066,18 +2045,23 @@ reachedStop = true; break; } - else if (TransactionIdDidCommit(qe->xid)) - { - /* qe->data is the null-terminated channel name */ - char *channel = qe->data; - if (IsListeningOn(channel)) - { - /* payload follows channel name */ - char *payload = qe->data + strlen(channel) + 1; + /* + * Quick check for the case that we're not listening on any + * channels, before calling TransactionIdDidCommit(). This makes + * that case a little faster, but more importantly, it ensures + * that if there's a bad entry in the queue for which + * TransactionIdDidCommit() fails for some reason, we can skip + * over it on the first LISTEN in a session, and not get stuck on + * it indefinitely. + */ + if (listenChannels == NIL) + continue; - NotifyMyFrontEnd(channel, payload, qe->srcPid); - } + if (TransactionIdDidCommit(qe->xid)) + { + memcpy(local_buf_end, qe, qe->length); + local_buf_end += qe->length; } else { @@ -2091,6 +2075,32 @@ /* Loop back if we're not at end of page */ } while (!reachedEndOfPage); + /* Release lock that we got from SimpleLruReadPage_ReadOnly() */ + LWLockRelease(SimpleLruGetBankLock(NotifyCtl, curpage)); + + /* + * Now that we have let go of the SLRU bank lock, send the notifications + * to our backend + */ + Assert(local_buf_end - local_buf.buf <= BLCKSZ); + for (char *p = local_buf.buf; p < local_buf_end;) + { + AsyncQueueEntry *qe = (AsyncQueueEntry *) p; + + /* qe->data is the null-terminated channel name */ + char *channel = qe->data; + + if (IsListeningOn(channel)) + { + /* payload follows channel name */ + char *payload = qe->data + strlen(channel) + 1; + + NotifyMyFrontEnd(channel, payload, qe->srcPid); + } + + p += qe->length; + } + if (QUEUE_POS_EQUAL(*current, stop)) reachedStop = true; @@ -2166,6 +2176,120 @@ } LWLockRelease(NotifyQueueTailLock); +} + +/* + * AsyncNotifyFreezeXids + * + * Prepare the async notification queue for CLOG truncation by freezing + * transaction IDs that are about to become inaccessible. + * + * This function is called by VACUUM before advancing datfrozenxid. It scans + * the notification queue and replaces XIDs that would become inaccessible + * after CLOG truncation with special markers: + * - Committed transactions are set to FrozenTransactionId + * - Aborted/crashed transactions are set to InvalidTransactionId + * + * Only XIDs < newFrozenXid are processed, as those are the ones whose CLOG + * pages will be truncated. If XID < newFrozenXid, it cannot still be running + * (or it would have held back newFrozenXid through ProcArray). + * Therefore, if TransactionIdDidCommit returns false, we know the transaction + * either aborted explicitly or crashed, and we can safely mark it invalid. + */ +void +AsyncNotifyFreezeXids(TransactionId newFrozenXid) +{ + QueuePosition pos; + QueuePosition head; + int64 curpage = -1; + int slotno = -1; + char *page_buffer = NULL; + bool page_dirty = false; + + /* + * Acquire locks in the correct order to avoid deadlocks. As per the + * locking protocol: NotifyQueueTailLock, then NotifyQueueLock, then SLRU + * bank locks. + * + * We only need SHARED mode since we're just reading the head/tail + * positions, not modifying them. + */ + LWLockAcquire(NotifyQueueTailLock, LW_SHARED); + LWLockAcquire(NotifyQueueLock, LW_SHARED); + + pos = QUEUE_TAIL; + head = QUEUE_HEAD; + + /* Release NotifyQueueLock early, we only needed to read the positions */ + LWLockRelease(NotifyQueueLock); + + /* + * Scan the queue from tail to head, freezing XIDs as needed. We hold + * NotifyQueueTailLock throughout to ensure the tail doesn't move while + * we're working. + */ + while (!QUEUE_POS_EQUAL(pos, head)) + { + AsyncQueueEntry *qe; + TransactionId xid; + int64 pageno = QUEUE_POS_PAGE(pos); + int offset = QUEUE_POS_OFFSET(pos); + + /* If we need a different page, release old lock and get new one */ + if (pageno != curpage) + { + LWLock *lock; + + /* Release previous page if any */ + if (slotno >= 0) + { + if (page_dirty) + { + NotifyCtl->shared->page_dirty[slotno] = true; + page_dirty = false; + } + LWLockRelease(SimpleLruGetBankLock(NotifyCtl, curpage)); + } + + lock = SimpleLruGetBankLock(NotifyCtl, pageno); + LWLockAcquire(lock, LW_EXCLUSIVE); + slotno = SimpleLruReadPage(NotifyCtl, pageno, true, + InvalidTransactionId); + page_buffer = NotifyCtl->shared->page_buffer[slotno]; + curpage = pageno; + } + + qe = (AsyncQueueEntry *) (page_buffer + offset); + xid = qe->xid; + + if (TransactionIdIsNormal(xid) && + TransactionIdPrecedes(xid, newFrozenXid)) + { + if (TransactionIdDidCommit(xid)) + { + qe->xid = FrozenTransactionId; + page_dirty = true; + } + else + { + qe->xid = InvalidTransactionId; + page_dirty = true; + } + } + + /* Advance to next entry */ + asyncQueueAdvance(&pos, qe->length); + } + + /* Release final page lock if we acquired one */ + if (slotno >= 0) + { + if (page_dirty) + NotifyCtl->shared->page_dirty[slotno] = true; + LWLockRelease(SimpleLruGetBankLock(NotifyCtl, curpage)); + } + + LWLockRelease(NotifyQueueTailLock); } /* diff -Nru postgresql-17-17.7/src/backend/commands/event_trigger.c postgresql-17-17.8/src/backend/commands/event_trigger.c --- postgresql-17-17.7/src/backend/commands/event_trigger.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/commands/event_trigger.c 2026-02-09 21:51:54.000000000 +0000 @@ -979,11 +979,6 @@ * this instead of regular updates serves two purposes. First, * that avoids possible waiting on the row-level lock. Second, * that avoids dealing with TOAST. - * - * Changes made by inplace update may be lost due to - * concurrent normal updates; see inplace-inval.spec. However, - * we are OK with that. The subsequent connections will still - * have a chance to set "dathasloginevt" to false. */ systable_inplace_update_finish(state, tuple); } diff -Nru postgresql-17-17.7/src/backend/commands/extension.c postgresql-17-17.8/src/backend/commands/extension.c --- postgresql-17-17.7/src/backend/commands/extension.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/commands/extension.c 2026-02-09 21:51:54.000000000 +0000 @@ -45,6 +45,7 @@ #include "catalog/pg_depend.h" #include "catalog/pg_extension.h" #include "catalog/pg_namespace.h" +#include "catalog/pg_proc.h" #include "catalog/pg_type.h" #include "commands/alter.h" #include "commands/comment.h" @@ -60,10 +61,12 @@ #include "utils/builtins.h" #include "utils/conffiles.h" #include "utils/fmgroids.h" +#include "utils/inval.h" #include "utils/lsyscache.h" #include "utils/memutils.h" #include "utils/rel.h" #include "utils/snapmgr.h" +#include "utils/syscache.h" #include "utils/varlena.h" @@ -106,7 +109,26 @@ struct ExtensionVersionInfo *previous; /* current best predecessor */ } ExtensionVersionInfo; +/* + * Cache structure for get_function_sibling_type (and maybe later, + * allied lookup functions). + */ +typedef struct ExtensionSiblingCache +{ + struct ExtensionSiblingCache *next; /* list link */ + /* lookup key: requesting function's OID and type name */ + Oid reqfuncoid; + const char *typname; + bool valid; /* is entry currently valid? */ + uint32 exthash; /* cache hash of owning extension's OID */ + Oid typeoid; /* OID associated with typname */ +} ExtensionSiblingCache; + +/* Head of linked list of ExtensionSiblingCache structs */ +static ExtensionSiblingCache *ext_sibling_list = NULL; + /* Local functions */ +static void ext_sibling_callback(Datum arg, int cacheid, uint32 hashvalue); static List *find_update_path(List *evi_list, ExtensionVersionInfo *evi_start, ExtensionVersionInfo *evi_target, @@ -260,6 +282,114 @@ } /* + * get_function_sibling_type - find a type belonging to same extension as func + * + * Returns the type's OID, or InvalidOid if not found. + * + * This is useful in extensions, which won't have fixed object OIDs. + * We work from the calling function's own OID, which it can get from its + * FunctionCallInfo parameter, and look up the owning extension and thence + * a type belonging to the same extension. + * + * Notice that the type is specified by name only, without a schema. + * That's because this will typically be used by relocatable extensions + * which can't make a-priori assumptions about which schema their objects + * are in. As long as the extension only defines one type of this name, + * the answer is unique anyway. + * + * We might later add the ability to look up functions, operators, etc. + * + * This code is simply a frontend for some pg_depend lookups. Those lookups + * are fairly expensive, so we provide a simple cache facility. We assume + * that the passed typname is actually a C constant, or at least permanently + * allocated, so that we need not copy that string. + */ +Oid +get_function_sibling_type(Oid funcoid, const char *typname) +{ + ExtensionSiblingCache *cache_entry; + Oid extoid; + Oid typeoid; + + /* + * See if we have the answer cached. Someday there may be enough callers + * to justify a hash table, but for now, a simple linked list is fine. + */ + for (cache_entry = ext_sibling_list; cache_entry != NULL; + cache_entry = cache_entry->next) + { + if (funcoid == cache_entry->reqfuncoid && + strcmp(typname, cache_entry->typname) == 0) + break; + } + if (cache_entry && cache_entry->valid) + return cache_entry->typeoid; + + /* + * Nope, so do the expensive lookups. We do not expect failures, so we do + * not cache negative results. + */ + extoid = getExtensionOfObject(ProcedureRelationId, funcoid); + if (!OidIsValid(extoid)) + return InvalidOid; + typeoid = getExtensionType(extoid, typname); + if (!OidIsValid(typeoid)) + return InvalidOid; + + /* + * Build, or revalidate, cache entry. + */ + if (cache_entry == NULL) + { + /* Register invalidation hook if this is first entry */ + if (ext_sibling_list == NULL) + CacheRegisterSyscacheCallback(EXTENSIONOID, + ext_sibling_callback, + (Datum) 0); + + /* Momentarily zero the space to ensure valid flag is false */ + cache_entry = (ExtensionSiblingCache *) + MemoryContextAllocZero(CacheMemoryContext, + sizeof(ExtensionSiblingCache)); + cache_entry->next = ext_sibling_list; + ext_sibling_list = cache_entry; + } + + cache_entry->reqfuncoid = funcoid; + cache_entry->typname = typname; + cache_entry->exthash = GetSysCacheHashValue1(EXTENSIONOID, + ObjectIdGetDatum(extoid)); + cache_entry->typeoid = typeoid; + /* Mark it valid only once it's fully populated */ + cache_entry->valid = true; + + return typeoid; +} + +/* + * ext_sibling_callback + * Syscache inval callback function for EXTENSIONOID cache + * + * It seems sufficient to invalidate ExtensionSiblingCache entries when + * the owning extension's pg_extension entry is modified or deleted. + * Neither a requesting function's OID, nor the OID of the object it's + * looking for, could change without an extension update or drop/recreate. + */ +static void +ext_sibling_callback(Datum arg, int cacheid, uint32 hashvalue) +{ + ExtensionSiblingCache *cache_entry; + + for (cache_entry = ext_sibling_list; cache_entry != NULL; + cache_entry = cache_entry->next) + { + if (hashvalue == 0 || + cache_entry->exthash == hashvalue) + cache_entry->valid = false; + } +} + +/* * Utility functions to check validity of extension and version names */ static void diff -Nru postgresql-17-17.7/src/backend/commands/operatorcmds.c postgresql-17-17.8/src/backend/commands/operatorcmds.c --- postgresql-17-17.7/src/backend/commands/operatorcmds.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/commands/operatorcmds.c 2026-02-09 21:51:54.000000000 +0000 @@ -276,7 +276,6 @@ { Oid typeId[4]; Oid restrictionOid; - AclResult aclresult; typeId[0] = INTERNALOID; /* PlannerInfo */ typeId[1] = OIDOID; /* operator OID */ @@ -292,11 +291,33 @@ errmsg("restriction estimator function %s must return type %s", NameListToString(restrictionName), "float8"))); - /* Require EXECUTE rights for the estimator */ - aclresult = object_aclcheck(ProcedureRelationId, restrictionOid, GetUserId(), ACL_EXECUTE); - if (aclresult != ACLCHECK_OK) - aclcheck_error(aclresult, OBJECT_FUNCTION, - NameListToString(restrictionName)); + /* + * If the estimator is not a built-in function, require superuser + * privilege to install it. This protects against using something that is + * not a restriction estimator or has hard-wired assumptions about what + * data types it is working with. (Built-in estimators are required to + * defend themselves adequately against unexpected data type choices, but + * it seems impractical to expect that of extensions' estimators.) + * + * If it is built-in, only require EXECUTE rights. + */ + if (restrictionOid >= FirstGenbkiObjectId) + { + if (!superuser()) + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + errmsg("must be superuser to specify a non-built-in restriction estimator function"))); + } + else + { + AclResult aclresult; + + aclresult = object_aclcheck(ProcedureRelationId, restrictionOid, + GetUserId(), ACL_EXECUTE); + if (aclresult != ACLCHECK_OK) + aclcheck_error(aclresult, OBJECT_FUNCTION, + NameListToString(restrictionName)); + } return restrictionOid; } @@ -312,7 +333,6 @@ Oid typeId[5]; Oid joinOid; Oid joinOid2; - AclResult aclresult; typeId[0] = INTERNALOID; /* PlannerInfo */ typeId[1] = OIDOID; /* operator OID */ @@ -350,11 +370,24 @@ errmsg("join estimator function %s must return type %s", NameListToString(joinName), "float8"))); - /* Require EXECUTE rights for the estimator */ - aclresult = object_aclcheck(ProcedureRelationId, joinOid, GetUserId(), ACL_EXECUTE); - if (aclresult != ACLCHECK_OK) - aclcheck_error(aclresult, OBJECT_FUNCTION, - NameListToString(joinName)); + /* privilege checks are the same as in ValidateRestrictionEstimator */ + if (joinOid >= FirstGenbkiObjectId) + { + if (!superuser()) + ereport(ERROR, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + errmsg("must be superuser to specify a non-built-in join estimator function"))); + } + else + { + AclResult aclresult; + + aclresult = object_aclcheck(ProcedureRelationId, joinOid, + GetUserId(), ACL_EXECUTE); + if (aclresult != ACLCHECK_OK) + aclcheck_error(aclresult, OBJECT_FUNCTION, + NameListToString(joinName)); + } return joinOid; } diff -Nru postgresql-17-17.7/src/backend/commands/publicationcmds.c postgresql-17-17.8/src/backend/commands/publicationcmds.c --- postgresql-17-17.7/src/backend/commands/publicationcmds.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/commands/publicationcmds.c 2026-02-09 21:51:54.000000000 +0000 @@ -116,7 +116,12 @@ pubactions->pubtruncate = false; *publish_given = true; - publish = defGetString(defel); + + /* + * SplitIdentifierString destructively modifies its input, so make + * a copy so we don't modify the memory of the executing statement + */ + publish = pstrdup(defGetString(defel)); if (!SplitIdentifierString(publish, ',', &publish_list)) ereport(ERROR, diff -Nru postgresql-17-17.7/src/backend/commands/statscmds.c postgresql-17-17.8/src/backend/commands/statscmds.c --- postgresql-17-17.7/src/backend/commands/statscmds.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/commands/statscmds.c 2026-02-09 21:51:54.000000000 +0000 @@ -134,7 +134,13 @@ RelationGetRelationName(rel)), errdetail_relkind_not_supported(rel->rd_rel->relkind))); - /* You must own the relation to create stats on it */ + /* + * You must own the relation to create stats on it. + * + * NB: Concurrent changes could cause this function's lookup to find a + * different relation than a previous lookup by the caller, so we must + * perform this check even when check_rights == false. + */ if (!object_ownercheck(RelationRelationId, RelationGetRelid(rel), stxowner)) aclcheck_error(ACLCHECK_NOT_OWNER, get_relkind_objtype(rel->rd_rel->relkind), RelationGetRelationName(rel)); diff -Nru postgresql-17-17.7/src/backend/commands/subscriptioncmds.c postgresql-17-17.8/src/backend/commands/subscriptioncmds.c --- postgresql-17-17.7/src/backend/commands/subscriptioncmds.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/commands/subscriptioncmds.c 2026-02-09 21:51:54.000000000 +0000 @@ -1021,10 +1021,10 @@ * * It is possible that the origin is not yet created for * tablesync worker, this can happen for the states before - * SUBREL_STATE_FINISHEDCOPY. The tablesync worker or - * apply worker can also concurrently try to drop the - * origin and by this time the origin might be already - * removed. For these reasons, passing missing_ok = true. + * SUBREL_STATE_DATASYNC. The tablesync worker or apply + * worker can also concurrently try to drop the origin and + * by this time the origin might be already removed. For + * these reasons, passing missing_ok = true. */ ReplicationOriginNameForLogicalRep(sub->oid, relid, originname, sizeof(originname)); @@ -1719,7 +1719,7 @@ * * It is possible that the origin is not yet created for tablesync * worker so passing missing_ok = true. This can happen for the states - * before SUBREL_STATE_FINISHEDCOPY. + * before SUBREL_STATE_DATASYNC. */ ReplicationOriginNameForLogicalRep(subid, relid, originname, sizeof(originname)); diff -Nru postgresql-17-17.7/src/backend/commands/trigger.c postgresql-17-17.8/src/backend/commands/trigger.c --- postgresql-17-17.7/src/backend/commands/trigger.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/commands/trigger.c 2026-02-09 21:51:54.000000000 +0000 @@ -3943,21 +3943,10 @@ bool after_trig_done; /* did we already queue AS triggers? */ AfterTriggerEventList after_trig_events; /* if so, saved list pointer */ - /* - * We maintain separate transition tables for UPDATE/INSERT/DELETE since - * MERGE can run all three actions in a single statement. Note that UPDATE - * needs both old and new transition tables whereas INSERT needs only new, - * and DELETE needs only old. - */ - - /* "old" transition table for UPDATE, if any */ - Tuplestorestate *old_upd_tuplestore; - /* "new" transition table for UPDATE, if any */ - Tuplestorestate *new_upd_tuplestore; - /* "old" transition table for DELETE, if any */ - Tuplestorestate *old_del_tuplestore; - /* "new" transition table for INSERT, if any */ - Tuplestorestate *new_ins_tuplestore; + /* "old" transition table for UPDATE/DELETE, if any */ + Tuplestorestate *old_tuplestore; + /* "new" transition table for INSERT/UPDATE, if any */ + Tuplestorestate *new_tuplestore; TupleTableSlot *storeslot; /* for converting to tuplestore's format */ }; @@ -3984,6 +3973,7 @@ TupleTableSlot *newslot, TransitionCaptureState *transition_capture); static void TransitionTableAddTuple(EState *estate, + int event, TransitionCaptureState *transition_capture, ResultRelInfo *relinfo, TupleTableSlot *slot, @@ -4543,19 +4533,13 @@ { if (LocTriggerData.tg_trigger->tgoldtable) { - if (TRIGGER_FIRED_BY_UPDATE(evtshared->ats_event)) - LocTriggerData.tg_oldtable = evtshared->ats_table->old_upd_tuplestore; - else - LocTriggerData.tg_oldtable = evtshared->ats_table->old_del_tuplestore; + LocTriggerData.tg_oldtable = evtshared->ats_table->old_tuplestore; evtshared->ats_table->closed = true; } if (LocTriggerData.tg_trigger->tgnewtable) { - if (TRIGGER_FIRED_BY_INSERT(evtshared->ats_event)) - LocTriggerData.tg_newtable = evtshared->ats_table->new_ins_tuplestore; - else - LocTriggerData.tg_newtable = evtshared->ats_table->new_upd_tuplestore; + LocTriggerData.tg_newtable = evtshared->ats_table->new_tuplestore; evtshared->ats_table->closed = true; } } @@ -4887,6 +4871,11 @@ MemoryContext oldcxt; ListCell *lc; + /* At this level, cmdType should not be, eg, CMD_MERGE */ + Assert(cmdType == CMD_INSERT || + cmdType == CMD_UPDATE || + cmdType == CMD_DELETE); + /* Caller should have ensured query_depth is OK. */ Assert(afterTriggers.query_depth >= 0 && afterTriggers.query_depth < afterTriggers.maxquerydepth); @@ -4973,7 +4962,9 @@ need_new_upd, need_old_del, need_new_ins; - AfterTriggersTableData *table; + AfterTriggersTableData *ins_table; + AfterTriggersTableData *upd_table; + AfterTriggersTableData *del_table; MemoryContext oldcxt; ResourceOwner saveResourceOwner; @@ -5020,10 +5011,15 @@ AfterTriggerEnlargeQueryState(); /* - * Find or create an AfterTriggersTableData struct to hold the + * Find or create AfterTriggersTableData struct(s) to hold the * tuplestore(s). If there's a matching struct but it's marked closed, * ignore it; we need a newer one. * + * Note: MERGE must use the same AfterTriggersTableData structs as INSERT, + * UPDATE, and DELETE, so that any MERGE'd tuples are added to the same + * tuplestores as tuples from any INSERT, UPDATE, or DELETE commands + * running in the same top-level command (e.g., in a writable CTE). + * * Note: the AfterTriggersTableData list, as well as the tuplestores, are * allocated in the current (sub)transaction's CurTransactionContext, and * the tuplestores are managed by the (sub)transaction's resource owner. @@ -5031,21 +5027,34 @@ * transition tables to be deferrable; they will be fired during * AfterTriggerEndQuery, after which it's okay to delete the data. */ - table = GetAfterTriggersTableData(relid, cmdType); + if (need_new_ins) + ins_table = GetAfterTriggersTableData(relid, CMD_INSERT); + else + ins_table = NULL; + + if (need_old_upd || need_new_upd) + upd_table = GetAfterTriggersTableData(relid, CMD_UPDATE); + else + upd_table = NULL; + + if (need_old_del) + del_table = GetAfterTriggersTableData(relid, CMD_DELETE); + else + del_table = NULL; /* Now create required tuplestore(s), if we don't have them already. */ oldcxt = MemoryContextSwitchTo(CurTransactionContext); saveResourceOwner = CurrentResourceOwner; CurrentResourceOwner = CurTransactionResourceOwner; - if (need_old_upd && table->old_upd_tuplestore == NULL) - table->old_upd_tuplestore = tuplestore_begin_heap(false, false, work_mem); - if (need_new_upd && table->new_upd_tuplestore == NULL) - table->new_upd_tuplestore = tuplestore_begin_heap(false, false, work_mem); - if (need_old_del && table->old_del_tuplestore == NULL) - table->old_del_tuplestore = tuplestore_begin_heap(false, false, work_mem); - if (need_new_ins && table->new_ins_tuplestore == NULL) - table->new_ins_tuplestore = tuplestore_begin_heap(false, false, work_mem); + if (need_old_upd && upd_table->old_tuplestore == NULL) + upd_table->old_tuplestore = tuplestore_begin_heap(false, false, work_mem); + if (need_new_upd && upd_table->new_tuplestore == NULL) + upd_table->new_tuplestore = tuplestore_begin_heap(false, false, work_mem); + if (need_old_del && del_table->old_tuplestore == NULL) + del_table->old_tuplestore = tuplestore_begin_heap(false, false, work_mem); + if (need_new_ins && ins_table->new_tuplestore == NULL) + ins_table->new_tuplestore = tuplestore_begin_heap(false, false, work_mem); CurrentResourceOwner = saveResourceOwner; MemoryContextSwitchTo(oldcxt); @@ -5056,7 +5065,9 @@ state->tcs_update_old_table = need_old_upd; state->tcs_update_new_table = need_new_upd; state->tcs_insert_new_table = need_new_ins; - state->tcs_private = table; + state->tcs_insert_private = ins_table; + state->tcs_update_private = upd_table; + state->tcs_delete_private = del_table; return state; } @@ -5234,20 +5245,12 @@ { AfterTriggersTableData *table = (AfterTriggersTableData *) lfirst(lc); - ts = table->old_upd_tuplestore; - table->old_upd_tuplestore = NULL; - if (ts) - tuplestore_end(ts); - ts = table->new_upd_tuplestore; - table->new_upd_tuplestore = NULL; - if (ts) - tuplestore_end(ts); - ts = table->old_del_tuplestore; - table->old_del_tuplestore = NULL; + ts = table->old_tuplestore; + table->old_tuplestore = NULL; if (ts) tuplestore_end(ts); - ts = table->new_ins_tuplestore; - table->new_ins_tuplestore = NULL; + ts = table->new_tuplestore; + table->new_tuplestore = NULL; if (ts) tuplestore_end(ts); if (table->storeslot) @@ -5558,17 +5561,17 @@ { Assert(TupIsNull(newslot)); if (event == TRIGGER_EVENT_DELETE && delete_old_table) - tuplestore = transition_capture->tcs_private->old_del_tuplestore; + tuplestore = transition_capture->tcs_delete_private->old_tuplestore; else if (event == TRIGGER_EVENT_UPDATE && update_old_table) - tuplestore = transition_capture->tcs_private->old_upd_tuplestore; + tuplestore = transition_capture->tcs_update_private->old_tuplestore; } else if (!TupIsNull(newslot)) { Assert(TupIsNull(oldslot)); if (event == TRIGGER_EVENT_INSERT && insert_new_table) - tuplestore = transition_capture->tcs_private->new_ins_tuplestore; + tuplestore = transition_capture->tcs_insert_private->new_tuplestore; else if (event == TRIGGER_EVENT_UPDATE && update_new_table) - tuplestore = transition_capture->tcs_private->new_upd_tuplestore; + tuplestore = transition_capture->tcs_update_private->new_tuplestore; } return tuplestore; @@ -5582,6 +5585,7 @@ */ static void TransitionTableAddTuple(EState *estate, + int event, TransitionCaptureState *transition_capture, ResultRelInfo *relinfo, TupleTableSlot *slot, @@ -5600,9 +5604,26 @@ tuplestore_puttupleslot(tuplestore, original_insert_tuple); else if ((map = ExecGetChildToRootMap(relinfo)) != NULL) { - AfterTriggersTableData *table = transition_capture->tcs_private; + AfterTriggersTableData *table; TupleTableSlot *storeslot; + switch (event) + { + case TRIGGER_EVENT_INSERT: + table = transition_capture->tcs_insert_private; + break; + case TRIGGER_EVENT_UPDATE: + table = transition_capture->tcs_update_private; + break; + case TRIGGER_EVENT_DELETE: + table = transition_capture->tcs_delete_private; + break; + default: + elog(ERROR, "invalid after-trigger event code: %d", event); + table = NULL; /* keep compiler quiet */ + break; + } + storeslot = GetAfterTriggersStoreSlot(table, map->outdesc); execute_attr_map_slot(map->attrMap, slot, storeslot); tuplestore_puttupleslot(tuplestore, storeslot); @@ -6196,7 +6217,7 @@ oldslot, NULL, transition_capture); - TransitionTableAddTuple(estate, transition_capture, relinfo, + TransitionTableAddTuple(estate, event, transition_capture, relinfo, oldslot, NULL, old_tuplestore); } @@ -6212,7 +6233,7 @@ NULL, newslot, transition_capture); - TransitionTableAddTuple(estate, transition_capture, relinfo, + TransitionTableAddTuple(estate, event, transition_capture, relinfo, newslot, original_insert_tuple, new_tuplestore); } @@ -6514,7 +6535,24 @@ new_shared.ats_firing_id = 0; if ((trigger->tgoldtable || trigger->tgnewtable) && transition_capture != NULL) - new_shared.ats_table = transition_capture->tcs_private; + { + switch (event) + { + case TRIGGER_EVENT_INSERT: + new_shared.ats_table = transition_capture->tcs_insert_private; + break; + case TRIGGER_EVENT_UPDATE: + new_shared.ats_table = transition_capture->tcs_update_private; + break; + case TRIGGER_EVENT_DELETE: + new_shared.ats_table = transition_capture->tcs_delete_private; + break; + default: + /* Must be TRUNCATE, see switch above */ + new_shared.ats_table = NULL; + break; + } + } else new_shared.ats_table = NULL; new_shared.ats_modifiedcols = modifiedCols; diff -Nru postgresql-17-17.7/src/backend/commands/vacuum.c postgresql-17-17.8/src/backend/commands/vacuum.c --- postgresql-17-17.7/src/backend/commands/vacuum.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/commands/vacuum.c 2026-02-09 21:51:54.000000000 +0000 @@ -38,6 +38,7 @@ #include "catalog/namespace.h" #include "catalog/pg_database.h" #include "catalog/pg_inherits.h" +#include "commands/async.h" #include "commands/cluster.h" #include "commands/defrem.h" #include "commands/vacuum.h" @@ -1922,6 +1923,12 @@ } /* + * Freeze any old transaction IDs in the async notification queue before + * CLOG truncation. + */ + AsyncNotifyFreezeXids(frozenXID); + + /* * Advance the oldest value for commit timestamps before truncating, so * that if a user requests a timestamp for a transaction we're truncating * away right after this point, they get NULL instead of an ugly "file not diff -Nru postgresql-17-17.7/src/backend/executor/nodeModifyTable.c postgresql-17-17.8/src/backend/executor/nodeModifyTable.c --- postgresql-17-17.7/src/backend/executor/nodeModifyTable.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/executor/nodeModifyTable.c 2026-02-09 21:51:54.000000000 +0000 @@ -2641,14 +2641,6 @@ errmsg("could not serialize access due to concurrent update"))); /* - * As long as we don't support an UPDATE of INSERT ON CONFLICT for - * a partitioned table we shouldn't reach to a case where tuple to - * be lock is moved to another partition due to concurrent update - * of the partition key. - */ - Assert(!ItemPointerIndicatesMovedPartitions(&tmfd.ctid)); - - /* * Tell caller to try again from the very start. * * It does not make sense to use the usual EvalPlanQual() style @@ -2665,7 +2657,6 @@ errmsg("could not serialize access due to concurrent delete"))); /* see TM_Updated case */ - Assert(!ItemPointerIndicatesMovedPartitions(&tmfd.ctid)); ExecClearTuple(existing); return false; @@ -3291,7 +3282,28 @@ /* Switch lists, if necessary */ if (!*matched) + { actionStates = mergeActions[MERGE_WHEN_NOT_MATCHED_BY_SOURCE]; + + /* + * If we have both NOT MATCHED BY SOURCE + * and NOT MATCHED BY TARGET actions (a + * full join between the source and target + * relations), the single previously + * matched tuple from the outer plan node + * is treated as two not matched tuples, + * in the same way as if they had not + * matched to start with. Therefore, we + * must adjust the outer plan node's tuple + * count, if we're instrumenting the + * query, to get the correct "skipped" row + * count --- see show_modifytable_info(). + */ + if (outerPlanState(mtstate)->instrument && + mergeActions[MERGE_WHEN_NOT_MATCHED_BY_SOURCE] && + mergeActions[MERGE_WHEN_NOT_MATCHED_BY_TARGET]) + InstrUpdateTupleCount(outerPlanState(mtstate)->instrument, 1.0); + } } /* @@ -4155,8 +4167,12 @@ relkind == RELKIND_MATVIEW || relkind == RELKIND_PARTITIONED_TABLE) { - /* ri_RowIdAttNo refers to a ctid attribute */ - Assert(AttributeNumberIsValid(resultRelInfo->ri_RowIdAttNo)); + /* + * ri_RowIdAttNo refers to a ctid attribute. See the comment + * in ExecInitModifyTable(). + */ + Assert(AttributeNumberIsValid(resultRelInfo->ri_RowIdAttNo) || + relkind == RELKIND_PARTITIONED_TABLE); datum = ExecGetJunkAttribute(slot, resultRelInfo->ri_RowIdAttNo, &isNull); @@ -4583,7 +4599,16 @@ { resultRelInfo->ri_RowIdAttNo = ExecFindJunkAttributeInTlist(subplan->targetlist, "ctid"); - if (!AttributeNumberIsValid(resultRelInfo->ri_RowIdAttNo)) + + /* + * For heap relations, a ctid junk attribute must be present. + * Partitioned tables should only appear here when all leaf + * partitions were pruned, in which case no rows can be + * produced and ctid is not needed. + */ + if (relkind == RELKIND_PARTITIONED_TABLE) + Assert(nrels == 1); + else if (!AttributeNumberIsValid(resultRelInfo->ri_RowIdAttNo)) elog(ERROR, "could not find junk ctid column"); } else if (relkind == RELKIND_FOREIGN_TABLE) diff -Nru postgresql-17-17.7/src/backend/jit/llvm/Makefile postgresql-17-17.8/src/backend/jit/llvm/Makefile --- postgresql-17-17.7/src/backend/jit/llvm/Makefile 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/jit/llvm/Makefile 2026-02-09 21:51:54.000000000 +0000 @@ -22,8 +22,10 @@ PGFILEDESC = "llvmjit - JIT using LLVM" NAME = llvmjit -# LLVM 14 produces deprecation warnings. We'll need to make some changes -# before the relevant functions are removed, but for now silence the warnings. +# Some functions called in LLVM 14 and LLVM 15 are marked with GCC deprecation +# attributes. For LLVM 16 and later, we use the newer replacement functions +# instead, but warnings are suppressed unconditionally. (Note that this is +# only done in branches before REL_18_STABLE.) ifeq ($(GCC), yes) LLVM_CFLAGS += -Wno-deprecated-declarations endif diff -Nru postgresql-17-17.7/src/backend/jit/llvm/llvmjit.c postgresql-17-17.8/src/backend/jit/llvm/llvmjit.c --- postgresql-17-17.7/src/backend/jit/llvm/llvmjit.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/jit/llvm/llvmjit.c 2026-02-09 21:51:54.000000000 +0000 @@ -706,7 +706,11 @@ if (context->base.flags & PGJIT_OPT3) passes = "default"; + else if (context->base.flags & PGJIT_INLINE) + /* if doing inlining, but no expensive optimization, add inline pass */ + passes = "default,mem2reg,inline"; else + /* default includes always-inline pass */ passes = "default,mem2reg"; options = LLVMCreatePassBuilderOptions(); @@ -1297,7 +1301,8 @@ { LLVMJITEventListenerRef l = LLVMCreatePerfJITEventListener(); - LLVMOrcRTDyldObjectLinkingLayerRegisterJITEventListener(objlayer, l); + if (l) + LLVMOrcRTDyldObjectLinkingLayerRegisterJITEventListener(objlayer, l); } #endif diff -Nru postgresql-17-17.7/src/backend/jit/llvm/llvmjit_expr.c postgresql-17-17.8/src/backend/jit/llvm/llvmjit_expr.c --- postgresql-17-17.7/src/backend/jit/llvm/llvmjit_expr.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/jit/llvm/llvmjit_expr.c 2026-02-09 21:51:54.000000000 +0000 @@ -618,8 +618,8 @@ LLVMBuildStore(b, l_sbool_const(1), v_resnullp); /* create blocks for checking args, one for each */ - b_checkargnulls = - palloc(sizeof(LLVMBasicBlockRef *) * op->d.func.nargs); + b_checkargnulls = (LLVMBasicBlockRef *) + palloc(sizeof(LLVMBasicBlockRef) * op->d.func.nargs); for (int argno = 0; argno < op->d.func.nargs; argno++) b_checkargnulls[argno] = l_bb_before_v(b_nonull, "b.%d.isnull.%d", opno, diff -Nru postgresql-17-17.7/src/backend/jit/llvm/llvmjit_wrap.cpp postgresql-17-17.8/src/backend/jit/llvm/llvmjit_wrap.cpp --- postgresql-17-17.7/src/backend/jit/llvm/llvmjit_wrap.cpp 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/jit/llvm/llvmjit_wrap.cpp 2026-02-09 21:51:54.000000000 +0000 @@ -57,7 +57,14 @@ LLVMOrcObjectLayerRef LLVMOrcCreateRTDyldObjectLinkingLayerWithSafeSectionMemoryManager(LLVMOrcExecutionSessionRef ES) { +#if LLVM_VERSION_MAJOR >= 21 + return wrap(new llvm::orc::RTDyldObjectLinkingLayer( + *unwrap(ES), [](const llvm::MemoryBuffer&) { + return std::make_unique(nullptr, true); + })); +#else return wrap(new llvm::orc::RTDyldObjectLinkingLayer( *unwrap(ES), [] { return std::make_unique(nullptr, true); })); +#endif } #endif diff -Nru postgresql-17-17.7/src/backend/optimizer/path/indxpath.c postgresql-17-17.8/src/backend/optimizer/path/indxpath.c --- postgresql-17-17.7/src/backend/optimizer/path/indxpath.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/optimizer/path/indxpath.c 2026-02-09 21:51:54.000000000 +0000 @@ -3353,6 +3353,16 @@ if (is_target_rel) continue; + /* + * If index is !amoptionalkey, also leave indrestrictinfo as set + * above. Otherwise we risk removing all quals for the first index + * key and then not being able to generate an indexscan at all. It + * would be better to be more selective, but we've not yet identified + * which if any of the quals match the first index key. + */ + if (!index->amoptionalkey) + continue; + /* Else compute indrestrictinfo as the non-implied quals */ index->indrestrictinfo = NIL; foreach(lcr, rel->baserestrictinfo) diff -Nru postgresql-17-17.7/src/backend/optimizer/plan/planner.c postgresql-17-17.8/src/backend/optimizer/plan/planner.c --- postgresql-17-17.7/src/backend/optimizer/plan/planner.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/optimizer/plan/planner.c 2026-02-09 21:51:54.000000000 +0000 @@ -5913,6 +5913,41 @@ } } } + + /* + * XXX remove any duplicate WindowFuncs from each WindowClause. This has + * been done only in the back branches. Previously, the deduplication was + * done in find_window_functions(), but that caused issues with the code + * above when moving a WindowFunc to another WindowClause as any duplicate + * WindowFuncs won't receive the adjusted winref when merging + * WindowClauses. The deduplication below has been done only so that we + * maintain the same cost calculations. As it turns out, the previous + * deduplication code thought it was saving effort during execution by + * getting rid of duplicates, but that was not true as the expression + * evaluation code will evaluate each WindowFunc mentioned in the + * targetlist. + */ + foreach(lc, windowClause) + { + WindowClause *wc = lfirst_node(WindowClause, lc); + ListCell *lc2; + List *list = wflists->windowFuncs[wc->winref]; + List *newlist = NIL; + + if (list == NIL) + continue; + + foreach(lc2, list) + { + if (!list_member(newlist, lfirst(lc2))) + newlist = lappend(newlist, lfirst(lc2)); + else + wflists->numWindowFuncs--; + } + list_free(list); + + wflists->windowFuncs[wc->winref] = newlist; + } } /* diff -Nru postgresql-17-17.7/src/backend/optimizer/util/clauses.c postgresql-17-17.8/src/backend/optimizer/util/clauses.c --- postgresql-17-17.7/src/backend/optimizer/util/clauses.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/optimizer/util/clauses.c 2026-02-09 21:51:54.000000000 +0000 @@ -248,13 +248,10 @@ if (wfunc->winref > lists->maxWinRef) elog(ERROR, "WindowFunc contains out-of-range winref %u", wfunc->winref); - /* eliminate duplicates, so that we avoid repeated computation */ - if (!list_member(lists->windowFuncs[wfunc->winref], wfunc)) - { - lists->windowFuncs[wfunc->winref] = - lappend(lists->windowFuncs[wfunc->winref], wfunc); - lists->numWindowFuncs++; - } + + lists->windowFuncs[wfunc->winref] = + lappend(lists->windowFuncs[wfunc->winref], wfunc); + lists->numWindowFuncs++; /* * We assume that the parser checked that there are no window diff -Nru postgresql-17-17.7/src/backend/parser/parse_agg.c postgresql-17-17.8/src/backend/parser/parse_agg.c --- postgresql-17-17.7/src/backend/parser/parse_agg.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/parser/parse_agg.c 2026-02-09 21:51:54.000000000 +0000 @@ -37,6 +37,8 @@ ParseState *pstate; int min_varlevel; int min_agglevel; + int min_ctelevel; + RangeTblEntry *min_cte; int sublevels_up; } check_agg_arguments_context; @@ -56,7 +58,8 @@ static int check_agg_arguments(ParseState *pstate, List *directargs, List *args, - Expr *filter); + Expr *filter, + int agglocation); static bool check_agg_arguments_walker(Node *node, check_agg_arguments_context *context); static void check_ungrouped_columns(Node *node, ParseState *pstate, Query *qry, @@ -334,7 +337,8 @@ min_varlevel = check_agg_arguments(pstate, directargs, args, - filter); + filter, + location); *p_levelsup = min_varlevel; @@ -636,7 +640,8 @@ check_agg_arguments(ParseState *pstate, List *directargs, List *args, - Expr *filter) + Expr *filter, + int agglocation) { int agglevel; check_agg_arguments_context context; @@ -644,6 +649,8 @@ context.pstate = pstate; context.min_varlevel = -1; /* signifies nothing found yet */ context.min_agglevel = -1; + context.min_ctelevel = -1; + context.min_cte = NULL; context.sublevels_up = 0; (void) check_agg_arguments_walker((Node *) args, &context); @@ -682,6 +689,20 @@ } /* + * If there's a non-local CTE that's below the aggregate's semantic level, + * complain. It's not quite clear what we should do to fix up such a case + * (treating the CTE reference like a Var seems wrong), and it's also + * unclear whether there is a real-world use for such cases. + */ + if (context.min_ctelevel >= 0 && context.min_ctelevel < agglevel) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("outer-level aggregate cannot use a nested CTE"), + errdetail("CTE \"%s\" is below the aggregate's semantic level.", + context.min_cte->eref->aliasname), + parser_errposition(pstate, agglocation))); + + /* * Now check for vars/aggs in the direct arguments, and throw error if * needed. Note that we allow a Var of the agg's semantic level, but not * an Agg of that level. In principle such Aggs could probably be @@ -694,6 +715,7 @@ { context.min_varlevel = -1; context.min_agglevel = -1; + context.min_ctelevel = -1; (void) check_agg_arguments_walker((Node *) directargs, &context); if (context.min_varlevel >= 0 && context.min_varlevel < agglevel) ereport(ERROR, @@ -709,6 +731,13 @@ parser_errposition(pstate, locate_agg_of_level((Node *) directargs, context.min_agglevel)))); + if (context.min_ctelevel >= 0 && context.min_ctelevel < agglevel) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("outer-level aggregate cannot use a nested CTE"), + errdetail("CTE \"%s\" is below the aggregate's semantic level.", + context.min_cte->eref->aliasname), + parser_errposition(pstate, agglocation))); } return agglevel; } @@ -789,11 +818,6 @@ if (IsA(node, RangeTblEntry)) { - /* - * CTE references act similarly to Vars of the CTE's level. Without - * this we might conclude that the Agg can be evaluated above the CTE, - * leading to trouble. - */ RangeTblEntry *rte = (RangeTblEntry *) node; if (rte->rtekind == RTE_CTE) @@ -805,9 +829,12 @@ /* ignore local CTEs of subqueries */ if (ctelevelsup >= 0) { - if (context->min_varlevel < 0 || - context->min_varlevel > ctelevelsup) - context->min_varlevel = ctelevelsup; + if (context->min_ctelevel < 0 || + context->min_ctelevel > ctelevelsup) + { + context->min_ctelevel = ctelevelsup; + context->min_cte = rte; + } } } return false; /* allow range_table_walker to continue */ diff -Nru postgresql-17-17.7/src/backend/parser/parse_expr.c postgresql-17-17.8/src/backend/parser/parse_expr.c --- postgresql-17-17.7/src/backend/parser/parse_expr.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/parser/parse_expr.c 2026-02-09 21:51:54.000000000 +0000 @@ -4273,6 +4273,9 @@ { JsonExpr *jsexpr; Node *path_spec; + Oid pathspec_type; + int pathspec_loc; + Node *coerced_path_spec; const char *func_name = NULL; JsonFormatType default_format; @@ -4488,17 +4491,21 @@ jsexpr->format = func->context_item->format; path_spec = transformExprRecurse(pstate, func->pathspec); - path_spec = coerce_to_target_type(pstate, path_spec, exprType(path_spec), - JSONPATHOID, -1, - COERCION_EXPLICIT, COERCE_IMPLICIT_CAST, - exprLocation(path_spec)); - if (path_spec == NULL) + pathspec_type = exprType(path_spec); + pathspec_loc = exprLocation(path_spec); + coerced_path_spec = coerce_to_target_type(pstate, path_spec, + pathspec_type, + JSONPATHOID, -1, + COERCION_EXPLICIT, + COERCE_IMPLICIT_CAST, + pathspec_loc); + if (coerced_path_spec == NULL) ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), errmsg("JSON path expression must be of type %s, not of type %s", - "jsonpath", format_type_be(exprType(path_spec))), - parser_errposition(pstate, exprLocation(path_spec)))); - jsexpr->path_spec = path_spec; + "jsonpath", format_type_be(pathspec_type)), + parser_errposition(pstate, pathspec_loc))); + jsexpr->path_spec = coerced_path_spec; /* Transform and coerce the PASSING arguments to jsonb. */ transformJsonPassingArgs(pstate, func_name, diff -Nru postgresql-17-17.7/src/backend/parser/parse_utilcmd.c postgresql-17-17.8/src/backend/parser/parse_utilcmd.c --- postgresql-17-17.7/src/backend/parser/parse_utilcmd.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/parser/parse_utilcmd.c 2026-02-09 21:51:54.000000000 +0000 @@ -4146,12 +4146,14 @@ int i, j; - i = j = 0; + j = 0; foreach(lc, blist) { Node *expr = lfirst(lc); PartitionRangeDatum *prd = NULL; + i = foreach_current_index(lc); + /* * Infinite range bounds -- "minvalue" and "maxvalue" -- get passed in * as ColumnRefs. @@ -4229,7 +4231,6 @@ prd = makeNode(PartitionRangeDatum); prd->kind = PARTITION_RANGE_DATUM_VALUE; prd->value = (Node *) value; - ++i; } prd->location = exprLocation(expr); diff -Nru postgresql-17-17.7/src/backend/po/de.po postgresql-17-17.8/src/backend/po/de.po --- postgresql-17-17.7/src/backend/po/de.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/po/de.po 2026-02-09 21:51:54.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-07 06:29+0000\n" +"POT-Creation-Date: 2026-02-07 08:29+0000\n" "PO-Revision-Date: 2025-11-07 08:48+0100\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" @@ -88,15 +88,15 @@ #: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1353 access/transam/xlog.c:3459 -#: access/transam/xlog.c:4323 access/transam/xlogrecovery.c:1238 -#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373 -#: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123 +#: access/transam/twophase.c:1353 access/transam/xlog.c:3458 +#: access/transam/xlog.c:4322 access/transam/xlogrecovery.c:1248 +#: access/transam/xlogrecovery.c:1346 access/transam/xlogrecovery.c:1383 +#: access/transam/xlogrecovery.c:1450 backup/basebackup.c:2123 #: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764 #: replication/logical/origin.c:745 replication/logical/origin.c:781 #: replication/logical/reorderbuffer.c:5243 -#: replication/logical/snapbuild.c:2099 replication/slot.c:2249 -#: replication/slot.c:2290 replication/walsender.c:673 +#: replication/logical/snapbuild.c:2099 replication/slot.c:2281 +#: replication/slot.c:2322 replication/walsender.c:673 #: storage/file/buffile.c:470 storage/file/copydir.c:185 #: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829 #, c-format @@ -104,10 +104,10 @@ msgstr "konnte Datei »%s« nicht lesen: %m" #: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 -#: access/transam/xlog.c:3464 access/transam/xlog.c:4328 +#: access/transam/xlog.c:3463 access/transam/xlog.c:4327 #: replication/logical/origin.c:750 replication/logical/origin.c:789 -#: replication/logical/snapbuild.c:2104 replication/slot.c:2253 -#: replication/slot.c:2294 replication/walsender.c:678 +#: replication/logical/snapbuild.c:2104 replication/slot.c:2285 +#: replication/slot.c:2326 replication/walsender.c:678 #: utils/cache/relmapper.c:833 #, c-format msgid "could not read file \"%s\": read %d of %zu" @@ -118,17 +118,17 @@ #: access/heap/rewriteheap.c:1141 access/heap/rewriteheap.c:1246 #: access/transam/timeline.c:392 access/transam/timeline.c:438 #: access/transam/timeline.c:512 access/transam/twophase.c:1365 -#: access/transam/twophase.c:1784 access/transam/xlog.c:3305 -#: access/transam/xlog.c:3499 access/transam/xlog.c:3504 -#: access/transam/xlog.c:3640 access/transam/xlog.c:4293 -#: access/transam/xlog.c:5228 commands/copyfrom.c:1799 commands/copyto.c:325 +#: access/transam/twophase.c:1784 access/transam/xlog.c:3304 +#: access/transam/xlog.c:3498 access/transam/xlog.c:3503 +#: access/transam/xlog.c:3639 access/transam/xlog.c:4292 +#: access/transam/xlog.c:5227 commands/copyfrom.c:1799 commands/copyto.c:325 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540 #: replication/logical/origin.c:683 replication/logical/origin.c:822 #: replication/logical/reorderbuffer.c:5295 #: replication/logical/snapbuild.c:1866 replication/logical/snapbuild.c:1990 -#: replication/slot.c:2137 replication/slot.c:2301 replication/walsender.c:688 -#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:825 -#: storage/file/fd.c:3750 storage/file/fd.c:3856 utils/cache/relmapper.c:841 +#: replication/slot.c:2169 replication/slot.c:2333 replication/walsender.c:688 +#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828 +#: storage/file/fd.c:3753 storage/file/fd.c:3859 utils/cache/relmapper.c:841 #: utils/cache/relmapper.c:956 #, c-format msgid "could not close file \"%s\": %m" @@ -157,10 +157,10 @@ #: ../common/file_utils.c:406 ../common/file_utils.c:480 #: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111 #: access/transam/timeline.c:251 access/transam/timeline.c:348 -#: access/transam/twophase.c:1309 access/transam/xlog.c:3212 -#: access/transam/xlog.c:3375 access/transam/xlog.c:3414 -#: access/transam/xlog.c:3607 access/transam/xlog.c:4313 -#: access/transam/xlogrecovery.c:4275 access/transam/xlogrecovery.c:4378 +#: access/transam/twophase.c:1309 access/transam/xlog.c:3211 +#: access/transam/xlog.c:3374 access/transam/xlog.c:3413 +#: access/transam/xlog.c:3606 access/transam/xlog.c:4312 +#: access/transam/xlogrecovery.c:4285 access/transam/xlogrecovery.c:4388 #: access/transam/xlogutils.c:836 backup/basebackup.c:547 #: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624 #: postmaster/syslogger.c:1511 replication/logical/origin.c:735 @@ -168,10 +168,10 @@ #: replication/logical/reorderbuffer.c:4450 #: replication/logical/reorderbuffer.c:5223 #: replication/logical/snapbuild.c:1821 replication/logical/snapbuild.c:1931 -#: replication/slot.c:2221 replication/walsender.c:646 +#: replication/slot.c:2253 replication/walsender.c:646 #: replication/walsender.c:3099 storage/file/copydir.c:151 -#: storage/file/fd.c:800 storage/file/fd.c:3507 storage/file/fd.c:3737 -#: storage/file/fd.c:3827 storage/smgr/md.c:661 utils/cache/relmapper.c:818 +#: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740 +#: storage/file/fd.c:3830 storage/smgr/md.c:672 utils/cache/relmapper.c:818 #: utils/cache/relmapper.c:935 utils/error/elog.c:2124 #: utils/init/miscinit.c:1581 utils/init/miscinit.c:1715 #: utils/init/miscinit.c:1792 utils/misc/guc.c:4782 utils/misc/guc.c:4832 @@ -181,7 +181,7 @@ #: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249 #: access/transam/twophase.c:1757 access/transam/twophase.c:1766 -#: access/transam/xlog.c:9320 access/transam/xlogfuncs.c:698 +#: access/transam/xlog.c:9346 access/transam/xlogfuncs.c:698 #: backup/basebackup_server.c:173 backup/basebackup_server.c:266 #: backup/walsummary.c:304 postmaster/postmaster.c:4129 #: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535 @@ -195,12 +195,12 @@ #: access/heap/rewriteheap.c:925 access/heap/rewriteheap.c:1135 #: access/heap/rewriteheap.c:1240 access/transam/timeline.c:432 #: access/transam/timeline.c:506 access/transam/twophase.c:1778 -#: access/transam/xlog.c:3298 access/transam/xlog.c:3493 -#: access/transam/xlog.c:4286 access/transam/xlog.c:8695 -#: access/transam/xlog.c:8740 backup/basebackup_server.c:207 +#: access/transam/xlog.c:3297 access/transam/xlog.c:3492 +#: access/transam/xlog.c:4285 access/transam/xlog.c:8721 +#: access/transam/xlog.c:8766 backup/basebackup_server.c:207 #: commands/dbcommands.c:514 replication/logical/snapbuild.c:1859 -#: replication/slot.c:2121 replication/slot.c:2231 storage/file/fd.c:817 -#: storage/file/fd.c:3848 storage/smgr/md.c:1331 storage/smgr/md.c:1376 +#: replication/slot.c:2153 replication/slot.c:2263 storage/file/fd.c:820 +#: storage/file/fd.c:3851 storage/smgr/md.c:1345 storage/smgr/md.c:1390 #: storage/sync/sync.c:446 utils/misc/guc.c:4530 #, c-format msgid "could not fsync file \"%s\": %m" @@ -220,22 +220,22 @@ #: postmaster/bgworker.c:945 postmaster/postmaster.c:3562 #: postmaster/postmaster.c:4023 postmaster/postmaster.c:4385 #: postmaster/walsummarizer.c:935 -#: replication/libpqwalreceiver/libpqwalreceiver.c:387 +#: replication/libpqwalreceiver/libpqwalreceiver.c:400 #: replication/logical/logical.c:212 replication/walsender.c:853 -#: storage/buffer/localbuf.c:606 storage/file/fd.c:909 storage/file/fd.c:1440 -#: storage/file/fd.c:1601 storage/file/fd.c:2528 storage/ipc/procarray.c:1465 +#: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443 +#: storage/file/fd.c:1604 storage/file/fd.c:2531 storage/ipc/procarray.c:1465 #: storage/ipc/procarray.c:2219 storage/ipc/procarray.c:2226 #: storage/ipc/procarray.c:2731 storage/ipc/procarray.c:3435 #: utils/activity/pgstat_shmem.c:508 utils/adt/formatting.c:1725 #: utils/adt/formatting.c:1873 utils/adt/formatting.c:2075 -#: utils/adt/pg_locale.c:532 utils/adt/pg_locale.c:696 utils/fmgr/dfmgr.c:229 +#: utils/adt/pg_locale.c:533 utils/adt/pg_locale.c:697 utils/fmgr/dfmgr.c:229 #: utils/hash/dynahash.c:517 utils/hash/dynahash.c:617 -#: utils/hash/dynahash.c:1100 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429 -#: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:649 +#: utils/hash/dynahash.c:1100 utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 +#: utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 utils/misc/guc.c:649 #: utils/misc/guc.c:674 utils/misc/guc.c:1062 utils/misc/guc.c:4508 #: utils/misc/tzparser.c:477 utils/mmgr/aset.c:451 utils/mmgr/bump.c:183 #: utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729 utils/mmgr/dsa.c:810 -#: utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1154 utils/mmgr/slab.c:370 +#: utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1157 utils/mmgr/slab.c:370 #, c-format msgid "out of memory" msgstr "Speicher aufgebraucht" @@ -313,7 +313,7 @@ msgid "cannot duplicate null pointer (internal error)\n" msgstr "kann NULL-Zeiger nicht kopieren (interner Fehler)\n" -#: ../common/file_utils.c:76 storage/file/fd.c:3513 +#: ../common/file_utils.c:76 storage/file/fd.c:3516 #, c-format msgid "could not synchronize file system for file \"%s\": %m" msgstr "konnte Dateisystem für Datei »%s« nicht synchronisieren: %m" @@ -322,11 +322,11 @@ #: ../common/file_utils.c:570 access/transam/twophase.c:1321 #: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:235 #: backup/basebackup.c:355 backup/basebackup.c:553 backup/basebackup.c:624 -#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1749 -#: commands/copyto.c:700 commands/extension.c:3527 commands/tablespace.c:804 +#: backup/walsummary.c:247 commands/copyfrom.c:1749 commands/copyto.c:700 +#: commands/extension.c:3527 commands/tablespace.c:804 #: commands/tablespace.c:893 postmaster/pgarch.c:680 #: replication/logical/snapbuild.c:1717 replication/logical/snapbuild.c:2220 -#: storage/file/fd.c:1965 storage/file/fd.c:2051 storage/file/fd.c:3561 +#: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564 #: utils/adt/dbsize.c:105 utils/adt/dbsize.c:257 utils/adt/dbsize.c:337 #: utils/adt/genfile.c:437 utils/adt/genfile.c:612 utils/adt/misc.c:340 #, c-format @@ -341,14 +341,14 @@ #: ../common/file_utils.c:151 ../common/file_utils.c:281 #: ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:728 #: commands/tablespace.c:738 postmaster/postmaster.c:1472 -#: storage/file/fd.c:2930 storage/file/reinit.c:126 utils/adt/misc.c:256 +#: storage/file/fd.c:2933 storage/file/reinit.c:126 utils/adt/misc.c:256 #: utils/misc/tzparser.c:339 #, c-format msgid "could not open directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht öffnen: %m" #: ../common/file_utils.c:169 ../common/file_utils.c:315 -#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2942 +#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2945 #, c-format msgid "could not read directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht lesen: %m" @@ -356,7 +356,7 @@ #: ../common/file_utils.c:498 access/transam/xlogarchive.c:389 #: postmaster/pgarch.c:834 postmaster/syslogger.c:1559 #: replication/logical/snapbuild.c:1878 replication/slot.c:965 -#: replication/slot.c:2004 replication/slot.c:2153 storage/file/fd.c:835 +#: replication/slot.c:2036 replication/slot.c:2185 storage/file/fd.c:838 #: utils/time/snapmgr.c:1255 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" @@ -709,12 +709,12 @@ #: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 #: access/transam/twophase.c:1717 access/transam/xlogarchive.c:119 -#: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1050 -#: postmaster/syslogger.c:1488 replication/logical/origin.c:591 -#: replication/logical/reorderbuffer.c:4719 +#: access/transam/xlogarchive.c:399 backup/walsummary.c:254 +#: postmaster/postmaster.c:1050 postmaster/syslogger.c:1488 +#: replication/logical/origin.c:591 replication/logical/reorderbuffer.c:4719 #: replication/logical/snapbuild.c:1759 replication/logical/snapbuild.c:2193 -#: replication/slot.c:2205 storage/file/fd.c:875 storage/file/fd.c:3375 -#: storage/file/fd.c:3437 storage/file/reinit.c:261 storage/ipc/dsm.c:343 +#: replication/slot.c:2237 storage/file/fd.c:878 storage/file/fd.c:3378 +#: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343 #: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243 #: utils/time/snapmgr.c:1591 #, c-format @@ -722,8 +722,8 @@ msgstr "konnte Datei »%s« nicht löschen: %m" #: ../common/rmtree.c:124 commands/tablespace.c:767 commands/tablespace.c:780 -#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3367 -#: storage/file/fd.c:3776 +#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3370 +#: storage/file/fd.c:3779 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht löschen: %m" @@ -830,25 +830,25 @@ msgid "could not get junction for \"%s\": %s\n" msgstr "konnte Junction für »%s« nicht ermitteln: %s\n" -#: ../port/open.c:115 +#: ../port/open.c:125 #, c-format msgid "could not open file \"%s\": %s" msgstr "konnte Datei »%s« nicht öffnen: %s" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "lock violation" msgstr "Sperrverletzung" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "sharing violation" msgstr "Zugriffsverletzung (Sharing Violation)" -#: ../port/open.c:117 +#: ../port/open.c:127 #, c-format msgid "Continuing to retry for 30 seconds." msgstr "Versuche werden für 30 Sekunden wiederholt." -#: ../port/open.c:118 +#: ../port/open.c:128 #, c-format msgid "You might have antivirus, backup, or similar software interfering with the database system." msgstr "Möglicherweise stört eine Antivirus-, Datensicherungs- oder ähnliche Software das Datenbanksystem." @@ -1341,38 +1341,38 @@ msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)" msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlen typübergreifende Operatoren" -#: access/heap/heapam.c:2241 +#: access/heap/heapam.c:2244 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "in einem parallelen Arbeitsprozess können keine Tupel eingefügt werden" -#: access/heap/heapam.c:2764 +#: access/heap/heapam.c:2767 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "während einer parallelen Operation können keine Tupel gelöscht werden" -#: access/heap/heapam.c:2811 +#: access/heap/heapam.c:2814 #, c-format msgid "attempted to delete invisible tuple" msgstr "Versuch ein unsichtbares Tupel zu löschen" -#: access/heap/heapam.c:3261 access/heap/heapam.c:6542 access/index/genam.c:818 +#: access/heap/heapam.c:3264 access/heap/heapam.c:6632 access/index/genam.c:818 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "während einer parallelen Operation können keine Tupel aktualisiert werden" -#: access/heap/heapam.c:3438 +#: access/heap/heapam.c:3441 #, c-format msgid "attempted to update invisible tuple" msgstr "Versuch ein unsichtbares Tupel zu aktualisieren" -#: access/heap/heapam.c:4949 access/heap/heapam.c:4987 -#: access/heap/heapam.c:5252 access/heap/heapam_handler.c:468 +#: access/heap/heapam.c:4954 access/heap/heapam.c:4992 +#: access/heap/heapam.c:5259 access/heap/heapam_handler.c:468 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "konnte Sperre für Zeile in Relation »%s« nicht setzen" -#: access/heap/heapam.c:6355 commands/trigger.c:3427 +#: access/heap/heapam.c:6386 commands/trigger.c:3427 #: executor/nodeModifyTable.c:2399 executor/nodeModifyTable.c:2490 #, c-format msgid "tuple to be updated was already modified by an operation triggered by the current command" @@ -1395,13 +1395,13 @@ #: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 #: access/transam/timeline.c:329 access/transam/timeline.c:481 -#: access/transam/xlog.c:3237 access/transam/xlog.c:3428 -#: access/transam/xlog.c:4265 access/transam/xlog.c:9309 +#: access/transam/xlog.c:3236 access/transam/xlog.c:3427 +#: access/transam/xlog.c:4264 access/transam/xlog.c:9335 #: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149 #: backup/basebackup_server.c:242 commands/dbcommands.c:494 #: postmaster/launch_backend.c:340 postmaster/postmaster.c:4116 #: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603 -#: replication/slot.c:2065 storage/file/copydir.c:157 storage/smgr/md.c:230 +#: replication/slot.c:2097 storage/file/copydir.c:157 storage/smgr/md.c:230 #: utils/time/snapmgr.c:1234 #, c-format msgid "could not create file \"%s\": %m" @@ -1414,12 +1414,12 @@ #: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 #: access/transam/timeline.c:424 access/transam/timeline.c:498 -#: access/transam/xlog.c:3287 access/transam/xlog.c:3484 -#: access/transam/xlog.c:4277 commands/dbcommands.c:506 +#: access/transam/xlog.c:3286 access/transam/xlog.c:3483 +#: access/transam/xlog.c:4276 commands/dbcommands.c:506 #: postmaster/launch_backend.c:351 postmaster/launch_backend.c:363 #: replication/logical/origin.c:615 replication/logical/origin.c:657 #: replication/logical/origin.c:676 replication/logical/snapbuild.c:1835 -#: replication/slot.c:2101 storage/file/buffile.c:545 +#: replication/slot.c:2133 storage/file/buffile.c:545 #: storage/file/copydir.c:197 utils/init/miscinit.c:1656 #: utils/init/miscinit.c:1667 utils/init/miscinit.c:1675 utils/misc/guc.c:4491 #: utils/misc/guc.c:4522 utils/misc/guc.c:5680 utils/misc/guc.c:5698 @@ -1771,7 +1771,7 @@ msgid "\"%s\" cannot be empty." msgstr "»%s« kann nicht leer sein." -#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4881 +#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4891 #, c-format msgid "\"%s\" is too long (maximum %d characters)." msgstr "»%s« ist zu lang (maximal %d Zeichen)." @@ -1811,13 +1811,13 @@ msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Stellen Sie sicher, dass der Konfigurationsparameter »%s« gesetzt ist." -#: access/transam/multixact.c:1091 +#: access/transam/multixact.c:1173 #, c-format msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database \"%s\"" msgstr "Datenbank nimmt keine Befehle an, die neue MultiXactIds zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank »%s« zu vermeiden" -#: access/transam/multixact.c:1093 access/transam/multixact.c:1100 -#: access/transam/multixact.c:1124 access/transam/multixact.c:1133 +#: access/transam/multixact.c:1175 access/transam/multixact.c:1182 +#: access/transam/multixact.c:1206 access/transam/multixact.c:1215 #: access/transam/varsup.c:158 access/transam/varsup.c:165 #, c-format msgid "" @@ -1827,65 +1827,70 @@ "Führen Sie ein datenbankweites VACUUM in dieser Datenbank aus.\n" "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen." -#: access/transam/multixact.c:1098 +#: access/transam/multixact.c:1180 #, c-format msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database with OID %u" msgstr "Datenbank nimmt keine Befehle an, die neue MultiXactIds zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank mit OID %u zu vermeiden" -#: access/transam/multixact.c:1119 access/transam/multixact.c:2474 +#: access/transam/multixact.c:1201 access/transam/multixact.c:2546 #, 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] "Datenbank »%s« muss gevacuumt werden, bevor %u weitere MultiXactId aufgebraucht ist" msgstr[1] "Datenbank »%s« muss gevacuumt werden, bevor %u weitere MultiXactIds aufgebraucht sind" -#: access/transam/multixact.c:1128 access/transam/multixact.c:2483 +#: access/transam/multixact.c:1210 access/transam/multixact.c:2555 #, 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] "Datenbank mit OID %u muss gevacuumt werden, bevor %u weitere MultiXactId aufgebraucht ist" msgstr[1] "Datenbank mit OID %u muss gevacuumt werden, bevor %u weitere MultiXactIds aufgebraucht sind" -#: access/transam/multixact.c:1189 +#: access/transam/multixact.c:1274 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "Grenzwert für Multixact-»Members« überschritten" -#: access/transam/multixact.c:1190 +#: access/transam/multixact.c:1275 #, 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] "Dieser Befehl würde eine Multixact mit %u Mitgliedern erzeugen, aber es ist nur genug Platz für %u Mitglied." msgstr[1] "Dieser Befehl würde eine Multixact mit %u Mitgliedern erzeugen, aber es ist nur genug Platz für %u Mitglieder." -#: access/transam/multixact.c:1195 +#: access/transam/multixact.c:1280 #, 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 "Führen Sie ein datenbankweites VACUUM in der Datenbank mit OID %u aus, mit reduzierten Einstellungen für »vacuum_multixact_freeze_min_age« und »vacuum_multixact_freeze_table_age«." -#: access/transam/multixact.c:1226 +#: access/transam/multixact.c:1311 #, c-format msgid "database with OID %u must be vacuumed before %d more multixact member is used" msgid_plural "database with OID %u must be vacuumed before %d more multixact members are used" msgstr[0] "Datenbank mit OID %u muss gevacuumt werden, bevor %d weiteres Multixact-Mitglied aufgebraucht ist" msgstr[1] "Datenbank mit OID %u muss gevacuumt werden, bevor %d weitere Multixact-Mitglieder aufgebraucht sind" -#: access/transam/multixact.c:1231 +#: access/transam/multixact.c:1316 #, 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 "Führen Sie ein datenbankweites VACUUM in dieser Datenbank aus, mit reduzierten Einstellungen für »vacuum_multixact_freeze_min_age« und »vacuum_multixact_freeze_table_age«." -#: access/transam/multixact.c:1371 +#: access/transam/multixact.c:1455 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "MultiXactId %u existiert nicht mehr -- anscheinender Überlauf" -#: access/transam/multixact.c:1377 +#: access/transam/multixact.c:1461 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %u wurde noch nicht erzeugt -- anscheinender Überlauf" -#: access/transam/multixact.c:2479 access/transam/multixact.c:2488 +#: access/transam/multixact.c:1554 +#, c-format +msgid "MultiXact %u has invalid next offset" +msgstr "MultiXact %u hat ungültiges nächstes Offset" + +#: access/transam/multixact.c:2551 access/transam/multixact.c:2560 #, c-format msgid "" "To avoid MultiXactId assignment failures, execute a database-wide VACUUM in that database.\n" @@ -1894,61 +1899,66 @@ "Um Scheitern von MultiXactId-Zuweisungen zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n" "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen." -#: access/transam/multixact.c:2767 +#: access/transam/multixact.c:2839 #, c-format msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk" msgstr "MultiXact-Member-Wraparound-Schutz ist deaktiviert, weil die älteste gecheckpointete MultiXact %u nicht auf der Festplatte existiert" -#: access/transam/multixact.c:2789 +#: access/transam/multixact.c:2861 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "MultiXact-Member-Wraparound-Schutz ist jetzt aktiviert" -#: access/transam/multixact.c:3180 +#: access/transam/multixact.c:3252 #, c-format msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" msgstr "älteste MultiXact %u nicht gefunden, älteste ist MultiXact %u, Truncate wird ausgelassen" -#: access/transam/multixact.c:3198 +#: access/transam/multixact.c:3270 #, c-format msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation" msgstr "kann nicht bis MultiXact %u trunkieren, weil sie nicht auf der Festplatte existiert, Trunkierung wird ausgelassen" -#: access/transam/multixact.c:3517 +#: access/transam/multixact.c:3287 +#, c-format +msgid "cannot truncate up to MultiXact %u because it has invalid offset, skipping truncation" +msgstr "kann nicht bis MultiXact %u trunkieren, weil es ein ungültiges Offset hat, Trunkierung wird ausgelassen" + +#: access/transam/multixact.c:3632 #, c-format msgid "invalid MultiXactId: %u" msgstr "ungültige MultiXactId: %u" -#: access/transam/parallel.c:748 access/transam/parallel.c:867 +#: access/transam/parallel.c:755 access/transam/parallel.c:874 #, c-format msgid "parallel worker failed to initialize" msgstr "Initialisierung von parallelem Arbeitsprozess fehlgeschlagen" -#: access/transam/parallel.c:749 access/transam/parallel.c:868 +#: access/transam/parallel.c:756 access/transam/parallel.c:875 #, c-format msgid "More details may be available in the server log." msgstr "Weitere Einzelheiten sind möglicherweise im Serverlog zu finden." -#: access/transam/parallel.c:929 +#: access/transam/parallel.c:936 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "Postmaster beendete während einer parallelen Transaktion" -#: access/transam/parallel.c:1116 +#: access/transam/parallel.c:1123 #, c-format msgid "lost connection to parallel worker" msgstr "Verbindung mit parallelem Arbeitsprozess verloren" -#: access/transam/parallel.c:1172 access/transam/parallel.c:1174 +#: access/transam/parallel.c:1179 access/transam/parallel.c:1181 msgid "parallel worker" msgstr "paralleler Arbeitsprozess" -#: access/transam/parallel.c:1344 replication/logical/applyparallelworker.c:897 +#: access/transam/parallel.c:1351 replication/logical/applyparallelworker.c:897 #, c-format msgid "could not map dynamic shared memory segment" msgstr "konnte dynamisches Shared-Memory-Segment nicht mappen" -#: access/transam/parallel.c:1349 replication/logical/applyparallelworker.c:903 +#: access/transam/parallel.c:1356 replication/logical/applyparallelworker.c:903 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "ungültige magische Zahl in dynamischem Shared-Memory-Segment" @@ -2288,7 +2298,7 @@ msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk." msgstr "Zweiphasen-Statusdatei wurde in WAL-Eintrag %X/%X gefunden, aber diese Transaktion wurde schon von der Festplatte wiederhergestellt." -#: access/transam/twophase.c:2524 storage/file/fd.c:511 utils/fmgr/dfmgr.c:209 +#: access/transam/twophase.c:2524 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209 #, c-format msgid "could not access file \"%s\": %m" msgstr "konnte nicht auf Datei »%s« zugreifen: %m" @@ -2352,559 +2362,559 @@ msgid "cannot have more than 2^32-2 commands in a transaction" msgstr "kann nicht mehr als 2^32-2 Befehle in einer Transaktion ausführen" -#: access/transam/xact.c:1664 +#: access/transam/xact.c:1674 #, c-format msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "maximale Anzahl committeter Subtransaktionen (%d) überschritten" -#: access/transam/xact.c:2561 +#: access/transam/xact.c:2571 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary objects" msgstr "PREPARE kann nicht für eine Transaktion ausgeführt werden, die temporäre Objekte bearbeitet hat" -#: access/transam/xact.c:2571 +#: access/transam/xact.c:2581 #, c-format msgid "cannot PREPARE a transaction that has exported snapshots" msgstr "PREPARE kann nicht für eine Transaktion ausgeführt werden, die Snapshots exportiert hat" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3593 +#: access/transam/xact.c:3603 #, c-format msgid "%s cannot run inside a transaction block" msgstr "%s kann nicht in einem Transaktionsblock laufen" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3603 +#: access/transam/xact.c:3613 #, c-format msgid "%s cannot run inside a subtransaction" msgstr "%s kann nicht in einer Subtransaktion laufen" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3613 +#: access/transam/xact.c:3623 #, c-format msgid "%s cannot be executed within a pipeline" msgstr "%s kann nicht innerhalb einer Pipeline ausgeführt werden" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3623 +#: access/transam/xact.c:3633 #, c-format msgid "%s cannot be executed from a function" msgstr "%s kann nicht aus einer Funktion ausgeführt werden" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3694 access/transam/xact.c:4019 -#: access/transam/xact.c:4098 access/transam/xact.c:4221 -#: access/transam/xact.c:4372 access/transam/xact.c:4441 -#: access/transam/xact.c:4552 +#: access/transam/xact.c:3704 access/transam/xact.c:4029 +#: access/transam/xact.c:4108 access/transam/xact.c:4231 +#: access/transam/xact.c:4382 access/transam/xact.c:4451 +#: access/transam/xact.c:4562 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%s kann nur in Transaktionsblöcken verwendet werden" -#: access/transam/xact.c:3905 +#: access/transam/xact.c:3915 #, c-format msgid "there is already a transaction in progress" msgstr "eine Transaktion ist bereits begonnen" -#: access/transam/xact.c:4024 access/transam/xact.c:4103 -#: access/transam/xact.c:4226 +#: access/transam/xact.c:4034 access/transam/xact.c:4113 +#: access/transam/xact.c:4236 #, c-format msgid "there is no transaction in progress" msgstr "keine Transaktion offen" -#: access/transam/xact.c:4114 +#: access/transam/xact.c:4124 #, c-format msgid "cannot commit during a parallel operation" msgstr "während einer parallelen Operation kann nicht committet werden" -#: access/transam/xact.c:4237 +#: access/transam/xact.c:4247 #, c-format msgid "cannot abort during a parallel operation" msgstr "während einer parallelen Operation kann nicht abgebrochen werden" -#: access/transam/xact.c:4336 +#: access/transam/xact.c:4346 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "während einer parallelen Operation können keine Sicherungspunkte definiert werden" -#: access/transam/xact.c:4423 +#: access/transam/xact.c:4433 #, c-format msgid "cannot release savepoints during a parallel operation" msgstr "während einer parallelen Operation können keine Sicherungspunkte freigegeben werden" -#: access/transam/xact.c:4433 access/transam/xact.c:4484 -#: access/transam/xact.c:4544 access/transam/xact.c:4593 +#: access/transam/xact.c:4443 access/transam/xact.c:4494 +#: access/transam/xact.c:4554 access/transam/xact.c:4603 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "Sicherungspunkt »%s« existiert nicht" -#: access/transam/xact.c:4490 access/transam/xact.c:4599 +#: access/transam/xact.c:4500 access/transam/xact.c:4609 #, c-format msgid "savepoint \"%s\" does not exist within current savepoint level" msgstr "Sicherungspunkt »%s« existiert nicht innerhalb der aktuellen Sicherungspunktebene" -#: access/transam/xact.c:4532 +#: access/transam/xact.c:4542 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "während einer parallelen Operation kann nicht auf einen Sicherungspunkt zurückgerollt werden" -#: access/transam/xact.c:5376 +#: access/transam/xact.c:5386 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "kann nicht mehr als 2^32-1 Subtransaktionen in einer Transaktion haben" -#: access/transam/xlog.c:1543 +#: access/transam/xlog.c:1542 #, c-format msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X" msgstr "Flush hinter das Ende des erzeugten WAL angefordert; Anforderung %X/%X, aktuelle Position %X/%X" -#: access/transam/xlog.c:1770 +#: access/transam/xlog.c:1769 #, c-format msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X" msgstr "kann nicht hinter das Ende des erzeugten WAL lesen: Anforderung %X/%X, aktuelle Position %X/%X" -#: access/transam/xlog.c:2211 access/transam/xlog.c:4483 +#: access/transam/xlog.c:2210 access/transam/xlog.c:4482 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "Die WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein." -#: access/transam/xlog.c:2459 +#: access/transam/xlog.c:2458 #, c-format msgid "could not write to log file \"%s\" at offset %u, length %zu: %m" msgstr "konnte nicht in Logdatei »%s« bei Position %u, Länge %zu schreiben: %m" -#: access/transam/xlog.c:3721 access/transam/xlogutils.c:831 +#: access/transam/xlog.c:3720 access/transam/xlogutils.c:831 #: replication/walsender.c:3093 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "das angeforderte WAL-Segment %s wurde schon entfernt" -#: access/transam/xlog.c:4043 +#: access/transam/xlog.c:4042 #, c-format msgid "could not rename file \"%s\": %m" msgstr "konnte Datei »%s« nicht umbenennen: %m" -#: access/transam/xlog.c:4086 access/transam/xlog.c:4097 -#: access/transam/xlog.c:4118 +#: access/transam/xlog.c:4085 access/transam/xlog.c:4096 +#: access/transam/xlog.c:4117 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "benötigtes WAL-Verzeichnis »%s« existiert nicht" -#: access/transam/xlog.c:4103 access/transam/xlog.c:4124 +#: access/transam/xlog.c:4102 access/transam/xlog.c:4123 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "erzeuge fehlendes WAL-Verzeichnis »%s«" -#: access/transam/xlog.c:4107 access/transam/xlog.c:4127 +#: access/transam/xlog.c:4106 access/transam/xlog.c:4126 #: commands/dbcommands.c:3262 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "konnte fehlendes Verzeichnis »%s« nicht erzeugen: %m" -#: access/transam/xlog.c:4194 +#: access/transam/xlog.c:4193 #, c-format msgid "could not generate secret authorization token" msgstr "konnte geheimes Autorisierungstoken nicht erzeugen" -#: access/transam/xlog.c:4345 access/transam/xlog.c:4355 -#: access/transam/xlog.c:4381 access/transam/xlog.c:4389 -#: access/transam/xlog.c:4397 access/transam/xlog.c:4403 -#: access/transam/xlog.c:4411 access/transam/xlog.c:4419 -#: access/transam/xlog.c:4427 access/transam/xlog.c:4435 -#: access/transam/xlog.c:4443 access/transam/xlog.c:4451 -#: access/transam/xlog.c:4461 access/transam/xlog.c:4469 +#: access/transam/xlog.c:4344 access/transam/xlog.c:4354 +#: access/transam/xlog.c:4380 access/transam/xlog.c:4388 +#: access/transam/xlog.c:4396 access/transam/xlog.c:4402 +#: access/transam/xlog.c:4410 access/transam/xlog.c:4418 +#: access/transam/xlog.c:4426 access/transam/xlog.c:4434 +#: access/transam/xlog.c:4442 access/transam/xlog.c:4450 +#: access/transam/xlog.c:4460 access/transam/xlog.c:4468 #: utils/init/miscinit.c:1813 #, c-format msgid "database files are incompatible with server" msgstr "Datenbankdateien sind inkompatibel mit Server" -#: access/transam/xlog.c:4346 +#: access/transam/xlog.c:4345 #, 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 "Der Datenbank-Cluster wurde mit PG_CONTROL_VERSION %d (0x%08x) initialisiert, aber der Server wurde mit PG_CONTROL_VERSION %d (0x%08x) kompiliert." -#: access/transam/xlog.c:4350 +#: access/transam/xlog.c:4349 #, c-format msgid "This could be a problem of mismatched byte ordering. It looks like you need to initdb." msgstr "Das Problem könnte eine falsche Byte-Reihenfolge sein. Es sieht so aus, dass Sie initdb ausführen müssen." -#: access/transam/xlog.c:4356 +#: access/transam/xlog.c:4355 #, c-format msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d." msgstr "Der Datenbank-Cluster wurde mit PG_CONTROL_VERSION %d initialisiert, aber der Server wurde mit PG_CONTROL_VERSION %d kompiliert." -#: access/transam/xlog.c:4359 access/transam/xlog.c:4385 -#: access/transam/xlog.c:4393 access/transam/xlog.c:4399 +#: access/transam/xlog.c:4358 access/transam/xlog.c:4384 +#: access/transam/xlog.c:4392 access/transam/xlog.c:4398 #, c-format msgid "It looks like you need to initdb." msgstr "Es sieht so aus, dass Sie initdb ausführen müssen." -#: access/transam/xlog.c:4371 +#: access/transam/xlog.c:4370 #, c-format msgid "incorrect checksum in control file" msgstr "falsche Prüfsumme in Kontrolldatei" -#: access/transam/xlog.c:4382 +#: access/transam/xlog.c:4381 #, c-format msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d." msgstr "Der Datenbank-Cluster wurde mit CATALOG_VERSION_NO %d initialisiert, aber der Server wurde mit CATALOG_VERSION_NO %d kompiliert." -#: access/transam/xlog.c:4390 +#: access/transam/xlog.c:4389 #, c-format msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d." msgstr "Der Datenbank-Cluster wurde mit MAXALIGN %d initialisiert, aber der Server wurde mit MAXALIGN %d kompiliert." -#: access/transam/xlog.c:4398 +#: access/transam/xlog.c:4397 #, c-format msgid "The database cluster appears to use a different floating-point number format than the server executable." msgstr "Der Datenbank-Cluster verwendet anscheinend ein anderes Fließkommazahlenformat als das Serverprogramm." -#: access/transam/xlog.c:4404 +#: access/transam/xlog.c:4403 #, c-format msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d." msgstr "Der Datenbank-Cluster wurde mit BLCKSZ %d initialisiert, aber der Server wurde mit BLCKSZ %d kompiliert." -#: access/transam/xlog.c:4407 access/transam/xlog.c:4415 -#: access/transam/xlog.c:4423 access/transam/xlog.c:4431 -#: access/transam/xlog.c:4439 access/transam/xlog.c:4447 -#: access/transam/xlog.c:4455 access/transam/xlog.c:4464 -#: access/transam/xlog.c:4472 +#: access/transam/xlog.c:4406 access/transam/xlog.c:4414 +#: access/transam/xlog.c:4422 access/transam/xlog.c:4430 +#: access/transam/xlog.c:4438 access/transam/xlog.c:4446 +#: access/transam/xlog.c:4454 access/transam/xlog.c:4463 +#: access/transam/xlog.c:4471 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "Es sieht so aus, dass Sie neu kompilieren oder initdb ausführen müssen." -#: access/transam/xlog.c:4412 +#: access/transam/xlog.c:4411 #, c-format msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d." msgstr "Der Datenbank-Cluster wurde mit RELSEG_SIZE %d initialisiert, aber der Server wurde mit RELSEGSIZE %d kompiliert." -#: access/transam/xlog.c:4420 +#: access/transam/xlog.c:4419 #, c-format msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d." msgstr "Der Datenbank-Cluster wurde mit XLOG_BLCKSZ %d initialisiert, aber der Server wurde mit XLOG_BLCKSZ %d kompiliert." -#: access/transam/xlog.c:4428 +#: access/transam/xlog.c:4427 #, c-format msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d." msgstr "Der Datenbank-Cluster wurde mit NAMEDATALEN %d initialisiert, aber der Server wurde mit NAMEDATALEN %d kompiliert." -#: access/transam/xlog.c:4436 +#: access/transam/xlog.c:4435 #, c-format msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d." msgstr "Der Datenbank-Cluster wurde mit INDEX_MAX_KEYS %d initialisiert, aber der Server wurde mit INDEX_MAX_KEYS %d kompiliert." -#: access/transam/xlog.c:4444 +#: access/transam/xlog.c:4443 #, 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 "Der Datenbank-Cluster wurde mit TOAST_MAX_CHUNK_SIZE %d initialisiert, aber der Server wurde mit TOAST_MAX_CHUNK_SIZE %d kompiliert." -#: access/transam/xlog.c:4452 +#: access/transam/xlog.c:4451 #, c-format msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d." msgstr "Der Datenbank-Cluster wurde mit LOBLKSIZE %d initialisiert, aber der Server wurde mit LOBLKSIZE %d kompiliert." -#: access/transam/xlog.c:4462 +#: access/transam/xlog.c:4461 #, c-format msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL." msgstr "Der Datenbank-Cluster wurde ohne USE_FLOAT8_BYVAL initialisiert, aber der Server wurde mit USE_FLOAT8_BYVAL kompiliert." -#: access/transam/xlog.c:4470 +#: access/transam/xlog.c:4469 #, c-format msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL." msgstr "Der Datenbank-Cluster wurde mit USE_FLOAT8_BYVAL initialisiert, aber der Server wurde ohne USE_FLOAT8_BYVAL kompiliert." -#: access/transam/xlog.c:4479 +#: access/transam/xlog.c:4478 #, c-format msgid "invalid WAL segment size in control file (%d byte)" msgid_plural "invalid WAL segment size in control file (%d bytes)" msgstr[0] "ungültige WAL-Segmentgröße in Kontrolldatei (%d Byte)" msgstr[1] "ungültige WAL-Segmentgröße in Kontrolldatei (%d Bytes)" -#: access/transam/xlog.c:4492 +#: access/transam/xlog.c:4491 #, c-format msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "»min_wal_size« muss mindestens zweimal so groß wie »wal_segment_size« sein" -#: access/transam/xlog.c:4496 +#: access/transam/xlog.c:4495 #, c-format msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "»max_wal_size« muss mindestens zweimal so groß wie »wal_segment_size« sein" -#: access/transam/xlog.c:4644 catalog/namespace.c:4699 +#: access/transam/xlog.c:4643 catalog/namespace.c:4699 #: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 -#: replication/slot.c:2455 tcop/postgres.c:3715 utils/error/elog.c:2247 +#: replication/slot.c:2487 tcop/postgres.c:3715 utils/error/elog.c:2247 #, c-format msgid "List syntax is invalid." msgstr "Die Listensyntax ist ungültig." -#: access/transam/xlog.c:4690 commands/user.c:2545 commands/variable.c:173 +#: access/transam/xlog.c:4689 commands/user.c:2545 commands/variable.c:173 #: tcop/postgres.c:3731 utils/error/elog.c:2273 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Unbekanntes Schlüsselwort: »%s«." -#: access/transam/xlog.c:5111 +#: access/transam/xlog.c:5110 #, c-format msgid "could not write bootstrap write-ahead log file: %m" msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht schreiben: %m" -#: access/transam/xlog.c:5119 +#: access/transam/xlog.c:5118 #, c-format msgid "could not fsync bootstrap write-ahead log file: %m" msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht fsyncen: %m" -#: access/transam/xlog.c:5125 +#: access/transam/xlog.c:5124 #, c-format msgid "could not close bootstrap write-ahead log file: %m" msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht schließen: %m" -#: access/transam/xlog.c:5350 +#: access/transam/xlog.c:5349 #, c-format msgid "WAL was generated with \"wal_level=minimal\", cannot continue recovering" msgstr "WAL wurde mit »wal_level=minimal« erzeugt, Wiederherstellung kann nicht fortgesetzt werden" -#: access/transam/xlog.c:5351 +#: access/transam/xlog.c:5350 #, c-format msgid "This happens if you temporarily set \"wal_level=minimal\" on the server." msgstr "Das passiert, wenn auf dem Server vorübergehend »wal_level=minimal« gesetzt wurde." -#: access/transam/xlog.c:5352 +#: access/transam/xlog.c:5351 #, c-format msgid "Use a backup taken after setting \"wal_level\" to higher than \"minimal\"." msgstr "Verwenden Sie ein Backup, das durchgeführt wurde, nachdem »wal_level« auf höher als »minimal« gesetzt wurde." -#: access/transam/xlog.c:5417 +#: access/transam/xlog.c:5416 #, c-format msgid "control file contains invalid checkpoint location" msgstr "Kontrolldatei enthält ungültige Checkpoint-Position" -#: access/transam/xlog.c:5428 +#: access/transam/xlog.c:5427 #, c-format msgid "database system was shut down at %s" msgstr "Datenbanksystem wurde am %s heruntergefahren" -#: access/transam/xlog.c:5434 +#: access/transam/xlog.c:5433 #, c-format msgid "database system was shut down in recovery at %s" msgstr "Datenbanksystem wurde während der Wiederherstellung am %s heruntergefahren" -#: access/transam/xlog.c:5440 +#: access/transam/xlog.c:5439 #, c-format msgid "database system shutdown was interrupted; last known up at %s" msgstr "Datenbanksystem wurde beim Herunterfahren unterbrochen; letzte bekannte Aktion am %s" -#: access/transam/xlog.c:5446 +#: access/transam/xlog.c:5445 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "Datenbanksystem wurde während der Wiederherstellung am %s unterbrochen" -#: access/transam/xlog.c:5448 +#: access/transam/xlog.c:5447 #, c-format msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery." msgstr "Das bedeutet wahrscheinlich, dass einige Daten verfälscht sind und Sie die letzte Datensicherung zur Wiederherstellung verwenden müssen." -#: access/transam/xlog.c:5454 +#: access/transam/xlog.c:5453 #, c-format msgid "database system was interrupted while in recovery at log time %s" msgstr "Datenbanksystem wurde während der Wiederherstellung bei Logzeit %s unterbrochen" -#: access/transam/xlog.c:5456 +#: access/transam/xlog.c:5455 #, 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 "Wenn dies mehr als einmal vorgekommen ist, dann sind einige Daten möglicherweise verfälscht und Sie müssen ein früheres Wiederherstellungsziel wählen." -#: access/transam/xlog.c:5462 +#: access/transam/xlog.c:5461 #, c-format msgid "database system was interrupted; last known up at %s" msgstr "Datenbanksystem wurde unterbrochen; letzte bekannte Aktion am %s" -#: access/transam/xlog.c:5469 +#: access/transam/xlog.c:5468 #, c-format msgid "control file contains invalid database cluster state" msgstr "Kontrolldatei enthält ungültigen Datenbankclusterstatus" -#: access/transam/xlog.c:5857 +#: access/transam/xlog.c:5856 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL endet vor dem Ende der Online-Sicherung" -#: access/transam/xlog.c:5858 +#: access/transam/xlog.c:5857 #, c-format msgid "All WAL generated while online backup was taken must be available at recovery." msgstr "Der komplette WAL, der während der Online-Sicherung erzeugt wurde, muss bei der Wiederherstellung verfügbar sein." -#: access/transam/xlog.c:5862 +#: access/transam/xlog.c:5861 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL endet vor einem konsistenten Wiederherstellungspunkt" -#: access/transam/xlog.c:5908 +#: access/transam/xlog.c:5907 #, c-format msgid "selected new timeline ID: %u" msgstr "gewählte neue Zeitleisten-ID: %u" -#: access/transam/xlog.c:5941 +#: access/transam/xlog.c:5940 #, c-format msgid "archive recovery complete" msgstr "Wiederherstellung aus Archiv abgeschlossen" -#: access/transam/xlog.c:6594 +#: access/transam/xlog.c:6593 #, c-format msgid "shutting down" msgstr "fahre herunter" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6633 +#: access/transam/xlog.c:6632 #, c-format msgid "restartpoint starting:%s%s%s%s%s%s%s%s" msgstr "Restart-Punkt beginnt:%s%s%s%s%s%s%s%s" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6645 +#: access/transam/xlog.c:6644 #, c-format msgid "checkpoint starting:%s%s%s%s%s%s%s%s" msgstr "Checkpoint beginnt:%s%s%s%s%s%s%s%s" -#: access/transam/xlog.c:6710 +#: access/transam/xlog.c:6709 #, c-format msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X" msgstr "Restart-Punkt komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB; LSN=%X/%X, Redo-LSN=%X/%X" -#: access/transam/xlog.c:6733 +#: access/transam/xlog.c:6732 #, c-format msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X" msgstr "Checkpoint komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB; LSN=%X/%X, Redo-LSN=%X/%X" -#: access/transam/xlog.c:7225 +#: access/transam/xlog.c:7234 #, c-format msgid "concurrent write-ahead log activity while database system is shutting down" msgstr "gleichzeitige Write-Ahead-Log-Aktivität während das Datenbanksystem herunterfährt" -#: access/transam/xlog.c:7838 +#: access/transam/xlog.c:7864 #, c-format msgid "recovery restart point at %X/%X" msgstr "Recovery-Restart-Punkt bei %X/%X" -#: access/transam/xlog.c:7840 +#: access/transam/xlog.c:7866 #, c-format msgid "Last completed transaction was at log time %s." msgstr "Die letzte vollständige Transaktion war bei Logzeit %s." -#: access/transam/xlog.c:8106 +#: access/transam/xlog.c:8132 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "Restore-Punkt »%s« erzeugt bei %X/%X" -#: access/transam/xlog.c:8313 +#: access/transam/xlog.c:8339 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "Online-Sicherung wurde storniert, Wiederherstellung kann nicht fortgesetzt werden" -#: access/transam/xlog.c:8371 +#: access/transam/xlog.c:8397 #, c-format msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Shutdown-Checkpoint-Datensatz" -#: access/transam/xlog.c:8437 +#: access/transam/xlog.c:8463 #, c-format msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Online-Checkpoint-Datensatz" -#: access/transam/xlog.c:8474 +#: access/transam/xlog.c:8500 #, c-format msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im End-of-Recovery-Datensatz" -#: access/transam/xlog.c:8745 +#: access/transam/xlog.c:8771 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "konnte Write-Through-Logdatei »%s« nicht fsyncen: %m" -#: access/transam/xlog.c:8750 +#: access/transam/xlog.c:8776 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "konnte Datei »%s« nicht fdatasyncen: %m" -#: access/transam/xlog.c:8837 access/transam/xlog.c:9173 +#: access/transam/xlog.c:8863 access/transam/xlog.c:9199 #, c-format msgid "WAL level not sufficient for making an online backup" msgstr "WAL-Level nicht ausreichend, um Online-Sicherung durchzuführen" -#: access/transam/xlog.c:8838 access/transam/xlogfuncs.c:248 +#: access/transam/xlog.c:8864 access/transam/xlogfuncs.c:248 #, c-format msgid "\"wal_level\" must be set to \"replica\" or \"logical\" at server start." msgstr "»wal_level« muss beim Serverstart auf »replica« oder »logical« gesetzt werden." -#: access/transam/xlog.c:8843 +#: access/transam/xlog.c:8869 #, c-format msgid "backup label too long (max %d bytes)" msgstr "Backup-Label zu lang (maximal %d Bytes)" -#: access/transam/xlog.c:8964 +#: access/transam/xlog.c:8990 #, c-format msgid "WAL generated with \"full_page_writes=off\" was replayed since last restartpoint" msgstr "mit »full_page_writes=off« erzeugtes WAL wurde seit dem letzten Restart-Punkt zurückgespielt" -#: access/transam/xlog.c:8966 access/transam/xlog.c:9262 +#: access/transam/xlog.c:8992 access/transam/xlog.c:9288 #, 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 primary, and then try an online backup again." msgstr "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server verfälscht ist und nicht verwendet werden sollte. Schalten Sie auf dem Primärserver »full_page_writes« ein, führen Sie dort CHECKPOINT aus und versuchen Sie dann die Online-Sicherung erneut." -#: access/transam/xlog.c:9046 backup/basebackup.c:1417 utils/adt/misc.c:354 +#: access/transam/xlog.c:9072 backup/basebackup.c:1417 utils/adt/misc.c:354 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "konnte symbolische Verknüpfung »%s« nicht lesen: %m" -#: access/transam/xlog.c:9053 backup/basebackup.c:1422 utils/adt/misc.c:359 +#: access/transam/xlog.c:9079 backup/basebackup.c:1422 utils/adt/misc.c:359 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "Ziel für symbolische Verknüpfung »%s« ist zu lang" -#: access/transam/xlog.c:9174 +#: access/transam/xlog.c:9200 #, c-format msgid "wal_level must be set to \"replica\" or \"logical\" at server start." msgstr "wal_level muss beim Serverstart auf »replica« oder »logical« gesetzt werden." -#: access/transam/xlog.c:9212 backup/basebackup.c:1281 +#: access/transam/xlog.c:9238 backup/basebackup.c:1281 #, c-format msgid "the standby was promoted during online backup" msgstr "der Standby-Server wurde während der Online-Sicherung zum Primärserver befördert" -#: access/transam/xlog.c:9213 backup/basebackup.c:1282 +#: access/transam/xlog.c:9239 backup/basebackup.c:1282 #, c-format msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup." msgstr "Das bedeutet, dass die aktuelle Online-Sicherung verfälscht ist und nicht verwendet werden sollte. Versuchen Sie, eine neue Online-Sicherung durchzuführen." -#: access/transam/xlog.c:9260 +#: access/transam/xlog.c:9286 #, c-format msgid "WAL generated with \"full_page_writes=off\" was replayed during online backup" msgstr "mit »full_page_writes=off« erzeugtes WAL wurde während der Online-Sicherung zurückgespielt" -#: access/transam/xlog.c:9376 +#: access/transam/xlog.c:9402 #, c-format msgid "base backup done, waiting for required WAL segments to be archived" msgstr "Basissicherung beendet, warte bis die benötigten WAL-Segmente archiviert sind" -#: access/transam/xlog.c:9390 +#: access/transam/xlog.c:9416 #, c-format msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)" msgstr "warte immer noch, bis alle benötigten WAL-Segmente archiviert sind (%d Sekunden abgelaufen)" -#: access/transam/xlog.c:9392 +#: access/transam/xlog.c:9418 #, c-format msgid "Check that your \"archive_command\" is executing properly. You can safely cancel this backup, but the database backup will not be usable without all the WAL segments." msgstr "Prüfen Sie, ob das »archive_command« korrekt ausgeführt wird. Dieser Sicherungsvorgang kann gefahrlos abgebrochen werden, aber die Datenbanksicherung wird ohne die fehlenden WAL-Segmente nicht benutzbar sein." -#: access/transam/xlog.c:9399 +#: access/transam/xlog.c:9425 #, c-format msgid "all required WAL segments have been archived" msgstr "alle benötigten WAL-Segmente wurden archiviert" -#: access/transam/xlog.c:9403 +#: access/transam/xlog.c:9429 #, 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 "WAL-Archivierung ist nicht eingeschaltet; Sie müssen dafür sorgen, dass alle benötigten WAL-Segmente auf andere Art kopiert werden, um die Sicherung abzuschließen" -#: access/transam/xlog.c:9442 +#: access/transam/xlog.c:9468 #, c-format msgid "aborting backup due to backend exiting before pg_backup_stop was called" msgstr "Backup wird abgebrochen, weil Backend-Prozess beendete, bevor pg_backup_stop aufgerufen wurde" @@ -3262,408 +3272,413 @@ msgid "could not locate a valid checkpoint record at %X/%X" msgstr "konnte keinen gültigen Checkpoint-Datensatz bei %X/%X finden" -#: access/transam/xlogrecovery.c:806 +#: access/transam/xlogrecovery.c:807 +#, c-format +msgid "could not find redo location %X/%08X referenced by checkpoint record at %X/%08X" +msgstr "konnte die Redo-Position %X/%08X, die vom Checkpoint-Datensatz bei %X/%08X referenziert wird, nicht finden" + +#: access/transam/xlogrecovery.c:816 #, c-format msgid "entering standby mode" msgstr "Standby-Modus eingeschaltet" -#: access/transam/xlogrecovery.c:809 +#: access/transam/xlogrecovery.c:819 #, c-format msgid "starting point-in-time recovery to XID %u" msgstr "starte Point-in-Time-Recovery bis XID %u" -#: access/transam/xlogrecovery.c:813 +#: access/transam/xlogrecovery.c:823 #, c-format msgid "starting point-in-time recovery to %s" msgstr "starte Point-in-Time-Recovery bis %s" -#: access/transam/xlogrecovery.c:817 +#: access/transam/xlogrecovery.c:827 #, c-format msgid "starting point-in-time recovery to \"%s\"" msgstr "starte Point-in-Time-Recovery bis »%s«" -#: access/transam/xlogrecovery.c:821 +#: access/transam/xlogrecovery.c:831 #, c-format msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" msgstr "starte Point-in-Time-Recovery bis WAL-Position (LSN) »%X/%X«" -#: access/transam/xlogrecovery.c:825 +#: access/transam/xlogrecovery.c:835 #, c-format msgid "starting point-in-time recovery to earliest consistent point" msgstr "starte Point-in-Time-Recovery bis zum frühesten konsistenten Punkt" -#: access/transam/xlogrecovery.c:828 +#: access/transam/xlogrecovery.c:838 #, c-format msgid "starting archive recovery" msgstr "starte Wiederherstellung aus Archiv" -#: access/transam/xlogrecovery.c:849 +#: access/transam/xlogrecovery.c:859 #, c-format msgid "requested timeline %u is not a child of this server's history" msgstr "angeforderte Zeitleiste %u ist kein Kind der History dieses Servers" -#: access/transam/xlogrecovery.c:851 +#: access/transam/xlogrecovery.c:861 #, 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 "Neuester Checkpoint ist bei %X/%X auf Zeitleiste %u, aber in der History der angeforderten Zeitleiste zweigte der Server von dieser Zeitleiste bei %X/%X ab." -#: access/transam/xlogrecovery.c:865 +#: access/transam/xlogrecovery.c:875 #, c-format msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u" msgstr "angeforderte Zeitleiste %u enthält nicht den minimalen Wiederherstellungspunkt %X/%X auf Zeitleiste %u" -#: access/transam/xlogrecovery.c:893 +#: access/transam/xlogrecovery.c:903 #, c-format msgid "invalid next transaction ID" msgstr "ungültige nächste Transaktions-ID" -#: access/transam/xlogrecovery.c:898 +#: access/transam/xlogrecovery.c:908 #, c-format msgid "invalid redo in checkpoint record" msgstr "ungültiges Redo im Checkpoint-Datensatz" -#: access/transam/xlogrecovery.c:909 +#: access/transam/xlogrecovery.c:919 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "ungültiger Redo-Datensatz im Shutdown-Checkpoint" -#: access/transam/xlogrecovery.c:938 +#: access/transam/xlogrecovery.c:948 #, c-format msgid "database system was not properly shut down; automatic recovery in progress" msgstr "Datenbanksystem wurde nicht richtig heruntergefahren; automatische Wiederherstellung läuft" -#: access/transam/xlogrecovery.c:942 +#: access/transam/xlogrecovery.c:952 #, c-format msgid "crash recovery starts in timeline %u and has target timeline %u" msgstr "Wiederherstellung nach Absturz beginnt in Zeitleiste %u und hat Zielzeitleiste %u" -#: access/transam/xlogrecovery.c:985 +#: access/transam/xlogrecovery.c:995 #, c-format msgid "backup_label contains data inconsistent with control file" msgstr "Daten in backup_label stimmen nicht mit Kontrolldatei überein" -#: access/transam/xlogrecovery.c:986 +#: access/transam/xlogrecovery.c:996 #, c-format msgid "This means that the backup is corrupted and you will have to use another backup for recovery." msgstr "Das bedeutet, dass die Datensicherung verfälscht ist und Sie eine andere Datensicherung zur Wiederherstellung verwenden werden müssen." -#: access/transam/xlogrecovery.c:1040 +#: access/transam/xlogrecovery.c:1050 #, c-format msgid "using recovery command file \"%s\" is not supported" msgstr "Verwendung von Recovery-Befehlsdatei »%s« wird nicht unterstützt" -#: access/transam/xlogrecovery.c:1105 +#: access/transam/xlogrecovery.c:1115 #, c-format msgid "standby mode is not supported by single-user servers" msgstr "Standby-Modus wird von Servern im Einzelbenutzermodus nicht unterstützt" -#: access/transam/xlogrecovery.c:1122 +#: access/transam/xlogrecovery.c:1132 #, c-format msgid "specified neither \"primary_conninfo\" nor \"restore_command\"" msgstr "weder »primary_conninfo« noch »restore_command« angegeben" -#: access/transam/xlogrecovery.c:1123 +#: access/transam/xlogrecovery.c:1133 #, c-format msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there." msgstr "Der Datenbankserver prüft das Unterverzeichnis pg_wal regelmäßig auf dort abgelegte Dateien." -#: access/transam/xlogrecovery.c:1131 +#: access/transam/xlogrecovery.c:1141 #, c-format msgid "must specify \"restore_command\" when standby mode is not enabled" msgstr "»restore_command« muss angegeben werden, wenn der Standby-Modus nicht eingeschaltet ist" -#: access/transam/xlogrecovery.c:1169 +#: access/transam/xlogrecovery.c:1179 #, c-format msgid "recovery target timeline %u does not exist" msgstr "recovery_target_timeline %u existiert nicht" -#: access/transam/xlogrecovery.c:1252 access/transam/xlogrecovery.c:1259 -#: access/transam/xlogrecovery.c:1318 access/transam/xlogrecovery.c:1406 -#: access/transam/xlogrecovery.c:1415 access/transam/xlogrecovery.c:1435 +#: access/transam/xlogrecovery.c:1262 access/transam/xlogrecovery.c:1269 +#: access/transam/xlogrecovery.c:1328 access/transam/xlogrecovery.c:1416 +#: access/transam/xlogrecovery.c:1425 access/transam/xlogrecovery.c:1445 #, c-format msgid "invalid data in file \"%s\"" msgstr "ungültige Daten in Datei »%s«" -#: access/transam/xlogrecovery.c:1319 +#: access/transam/xlogrecovery.c:1329 #, c-format msgid "Timeline ID parsed is %u, but expected %u." msgstr "Gelesene Zeitleisten-ID ist %u, aber %u wurde erwartet." -#: access/transam/xlogrecovery.c:1330 +#: access/transam/xlogrecovery.c:1340 #, c-format msgid "this is an incremental backup, not a data directory" msgstr "dies ist ein inkrementelles Backup, kein Datenverzeichnis" -#: access/transam/xlogrecovery.c:1331 +#: access/transam/xlogrecovery.c:1341 #, c-format msgid "Use pg_combinebackup to reconstruct a valid data directory." msgstr "Verwenden Sie pg_combinebackup, um ein gültiges Datenverzeichnis zu rekonstruieren." -#: access/transam/xlogrecovery.c:1717 +#: access/transam/xlogrecovery.c:1727 #, c-format msgid "unexpected record type found at redo point %X/%X" msgstr "unerwarteter Datensatztyp bei Redo-Position %X/%X gefunden" -#: access/transam/xlogrecovery.c:1740 +#: access/transam/xlogrecovery.c:1750 #, c-format msgid "redo starts at %X/%X" msgstr "Redo beginnt bei %X/%X" -#: access/transam/xlogrecovery.c:1753 +#: access/transam/xlogrecovery.c:1763 #, c-format msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X" msgstr "Redo im Gang, abgelaufene Zeit: %ld.%02d s, aktuelle LSN: %X/%X" -#: access/transam/xlogrecovery.c:1843 +#: access/transam/xlogrecovery.c:1853 #, c-format msgid "requested recovery stop point is before consistent recovery point" msgstr "angeforderter Recovery-Endpunkt ist vor konsistentem Recovery-Punkt" -#: access/transam/xlogrecovery.c:1875 +#: access/transam/xlogrecovery.c:1885 #, c-format msgid "redo done at %X/%X system usage: %s" msgstr "Redo fertig bei %X/%X Systembenutzung: %s" -#: access/transam/xlogrecovery.c:1881 +#: access/transam/xlogrecovery.c:1891 #, c-format msgid "last completed transaction was at log time %s" msgstr "letzte vollständige Transaktion war bei Logzeit %s" -#: access/transam/xlogrecovery.c:1890 +#: access/transam/xlogrecovery.c:1900 #, c-format msgid "redo is not required" msgstr "Redo nicht nötig" -#: access/transam/xlogrecovery.c:1901 +#: access/transam/xlogrecovery.c:1911 #, c-format msgid "recovery ended before configured recovery target was reached" msgstr "Wiederherstellung endete bevor das konfigurierte Wiederherstellungsziel erreicht wurde" -#: access/transam/xlogrecovery.c:2095 +#: access/transam/xlogrecovery.c:2105 #, c-format msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" msgstr "fehlender Contrecord bei %X/%X erfolgreich übersprungen, überschrieben am %s" -#: access/transam/xlogrecovery.c:2162 +#: access/transam/xlogrecovery.c:2172 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "unerwarteter Verzeichniseintrag »%s« in %s gefunden" -#: access/transam/xlogrecovery.c:2164 +#: access/transam/xlogrecovery.c:2174 #, c-format msgid "All directory entries in pg_tblspc/ should be symbolic links." msgstr "Alle Verzeichniseinträge in pg_tblspc/ sollten symbolische Verknüpfungen sein." -#: access/transam/xlogrecovery.c:2165 +#: access/transam/xlogrecovery.c:2175 #, c-format msgid "Remove those directories, or set \"allow_in_place_tablespaces\" to ON transiently to let recovery complete." msgstr "Entfernen Sie diese Verzeichnisse oder setzen Sie »allow_in_place_tablespaces« vorrübergehend auf ON, damit die Wiederherstellung abschließen kann." -#: access/transam/xlogrecovery.c:2217 +#: access/transam/xlogrecovery.c:2227 #, c-format msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X" msgstr "Wiederherstellung aus Backup abgeschlossen mit Redo-LSN %X/%X und End-LSN %X/%X" -#: access/transam/xlogrecovery.c:2247 +#: access/transam/xlogrecovery.c:2257 #, c-format msgid "consistent recovery state reached at %X/%X" msgstr "konsistenter Wiederherstellungszustand erreicht bei %X/%X" #. translator: %s is a WAL record description -#: access/transam/xlogrecovery.c:2285 +#: access/transam/xlogrecovery.c:2295 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "WAL-Redo bei %X/%X für %s" -#: access/transam/xlogrecovery.c:2383 +#: access/transam/xlogrecovery.c:2393 #, c-format msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record" msgstr "unerwartete vorherige Zeitleisten-ID %u (aktuelle Zeitleisten-ID %u) im Checkpoint-Datensatz" -#: access/transam/xlogrecovery.c:2392 +#: access/transam/xlogrecovery.c:2402 #, c-format msgid "unexpected timeline ID %u (after %u) in checkpoint record" msgstr "unerwartete Zeitleisten-ID %u (nach %u) im Checkpoint-Datensatz" -#: access/transam/xlogrecovery.c:2408 +#: access/transam/xlogrecovery.c:2418 #, c-format msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u" msgstr "unerwartete Zeitleisten-ID %u in Checkpoint-Datensatz, bevor der minimale Wiederherstellungspunkt %X/%X auf Zeitleiste %u erreicht wurde" -#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868 +#: access/transam/xlogrecovery.c:2602 access/transam/xlogrecovery.c:2878 #, c-format msgid "recovery stopping after reaching consistency" msgstr "Wiederherstellung beendet nachdem Konsistenz erreicht wurde" -#: access/transam/xlogrecovery.c:2613 +#: access/transam/xlogrecovery.c:2623 #, c-format msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" msgstr "Wiederherstellung beendet vor WAL-Position (LSN) »%X/%X«" -#: access/transam/xlogrecovery.c:2703 +#: access/transam/xlogrecovery.c:2713 #, c-format msgid "recovery stopping before commit of transaction %u, time %s" msgstr "Wiederherstellung beendet vor Commit der Transaktion %u, Zeit %s" -#: access/transam/xlogrecovery.c:2710 +#: access/transam/xlogrecovery.c:2720 #, c-format msgid "recovery stopping before abort of transaction %u, time %s" msgstr "Wiederherstellung beendet vor Abbruch der Transaktion %u, Zeit %s" -#: access/transam/xlogrecovery.c:2763 +#: access/transam/xlogrecovery.c:2773 #, c-format msgid "recovery stopping at restore point \"%s\", time %s" msgstr "Wiederherstellung beendet bei Restore-Punkt »%s«, Zeit %s" -#: access/transam/xlogrecovery.c:2781 +#: access/transam/xlogrecovery.c:2791 #, c-format msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" msgstr "Wiederherstellung beendet nach WAL-Position (LSN) »%X/%X«" -#: access/transam/xlogrecovery.c:2848 +#: access/transam/xlogrecovery.c:2858 #, c-format msgid "recovery stopping after commit of transaction %u, time %s" msgstr "Wiederherstellung beendet nach Commit der Transaktion %u, Zeit %s" -#: access/transam/xlogrecovery.c:2856 +#: access/transam/xlogrecovery.c:2866 #, c-format msgid "recovery stopping after abort of transaction %u, time %s" msgstr "Wiederherstellung beendet nach Abbruch der Transaktion %u, Zeit %s" -#: access/transam/xlogrecovery.c:2937 +#: access/transam/xlogrecovery.c:2947 #, c-format msgid "pausing at the end of recovery" msgstr "pausiere am Ende der Wiederherstellung" -#: access/transam/xlogrecovery.c:2938 +#: access/transam/xlogrecovery.c:2948 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "Führen Sie pg_wal_replay_resume() aus, um den Server zum Primärserver zu befördern." -#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4690 +#: access/transam/xlogrecovery.c:2951 access/transam/xlogrecovery.c:4700 #, c-format msgid "recovery has paused" msgstr "Wiederherstellung wurde pausiert" -#: access/transam/xlogrecovery.c:2942 +#: access/transam/xlogrecovery.c:2952 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "Führen Sie pg_wal_replay_resume() aus um fortzusetzen." -#: access/transam/xlogrecovery.c:3205 +#: access/transam/xlogrecovery.c:3215 #, c-format msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u" msgstr "unerwartete Zeitleisten-ID %u in WAL-Segment %s, LSN %X/%X, Offset %u" -#: access/transam/xlogrecovery.c:3413 +#: access/transam/xlogrecovery.c:3423 #, c-format msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m" msgstr "konnte nicht aus WAL-Segment %s, LSN %X/%X, Position %u lesen: %m" -#: access/transam/xlogrecovery.c:3420 +#: access/transam/xlogrecovery.c:3430 #, c-format msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu" msgstr "konnte nicht aus WAL-Segment %s, LSN %X/%X, Position %u lesen: %d von %zu gelesen" -#: access/transam/xlogrecovery.c:4072 +#: access/transam/xlogrecovery.c:4082 #, c-format msgid "invalid checkpoint location" msgstr "ungültige Checkpoint-Position" -#: access/transam/xlogrecovery.c:4082 +#: access/transam/xlogrecovery.c:4092 #, c-format msgid "invalid checkpoint record" msgstr "ungültiger Checkpoint-Datensatz" -#: access/transam/xlogrecovery.c:4088 +#: access/transam/xlogrecovery.c:4098 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "ungültige Resource-Manager-ID im Checkpoint-Datensatz" -#: access/transam/xlogrecovery.c:4096 +#: access/transam/xlogrecovery.c:4106 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "ungültige xl_info im Checkpoint-Datensatz" -#: access/transam/xlogrecovery.c:4102 +#: access/transam/xlogrecovery.c:4112 #, c-format msgid "invalid length of checkpoint record" msgstr "ungültige Länge des Checkpoint-Datensatzes" -#: access/transam/xlogrecovery.c:4156 +#: access/transam/xlogrecovery.c:4166 #, c-format msgid "new timeline %u is not a child of database system timeline %u" msgstr "neue Zeitleiste %u ist kein Kind der Datenbanksystemzeitleiste %u" -#: access/transam/xlogrecovery.c:4170 +#: access/transam/xlogrecovery.c:4180 #, c-format msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X" msgstr "neue Zeitleiste %u zweigte von der aktuellen Datenbanksystemzeitleiste %u vor dem aktuellen Wiederherstellungspunkt %X/%X ab" -#: access/transam/xlogrecovery.c:4189 +#: access/transam/xlogrecovery.c:4199 #, c-format msgid "new target timeline is %u" msgstr "neue Zielzeitleiste ist %u" -#: access/transam/xlogrecovery.c:4392 +#: access/transam/xlogrecovery.c:4402 #, c-format msgid "WAL receiver process shutdown requested" msgstr "Herunterfahren des WAL-Receiver-Prozesses verlangt" -#: access/transam/xlogrecovery.c:4452 +#: access/transam/xlogrecovery.c:4462 #, c-format msgid "received promote request" msgstr "Anforderung zum Befördern empfangen" -#: access/transam/xlogrecovery.c:4681 +#: access/transam/xlogrecovery.c:4691 #, c-format msgid "hot standby is not possible because of insufficient parameter settings" msgstr "Hot Standby ist nicht möglich wegen unzureichender Parametereinstellungen" -#: access/transam/xlogrecovery.c:4682 access/transam/xlogrecovery.c:4709 -#: access/transam/xlogrecovery.c:4739 +#: access/transam/xlogrecovery.c:4692 access/transam/xlogrecovery.c:4719 +#: access/transam/xlogrecovery.c:4749 #, c-format msgid "%s = %d is a lower setting than on the primary server, where its value was %d." msgstr "%s = %d ist eine niedrigere Einstellung als auf dem Primärserver, wo der Wert %d war." -#: access/transam/xlogrecovery.c:4691 +#: access/transam/xlogrecovery.c:4701 #, c-format msgid "If recovery is unpaused, the server will shut down." msgstr "Wenn die Wiederherstellungspause beendet wird, wird der Server herunterfahren." -#: access/transam/xlogrecovery.c:4692 +#: access/transam/xlogrecovery.c:4702 #, c-format msgid "You can then restart the server after making the necessary configuration changes." msgstr "Sie können den Server dann neu starten, nachdem die nötigen Konfigurationsänderungen getätigt worden sind." -#: access/transam/xlogrecovery.c:4703 +#: access/transam/xlogrecovery.c:4713 #, c-format msgid "promotion is not possible because of insufficient parameter settings" msgstr "Beförderung ist nicht möglich wegen unzureichender Parametereinstellungen" -#: access/transam/xlogrecovery.c:4713 +#: access/transam/xlogrecovery.c:4723 #, c-format msgid "Restart the server after making the necessary configuration changes." msgstr "Starten Sie den Server neu, nachdem die nötigen Konfigurationsänderungen getätigt worden sind." -#: access/transam/xlogrecovery.c:4737 +#: access/transam/xlogrecovery.c:4747 #, c-format msgid "recovery aborted because of insufficient parameter settings" msgstr "Wiederherstellung abgebrochen wegen unzureichender Parametereinstellungen" -#: access/transam/xlogrecovery.c:4743 +#: access/transam/xlogrecovery.c:4753 #, c-format msgid "You can restart the server after making the necessary configuration changes." msgstr "Sie können den Server neu starten, nachdem die nötigen Konfigurationsänderungen getätigt worden sind." -#: access/transam/xlogrecovery.c:4763 access/transam/xlogrecovery.c:4765 +#: access/transam/xlogrecovery.c:4773 access/transam/xlogrecovery.c:4775 #: catalog/dependency.c:1153 catalog/dependency.c:1160 #: catalog/dependency.c:1171 commands/tablecmds.c:1459 #: commands/tablecmds.c:15152 commands/tablespace.c:460 commands/user.c:1302 -#: commands/vacuum.c:212 commands/view.c:441 executor/execExprInterp.c:4655 +#: commands/vacuum.c:213 commands/view.c:441 executor/execExprInterp.c:4655 #: executor/execExprInterp.c:4663 libpq/auth.c:332 #: replication/logical/applyparallelworker.c:1048 replication/slot.c:261 -#: replication/slot.c:2470 replication/slot.c:2472 replication/syncrep.c:1078 +#: replication/slot.c:2502 replication/slot.c:2504 replication/syncrep.c:1078 #: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1432 utils/misc/guc.c:3169 #: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6836 #: utils/misc/guc.c:6870 utils/misc/guc.c:6904 utils/misc/guc.c:6947 @@ -3672,28 +3687,28 @@ msgid "%s" msgstr "%s" -#: access/transam/xlogrecovery.c:4796 +#: access/transam/xlogrecovery.c:4806 #, c-format msgid "multiple recovery targets specified" msgstr "mehrere Wiederherstellungsziele angegeben" -#: access/transam/xlogrecovery.c:4797 +#: access/transam/xlogrecovery.c:4807 #, c-format msgid "At most one of \"recovery_target\", \"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\", \"recovery_target_xid\" may be set." msgstr "Höchstens eins aus »recovery_target«, »recovery_target_lsn«, »recovery_target_name«, »recovery_target_time«, »recovery_target_xid« darf gesetzt sein." -#: access/transam/xlogrecovery.c:4808 +#: access/transam/xlogrecovery.c:4818 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "Der einzige erlaubte Wert ist »immediate«." -#: access/transam/xlogrecovery.c:4960 utils/adt/timestamp.c:202 +#: access/transam/xlogrecovery.c:4970 utils/adt/timestamp.c:202 #: utils/adt/timestamp.c:455 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "timestamp ist außerhalb des gültigen Bereichs: »%s«" -#: access/transam/xlogrecovery.c:5005 +#: access/transam/xlogrecovery.c:5015 #, c-format msgid "\"recovery_target_timeline\" is not a valid number." msgstr "»recovery_target_timeline« ist keine gültige Zahl." @@ -3962,12 +3977,12 @@ msgid "The first unsummarized LSN in this range is %X/%X." msgstr "Die erste nicht zusammengefasste LSN in diesem Bereich ist %X/%X." -#: backup/basebackup_incremental.c:938 +#: backup/basebackup_incremental.c:952 #, c-format msgid "backup manifest version 1 does not support incremental backup" msgstr "Backup-Manifest Version 1 unterstützt kein inkrementelles Backup" -#: backup/basebackup_incremental.c:956 +#: backup/basebackup_incremental.c:970 #, c-format msgid "system identifier in backup manifest is %llu, but database system identifier is %llu" msgstr "Systemidentifikator im Backup-Manifest ist %llu, aber Datenbanksystemidentifikator ist %llu" @@ -3994,7 +4009,7 @@ #: backup/basebackup_server.c:102 commands/dbcommands.c:477 #: commands/tablespace.c:157 commands/tablespace.c:173 -#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:1992 +#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:2024 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" @@ -4013,7 +4028,7 @@ #: backup/basebackup_server.c:175 backup/basebackup_server.c:182 #: backup/basebackup_server.c:268 backup/basebackup_server.c:275 #: backup/walsummary.c:312 storage/smgr/md.c:502 storage/smgr/md.c:509 -#: storage/smgr/md.c:591 storage/smgr/md.c:613 storage/smgr/md.c:999 +#: storage/smgr/md.c:602 storage/smgr/md.c:624 storage/smgr/md.c:1010 #, c-format msgid "Check free disk space." msgstr "Prüfen Sie den freien Festplattenplatz." @@ -4682,7 +4697,7 @@ msgstr "Parameter-ACL mit OID %u existiert nicht" #: catalog/aclchk.c:3723 commands/collationcmds.c:853 -#: commands/publicationcmds.c:1739 +#: commands/publicationcmds.c:1744 #, c-format msgid "schema with OID %u does not exist" msgstr "Schema mit OID %u existiert nicht" @@ -4965,14 +4980,14 @@ msgid "generation expression is not immutable" msgstr "Generierungsausdruck ist nicht »immutable«" -#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1276 +#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1279 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "Spalte »%s« hat Typ %s, aber der Vorgabeausdruck hat Typ %s" #: catalog/heap.c:2864 commands/prepare.c:331 parser/analyze.c:2758 #: parser/parse_target.c:592 parser/parse_target.c:882 -#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1281 +#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1284 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen." @@ -5063,7 +5078,7 @@ msgid "pg_class index OID value not set when in binary upgrade mode" msgstr "Index-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt" -#: catalog/index.c:951 utils/cache/relcache.c:3791 +#: catalog/index.c:951 utils/cache/relcache.c:3807 #, c-format msgid "index relfilenumber value not set when in binary upgrade mode" msgstr "Index-Relfile-Nummer-Wert ist im Binary-Upgrade-Modus nicht gesetzt" @@ -5073,34 +5088,34 @@ msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLY muss die erste Aktion in einer Transaktion sein" -#: catalog/index.c:3668 +#: catalog/index.c:3675 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht reindizieren" -#: catalog/index.c:3679 commands/indexcmds.c:3660 +#: catalog/index.c:3686 commands/indexcmds.c:3660 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "ungültiger Index einer TOAST-Tabelle kann nicht reindiziert werden" -#: catalog/index.c:3695 commands/indexcmds.c:3538 commands/indexcmds.c:3684 +#: catalog/index.c:3702 commands/indexcmds.c:3538 commands/indexcmds.c:3684 #: commands/tablecmds.c:3581 #, c-format msgid "cannot move system relation \"%s\"" msgstr "Systemrelation »%s« kann nicht verschoben werden" -#: catalog/index.c:3832 +#: catalog/index.c:3839 #, c-format msgid "index \"%s\" was reindexed" msgstr "Index »%s« wurde neu indiziert" -#: catalog/index.c:3998 +#: catalog/index.c:4005 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "ungültiger Index »%s.%s« einer TOAST-Tabelle kann nicht reindizert werden, wird übersprungen" #: catalog/namespace.c:462 catalog/namespace.c:666 catalog/namespace.c:758 -#: commands/trigger.c:5817 +#: commands/trigger.c:5838 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "Verweise auf andere Datenbanken sind nicht implementiert: »%s.%s.%s«" @@ -6423,7 +6438,7 @@ msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute." msgstr "Sie können einen Multirange-Typnamen manuell angeben, mit dem Attribut »multirange_type_name«." -#: catalog/storage.c:533 storage/buffer/bufmgr.c:1540 +#: catalog/storage.c:533 storage/buffer/bufmgr.c:1547 #, c-format msgid "invalid page in block %u of relation %s" msgstr "ungültige Seite in Block %u von Relation %s" @@ -6538,7 +6553,7 @@ msgid "language \"%s\" already exists" msgstr "Sprache »%s« existiert bereits" -#: commands/alter.c:95 commands/publicationcmds.c:764 +#: commands/alter.c:95 commands/publicationcmds.c:769 #, c-format msgid "publication \"%s\" already exists" msgstr "Publikation »%s« existiert bereits" @@ -6680,27 +6695,27 @@ msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "überspringe Analysieren des Vererbungsbaums »%s.%s« --- dieser Vererbungsbaum enthält keine analysierbaren abgeleiteten Tabellen" -#: commands/async.c:612 +#: commands/async.c:611 #, c-format msgid "channel name cannot be empty" msgstr "Kanalname kann nicht leer sein" -#: commands/async.c:618 +#: commands/async.c:617 #, c-format msgid "channel name too long" msgstr "Kanalname zu lang" -#: commands/async.c:623 +#: commands/async.c:622 #, c-format msgid "payload string too long" msgstr "Payload-Zeichenkette zu lang" -#: commands/async.c:842 +#: commands/async.c:841 #, c-format msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" msgstr "PREPARE kann nicht in einer Transaktion ausgeführt werden, die LISTEN, UNLISTEN oder NOTIFY ausgeführt hat" -#: commands/async.c:946 +#: commands/async.c:945 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "zu viele Benachrichtigungen in NOTIFY-Schlange" @@ -6817,9 +6832,9 @@ #: commands/collationcmds.c:123 commands/collationcmds.c:129 #: commands/define.c:388 commands/tablecmds.c:8162 #: replication/pgoutput/pgoutput.c:315 replication/pgoutput/pgoutput.c:338 -#: replication/pgoutput/pgoutput.c:352 replication/pgoutput/pgoutput.c:362 -#: replication/pgoutput/pgoutput.c:372 replication/pgoutput/pgoutput.c:382 -#: replication/pgoutput/pgoutput.c:394 replication/walsender.c:1164 +#: replication/pgoutput/pgoutput.c:356 replication/pgoutput/pgoutput.c:366 +#: replication/pgoutput/pgoutput.c:376 replication/pgoutput/pgoutput.c:386 +#: replication/pgoutput/pgoutput.c:398 replication/walsender.c:1164 #: replication/walsender.c:1186 replication/walsender.c:1196 #: replication/walsender.c:1205 replication/walsender.c:1444 #, c-format @@ -7025,7 +7040,7 @@ #: commands/copy.c:181 commands/tablecmds.c:12858 commands/tablecmds.c:18092 #: commands/tablecmds.c:18171 commands/trigger.c:657 -#: rewrite/rewriteHandler.c:941 rewrite/rewriteHandler.c:976 +#: rewrite/rewriteHandler.c:944 rewrite/rewriteHandler.c:979 #, c-format msgid "Column \"%s\" is a generated column." msgstr "Spalte »%s« ist eine generierte Spalte." @@ -7171,7 +7186,7 @@ msgid "Generated columns cannot be used in COPY." msgstr "Generierte Spalten können nicht in COPY verwendet werden." -#: commands/copy.c:993 commands/indexcmds.c:1890 commands/statscmds.c:239 +#: commands/copy.c:993 commands/indexcmds.c:1890 commands/statscmds.c:260 #: commands/tablecmds.c:2526 commands/tablecmds.c:2997 #: commands/tablecmds.c:3808 parser/parse_relation.c:3692 #: parser/parse_relation.c:3702 parser/parse_relation.c:3720 @@ -7271,7 +7286,7 @@ msgid "%s column \"%s\" not referenced by COPY" msgstr "Spalte »%s« mit %s wird von COPY nicht verwendet" -#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385 +#: commands/copyfrom.c:1544 utils/mb/mbutils.c:386 #, c-format msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "Standardumwandlung von Kodierung »%s« nach »%s« existiert nicht" @@ -7817,7 +7832,7 @@ msgstr "Datenverzeichnis mit der angegebenen OID %u existiert bereits" #: commands/dbcommands.c:1571 commands/dbcommands.c:1586 -#: utils/adt/pg_locale.c:2588 +#: utils/adt/pg_locale.c:2591 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "Kodierung »%s« stimmt nicht mit Locale »%s« überein" @@ -8043,7 +8058,7 @@ msgid "conversion \"%s\" does not exist, skipping" msgstr "Konversion »%s« existiert nicht, wird übersprungen" -#: commands/dropcmds.c:288 commands/statscmds.c:664 +#: commands/dropcmds.c:288 commands/statscmds.c:685 #, c-format msgid "statistics object \"%s\" does not exist, skipping" msgstr "Statistikobjekt »%s« existiert nicht, wird übersprungen" @@ -8220,17 +8235,17 @@ msgid "The owner of an event trigger must be a superuser." msgstr "Der Eigentümer eines Ereignistriggers muss ein Superuser sein." -#: commands/event_trigger.c:1541 +#: commands/event_trigger.c:1536 #, c-format msgid "%s can only be called in a sql_drop event trigger function" msgstr "%s kann nur in einer sql_drop-Ereignistriggerfunktion aufgerufen werden" -#: commands/event_trigger.c:1634 commands/event_trigger.c:1655 +#: commands/event_trigger.c:1629 commands/event_trigger.c:1650 #, c-format msgid "%s can only be called in a table_rewrite event trigger function" msgstr "%s kann nur in einer table_rewrite-Ereignistriggerfunktion aufgerufen werden" -#: commands/event_trigger.c:2068 +#: commands/event_trigger.c:2063 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%s kann nur in einer Ereignistriggerfunktion aufgerufen werden" @@ -9651,7 +9666,7 @@ msgid "operator attribute \"%s\" cannot be changed if it has already been set" msgstr "Operator-Attribut »%s« kann nicht geändert werden, wenn es schon gesetzt wurde" -#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146 +#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:152 #: commands/tablecmds.c:1740 commands/tablecmds.c:2340 #: commands/tablecmds.c:3702 commands/tablecmds.c:6605 #: commands/tablecmds.c:9670 commands/tablecmds.c:17836 @@ -9753,199 +9768,199 @@ msgid "must be superuser to create custom procedural language" msgstr "nur Superuser können maßgeschneiderte prozedurale Sprachen erzeugen" -#: commands/publicationcmds.c:124 postmaster/postmaster.c:1110 +#: commands/publicationcmds.c:129 postmaster/postmaster.c:1110 #: postmaster/postmaster.c:1212 utils/init/miscinit.c:1866 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "ungültige Listensyntax für Parameter »%s«" -#: commands/publicationcmds.c:143 +#: commands/publicationcmds.c:148 #, c-format msgid "unrecognized value for publication option \"%s\": \"%s\"" msgstr "unbekannter Wert für Publikationsoption »%s«: »%s«" -#: commands/publicationcmds.c:157 +#: commands/publicationcmds.c:162 #, c-format msgid "unrecognized publication parameter: \"%s\"" msgstr "unbekannter Publikationsparameter: »%s«" -#: commands/publicationcmds.c:198 +#: commands/publicationcmds.c:203 #, c-format msgid "no schema has been selected for CURRENT_SCHEMA" msgstr "kein Schema für CURRENT_SCHEMA ausgewählt" -#: commands/publicationcmds.c:495 +#: commands/publicationcmds.c:500 msgid "System columns are not allowed." msgstr "Systemspalten sind nicht erlaubt." -#: commands/publicationcmds.c:502 commands/publicationcmds.c:507 -#: commands/publicationcmds.c:524 +#: commands/publicationcmds.c:507 commands/publicationcmds.c:512 +#: commands/publicationcmds.c:529 msgid "User-defined operators are not allowed." msgstr "Benutzerdefinierte Operatoren sind nicht erlaubt." -#: commands/publicationcmds.c:548 +#: commands/publicationcmds.c:553 msgid "Only columns, constants, built-in operators, built-in data types, built-in collations, and immutable built-in functions are allowed." msgstr "Nur Spalten, Konstanten, eingebaute Operatoren, eingebaute Datentypen, eingebaute Sortierfolgen und eingebaute Funktionen, die »immutable« sind, sind erlaubt." -#: commands/publicationcmds.c:560 +#: commands/publicationcmds.c:565 msgid "User-defined types are not allowed." msgstr "Benutzerdefinierte Typen sind nicht erlaubt." -#: commands/publicationcmds.c:563 +#: commands/publicationcmds.c:568 msgid "User-defined or built-in mutable functions are not allowed." msgstr "Benutzerdefinierte Funktionen oder eingebaute Funktionen, die nicht »immutable« sind, sind nicht erlaubt." -#: commands/publicationcmds.c:566 +#: commands/publicationcmds.c:571 msgid "User-defined collations are not allowed." msgstr "Benutzerdefinierte Sortierfolgen sind nicht erlaubt." -#: commands/publicationcmds.c:576 +#: commands/publicationcmds.c:581 #, c-format msgid "invalid publication WHERE expression" msgstr "ungültiger WHERE-Ausdruck für Publikation" -#: commands/publicationcmds.c:629 +#: commands/publicationcmds.c:634 #, c-format msgid "cannot use publication WHERE clause for relation \"%s\"" msgstr "Publikations-WHERE-Ausdruck kann nicht für Relation »%s« verwendet werden" -#: commands/publicationcmds.c:631 +#: commands/publicationcmds.c:636 #, c-format msgid "WHERE clause cannot be used for a partitioned table when %s is false." msgstr "WHERE-Klausel kann nicht für eine partitionierte Tabelle verwendet werden, wenn %s falsch ist." -#: commands/publicationcmds.c:702 commands/publicationcmds.c:716 +#: commands/publicationcmds.c:707 commands/publicationcmds.c:721 #, c-format msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\"" msgstr "für Relation »%s.%s« in Publikation »%s« kann keine Spaltenliste verwendet werden" -#: commands/publicationcmds.c:705 +#: commands/publicationcmds.c:710 #, c-format msgid "Column lists cannot be specified in publications containing FOR TABLES IN SCHEMA elements." msgstr "Spaltenlisten können nicht in Publikationen, die FOR-TABLES-IN-SCHEMA-Elemente enthalten, angegeben werden." -#: commands/publicationcmds.c:719 +#: commands/publicationcmds.c:724 #, c-format msgid "Column lists cannot be specified for partitioned tables when %s is false." msgstr "Spaltenlisten können nicht für partitionierte Tabellen angegeben werden, wenn %s falsch ist." -#: commands/publicationcmds.c:754 +#: commands/publicationcmds.c:759 #, c-format msgid "must be superuser to create FOR ALL TABLES publication" msgstr "nur Superuser können eine Publikation FOR ALL TABLES erzeugen" -#: commands/publicationcmds.c:825 +#: commands/publicationcmds.c:830 #, c-format msgid "must be superuser to create FOR TABLES IN SCHEMA publication" msgstr "nur Superuser können eine Publikation FOR TABLES IN SCHEMA erzeugen" -#: commands/publicationcmds.c:861 +#: commands/publicationcmds.c:866 #, c-format msgid "\"wal_level\" is insufficient to publish logical changes" msgstr "»wal_level« ist nicht ausreichend, um logische Veränderungen zu publizieren" -#: commands/publicationcmds.c:862 +#: commands/publicationcmds.c:867 #, c-format msgid "Set \"wal_level\" to \"logical\" before creating subscriptions." msgstr "Setzen Sie »wal_level« auf »logical« bevor Sie Subskriptionen erzeugen." -#: commands/publicationcmds.c:958 commands/publicationcmds.c:966 +#: commands/publicationcmds.c:963 commands/publicationcmds.c:971 #, c-format msgid "cannot set parameter \"%s\" to false for publication \"%s\"" msgstr "Parameter »%s« kann für Publikation »%s« nicht auf falsch gesetzt werden" -#: commands/publicationcmds.c:961 +#: commands/publicationcmds.c:966 #, c-format msgid "The publication contains a WHERE clause for partitioned table \"%s\", which is not allowed when \"%s\" is false." msgstr "Die Publikation enthält eine WHERE-Klausel für die partitionierte Tabelle »%s«, was nicht erlaubt ist, wenn »%s« falsch ist." -#: commands/publicationcmds.c:969 +#: commands/publicationcmds.c:974 #, c-format msgid "The publication contains a column list for partitioned table \"%s\", which is not allowed when \"%s\" is false." msgstr "Die Publikation enthält eine Spaltenliste für die partitionierte Tabelle »%s«, was nicht erlaubt ist, wenn »%s« falsch ist." -#: commands/publicationcmds.c:1292 +#: commands/publicationcmds.c:1297 #, c-format msgid "cannot add schema to publication \"%s\"" msgstr "Schema kann nicht zu Publikation »%s« hinzugefügt werden" -#: commands/publicationcmds.c:1294 +#: commands/publicationcmds.c:1299 #, c-format msgid "Schemas cannot be added if any tables that specify a column list are already part of the publication." msgstr "Schemas können nicht hinzugefügt werden, wenn Tabellen, die eine Spaltenliste angeben, schon Teil der Publikation sind." -#: commands/publicationcmds.c:1342 +#: commands/publicationcmds.c:1347 #, c-format msgid "must be superuser to add or set schemas" msgstr "nur Superuser können Schemas hinzufügen oder setzen" -#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359 +#: commands/publicationcmds.c:1356 commands/publicationcmds.c:1364 #, c-format msgid "publication \"%s\" is defined as FOR ALL TABLES" msgstr "Publikation »%s« ist als FOR ALL TABLES definiert" -#: commands/publicationcmds.c:1353 +#: commands/publicationcmds.c:1358 #, c-format msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications." msgstr "In einer FOR-ALL-TABLES-Publikation können keine Schemas hinzugefügt oder entfernt werden." -#: commands/publicationcmds.c:1361 +#: commands/publicationcmds.c:1366 #, c-format msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications." msgstr "In einer FOR-ALL-TABLES-Publikation können keine Tabellen hinzugefügt oder entfernt werden." -#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424 -#: commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634 +#: commands/publicationcmds.c:1390 commands/publicationcmds.c:1429 +#: commands/publicationcmds.c:1966 utils/cache/lsyscache.c:3634 #, c-format msgid "publication \"%s\" does not exist" msgstr "Publikation »%s« existiert nicht" -#: commands/publicationcmds.c:1587 commands/publicationcmds.c:1650 +#: commands/publicationcmds.c:1592 commands/publicationcmds.c:1655 #, c-format msgid "conflicting or redundant WHERE clauses for table \"%s\"" msgstr "widersprüchliche oder überflüssige WHERE-Klauseln für Tabelle »%s«" -#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662 +#: commands/publicationcmds.c:1599 commands/publicationcmds.c:1667 #, c-format msgid "conflicting or redundant column lists for table \"%s\"" msgstr "widersprüchliche oder überflüssige Spaltenlisten für Tabelle »%s«" -#: commands/publicationcmds.c:1796 +#: commands/publicationcmds.c:1801 #, c-format msgid "column list must not be specified in ALTER PUBLICATION ... DROP" msgstr "in ALTER PUBLICATION ... DROP darf keine Spaltenliste angegeben werden" -#: commands/publicationcmds.c:1808 +#: commands/publicationcmds.c:1813 #, c-format msgid "relation \"%s\" is not part of the publication" msgstr "Relation »%s« ist nicht Teil der Publikation" -#: commands/publicationcmds.c:1815 +#: commands/publicationcmds.c:1820 #, c-format msgid "cannot use a WHERE clause when removing a table from a publication" msgstr "WHERE-Klausel kann nicht verwendet werden, wenn eine Tabelle aus einer Publikation entfernt wird" -#: commands/publicationcmds.c:1875 +#: commands/publicationcmds.c:1880 #, c-format msgid "tables from schema \"%s\" are not part of the publication" msgstr "Tabellen von Schema »%s« sind nicht Teil der Publikation" -#: commands/publicationcmds.c:1918 commands/publicationcmds.c:1925 +#: commands/publicationcmds.c:1923 commands/publicationcmds.c:1930 #, c-format msgid "permission denied to change owner of publication \"%s\"" msgstr "keine Berechtigung, um Eigentümer der Publikation »%s« zu ändern" -#: commands/publicationcmds.c:1920 +#: commands/publicationcmds.c:1925 #, c-format msgid "The owner of a FOR ALL TABLES publication must be a superuser." msgstr "Der Eigentümer einer FOR-ALL-TABLES-Publikation muss ein Superuser sein." -#: commands/publicationcmds.c:1927 +#: commands/publicationcmds.c:1932 #, c-format msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser." msgstr "Der Eigentümer einer FOR-TABLES-IN-SCHEMA-Publikation muss ein Superuser sein." -#: commands/publicationcmds.c:1993 +#: commands/publicationcmds.c:1998 #, c-format msgid "publication with OID %u does not exist" msgstr "Publikation mit OID %u existiert nicht" @@ -10121,72 +10136,72 @@ msgid "cannot define statistics for relation \"%s\"" msgstr "für Relation »%s« können keine Statistiken definiert werden" -#: commands/statscmds.c:187 +#: commands/statscmds.c:208 #, c-format msgid "statistics object \"%s\" already exists, skipping" msgstr "Statistikobjekt »%s« existiert bereits, wird übersprungen" -#: commands/statscmds.c:195 +#: commands/statscmds.c:216 #, c-format msgid "statistics object \"%s\" already exists" msgstr "Statistikobjekt »%s« existiert bereits" -#: commands/statscmds.c:206 +#: commands/statscmds.c:227 #, c-format msgid "cannot have more than %d columns in statistics" msgstr "Statistiken können nicht mehr als %d Spalten enthalten" -#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304 +#: commands/statscmds.c:268 commands/statscmds.c:291 commands/statscmds.c:325 #, c-format msgid "statistics creation on system columns is not supported" msgstr "Statistikerzeugung für Systemspalten wird nicht unterstützt" -#: commands/statscmds.c:254 commands/statscmds.c:277 +#: commands/statscmds.c:275 commands/statscmds.c:298 #, c-format msgid "column \"%s\" cannot be used in statistics because its type %s has no default btree operator class" msgstr "Spalte »%s« kann nicht in Statistiken verwendet werden, weil ihr Typ %s keine Standardoperatorklasse für btree hat" -#: commands/statscmds.c:321 +#: commands/statscmds.c:342 #, c-format msgid "expression cannot be used in multivariate statistics because its type %s has no default btree operator class" msgstr "Ausdruck kann nicht in multivariaten Statistiken verwendet werden, weil sein Typ %s keine Standardoperatorklasse für btree hat" -#: commands/statscmds.c:342 +#: commands/statscmds.c:363 #, c-format msgid "when building statistics on a single expression, statistics kinds may not be specified" msgstr "wenn Statistiken für einen einzelnen Ausdruck gebaut werden, kann die Statistikart nicht angegeben werden" -#: commands/statscmds.c:371 +#: commands/statscmds.c:392 #, c-format msgid "unrecognized statistics kind \"%s\"" msgstr "unbekannte Statistikart »%s«" -#: commands/statscmds.c:400 +#: commands/statscmds.c:421 #, c-format msgid "extended statistics require at least 2 columns" msgstr "erweiterte Statistiken benötigen mindestens 2 Spalten" -#: commands/statscmds.c:418 +#: commands/statscmds.c:439 #, c-format msgid "duplicate column name in statistics definition" msgstr "doppelter Spaltenname in Statistikdefinition" -#: commands/statscmds.c:453 +#: commands/statscmds.c:474 #, c-format msgid "duplicate expression in statistics definition" msgstr "doppelter Ausdruck in Statistikdefinition" -#: commands/statscmds.c:628 commands/tablecmds.c:8653 +#: commands/statscmds.c:649 commands/tablecmds.c:8653 #, c-format msgid "statistics target %d is too low" msgstr "Statistikziel %d ist zu niedrig" -#: commands/statscmds.c:636 commands/tablecmds.c:8661 +#: commands/statscmds.c:657 commands/tablecmds.c:8661 #, c-format msgid "lowering statistics target to %d" msgstr "setze Statistikziel auf %d herab" -#: commands/statscmds.c:660 +#: commands/statscmds.c:681 #, c-format msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "Statistikobjekt »%s.%s« existiert nicht, wird übersprungen" @@ -10196,7 +10211,7 @@ msgid "unrecognized subscription parameter: \"%s\"" msgstr "unbekannter Subskriptionsparameter: »%s«" -#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:405 +#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:409 #, c-format msgid "unrecognized origin value: \"%s\"" msgstr "unbekannter Origin-Wert: »%s«" @@ -10374,7 +10389,7 @@ msgstr "Überprüfen Sie, dass die von den publizierten Tabellen kopierten initialen Daten nicht von anderen Origins kamen." #: commands/subscriptioncmds.c:2228 replication/logical/tablesync.c:932 -#: replication/pgoutput/pgoutput.c:1155 +#: replication/pgoutput/pgoutput.c:1159 #, c-format msgid "cannot use different column lists for table \"%s.%s\" in different publications" msgstr "für Tabelle »%s.%s« können nicht verschiedene Spaltenlisten für verschiedene Publikationen verwendet werden" @@ -10729,7 +10744,7 @@ msgstr "für Spalte »%s« besteht ein Sortierfolgenkonflikt" #: commands/tablecmds.c:3164 commands/tablecmds.c:3326 -#: commands/tablecmds.c:7080 parser/parse_expr.c:4764 +#: commands/tablecmds.c:7080 parser/parse_expr.c:4771 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "»%s« gegen »%s«" @@ -12283,8 +12298,8 @@ #: commands/trigger.c:3428 executor/nodeModifyTable.c:1563 #: executor/nodeModifyTable.c:1637 executor/nodeModifyTable.c:2400 -#: executor/nodeModifyTable.c:2491 executor/nodeModifyTable.c:3155 -#: executor/nodeModifyTable.c:3326 +#: executor/nodeModifyTable.c:2491 executor/nodeModifyTable.c:3146 +#: executor/nodeModifyTable.c:3338 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "Verwenden Sie einen AFTER-Trigger anstelle eines BEFORE-Triggers, um Änderungen an andere Zeilen zu propagieren." @@ -12298,23 +12313,23 @@ msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung" #: commands/trigger.c:3478 executor/nodeModifyTable.c:1669 -#: executor/nodeModifyTable.c:2508 executor/nodeModifyTable.c:2665 -#: executor/nodeModifyTable.c:3173 +#: executor/nodeModifyTable.c:2508 executor/nodeModifyTable.c:2657 +#: executor/nodeModifyTable.c:3164 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitigem Löschen" -#: commands/trigger.c:4687 +#: commands/trigger.c:4671 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "aufgeschobener Trigger kann nicht in einer sicherheitsbeschränkten Operation ausgelöst werden" -#: commands/trigger.c:5868 +#: commands/trigger.c:5889 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "Constraint »%s« ist nicht aufschiebbar" -#: commands/trigger.c:5891 +#: commands/trigger.c:5912 #, c-format msgid "constraint \"%s\" does not exist" msgstr "Constraint »%s« existiert nicht" @@ -13080,112 +13095,112 @@ msgid "Use CASCADE to revoke them too." msgstr "Verwenden Sie CASCADE, um diese auch zu entziehen." -#: commands/vacuum.c:135 +#: commands/vacuum.c:136 #, c-format msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" msgstr "»vacuum_buffer_usage_limit« muss 0 sein oder zwischen %d kB und %d kB liegen" -#: commands/vacuum.c:210 +#: commands/vacuum.c:211 #, c-format msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB" msgstr "Option BUFFER_USAGE_LIMIT muss 0 sein oder zwischen %d kB und %d kB liegen" -#: commands/vacuum.c:220 +#: commands/vacuum.c:221 #, c-format msgid "unrecognized ANALYZE option \"%s\"" msgstr "unbekannte ANALYZE-Option »%s«" -#: commands/vacuum.c:260 +#: commands/vacuum.c:261 #, c-format msgid "parallel option requires a value between 0 and %d" msgstr "Option PARALLEL benötigt einen Wert zwischen 0 und %d" -#: commands/vacuum.c:272 +#: commands/vacuum.c:273 #, c-format msgid "parallel workers for vacuum must be between 0 and %d" msgstr "parallele Arbeitsprozesse für Vacuum müssen zwischen 0 und %d sein" -#: commands/vacuum.c:293 +#: commands/vacuum.c:294 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "unbekannte VACUUM-Option »%s«" -#: commands/vacuum.c:319 +#: commands/vacuum.c:320 #, c-format msgid "VACUUM FULL cannot be performed in parallel" msgstr "VACUUM FULL kann nicht parallel ausgeführt werden" -#: commands/vacuum.c:330 +#: commands/vacuum.c:331 #, c-format msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL" msgstr "BUFFER_USAGE_LIMIT kann nicht für VACUUM FULL angegeben werden" -#: commands/vacuum.c:344 +#: commands/vacuum.c:345 #, c-format msgid "ANALYZE option must be specified when a column list is provided" msgstr "Option ANALYZE muss angegeben werden, wenn eine Spaltenliste angegeben ist" -#: commands/vacuum.c:356 +#: commands/vacuum.c:357 #, c-format msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL" msgstr "VACUUM-Option DISABLE_PAGE_SKIPPING kann nicht zusammen mit FULL verwendet werden" -#: commands/vacuum.c:363 +#: commands/vacuum.c:364 #, c-format msgid "PROCESS_TOAST required with VACUUM FULL" msgstr "PROCESS_TOAST benötigt VACUUM FULL" -#: commands/vacuum.c:372 +#: commands/vacuum.c:373 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables" msgstr "ONLY_DATABASE_STATS kann nicht mit einer Tabellenliste angegeben werden" -#: commands/vacuum.c:381 +#: commands/vacuum.c:382 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" msgstr "ONLY_DATABASE_STATS kann nicht mit anderen VACUUM-Optionen angegeben werden" -#: commands/vacuum.c:516 +#: commands/vacuum.c:517 #, c-format msgid "%s cannot be executed from VACUUM or ANALYZE" msgstr "%s kann nicht aus VACUUM oder ANALYZE ausgeführt werden" -#: commands/vacuum.c:741 +#: commands/vacuum.c:742 #, c-format msgid "permission denied to vacuum \"%s\", skipping it" msgstr "keine Berechtigung für Vacuum von »%s«, wird übersprungen" -#: commands/vacuum.c:754 +#: commands/vacuum.c:755 #, c-format msgid "permission denied to analyze \"%s\", skipping it" msgstr "keine Berechtigung für Analyze von »%s«, wird übersprungen" -#: commands/vacuum.c:832 commands/vacuum.c:929 +#: commands/vacuum.c:833 commands/vacuum.c:930 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "überspringe Vacuum von »%s« --- Sperre nicht verfügbar" -#: commands/vacuum.c:837 +#: commands/vacuum.c:838 #, c-format msgid "skipping vacuum of \"%s\" --- relation no longer exists" msgstr "überspringe Vacuum von »%s« --- Relation existiert nicht mehr" -#: commands/vacuum.c:853 commands/vacuum.c:934 +#: commands/vacuum.c:854 commands/vacuum.c:935 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "überspringe Analyze von »%s« --- Sperre nicht verfügbar" -#: commands/vacuum.c:858 +#: commands/vacuum.c:859 #, c-format msgid "skipping analyze of \"%s\" --- relation no longer exists" msgstr "überspringe Analyze von »%s« --- Relation existiert nicht mehr" -#: commands/vacuum.c:1150 +#: commands/vacuum.c:1151 #, c-format msgid "cutoff for removing and freezing tuples is far in the past" msgstr "Obergrenze für das Entfernen und Einfrieren von Tuples ist weit in der Vergangenheit" -#: commands/vacuum.c:1151 commands/vacuum.c:1156 +#: commands/vacuum.c:1152 commands/vacuum.c:1157 #, c-format msgid "" "Close open transactions soon to avoid wraparound problems.\n" @@ -13194,37 +13209,37 @@ "Schließen Sie bald alle offenen Transaktionen, um Überlaufprobleme zu vermeiden.\n" "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen." -#: commands/vacuum.c:1155 +#: commands/vacuum.c:1156 #, c-format msgid "cutoff for freezing multixacts is far in the past" msgstr "Obergrenze für das Einfrieren von Multixacts ist weit in der Vergangenheit" -#: commands/vacuum.c:1911 +#: commands/vacuum.c:1912 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "einige Datenbanken sind seit über 2 Milliarden Transaktionen nicht gevacuumt worden" -#: commands/vacuum.c:1912 +#: commands/vacuum.c:1913 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "Sie haben möglicherweise bereits Daten wegen Transaktionsnummernüberlauf verloren." -#: commands/vacuum.c:2098 +#: commands/vacuum.c:2105 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "überspringe »%s« --- kann Nicht-Tabellen oder besondere Systemtabellen nicht vacuumen" -#: commands/vacuum.c:2545 +#: commands/vacuum.c:2552 #, c-format msgid "scanned index \"%s\" to remove %lld row versions" msgstr "Index »%s« gelesen und %lld Zeilenversionen entfernt" -#: commands/vacuum.c:2564 +#: commands/vacuum.c:2571 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "Index »%s« enthält %.0f Zeilenversionen in %u Seiten" -#: commands/vacuum.c:2568 +#: commands/vacuum.c:2575 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -13500,7 +13515,7 @@ msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "Tabelle hat Typ %s auf Position %d, aber Anfrage erwartet %s." -#: executor/execExpr.c:1104 parser/parse_agg.c:864 +#: executor/execExpr.c:1104 parser/parse_agg.c:891 #, c-format msgid "window function calls cannot be nested" msgstr "Aufrufe von Fensterfunktionen können nicht geschachtelt werden" @@ -14052,7 +14067,7 @@ msgid "aggregate %u needs to have compatible input type and transition type" msgstr "Aggregatfunktion %u muss kompatiblen Eingabe- und Übergangstyp haben" -#: executor/nodeAgg.c:3966 parser/parse_agg.c:680 parser/parse_agg.c:708 +#: executor/nodeAgg.c:3966 parser/parse_agg.c:687 parser/parse_agg.c:730 #, c-format msgid "aggregate function calls cannot be nested" msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden" @@ -14133,8 +14148,8 @@ msgstr "Definieren Sie den Fremdschlüssel eventuell für Tabelle »%s«." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2619 executor/nodeModifyTable.c:3161 -#: executor/nodeModifyTable.c:3332 +#: executor/nodeModifyTable.c:2619 executor/nodeModifyTable.c:3152 +#: executor/nodeModifyTable.c:3344 #, c-format msgid "%s command cannot affect row a second time" msgstr "Befehl in %s kann eine Zeile nicht ein zweites Mal ändern" @@ -14144,17 +14159,17 @@ msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "Stellen Sie sicher, dass keine im selben Befehl fürs Einfügen vorgesehene Zeilen doppelte Werte haben, die einen Constraint verletzen würden." -#: executor/nodeModifyTable.c:3154 executor/nodeModifyTable.c:3325 +#: executor/nodeModifyTable.c:3145 executor/nodeModifyTable.c:3337 #, c-format msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" msgstr "das zu aktualisierende oder zu löschende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert" -#: executor/nodeModifyTable.c:3163 executor/nodeModifyTable.c:3334 +#: executor/nodeModifyTable.c:3154 executor/nodeModifyTable.c:3346 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "Stellen Sie sicher, dass nicht mehr als eine Quellzeile auf jede Zielzeile passt." -#: executor/nodeModifyTable.c:3232 +#: executor/nodeModifyTable.c:3223 #, c-format msgid "tuple to be merged was already moved to another partition due to concurrent update" msgstr "das zu mergende Tupel wurde schon durch ein gleichzeitiges Update in eine andere Partition verschoben" @@ -16816,7 +16831,7 @@ msgstr "FULL JOIN wird nur für Merge- oder Hash-Verbund-fähige Verbundbedingungen unterstützt" #: optimizer/plan/createplan.c:7177 parser/parse_merge.c:203 -#: rewrite/rewriteHandler.c:1680 +#: rewrite/rewriteHandler.c:1683 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "MERGE kann für Relation »%s« nicht ausgeführt werden" @@ -16850,22 +16865,22 @@ msgid "could not implement DISTINCT" msgstr "konnte DISTINCT nicht implementieren" -#: optimizer/plan/planner.c:6210 +#: optimizer/plan/planner.c:6245 #, c-format msgid "could not implement window PARTITION BY" msgstr "konnte PARTITION BY für Fenster nicht implementieren" -#: optimizer/plan/planner.c:6211 +#: optimizer/plan/planner.c:6246 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "Fensterpartitionierungsspalten müssen sortierbare Datentypen haben." -#: optimizer/plan/planner.c:6215 +#: optimizer/plan/planner.c:6250 #, c-format msgid "could not implement window ORDER BY" msgstr "konnte ORDER BY für Fenster nicht implementieren" -#: optimizer/plan/planner.c:6216 +#: optimizer/plan/planner.c:6251 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "Fenstersortierspalten müssen sortierbare Datentypen haben." @@ -16886,7 +16901,7 @@ msgid "could not implement %s" msgstr "konnte %s nicht implementieren" -#: optimizer/util/clauses.c:4965 +#: optimizer/util/clauses.c:4962 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "SQL-Funktion »%s« beim Inlining" @@ -17136,331 +17151,341 @@ msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "Relation »%s« in %s nicht in der FROM-Klausel gefunden" -#: parser/parse_agg.c:210 parser/parse_oper.c:215 +#: parser/parse_agg.c:213 parser/parse_oper.c:215 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "konnte keinen Sortieroperator für Typ %s ermitteln" -#: parser/parse_agg.c:212 +#: parser/parse_agg.c:215 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "Aggregatfunktionen mit DISTINCT müssen ihre Eingaben sortieren können." -#: parser/parse_agg.c:270 +#: parser/parse_agg.c:273 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "GROUPING muss weniger als 32 Argumente haben" -#: parser/parse_agg.c:373 +#: parser/parse_agg.c:377 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "Aggregatfunktionen sind in JOIN-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:375 +#: parser/parse_agg.c:379 msgid "grouping operations are not allowed in JOIN conditions" msgstr "Gruppieroperationen sind in JOIN-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:385 +#: parser/parse_agg.c:389 msgid "aggregate functions are not allowed in FROM clause of their own query level" msgstr "Aggregatfunktionen sind nicht in der FROM-Klausel ihrer eigenen Anfrageebene erlaubt" -#: parser/parse_agg.c:387 +#: parser/parse_agg.c:391 msgid "grouping operations are not allowed in FROM clause of their own query level" msgstr "Gruppieroperationen sind nicht in der FROM-Klausel ihrer eigenen Anfrageebene erlaubt" -#: parser/parse_agg.c:392 +#: parser/parse_agg.c:396 msgid "aggregate functions are not allowed in functions in FROM" msgstr "Aggregatfunktionen sind in Funktionen in FROM nicht erlaubt" -#: parser/parse_agg.c:394 +#: parser/parse_agg.c:398 msgid "grouping operations are not allowed in functions in FROM" msgstr "Gruppieroperationen sind in Funktionen in FROM nicht erlaubt" -#: parser/parse_agg.c:402 +#: parser/parse_agg.c:406 msgid "aggregate functions are not allowed in policy expressions" msgstr "Aggregatfunktionen sind in Policy-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:404 +#: parser/parse_agg.c:408 msgid "grouping operations are not allowed in policy expressions" msgstr "Gruppieroperationen sind in Policy-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:421 +#: parser/parse_agg.c:425 msgid "aggregate functions are not allowed in window RANGE" msgstr "Aggregatfunktionen sind in der Fenster-RANGE-Klausel nicht erlaubt" -#: parser/parse_agg.c:423 +#: parser/parse_agg.c:427 msgid "grouping operations are not allowed in window RANGE" msgstr "Gruppieroperationen sind in der Fenster-RANGE-Klausel nicht erlaubt" -#: parser/parse_agg.c:428 +#: parser/parse_agg.c:432 msgid "aggregate functions are not allowed in window ROWS" msgstr "Aggregatfunktionen sind in der Fenster-ROWS-Klausel nicht erlaubt" -#: parser/parse_agg.c:430 +#: parser/parse_agg.c:434 msgid "grouping operations are not allowed in window ROWS" msgstr "Gruppieroperationen sind in der Fenster-ROWS-Klausel nicht erlaubt" -#: parser/parse_agg.c:435 +#: parser/parse_agg.c:439 msgid "aggregate functions are not allowed in window GROUPS" msgstr "Aggregatfunktionen sind in der Fenster-GROUPS-Klausel nicht erlaubt" -#: parser/parse_agg.c:437 +#: parser/parse_agg.c:441 msgid "grouping operations are not allowed in window GROUPS" msgstr "Gruppieroperationen sind in der Fenster-GROUPS-Klausel nicht erlaubt" -#: parser/parse_agg.c:450 +#: parser/parse_agg.c:454 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "Aggregatfunktionen sind in MERGE-WHEN-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:452 +#: parser/parse_agg.c:456 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "Gruppieroperationen sind in MERGE-WHEN-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:479 +#: parser/parse_agg.c:483 msgid "aggregate functions are not allowed in check constraints" msgstr "Aggregatfunktionen sind in Check-Constraints nicht erlaubt" -#: parser/parse_agg.c:481 +#: parser/parse_agg.c:485 msgid "grouping operations are not allowed in check constraints" msgstr "Gruppieroperationen sind in Check-Constraints nicht erlaubt" -#: parser/parse_agg.c:488 +#: parser/parse_agg.c:492 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "Aggregatfunktionen sind in DEFAULT-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:490 +#: parser/parse_agg.c:494 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "Gruppieroperationen sind in DEFAULT-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:495 +#: parser/parse_agg.c:499 msgid "aggregate functions are not allowed in index expressions" msgstr "Aggregatfunktionen sind in Indexausdrücken nicht erlaubt" -#: parser/parse_agg.c:497 +#: parser/parse_agg.c:501 msgid "grouping operations are not allowed in index expressions" msgstr "Gruppieroperationen sind in Indexausdrücken nicht erlaubt" -#: parser/parse_agg.c:502 +#: parser/parse_agg.c:506 msgid "aggregate functions are not allowed in index predicates" msgstr "Aggregatfunktionen sind in Indexprädikaten nicht erlaubt" -#: parser/parse_agg.c:504 +#: parser/parse_agg.c:508 msgid "grouping operations are not allowed in index predicates" msgstr "Gruppieroperationen sind in Indexprädikaten nicht erlaubt" -#: parser/parse_agg.c:509 +#: parser/parse_agg.c:513 msgid "aggregate functions are not allowed in statistics expressions" msgstr "Aggregatfunktionen sind in Statistikausdrücken nicht erlaubt" -#: parser/parse_agg.c:511 +#: parser/parse_agg.c:515 msgid "grouping operations are not allowed in statistics expressions" msgstr "Gruppieroperationen sind in Statistikausdrücken nicht erlaubt" -#: parser/parse_agg.c:516 +#: parser/parse_agg.c:520 msgid "aggregate functions are not allowed in transform expressions" msgstr "Aggregatfunktionen sind in Umwandlungsausdrücken nicht erlaubt" -#: parser/parse_agg.c:518 +#: parser/parse_agg.c:522 msgid "grouping operations are not allowed in transform expressions" msgstr "Gruppieroperationen sind in Umwandlungsausdrücken nicht erlaubt" -#: parser/parse_agg.c:523 +#: parser/parse_agg.c:527 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "Aggregatfunktionen sind in EXECUTE-Parametern nicht erlaubt" -#: parser/parse_agg.c:525 +#: parser/parse_agg.c:529 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "Gruppieroperationen sind in EXECUTE-Parametern nicht erlaubt" -#: parser/parse_agg.c:530 +#: parser/parse_agg.c:534 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "Aggregatfunktionen sind in der WHEN-Bedingung eines Triggers nicht erlaubt" -#: parser/parse_agg.c:532 +#: parser/parse_agg.c:536 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "Gruppieroperationen sind in der WHEN-Bedingung eines Triggers nicht erlaubt" -#: parser/parse_agg.c:537 +#: parser/parse_agg.c:541 msgid "aggregate functions are not allowed in partition bound" msgstr "Aggregatfunktionen sind in Partitionsbegrenzungen nicht erlaubt" -#: parser/parse_agg.c:539 +#: parser/parse_agg.c:543 msgid "grouping operations are not allowed in partition bound" msgstr "Gruppieroperationen sind in Partitionsbegrenzungen nicht erlaubt" -#: parser/parse_agg.c:544 +#: parser/parse_agg.c:548 msgid "aggregate functions are not allowed in partition key expressions" msgstr "Aggregatfunktionen sind in Partitionierungsschlüsselausdrücken nicht erlaubt" -#: parser/parse_agg.c:546 +#: parser/parse_agg.c:550 msgid "grouping operations are not allowed in partition key expressions" msgstr "Gruppieroperationen sind in Partitionierungsschlüsselausdrücken nicht erlaubt" -#: parser/parse_agg.c:552 +#: parser/parse_agg.c:556 msgid "aggregate functions are not allowed in column generation expressions" msgstr "Aggregatfunktionen sind in Spaltengenerierungsausdrücken nicht erlaubt" -#: parser/parse_agg.c:554 +#: parser/parse_agg.c:558 msgid "grouping operations are not allowed in column generation expressions" msgstr "Gruppieroperationen sind in Spaltengenerierungsausdrücken nicht erlaubt" -#: parser/parse_agg.c:560 +#: parser/parse_agg.c:564 msgid "aggregate functions are not allowed in CALL arguments" msgstr "Aggregatfunktionen sind in CALL-Argumenten nicht erlaubt" -#: parser/parse_agg.c:562 +#: parser/parse_agg.c:566 msgid "grouping operations are not allowed in CALL arguments" msgstr "Gruppieroperationen sind in CALL-Argumenten nicht erlaubt" -#: parser/parse_agg.c:568 +#: parser/parse_agg.c:572 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" msgstr "Aggregatfunktionen sind in COPY-FROM-WHERE-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:570 +#: parser/parse_agg.c:574 msgid "grouping operations are not allowed in COPY FROM WHERE conditions" msgstr "Gruppieroperationen sind in COPY-FROM-WHERE-Bedingungen nicht erlaubt" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:597 parser/parse_clause.c:1962 +#: parser/parse_agg.c:601 parser/parse_clause.c:1962 #, c-format msgid "aggregate functions are not allowed in %s" msgstr "Aggregatfunktionen sind in %s nicht erlaubt" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:600 +#: parser/parse_agg.c:604 #, c-format msgid "grouping operations are not allowed in %s" msgstr "Gruppieroperationen sind in %s nicht erlaubt" -#: parser/parse_agg.c:701 +#: parser/parse_agg.c:700 parser/parse_agg.c:737 +#, c-format +msgid "outer-level aggregate cannot use a nested CTE" +msgstr "Aggregatfunktionen auf äußerer Ebene kann keine geschachtelte CTE verwenden" + +#: parser/parse_agg.c:701 parser/parse_agg.c:738 +#, c-format +msgid "CTE \"%s\" is below the aggregate's semantic level." +msgstr "CTE »%s« ist unterhalb der semantischen Ebene der Aggregatfunktion." + +#: parser/parse_agg.c:723 #, c-format msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments" msgstr "Aggregatfunktion auf äußerer Ebene kann keine Variable einer unteren Ebene in ihren direkten Argumenten haben" -#: parser/parse_agg.c:779 +#: parser/parse_agg.c:808 #, c-format msgid "aggregate function calls cannot contain set-returning function calls" msgstr "Aufrufe von Aggregatfunktionen können keine Aufrufe von Funktionen mit Ergebnismenge enthalten" -#: parser/parse_agg.c:780 parser/parse_expr.c:1763 parser/parse_expr.c:2254 +#: parser/parse_agg.c:809 parser/parse_expr.c:1763 parser/parse_expr.c:2254 #: parser/parse_func.c:885 #, c-format msgid "You might be able to move the set-returning function into a LATERAL FROM item." msgstr "Sie können möglicherweise die Funktion mit Ergebnismenge in ein LATERAL-FROM-Element verschieben." -#: parser/parse_agg.c:785 +#: parser/parse_agg.c:814 #, c-format msgid "aggregate function calls cannot contain window function calls" msgstr "Aufrufe von Aggregatfunktionen können keine Aufrufe von Fensterfunktionen enthalten" -#: parser/parse_agg.c:890 +#: parser/parse_agg.c:917 msgid "window functions are not allowed in JOIN conditions" msgstr "Fensterfunktionen sind in JOIN-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:897 +#: parser/parse_agg.c:924 msgid "window functions are not allowed in functions in FROM" msgstr "Fensterfunktionen sind in Funktionen in FROM nicht erlaubt" -#: parser/parse_agg.c:903 +#: parser/parse_agg.c:930 msgid "window functions are not allowed in policy expressions" msgstr "Fensterfunktionen sind in Policy-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:916 +#: parser/parse_agg.c:943 msgid "window functions are not allowed in window definitions" msgstr "Fensterfunktionen sind in Fensterdefinitionen nicht erlaubt" -#: parser/parse_agg.c:927 +#: parser/parse_agg.c:954 msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "Fensterfunktionen sind in MERGE-WHEN-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:952 +#: parser/parse_agg.c:979 msgid "window functions are not allowed in check constraints" msgstr "Fensterfunktionen sind in Check-Constraints nicht erlaubt" -#: parser/parse_agg.c:956 +#: parser/parse_agg.c:983 msgid "window functions are not allowed in DEFAULT expressions" msgstr "Fensterfunktionen sind in DEFAULT-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:959 +#: parser/parse_agg.c:986 msgid "window functions are not allowed in index expressions" msgstr "Fensterfunktionen sind in Indexausdrücken nicht erlaubt" -#: parser/parse_agg.c:962 +#: parser/parse_agg.c:989 msgid "window functions are not allowed in statistics expressions" msgstr "Fensterfunktionen sind in Statistikausdrücken nicht erlaubt" -#: parser/parse_agg.c:965 +#: parser/parse_agg.c:992 msgid "window functions are not allowed in index predicates" msgstr "Fensterfunktionen sind in Indexprädikaten nicht erlaubt" -#: parser/parse_agg.c:968 +#: parser/parse_agg.c:995 msgid "window functions are not allowed in transform expressions" msgstr "Fensterfunktionen sind in Umwandlungsausdrücken nicht erlaubt" -#: parser/parse_agg.c:971 +#: parser/parse_agg.c:998 msgid "window functions are not allowed in EXECUTE parameters" msgstr "Fensterfunktionen sind in EXECUTE-Parametern nicht erlaubt" -#: parser/parse_agg.c:974 +#: parser/parse_agg.c:1001 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "Fensterfunktionen sind in der WHEN-Bedingung eines Triggers nicht erlaubt" -#: parser/parse_agg.c:977 +#: parser/parse_agg.c:1004 msgid "window functions are not allowed in partition bound" msgstr "Fensterfunktionen sind in Partitionsbegrenzungen nicht erlaubt" -#: parser/parse_agg.c:980 +#: parser/parse_agg.c:1007 msgid "window functions are not allowed in partition key expressions" msgstr "Fensterfunktionen sind in Partitionierungsschlüsselausdrücken nicht erlaubt" -#: parser/parse_agg.c:983 +#: parser/parse_agg.c:1010 msgid "window functions are not allowed in CALL arguments" msgstr "Fensterfunktionen sind in CALL-Argumenten nicht erlaubt" -#: parser/parse_agg.c:986 +#: parser/parse_agg.c:1013 msgid "window functions are not allowed in COPY FROM WHERE conditions" msgstr "Fensterfunktionen sind in COPY-FROM-WHERE-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:989 +#: parser/parse_agg.c:1016 msgid "window functions are not allowed in column generation expressions" msgstr "Fensterfunktionen sind in Spaltengenerierungsausdrücken nicht erlaubt" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:1012 parser/parse_clause.c:1971 +#: parser/parse_agg.c:1039 parser/parse_clause.c:1971 #, c-format msgid "window functions are not allowed in %s" msgstr "Fensterfunktionen sind in %s nicht erlaubt" -#: parser/parse_agg.c:1046 parser/parse_clause.c:2804 +#: parser/parse_agg.c:1073 parser/parse_clause.c:2804 #, c-format msgid "window \"%s\" does not exist" msgstr "Fenster »%s« existiert nicht" -#: parser/parse_agg.c:1134 +#: parser/parse_agg.c:1161 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "zu viele Grouping-Sets vorhanden (maximal 4096)" -#: parser/parse_agg.c:1274 +#: parser/parse_agg.c:1301 #, c-format msgid "aggregate functions are not allowed in a recursive query's recursive term" msgstr "Aggregatfunktionen sind nicht im rekursiven Ausdruck einer rekursiven Anfrage erlaubt" -#: parser/parse_agg.c:1467 +#: parser/parse_agg.c:1494 #, c-format msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function" msgstr "Spalte »%s.%s« muss in der GROUP-BY-Klausel erscheinen oder in einer Aggregatfunktion verwendet werden" -#: parser/parse_agg.c:1470 +#: parser/parse_agg.c:1497 #, c-format msgid "Direct arguments of an ordered-set aggregate must use only grouped columns." msgstr "Direkte Argumente einer Ordered-Set-Aggregatfunktion dürfen nur gruppierte Spalten verwenden." -#: parser/parse_agg.c:1475 +#: parser/parse_agg.c:1502 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "Unteranfrage verwendet nicht gruppierte Spalte »%s.%s« aus äußerer Anfrage" -#: parser/parse_agg.c:1639 +#: parser/parse_agg.c:1666 #, c-format msgid "arguments to GROUPING must be grouping expressions of the associated query level" msgstr "Argumente von GROUPING müssen Gruppierausdrücke der zugehörigen Anfrageebene sein" @@ -18386,19 +18411,19 @@ msgid "Try returning a string type or bytea." msgstr "Versuchen Sie einen Zeichenkettentyp oder bytea zurückzugeben." -#: parser/parse_expr.c:4316 +#: parser/parse_expr.c:4319 #, c-format msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" msgstr "FORMAT JSON kann nicht in der RETURNING-Klausel von %s() angegeben werden" -#: parser/parse_expr.c:4329 +#: parser/parse_expr.c:4332 #, c-format msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" msgstr "SQL/JSON-QUOTES-Verhalten darf nicht angegeben werden, wenn WITH WRAPPER verwendet wird" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4343 parser/parse_expr.c:4372 parser/parse_expr.c:4403 -#: parser/parse_expr.c:4429 parser/parse_expr.c:4455 +#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 parser/parse_expr.c:4406 +#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 #: parser/parse_jsontable.c:94 #, c-format msgid "invalid %s behavior" @@ -18406,7 +18431,7 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 +#: parser/parse_expr.c:4349 parser/parse_expr.c:4378 #, c-format msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for %s." msgstr "Nur ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT oder DEFAULT-Ausdruck sind erlaubt in %s für %s." @@ -18414,73 +18439,73 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4353 parser/parse_expr.c:4382 parser/parse_expr.c:4411 -#: parser/parse_expr.c:4439 parser/parse_expr.c:4465 +#: parser/parse_expr.c:4356 parser/parse_expr.c:4385 parser/parse_expr.c:4414 +#: parser/parse_expr.c:4442 parser/parse_expr.c:4468 #, c-format msgid "invalid %s behavior for column \"%s\"" msgstr "ungültiges »%s«-Verhalten für Spalte »%s«" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4356 parser/parse_expr.c:4385 +#: parser/parse_expr.c:4359 parser/parse_expr.c:4388 #, c-format msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for formatted columns." msgstr "Nur ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT oder DEFAULT-Ausdruck sind erlaubt in %s für formatierte Spalten." -#: parser/parse_expr.c:4404 +#: parser/parse_expr.c:4407 #, c-format msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s." msgstr "Nur ERROR, TRUE, FALSE oder UNKNOWN sind erlaubt in %s für %s." #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4414 +#: parser/parse_expr.c:4417 #, c-format msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns." msgstr "Nur ERROR, TRUE, FALSE oder UNKNOWN sind erlaubt in %s für EXISTS-Spalten." #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 +#: parser/parse_expr.c:4435 parser/parse_expr.c:4461 #, c-format msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s." msgstr "Nur ERROR, NULL oder DEFAULT-Ausdruck sind erlaubt in %s für %s." #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4442 parser/parse_expr.c:4468 +#: parser/parse_expr.c:4445 parser/parse_expr.c:4471 #, c-format msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns." msgstr "Nur ERROR, NULL oder DEFAULT-Ausdruck sind erlaubt in %s für skalare Spalten." -#: parser/parse_expr.c:4498 +#: parser/parse_expr.c:4505 #, c-format msgid "JSON path expression must be of type %s, not of type %s" msgstr "JSON-Pfadausdruck muss Typ %s haben, nicht Typ %s" -#: parser/parse_expr.c:4738 +#: parser/parse_expr.c:4745 #, c-format msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT" msgstr "für DEFAULT kann nur eine Konstante, Nicht-Aggregat-Funktion oder ein Operatorausdruck angegeben werden" -#: parser/parse_expr.c:4743 +#: parser/parse_expr.c:4750 #, c-format msgid "DEFAULT expression must not contain column references" msgstr "DEFAULT-Ausdruck darf keine Spaltenverweise enthalten" -#: parser/parse_expr.c:4748 +#: parser/parse_expr.c:4755 #, c-format msgid "DEFAULT expression must not return a set" msgstr "DEFAULT-Ausdruck darf keine Ergebnismenge zurückgeben" -#: parser/parse_expr.c:4763 +#: parser/parse_expr.c:4770 #, c-format msgid "collation of DEFAULT expression conflicts with RETURNING clause" msgstr "Sortierfolge des DEFAULT-Ausdrucks kollidiert mit der RETURNING-Klausel" -#: parser/parse_expr.c:4842 parser/parse_expr.c:4851 +#: parser/parse_expr.c:4849 parser/parse_expr.c:4858 #, c-format msgid "cannot cast behavior expression of type %s to %s" msgstr "kann Verhaltensausdruck nicht von Typ %s in %s umwandeln" -#: parser/parse_expr.c:4845 +#: parser/parse_expr.c:4852 #, c-format msgid "You will need to explicitly cast the expression to type %s." msgstr "Sie werden den Ausdruck ausdrücklich in Typ %s umwandeln müssen." @@ -19470,22 +19495,22 @@ msgid "TO must specify exactly one value per partitioning column" msgstr "TO muss genau einen Wert pro Partitionierungsspalte angeben" -#: parser/parse_utilcmd.c:4228 +#: parser/parse_utilcmd.c:4230 #, c-format msgid "cannot specify NULL in range bound" msgstr "NULL kann nicht in der Bereichsgrenze angegeben werden" -#: parser/parse_utilcmd.c:4277 +#: parser/parse_utilcmd.c:4278 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "jede Begrenzung, die auf MAXVALUE folgt, muss auch MAXVALUE sein" -#: parser/parse_utilcmd.c:4284 +#: parser/parse_utilcmd.c:4285 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "jede Begrenzung, die auf MINVALUE folgt, muss auch MINVALUE sein" -#: parser/parse_utilcmd.c:4327 +#: parser/parse_utilcmd.c:4328 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "angegebener Wert kann nicht in Typ %s für Spalte »%s« umgewandelt werden" @@ -20545,144 +20570,144 @@ msgid "invalid streaming start location" msgstr "ungültige Streaming-Startposition" -#: replication/libpqwalreceiver/libpqwalreceiver.c:267 -#: replication/libpqwalreceiver/libpqwalreceiver.c:358 +#: replication/libpqwalreceiver/libpqwalreceiver.c:280 +#: replication/libpqwalreceiver/libpqwalreceiver.c:371 #, c-format msgid "password is required" msgstr "Passwort wird benötigt" -#: replication/libpqwalreceiver/libpqwalreceiver.c:268 +#: replication/libpqwalreceiver/libpqwalreceiver.c:281 #, c-format msgid "Non-superuser cannot connect if the server does not request a password." msgstr "Nicht-Superuser kann nicht verbinden, wenn der Server kein Passwort anfordert." -#: replication/libpqwalreceiver/libpqwalreceiver.c:269 +#: replication/libpqwalreceiver/libpqwalreceiver.c:282 #, c-format msgid "Target server's authentication method must be changed, or set password_required=false in the subscription parameters." msgstr "Die Authentifizierungsmethode des Zielservers muss geändern werden oder setzen Sie password_required=false in den Subskriptionsparametern." -#: replication/libpqwalreceiver/libpqwalreceiver.c:285 +#: replication/libpqwalreceiver/libpqwalreceiver.c:298 #, c-format msgid "could not clear search path: %s" msgstr "konnte Suchpfad nicht auf leer setzen: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:331 -#: replication/libpqwalreceiver/libpqwalreceiver.c:517 +#: replication/libpqwalreceiver/libpqwalreceiver.c:344 +#: replication/libpqwalreceiver/libpqwalreceiver.c:542 #, c-format msgid "invalid connection string syntax: %s" msgstr "ungültige Syntax für Verbindungszeichenkette: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:359 +#: replication/libpqwalreceiver/libpqwalreceiver.c:372 #, c-format msgid "Non-superusers must provide a password in the connection string." msgstr "Nicht-Superuser müssen ein Passwort in den Verbindungsparametern angeben." -#: replication/libpqwalreceiver/libpqwalreceiver.c:386 +#: replication/libpqwalreceiver/libpqwalreceiver.c:399 #, c-format msgid "could not parse connection string: %s" msgstr "konnte Verbindungsparameter nicht interpretieren: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:459 +#: replication/libpqwalreceiver/libpqwalreceiver.c:472 #, c-format msgid "could not receive database system identifier and timeline ID from the primary server: %s" msgstr "konnte Datenbanksystemidentifikator und Zeitleisten-ID nicht vom Primärserver empfangen: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:476 -#: replication/libpqwalreceiver/libpqwalreceiver.c:763 +#: replication/libpqwalreceiver/libpqwalreceiver.c:489 +#: replication/libpqwalreceiver/libpqwalreceiver.c:788 #, c-format msgid "invalid response from primary server" msgstr "ungültige Antwort vom Primärserver" -#: replication/libpqwalreceiver/libpqwalreceiver.c:477 +#: replication/libpqwalreceiver/libpqwalreceiver.c:490 #, c-format msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields." msgstr "Konnte System nicht identifizieren: %d Zeilen und %d Felder erhalten, %d Zeilen und %d oder mehr Felder erwartet." -#: replication/libpqwalreceiver/libpqwalreceiver.c:606 -#: replication/libpqwalreceiver/libpqwalreceiver.c:613 -#: replication/libpqwalreceiver/libpqwalreceiver.c:643 +#: replication/libpqwalreceiver/libpqwalreceiver.c:631 +#: replication/libpqwalreceiver/libpqwalreceiver.c:638 +#: replication/libpqwalreceiver/libpqwalreceiver.c:668 #, c-format msgid "could not start WAL streaming: %s" msgstr "konnte WAL-Streaming nicht starten: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:667 +#: replication/libpqwalreceiver/libpqwalreceiver.c:692 #, c-format msgid "could not send end-of-streaming message to primary: %s" msgstr "konnte End-of-Streaming-Nachricht nicht an Primärserver senden: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:690 +#: replication/libpqwalreceiver/libpqwalreceiver.c:715 #, c-format msgid "unexpected result set after end-of-streaming" msgstr "unerwartete Ergebnismenge nach End-of-Streaming" -#: replication/libpqwalreceiver/libpqwalreceiver.c:705 +#: replication/libpqwalreceiver/libpqwalreceiver.c:730 #, c-format msgid "error while shutting down streaming COPY: %s" msgstr "Fehler beim Beenden des COPY-Datenstroms: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:715 +#: replication/libpqwalreceiver/libpqwalreceiver.c:740 #, c-format msgid "error reading result of streaming command: %s" msgstr "Fehler beim Lesen des Ergebnisses von Streaming-Befehl: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:724 -#: replication/libpqwalreceiver/libpqwalreceiver.c:957 +#: replication/libpqwalreceiver/libpqwalreceiver.c:749 +#: replication/libpqwalreceiver/libpqwalreceiver.c:982 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "unerwartetes Ergebnis nach CommandComplete: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:751 +#: replication/libpqwalreceiver/libpqwalreceiver.c:776 #, c-format msgid "could not receive timeline history file from the primary server: %s" msgstr "konnte Zeitleisten-History-Datei nicht vom Primärserver empfangen: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:764 +#: replication/libpqwalreceiver/libpqwalreceiver.c:789 #, c-format msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields." msgstr "1 Tupel mit 2 Feldern erwartet, %d Tupel mit %d Feldern erhalten." -#: replication/libpqwalreceiver/libpqwalreceiver.c:920 -#: replication/libpqwalreceiver/libpqwalreceiver.c:973 -#: replication/libpqwalreceiver/libpqwalreceiver.c:980 +#: replication/libpqwalreceiver/libpqwalreceiver.c:945 +#: replication/libpqwalreceiver/libpqwalreceiver.c:998 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1005 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "konnte keine Daten vom WAL-Stream empfangen: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1000 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1025 #, c-format msgid "could not send data to WAL stream: %s" msgstr "konnte keine Daten an den WAL-Stream senden: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1101 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1126 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "konnte Replikations-Slot »%s« nicht erzeugen: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1140 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1165 #, c-format msgid "could not alter replication slot \"%s\": %s" msgstr "konnte Replikations-Slot »%s« nicht ändern: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1174 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1199 #, c-format msgid "invalid query response" msgstr "ungültige Antwort auf Anfrage" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1175 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1200 #, c-format msgid "Expected %d fields, got %d fields." msgstr "%d Felder erwartet, %d Feldern erhalten." -#: replication/libpqwalreceiver/libpqwalreceiver.c:1245 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1270 #, c-format msgid "the query interface requires a database connection" msgstr "Ausführen von Anfragen benötigt eine Datenbankverbindung" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1277 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1302 msgid "empty query" msgstr "leere Anfrage" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1283 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1308 msgid "unexpected pipeline mode" msgstr "unerwarteter Pipeline-Modus" @@ -20738,7 +20763,7 @@ msgstr "alle Slots für Arbeitsprozesse für logische Replikation belegt" #: replication/logical/launcher.c:441 replication/logical/launcher.c:527 -#: replication/slot.c:1553 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 +#: replication/slot.c:1585 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 #: storage/lmgr/lock.c:2836 storage/lmgr/lock.c:4221 storage/lmgr/lock.c:4286 #: storage/lmgr/lock.c:4636 storage/lmgr/predicate.c:2469 #: storage/lmgr/predicate.c:2484 storage/lmgr/predicate.c:3881 @@ -20771,12 +20796,12 @@ msgid "logical decoding requires a database connection" msgstr "logische Dekodierung benötigt eine Datenbankverbindung" -#: replication/logical/logical.c:367 replication/logical/logical.c:521 +#: replication/logical/logical.c:367 replication/logical/logical.c:523 #, c-format msgid "cannot use physical replication slot for logical decoding" msgstr "physischer Replikations-Slot kann nicht für logisches Dekodieren verwendet werden" -#: replication/logical/logical.c:372 replication/logical/logical.c:531 +#: replication/logical/logical.c:372 replication/logical/logical.c:533 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt" @@ -20786,71 +20811,71 @@ msgid "cannot create logical replication slot in transaction that has performed writes" msgstr "logischer Replikations-Slot kann nicht in einer Transaktion erzeugt werden, die Schreibvorgänge ausgeführt hat" -#: replication/logical/logical.c:542 +#: replication/logical/logical.c:544 #, c-format msgid "cannot use replication slot \"%s\" for logical decoding" msgstr "physischer Replikations-Slot »%s« kann nicht für logisches Dekodieren verwendet werden" -#: replication/logical/logical.c:544 replication/slot.c:827 +#: replication/logical/logical.c:546 replication/slot.c:827 #: replication/slot.c:858 #, c-format msgid "This replication slot is being synchronized from the primary server." msgstr "Dieser Replikations-Slot wird vom Primärserver synchronisiert." -#: replication/logical/logical.c:545 +#: replication/logical/logical.c:547 #, c-format msgid "Specify another replication slot." msgstr "Geben Sie einen anderen Replikations-Slot an." -#: replication/logical/logical.c:556 replication/logical/logical.c:563 +#: replication/logical/logical.c:558 replication/logical/logical.c:565 #, c-format msgid "can no longer get changes from replication slot \"%s\"" msgstr "aus Replikations-Slot »%s« können keine Änderungen mehr gelesen werden" -#: replication/logical/logical.c:558 +#: replication/logical/logical.c:560 #, c-format msgid "This slot has been invalidated because it exceeded the maximum reserved size." msgstr "Dieser Slot wurde ungültig gemacht, weil er die maximale reservierte Größe überschritten hat." -#: replication/logical/logical.c:565 +#: replication/logical/logical.c:567 #, c-format msgid "This slot has been invalidated because it was conflicting with recovery." msgstr "Dieser Slot wurde ungültig gemacht, weil er mit der Wiederherstellung kollidierte." -#: replication/logical/logical.c:630 +#: replication/logical/logical.c:632 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "starte logisches Dekodieren für Slot »%s«" -#: replication/logical/logical.c:632 +#: replication/logical/logical.c:634 #, c-format msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X." msgstr "Streaming beginnt bei Transaktionen, die nach %X/%X committen; lese WAL ab %X/%X." -#: replication/logical/logical.c:780 +#: replication/logical/logical.c:782 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X" msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s, zugehörige LSN %X/%X" -#: replication/logical/logical.c:786 +#: replication/logical/logical.c:788 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback" msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s" -#: replication/logical/logical.c:957 replication/logical/logical.c:1002 -#: replication/logical/logical.c:1047 replication/logical/logical.c:1093 +#: replication/logical/logical.c:959 replication/logical/logical.c:1004 +#: replication/logical/logical.c:1049 replication/logical/logical.c:1095 #, c-format msgid "logical replication at prepare time requires a %s callback" msgstr "logische Replikation bei PREPARE TRANSACTION benötigt einen %s-Callback" -#: replication/logical/logical.c:1325 replication/logical/logical.c:1374 -#: replication/logical/logical.c:1415 replication/logical/logical.c:1501 -#: replication/logical/logical.c:1550 +#: replication/logical/logical.c:1327 replication/logical/logical.c:1376 +#: replication/logical/logical.c:1417 replication/logical/logical.c:1503 +#: replication/logical/logical.c:1552 #, c-format msgid "logical streaming requires a %s callback" msgstr "logisches Streaming benötigt einen %s-Callback" -#: replication/logical/logical.c:1460 +#: replication/logical/logical.c:1462 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "logisches Streaming bei PREPARE TRANSACTION benötigt einen %s-Callback" @@ -20947,7 +20972,7 @@ msgstr "konnte keinen freien Replication-State-Slot für Replication-Origin mit ID %d finden" #: replication/logical/origin.c:957 replication/logical/origin.c:1158 -#: replication/slot.c:2414 +#: replication/slot.c:2446 #, c-format msgid "Increase \"max_replication_slots\" and try again." msgstr "Erhöhen Sie »max_replication_slots« und versuchen Sie es erneut." @@ -21027,7 +21052,7 @@ msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "konnte nicht aus Datei »%s« lesen: %d statt %d Bytes gelesen" -#: replication/logical/slotsync.c:215 replication/logical/slotsync.c:579 +#: replication/logical/slotsync.c:215 replication/logical/slotsync.c:580 #, c-format msgid "could not synchronize replication slot \"%s\"" msgstr "konnte Replikations-Slot »%s« nicht synchronisieren" @@ -21042,48 +21067,48 @@ msgid "dropped replication slot \"%s\" of database with OID %u" msgstr "Replikations-Slot »%s« von Datenbank mit OID %u wurde gelöscht" -#: replication/logical/slotsync.c:580 +#: replication/logical/slotsync.c:581 #, c-format msgid "Synchronization could lead to data loss, because the standby could not build a consistent snapshot to decode WALs at LSN %X/%X." msgstr "Synchronisation könnte zu Datenverlust führen, weil der Standby keinen konsistenten Snapshot zum Dekodieren von WAL bei LSN %X/%X bauen konnte." -#: replication/logical/slotsync.c:589 +#: replication/logical/slotsync.c:590 #, c-format msgid "newly created replication slot \"%s\" is sync-ready now" msgstr "neu erzeugter Replikations-Slot »%s« ist jetzt bereit für die Synchronisierung" -#: replication/logical/slotsync.c:628 +#: replication/logical/slotsync.c:629 #, c-format msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X" msgstr "Slot-Synchronisierung wird übersprungen, weil die empfangene Slot-Sync-LSN %X/%X für Slot »%s« der Position %X/%X des Standbys voraus ist" -#: replication/logical/slotsync.c:650 +#: replication/logical/slotsync.c:651 #, c-format msgid "exiting from slot synchronization because same name slot \"%s\" already exists on the standby" msgstr "verlasse Slot-Synchronisierung, weil der gleiche Slot »%s« schon auf dem Standby existiert" -#: replication/logical/slotsync.c:819 +#: replication/logical/slotsync.c:822 #, c-format msgid "could not fetch failover logical slots info from the primary server: %s" msgstr "konnte Informationen über logische Failover-Slots nicht vom Primärserver holen: %s" -#: replication/logical/slotsync.c:965 +#: replication/logical/slotsync.c:968 #, c-format msgid "could not fetch primary_slot_name \"%s\" info from the primary server: %s" msgstr "konnte Informationen über primary_slot_name »%s« nicht vom Primärserver holen: %s" -#: replication/logical/slotsync.c:967 +#: replication/logical/slotsync.c:970 #, c-format msgid "Check if primary_slot_name is configured correctly." msgstr "Prüfen Sie, ob primary_slot_name korrekt konfiguriert ist." -#: replication/logical/slotsync.c:987 +#: replication/logical/slotsync.c:990 #, c-format msgid "cannot synchronize replication slots from a standby server" msgstr "Replikations-Slots können nicht von einem Standby-Server synchronisiert werden" #. translator: second %s is a GUC variable name -#: replication/logical/slotsync.c:996 +#: replication/logical/slotsync.c:999 #, c-format msgid "replication slot \"%s\" specified by \"%s\" does not exist on primary server" msgstr "Replikations-Slot »%s«, der in »%s« angegeben ist, existiert auf dem Publikationsserver nicht" @@ -21091,60 +21116,60 @@ #. translator: first %s is a connection option; second %s is a GUC #. variable name #. -#: replication/logical/slotsync.c:1029 +#: replication/logical/slotsync.c:1032 #, c-format msgid "replication slot synchronization requires \"%s\" to be specified in \"%s\"" msgstr "Replikations-Slot-Synchronisierung erfordert, dass »%s« in »%s« angegeben wird" -#: replication/logical/slotsync.c:1048 +#: replication/logical/slotsync.c:1051 #, c-format msgid "replication slot synchronization requires \"wal_level\" >= \"logical\"" msgstr "Replikations-Slot-Synchronisierung erfordert »wal_level« >= »logical«" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1063 replication/logical/slotsync.c:1091 +#: replication/logical/slotsync.c:1066 replication/logical/slotsync.c:1094 #, c-format msgid "replication slot synchronization requires \"%s\" to be set" msgstr "Replikations-Slot-Synchronisierung erfordert, dass »%s« definiert ist" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1077 +#: replication/logical/slotsync.c:1080 #, c-format msgid "replication slot synchronization requires \"%s\" to be enabled" msgstr "Replikations-Slot-Synchronisierung erfordert, dass »%s« eingeschaltet ist" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1129 +#: replication/logical/slotsync.c:1132 #, c-format msgid "replication slot synchronization worker will shut down because \"%s\" is disabled" msgstr "Arbeitsprozess für Replikations-Slot-Synchronisierung wird herunterfahren, weil »%s« deaktiviert ist" -#: replication/logical/slotsync.c:1138 +#: replication/logical/slotsync.c:1141 #, c-format msgid "replication slot synchronization worker will restart because of a parameter change" msgstr "Arbeitsprozess für Replikations-Slot-Synchronisierung wird neu starten wegen einer Parameteränderung" -#: replication/logical/slotsync.c:1162 +#: replication/logical/slotsync.c:1165 #, c-format -msgid "replication slot synchronization worker is shutting down on receiving SIGINT" -msgstr "Arbeitsprozess für Replikations-Slot-Synchronisierung fährt herunter, weil SIGINT empfangen wurde" +msgid "replication slot synchronization worker is shutting down because promotion is triggered" +msgstr "Arbeitsprozess für Replikations-Slot-Synchronisierung fährt herunter, weil Beförderung ausgelöst wurde" -#: replication/logical/slotsync.c:1287 +#: replication/logical/slotsync.c:1290 #, c-format msgid "cannot synchronize replication slots when standby promotion is ongoing" msgstr "Replikations-Slots können nicht synchronisiert werden, während die Standby-Beförderung läuft" -#: replication/logical/slotsync.c:1295 +#: replication/logical/slotsync.c:1298 #, c-format msgid "cannot synchronize replication slots concurrently" msgstr "Replikations-Slots können nicht nebenläufig synchronisiert werden" -#: replication/logical/slotsync.c:1403 +#: replication/logical/slotsync.c:1406 #, c-format msgid "slot sync worker started" msgstr "Slot-Sync-Arbeitsprozess gestartet" -#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:926 +#: replication/logical/slotsync.c:1469 replication/slotfuncs.c:926 #: replication/walreceiver.c:307 #, c-format msgid "could not connect to the primary server: %s" @@ -21253,22 +21278,17 @@ msgid "could not start initial contents copy for table \"%s.%s\": %s" msgstr "konnte Kopieren des Anfangsinhalts für Tabelle »%s.%s« nicht starten: %s" -#: replication/logical/tablesync.c:1455 +#: replication/logical/tablesync.c:1469 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht gestartet werden: %s" -#: replication/logical/tablesync.c:1498 -#, c-format -msgid "replication origin \"%s\" already exists" -msgstr "Replication-Origin »%s« existiert bereits" - -#: replication/logical/tablesync.c:1531 replication/logical/worker.c:2363 +#: replication/logical/tablesync.c:1529 replication/logical/worker.c:2363 #, c-format msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\"" msgstr "Benutzer »%s« kann nicht in eine Relation mit Sicherheit auf Zeilenebene replizieren: »%s«" -#: replication/logical/tablesync.c:1544 +#: replication/logical/tablesync.c:1542 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht beenden werden: %s" @@ -21368,62 +21388,62 @@ msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "Apply-Worker für logische Replikation für Subskription »%s« hat gestartet" -#: replication/logical/worker.c:4802 +#: replication/logical/worker.c:4806 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "Subskription »%s« wurde wegen eines Fehlers deaktiviert" -#: replication/logical/worker.c:4850 +#: replication/logical/worker.c:4854 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "logische Replikation beginnt Überspringen von Transaktion bei %X/%X" -#: replication/logical/worker.c:4864 +#: replication/logical/worker.c:4868 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "logische Replikation beendet Überspringen von Transaktion bei %X/%X" -#: replication/logical/worker.c:4952 +#: replication/logical/worker.c:4956 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "Skip-LSN von Subskription »%s« gelöscht" -#: replication/logical/worker.c:4953 +#: replication/logical/worker.c:4957 #, c-format msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X." msgstr "Die WAL-Endposition (LSN) %X/%X der Remote-Transaktion stimmte nicht mit der Skip-LSN %X/%X überein." -#: replication/logical/worker.c:4981 +#: replication/logical/worker.c:4985 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\"" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s«" -#: replication/logical/worker.c:4985 +#: replication/logical/worker.c:4989 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« in Transaktion %u" -#: replication/logical/worker.c:4990 +#: replication/logical/worker.c:4994 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« in Transaktion %u, beendet bei %X/%X" -#: replication/logical/worker.c:5001 +#: replication/logical/worker.c:5005 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« in Transaktion %u" -#: replication/logical/worker.c:5008 +#: replication/logical/worker.c:5012 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« in Transaktion %u, beendet bei %X/%X" -#: replication/logical/worker.c:5019 +#: replication/logical/worker.c:5023 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« Spalte »%s« in Transaktion %u" -#: replication/logical/worker.c:5027 +#: replication/logical/worker.c:5031 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X" msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« Spalte »%s« in Transaktion %u, beendet bei %X/%X" @@ -21438,47 +21458,47 @@ msgid "proto_version \"%s\" out of range" msgstr "proto_version »%s« ist außerhalb des gültigen Bereichs" -#: replication/pgoutput/pgoutput.c:345 +#: replication/pgoutput/pgoutput.c:349 #, c-format msgid "invalid publication_names syntax" msgstr "ungültige Syntax für publication_names" -#: replication/pgoutput/pgoutput.c:415 replication/pgoutput/pgoutput.c:419 +#: replication/pgoutput/pgoutput.c:419 replication/pgoutput/pgoutput.c:423 #, c-format msgid "option \"%s\" missing" msgstr "Option »%s« fehlt" -#: replication/pgoutput/pgoutput.c:490 +#: replication/pgoutput/pgoutput.c:494 #, c-format msgid "client sent proto_version=%d but server only supports protocol %d or lower" msgstr "Client sendete proto_version=%d, aber Server unterstützt nur Protokoll %d oder niedriger" -#: replication/pgoutput/pgoutput.c:496 +#: replication/pgoutput/pgoutput.c:500 #, c-format msgid "client sent proto_version=%d but server only supports protocol %d or higher" msgstr "Client sendete proto_version=%d, aber Server unterstützt nur Protokoll %d oder höher" -#: replication/pgoutput/pgoutput.c:511 +#: replication/pgoutput/pgoutput.c:515 #, c-format msgid "requested proto_version=%d does not support streaming, need %d or higher" msgstr "angeforderte proto_version=%d unterstützt Streaming nicht, benötigt %d oder höher" -#: replication/pgoutput/pgoutput.c:517 +#: replication/pgoutput/pgoutput.c:521 #, c-format msgid "requested proto_version=%d does not support parallel streaming, need %d or higher" msgstr "angeforderte proto_version=%d unterstützt paralleles Streaming nicht, benötigt %d oder höher" -#: replication/pgoutput/pgoutput.c:522 +#: replication/pgoutput/pgoutput.c:526 #, c-format msgid "streaming requested, but not supported by output plugin" msgstr "Streaming angefordert, aber wird vom Ausgabe-Plugin nicht unterstützt" -#: replication/pgoutput/pgoutput.c:536 +#: replication/pgoutput/pgoutput.c:540 #, c-format msgid "requested proto_version=%d does not support two-phase commit, need %d or higher" msgstr "angeforderte proto_version=%d unterstützt Zwei-Phasen-Commit nicht, benötigt %d oder höher" -#: replication/pgoutput/pgoutput.c:541 +#: replication/pgoutput/pgoutput.c:545 #, c-format msgid "two-phase commit requested, but not supported by output plugin" msgstr "Zwei-Phasen-Commit angefordert, aber wird vom Ausgabe-Plugin nicht unterstützt" @@ -21533,7 +21553,7 @@ msgid "replication slot \"%s\" does not exist" msgstr "Replikations-Slot »%s« existiert nicht" -#: replication/slot.c:635 replication/slot.c:1366 +#: replication/slot.c:635 replication/slot.c:1395 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "Replikations-Slot »%s« ist aktiv für PID %d" @@ -21578,158 +21598,158 @@ msgid "cannot enable failover for a replication slot on the standby" msgstr "Failover kann nicht für einen Replikations-Slot auf dem Standby eingeschaltet werden" -#: replication/slot.c:998 replication/slot.c:1933 replication/slot.c:2324 +#: replication/slot.c:998 replication/slot.c:1965 replication/slot.c:2356 #, c-format msgid "could not remove directory \"%s\"" msgstr "konnte Verzeichnis »%s« nicht löschen" -#: replication/slot.c:1401 +#: replication/slot.c:1430 #, c-format msgid "replication slots can only be used if \"max_replication_slots\" > 0" msgstr "Replikations-Slots können nur verwendet werden, wenn »max_replication_slots« > 0" -#: replication/slot.c:1406 +#: replication/slot.c:1435 #, c-format msgid "replication slots can only be used if \"wal_level\" >= \"replica\"" msgstr "Replikations-Slots können nur verwendet werden, wenn »wal_level« >= replica" -#: replication/slot.c:1418 +#: replication/slot.c:1447 #, c-format msgid "permission denied to use replication slots" msgstr "keine Berechtigung, um Replikations-Slots zu verwenden" -#: replication/slot.c:1419 +#: replication/slot.c:1448 #, c-format msgid "Only roles with the %s attribute may use replication slots." msgstr "Nur Rollen mit dem %s-Attribut können Replikations-Slots verwenden." -#: replication/slot.c:1527 +#: replication/slot.c:1559 #, c-format msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte." msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." msgstr[0] "Die restart_lsn des Slots %X/%X überschreitet das Maximum um %llu Byte." msgstr[1] "Die restart_lsn des Slots %X/%X überschreitet das Maximum um %llu Bytes." -#: replication/slot.c:1535 +#: replication/slot.c:1567 #, c-format msgid "The slot conflicted with xid horizon %u." msgstr "Der Slot kollidierte mit dem xid-Horizont %u." -#: replication/slot.c:1540 +#: replication/slot.c:1572 msgid "Logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary server." msgstr "Logische Dekodierung auf dem Standby-Server erfordert »wal_level« >= »logical« auf dem Primärserver." -#: replication/slot.c:1548 +#: replication/slot.c:1580 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "Prozess %d wird beendet, um Replikations-Slot »%s« freizugeben" -#: replication/slot.c:1550 +#: replication/slot.c:1582 #, c-format msgid "invalidating obsolete replication slot \"%s\"" msgstr "obsoleter Replikations-Slot »%s« wird ungültig gemacht" -#: replication/slot.c:2262 +#: replication/slot.c:2294 #, c-format msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" msgstr "Replikations-Slot-Datei »%s« hat falsche magische Zahl: %u statt %u" -#: replication/slot.c:2269 +#: replication/slot.c:2301 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "Replikations-Slot-Datei »%s« hat nicht unterstützte Version %u" -#: replication/slot.c:2276 +#: replication/slot.c:2308 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "Replikations-Slot-Datei »%s« hat falsche Länge %u" -#: replication/slot.c:2312 +#: replication/slot.c:2344 #, c-format msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" msgstr "Prüfsummenfehler bei Replikations-Slot-Datei »%s«: ist %u, sollte %u sein" -#: replication/slot.c:2348 +#: replication/slot.c:2380 #, c-format msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\"" msgstr "logischer Replikations-Slot »%s« existiert, aber »wal_level« < »logical«" -#: replication/slot.c:2350 +#: replication/slot.c:2382 #, c-format msgid "Change \"wal_level\" to be \"logical\" or higher." msgstr "Ändern Sie »wal_level« in »logical« oder höher." -#: replication/slot.c:2362 +#: replication/slot.c:2394 #, c-format msgid "logical replication slot \"%s\" exists on the standby, but \"hot_standby\" = \"off\"" msgstr "logischer Replikations-Slot »%s« existiert auf dem Standby, aber »hot_standby« = »off«" -#: replication/slot.c:2364 +#: replication/slot.c:2396 #, c-format msgid "Change \"hot_standby\" to be \"on\"." msgstr "Ändern Sie »hot_standby« auf »on«." -#: replication/slot.c:2369 +#: replication/slot.c:2401 #, c-format msgid "physical replication slot \"%s\" exists, but \"wal_level\" < \"replica\"" msgstr "physischer Replikations-Slot »%s« existiert, aber »wal_level« < »replica«" -#: replication/slot.c:2371 +#: replication/slot.c:2403 #, c-format msgid "Change \"wal_level\" to be \"replica\" or higher." msgstr "Ändern Sie »wal_level« in »replica« oder höher." -#: replication/slot.c:2413 +#: replication/slot.c:2445 #, c-format msgid "too many replication slots active before shutdown" msgstr "zu viele aktive Replikations-Slots vor dem Herunterfahren" -#: replication/slot.c:2640 +#: replication/slot.c:2672 #, c-format msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist" msgstr "Replikations-Slot »%s«, der in Parameter »%s« angegeben ist, existiert nicht" -#: replication/slot.c:2642 replication/slot.c:2676 replication/slot.c:2691 +#: replication/slot.c:2674 replication/slot.c:2708 replication/slot.c:2723 #, c-format msgid "Logical replication is waiting on the standby associated with replication slot \"%s\"." msgstr "Logische Replikation wartet auf den Standby, der zum Replikations-Slot »%s« gehört." -#: replication/slot.c:2644 +#: replication/slot.c:2676 #, c-format msgid "Create the replication slot \"%s\" or amend parameter \"%s\"." msgstr "Erzeugen Sie den Replikations-Slot »%s« oder berichtigen Sie den Parameter »%s«." -#: replication/slot.c:2654 +#: replication/slot.c:2686 #, c-format msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\"" msgstr "logischer Replikations-Slot »%s« kann nicht in Parameter »%s« angegeben werden" -#: replication/slot.c:2656 +#: replication/slot.c:2688 #, c-format msgid "Logical replication is waiting for correction on replication slot \"%s\"." msgstr "Logische Replikation wartet auf Korrektur bei Replikations-Slot »%s«." -#: replication/slot.c:2658 +#: replication/slot.c:2690 #, c-format msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"." msgstr "Entfernen Sie den Replikations-Slot »%s« aus dem Parameter »%s«." -#: replication/slot.c:2674 +#: replication/slot.c:2706 #, c-format msgid "physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated" msgstr "der physische Replikations-Slot »%s«, der in Parameter »%s« angegeben wurde, wurde ungültig gemacht" -#: replication/slot.c:2678 +#: replication/slot.c:2710 #, c-format msgid "Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"." msgstr "Löschen Sie den Replikations-Slot »%s« und erzeugen Sie ihn neu, oder berichtigen Sie den Parameter »%s«." -#: replication/slot.c:2689 +#: replication/slot.c:2721 #, c-format msgid "replication slot \"%s\" specified in parameter \"%s\" does not have active_pid" msgstr "der Replikations-Slot »%s«, der in Parameter »%s« angegeben wurde, hat keine active_pid" -#: replication/slot.c:2693 +#: replication/slot.c:2725 #, c-format msgid "Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\"." msgstr "Starten Sie den zum Replikations-Slot »%s« gehörenden Standby oder berichtigen Sie den Parameter »%s«." @@ -21919,7 +21939,7 @@ msgid "cannot use %s with a logical replication slot" msgstr "%s kann nicht mit einem logischem Replikations-Slot verwendet werden" -#: replication/walsender.c:653 storage/smgr/md.c:1735 +#: replication/walsender.c:653 storage/smgr/md.c:1749 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "konnte Positionszeiger nicht ans Ende der Datei »%s« setzen: %m" @@ -22218,266 +22238,266 @@ msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten" msgstr "WITH-Anfragename »%s« erscheint sowohl in der Regelaktion als auch in der umzuschreibenden Anfrage" -#: rewrite/rewriteHandler.c:615 +#: rewrite/rewriteHandler.c:618 #, c-format msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH" msgstr "INSERT ... SELECT-Regelaktionen werden für Anfrangen mit datenmodifizierenden Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:668 +#: rewrite/rewriteHandler.c:671 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "RETURNING-Listen können nicht in mehreren Regeln auftreten" -#: rewrite/rewriteHandler.c:900 rewrite/rewriteHandler.c:939 +#: rewrite/rewriteHandler.c:903 rewrite/rewriteHandler.c:942 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "kann keinen Wert außer DEFAULT in Spalte »%s« einfügen" -#: rewrite/rewriteHandler.c:902 rewrite/rewriteHandler.c:968 +#: rewrite/rewriteHandler.c:905 rewrite/rewriteHandler.c:971 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "Spalte »%s« ist eine Identitätsspalte, die als GENERATED ALWAYS definiert ist." -#: rewrite/rewriteHandler.c:904 +#: rewrite/rewriteHandler.c:907 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Verwenden Sie OVERRIDING SYSTEM VALUE, um diese Einschränkung außer Kraft zu setzen." -#: rewrite/rewriteHandler.c:966 rewrite/rewriteHandler.c:974 +#: rewrite/rewriteHandler.c:969 rewrite/rewriteHandler.c:977 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "Spalte »%s« kann nur auf DEFAULT aktualisiert werden" -#: rewrite/rewriteHandler.c:1109 rewrite/rewriteHandler.c:1127 +#: rewrite/rewriteHandler.c:1112 rewrite/rewriteHandler.c:1130 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "mehrere Zuweisungen zur selben Spalte »%s«" -#: rewrite/rewriteHandler.c:1682 +#: rewrite/rewriteHandler.c:1685 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGE wird für Relationen mit Regeln nicht unterstützt." -#: rewrite/rewriteHandler.c:1722 rewrite/rewriteHandler.c:3262 +#: rewrite/rewriteHandler.c:1725 rewrite/rewriteHandler.c:3265 #, c-format msgid "access to non-system view \"%s\" is restricted" msgstr "Zugriff auf Nicht-System-Sicht »%s« ist beschränkt" -#: rewrite/rewriteHandler.c:2122 rewrite/rewriteHandler.c:4254 +#: rewrite/rewriteHandler.c:2125 rewrite/rewriteHandler.c:4274 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "unendliche Rekursion entdeckt in Regeln für Relation »%s«" -#: rewrite/rewriteHandler.c:2227 +#: rewrite/rewriteHandler.c:2230 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "unendliche Rekursion entdeckt in Policys für Relation »%s«" -#: rewrite/rewriteHandler.c:2589 +#: rewrite/rewriteHandler.c:2592 msgid "Junk view columns are not updatable." msgstr "Junk-Sichtspalten sind nicht aktualisierbar." -#: rewrite/rewriteHandler.c:2594 +#: rewrite/rewriteHandler.c:2597 msgid "View columns that are not columns of their base relation are not updatable." msgstr "Sichtspalten, die nicht Spalten ihrer Basisrelation sind, sind nicht aktualisierbar." -#: rewrite/rewriteHandler.c:2597 +#: rewrite/rewriteHandler.c:2600 msgid "View columns that refer to system columns are not updatable." msgstr "Sichtspalten, die auf Systemspalten verweisen, sind nicht aktualisierbar." -#: rewrite/rewriteHandler.c:2600 +#: rewrite/rewriteHandler.c:2603 msgid "View columns that return whole-row references are not updatable." msgstr "Sichtspalten, die Verweise auf ganze Zeilen zurückgeben, sind nicht aktualisierbar." -#: rewrite/rewriteHandler.c:2661 +#: rewrite/rewriteHandler.c:2664 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Sichten, die DISTINCT enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2664 +#: rewrite/rewriteHandler.c:2667 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Sichten, die GROUP BY enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2667 +#: rewrite/rewriteHandler.c:2670 msgid "Views containing HAVING are not automatically updatable." msgstr "Sichten, die HAVING enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2670 +#: rewrite/rewriteHandler.c:2673 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "Sichten, die UNION, INTERSECT oder EXCEPT enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2673 +#: rewrite/rewriteHandler.c:2676 msgid "Views containing WITH are not automatically updatable." msgstr "Sichten, die WITH enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2676 +#: rewrite/rewriteHandler.c:2679 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Sichten, die LIMIT oder OFFSET enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2688 +#: rewrite/rewriteHandler.c:2691 msgid "Views that return aggregate functions are not automatically updatable." msgstr "Sichten, die Aggregatfunktionen zurückgeben, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2691 +#: rewrite/rewriteHandler.c:2694 msgid "Views that return window functions are not automatically updatable." msgstr "Sichten, die Fensterfunktionen zurückgeben, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2694 +#: rewrite/rewriteHandler.c:2697 msgid "Views that return set-returning functions are not automatically updatable." msgstr "Sichten, die Funktionen mit Ergebnismenge zurückgeben, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2701 rewrite/rewriteHandler.c:2705 -#: rewrite/rewriteHandler.c:2713 +#: rewrite/rewriteHandler.c:2704 rewrite/rewriteHandler.c:2708 +#: rewrite/rewriteHandler.c:2716 msgid "Views that do not select from a single table or view are not automatically updatable." msgstr "Sichten, die nicht aus einer einzigen Tabelle oder Sicht lesen, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2716 +#: rewrite/rewriteHandler.c:2719 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Sichten, die TABLESAMPLE enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2740 +#: rewrite/rewriteHandler.c:2743 msgid "Views that have no updatable columns are not automatically updatable." msgstr "Sichten, die keine aktualisierbaren Spalten haben, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:3121 rewrite/rewriteHandler.c:3156 +#: rewrite/rewriteHandler.c:3124 rewrite/rewriteHandler.c:3159 #, c-format msgid "cannot insert into view \"%s\"" msgstr "kann nicht in Sicht »%s« einfügen" -#: rewrite/rewriteHandler.c:3124 +#: rewrite/rewriteHandler.c:3127 #, c-format msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." msgstr "Um Einfügen in die Sicht zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger oder eine ON INSERT DO INSTEAD Regel ohne Bedingung ein." -#: rewrite/rewriteHandler.c:3129 rewrite/rewriteHandler.c:3165 +#: rewrite/rewriteHandler.c:3132 rewrite/rewriteHandler.c:3168 #, c-format msgid "cannot update view \"%s\"" msgstr "kann Sicht »%s« nicht aktualisieren" -#: rewrite/rewriteHandler.c:3132 +#: rewrite/rewriteHandler.c:3135 #, c-format msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule." msgstr "Um Aktualisieren der Sicht zu ermöglichen, richten Sie einen INSTEAD OF UPDATE Trigger oder eine ON UPDATE DO INSTEAD Regel ohne Bedingung ein." -#: rewrite/rewriteHandler.c:3137 rewrite/rewriteHandler.c:3174 +#: rewrite/rewriteHandler.c:3140 rewrite/rewriteHandler.c:3177 #, c-format msgid "cannot delete from view \"%s\"" msgstr "kann nicht aus Sicht »%s« löschen" -#: rewrite/rewriteHandler.c:3140 +#: rewrite/rewriteHandler.c:3143 #, c-format msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule." msgstr "Um Löschen aus der Sicht zu ermöglichen, richten Sie einen INSTEAD OF DELETE Trigger oder eine ON DELETE DO INSTEAD Regel ohne Bedingung ein." -#: rewrite/rewriteHandler.c:3159 +#: rewrite/rewriteHandler.c:3162 #, c-format msgid "To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT trigger." msgstr "Um Einfügen in die Sicht mit MERGE zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger ein." -#: rewrite/rewriteHandler.c:3168 +#: rewrite/rewriteHandler.c:3171 #, c-format msgid "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE trigger." msgstr "Um Aktualisieren der Sicht mit MERGE zu ermöglichen, richten Sie einen INSTEAD OF UPDATE Trigger ein." -#: rewrite/rewriteHandler.c:3177 +#: rewrite/rewriteHandler.c:3180 #, c-format msgid "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE trigger." msgstr "Um Löschen aus der Sicht zu ermöglichen, richten Sie einen INSTEAD OF DELETE Trigger ein." -#: rewrite/rewriteHandler.c:3352 +#: rewrite/rewriteHandler.c:3355 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "kann nicht in Spalte »%s« von Sicht »%s« einfügen" -#: rewrite/rewriteHandler.c:3360 +#: rewrite/rewriteHandler.c:3363 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "kann Spalte »%s« von Sicht »%s« nicht aktualisieren" -#: rewrite/rewriteHandler.c:3368 +#: rewrite/rewriteHandler.c:3371 #, c-format msgid "cannot merge into column \"%s\" of view \"%s\"" msgstr "kann nicht in Spalte »%s« von Sicht »%s« mergen" -#: rewrite/rewriteHandler.c:3396 +#: rewrite/rewriteHandler.c:3399 #, c-format msgid "cannot merge into view \"%s\"" msgstr "kann nicht in Sicht »%s« mergen" -#: rewrite/rewriteHandler.c:3398 +#: rewrite/rewriteHandler.c:3401 #, c-format msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions but not all." msgstr "MERGE wird nicht unterstützt für Sichten mit INSTEAD-OF-Trigger für einige Aktionen aber nicht für alle." -#: rewrite/rewriteHandler.c:3399 +#: rewrite/rewriteHandler.c:3402 #, c-format msgid "To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers." msgstr "Um Mergen in die Sicht zu ermöglichen, richten Sie entweder einen vollen Satz an INSTEAD-OF-Triggern ein oder löschen Sie die bestehenden INSTEAD-OF-Trigger." -#: rewrite/rewriteHandler.c:3912 +#: rewrite/rewriteHandler.c:3931 #, c-format msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" msgstr "DO-INSTEAD-NOTIFY-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:3923 +#: rewrite/rewriteHandler.c:3942 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" msgstr "DO-INSTEAD-NOTHING-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:3937 +#: rewrite/rewriteHandler.c:3956 #, c-format msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "DO-INSTEAD-Regeln mit Bedingung werden für datenmodifizierende Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:3941 +#: rewrite/rewriteHandler.c:3960 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "DO-ALSO-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:3946 +#: rewrite/rewriteHandler.c:3965 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "DO-INSTEAD-Regeln mit mehreren Anweisungen werden für datenmodifizierende Anweisungen in WITH nicht unterstützt" -#: rewrite/rewriteHandler.c:4206 +#: rewrite/rewriteHandler.c:4226 msgid "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "Sichten mit DO-INSTEAD-Regeln mit Bedingung sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:4303 +#: rewrite/rewriteHandler.c:4324 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "INSERT RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4305 +#: rewrite/rewriteHandler.c:4326 #, c-format msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." msgstr "Sie benötigen eine ON INSERT DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel." -#: rewrite/rewriteHandler.c:4310 +#: rewrite/rewriteHandler.c:4331 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "UPDATE RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4312 +#: rewrite/rewriteHandler.c:4333 #, c-format msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." msgstr "Sie benötigen eine ON UPDATE DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel." -#: rewrite/rewriteHandler.c:4317 +#: rewrite/rewriteHandler.c:4338 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "DELETE RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4319 +#: rewrite/rewriteHandler.c:4340 #, c-format msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." msgstr "Sie benötigen eine ON DELETE DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel." -#: rewrite/rewriteHandler.c:4337 +#: rewrite/rewriteHandler.c:4358 #, c-format msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules" msgstr "INSERT mit ON-CONFLICT-Klausel kann nicht mit Tabelle verwendet werden, die INSERT- oder UPDATE-Regeln hat" -#: rewrite/rewriteHandler.c:4394 +#: rewrite/rewriteHandler.c:4415 #, c-format msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" msgstr "WITH kann nicht in einer Anfrage verwendet werden, die durch Regeln in mehrere Anfragen umgeschrieben wird" @@ -22653,42 +22673,42 @@ msgid "function returning record called in context that cannot accept type record" msgstr "Funktion, die einen Record zurückgibt, in einem Zusammenhang aufgerufen, der Typ record nicht verarbeiten kann" -#: storage/buffer/bufmgr.c:649 storage/buffer/bufmgr.c:805 +#: storage/buffer/bufmgr.c:656 storage/buffer/bufmgr.c:812 #, c-format msgid "cannot access temporary tables of other sessions" msgstr "auf temporäre Tabellen anderer Sitzungen kann nicht zugegriffen werden" -#: storage/buffer/bufmgr.c:1532 +#: storage/buffer/bufmgr.c:1539 #, c-format msgid "invalid page in block %u of relation %s; zeroing out page" msgstr "ungültige Seite in Block %u von Relation %s; fülle Seite mit Nullen" -#: storage/buffer/bufmgr.c:2277 storage/buffer/localbuf.c:361 +#: storage/buffer/bufmgr.c:2284 storage/buffer/localbuf.c:361 #, c-format msgid "cannot extend relation %s beyond %u blocks" msgstr "kann Relation %s nicht auf über %u Blöcke erweitern" -#: storage/buffer/bufmgr.c:2348 +#: storage/buffer/bufmgr.c:2355 #, c-format msgid "unexpected data beyond EOF in block %u of relation %s" msgstr "unerwartete Daten hinter Dateiende in Block %u von Relation %s" -#: storage/buffer/bufmgr.c:2350 +#: storage/buffer/bufmgr.c:2357 #, c-format msgid "This has been seen to occur with buggy kernels; consider updating your system." msgstr "Das scheint mit fehlerhaften Kernels vorzukommen; Sie sollten eine Systemaktualisierung in Betracht ziehen." -#: storage/buffer/bufmgr.c:5654 +#: storage/buffer/bufmgr.c:5721 #, c-format msgid "could not write block %u of %s" msgstr "konnte Block %u von %s nicht schreiben" -#: storage/buffer/bufmgr.c:5656 +#: storage/buffer/bufmgr.c:5723 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "Mehrere Fehlschläge --- Schreibfehler ist möglicherweise dauerhaft." -#: storage/buffer/bufmgr.c:5678 storage/buffer/bufmgr.c:5698 +#: storage/buffer/bufmgr.c:5745 storage/buffer/bufmgr.c:5765 #, c-format msgid "writing block %u of relation %s" msgstr "schreibe Block %u von Relation %s" @@ -22733,143 +22753,143 @@ msgid "could not delete fileset \"%s\": %m" msgstr "konnte Fileset »%s« nicht löschen: %m" -#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1194 +#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1208 #, c-format msgid "could not truncate file \"%s\": %m" msgstr "kann Datei »%s« nicht kürzen: %m" -#: storage/file/fd.c:580 storage/file/fd.c:652 storage/file/fd.c:688 +#: storage/file/fd.c:583 storage/file/fd.c:655 storage/file/fd.c:691 #, c-format msgid "could not flush dirty data: %m" msgstr "konnte schmutzige Daten nicht flushen: %m" -#: storage/file/fd.c:610 +#: storage/file/fd.c:613 #, c-format msgid "could not determine dirty data size: %m" msgstr "konnte Größe der schmutzigen Daten nicht bestimmen: %m" -#: storage/file/fd.c:662 +#: storage/file/fd.c:665 #, c-format msgid "could not munmap() while flushing data: %m" msgstr "munmap() fehlgeschlagen beim Flushen von Daten: %m" -#: storage/file/fd.c:980 +#: storage/file/fd.c:983 #, c-format msgid "getrlimit failed: %m" msgstr "getrlimit fehlgeschlagen: %m" -#: storage/file/fd.c:1070 +#: storage/file/fd.c:1073 #, c-format msgid "insufficient file descriptors available to start server process" msgstr "nicht genug Dateideskriptoren verfügbar, um Serverprozess zu starten" -#: storage/file/fd.c:1071 +#: storage/file/fd.c:1074 #, c-format msgid "System allows %d, server needs at least %d." msgstr "System erlaubt %d, Server benötigt mindestens %d." -#: storage/file/fd.c:1159 storage/file/fd.c:2615 storage/file/fd.c:2724 -#: storage/file/fd.c:2875 +#: storage/file/fd.c:1162 storage/file/fd.c:2618 storage/file/fd.c:2727 +#: storage/file/fd.c:2878 #, c-format msgid "out of file descriptors: %m; release and retry" msgstr "keine Dateideskriptoren mehr: %m; freigeben und nochmal versuchen" -#: storage/file/fd.c:1533 +#: storage/file/fd.c:1536 #, c-format msgid "temporary file: path \"%s\", size %lu" msgstr "temporäre Datei: Pfad »%s«, Größe %lu" -#: storage/file/fd.c:1672 +#: storage/file/fd.c:1675 #, c-format msgid "cannot create temporary directory \"%s\": %m" msgstr "konnte temporäres Verzeichnis »%s« nicht erzeugen: %m" -#: storage/file/fd.c:1679 +#: storage/file/fd.c:1682 #, c-format msgid "cannot create temporary subdirectory \"%s\": %m" msgstr "konnte temporäres Unterverzeichnis »%s« nicht erzeugen: %m" -#: storage/file/fd.c:1876 +#: storage/file/fd.c:1879 #, c-format msgid "could not create temporary file \"%s\": %m" msgstr "konnte temporäre Datei »%s« nicht erzeugen: %m" -#: storage/file/fd.c:1912 +#: storage/file/fd.c:1915 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "konnte temporäre Datei »%s« nicht öffnen: %m" -#: storage/file/fd.c:1953 +#: storage/file/fd.c:1956 #, c-format msgid "could not unlink temporary file \"%s\": %m" msgstr "konnte temporäre Datei »%s« nicht löschen: %m" -#: storage/file/fd.c:2041 +#: storage/file/fd.c:2044 #, c-format msgid "could not delete file \"%s\": %m" msgstr "konnte Datei »%s« nicht löschen: %m" -#: storage/file/fd.c:2231 +#: storage/file/fd.c:2234 #, c-format msgid "temporary file size exceeds temp_file_limit (%dkB)" msgstr "Größe der temporären Datei überschreitet temp_file_limit (%dkB)" -#: storage/file/fd.c:2591 storage/file/fd.c:2650 +#: storage/file/fd.c:2594 storage/file/fd.c:2653 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\"" msgstr "maxAllocatedDescs (%d) überschritten beim Versuch, die Datei »%s« zu öffnen" -#: storage/file/fd.c:2695 +#: storage/file/fd.c:2698 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\"" msgstr "maxAllocatedDescs (%d) überschritten beim Versuch, den Befehl »%s« auszuführen" -#: storage/file/fd.c:2851 +#: storage/file/fd.c:2854 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\"" msgstr "maxAllocatedDescs (%d) überschritten beim Versuch, das Verzeichnis »%s« zu öffnen" -#: storage/file/fd.c:3381 +#: storage/file/fd.c:3384 #, c-format msgid "unexpected file found in temporary-files directory: \"%s\"" msgstr "unerwartete Datei im Verzeichnis für temporäre Dateien gefunden: »%s«" -#: storage/file/fd.c:3499 +#: storage/file/fd.c:3502 #, c-format msgid "syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s" msgstr "synchronisiere Datenverzeichnis (syncfs), abgelaufene Zeit: %ld.%02d s, aktueller Pfad: %s" -#: storage/file/fd.c:3726 +#: storage/file/fd.c:3729 #, c-format msgid "syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: %s" msgstr "synchronisiere Datenverzeichnis (pre-fsync), abgelaufene Zeit: %ld.%02d s, aktueller Pfad: %s" -#: storage/file/fd.c:3758 +#: storage/file/fd.c:3761 #, c-format msgid "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s" msgstr "synchronisiere Datenverzeichnis (fsync), abgelaufene Zeit: %ld.%02d s, aktueller Pfad: %s" -#: storage/file/fd.c:3947 +#: storage/file/fd.c:3950 #, c-format msgid "\"debug_io_direct\" is not supported on this platform." msgstr "debug_io_direct wird auf dieser Plattform nicht unterstützt." -#: storage/file/fd.c:3961 +#: storage/file/fd.c:3964 #, c-format msgid "Invalid list syntax in parameter \"%s\"" msgstr "Ungültige Listensyntax für Parameter »%s«" -#: storage/file/fd.c:3981 +#: storage/file/fd.c:3984 #, c-format msgid "Invalid option \"%s\"" msgstr "Ungültige Option »%s«" -#: storage/file/fd.c:3994 +#: storage/file/fd.c:3997 #, c-format msgid "\"debug_io_direct\" is not supported for WAL because XLOG_BLCKSZ is too small" msgstr "»debug_io_direct« wird für WAL nicht unterstützt, weil XLOG_BLCKSZ zu klein ist" -#: storage/file/fd.c:4001 +#: storage/file/fd.c:4004 #, c-format msgid "\"debug_io_direct\" is not supported for data because BLCKSZ is too small" msgstr "»debug_io_direct« wird für Daten nicht unterstützt, weil BLCKSZ zu klein ist" @@ -22959,22 +22979,22 @@ msgid "could not duplicate handle for \"%s\": %m" msgstr "konnte Handle für »%s« nicht duplizieren: %m" -#: storage/ipc/dsm_registry.c:142 +#: storage/ipc/dsm_registry.c:144 #, c-format msgid "DSM segment name cannot be empty" msgstr "DSM-Segmentname kann nicht leer sein" -#: storage/ipc/dsm_registry.c:146 +#: storage/ipc/dsm_registry.c:148 #, c-format msgid "DSM segment name too long" msgstr "DSN-Segmentname zu lang" -#: storage/ipc/dsm_registry.c:150 +#: storage/ipc/dsm_registry.c:152 #, c-format msgid "DSM segment size must be nonzero" msgstr "DSM-Segmentgröße darf nicht null sein" -#: storage/ipc/dsm_registry.c:176 +#: storage/ipc/dsm_registry.c:168 #, c-format msgid "requested DSM segment size does not match size of existing segment" msgstr "angeforderte DSM-Segmentgröße stimmt nicht mit der Größe des existierenden Segments überein" @@ -23445,7 +23465,7 @@ msgid "cannot extend file \"%s\" beyond %u blocks" msgstr "kann Datei »%s« nicht auf über %u Blöcke erweitern" -#: storage/smgr/md.c:500 storage/smgr/md.c:611 +#: storage/smgr/md.c:500 storage/smgr/md.c:622 #, c-format msgid "could not extend file \"%s\": %m" msgstr "konnte Datei »%s« nicht erweitern: %m" @@ -23455,42 +23475,42 @@ msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u" msgstr "konnte Datei »%s« nicht erweitern: es wurden nur %d von %d Bytes bei Block %u geschrieben" -#: storage/smgr/md.c:589 +#: storage/smgr/md.c:600 #, c-format msgid "could not extend file \"%s\" with FileFallocate(): %m" msgstr "konnte Datei »%s« nicht mit FileFallocate() erweitern: %m" -#: storage/smgr/md.c:869 +#: storage/smgr/md.c:880 #, c-format msgid "could not read blocks %u..%u in file \"%s\": %m" msgstr "konnte Blöcke %u..%u in Datei »%s« nicht lesen: %m" -#: storage/smgr/md.c:895 +#: storage/smgr/md.c:906 #, c-format msgid "could not read blocks %u..%u in file \"%s\": read only %zu of %zu bytes" msgstr "konnte Blöcke %u..%u in Datei »%s« nicht lesen: es wurden nur %zu von %zu Bytes gelesen" -#: storage/smgr/md.c:995 +#: storage/smgr/md.c:1006 #, c-format msgid "could not write blocks %u..%u in file \"%s\": %m" msgstr "konnte Blöcke %u..%u in Datei »%s« nicht schreiben: %m" -#: storage/smgr/md.c:1165 +#: storage/smgr/md.c:1179 #, c-format msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now" msgstr "konnte Datei »%s« nicht auf %u Blöcke kürzen: es sind jetzt nur %u Blöcke" -#: storage/smgr/md.c:1220 +#: storage/smgr/md.c:1234 #, c-format msgid "could not truncate file \"%s\" to %u blocks: %m" msgstr "konnte Datei »%s« nicht auf %u Blöcke kürzen: %m" -#: storage/smgr/md.c:1700 +#: storage/smgr/md.c:1714 #, c-format msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks" msgstr "konnte Datei »%s« nicht öffnen (Zielblock %u): vorhergehendes Segment hat nur %u Blöcke" -#: storage/smgr/md.c:1714 +#: storage/smgr/md.c:1728 #, c-format msgid "could not open file \"%s\" (target block %u): %m" msgstr "konnte Datei »%s« nicht öffnen (Zielblock %u): %m" @@ -24734,8 +24754,8 @@ msgid "cannot compare arrays of different element types" msgstr "kann Arrays mit verschiedenen Elementtypen nicht vergleichen" -#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2805 -#: utils/adt/multirangetypes.c:2877 utils/adt/rangetypes.c:1361 +#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2806 +#: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1361 #: utils/adt/rangetypes.c:1425 utils/adt/rowtypes.c:1875 #, c-format msgid "could not identify a hash function for type %s" @@ -26383,12 +26403,12 @@ msgid "Expected comma or end of multirange." msgstr "Komma oder Ende der Multirange erwartet." -#: utils/adt/multirangetypes.c:981 +#: utils/adt/multirangetypes.c:982 #, c-format msgid "multiranges cannot be constructed from multidimensional arrays" msgstr "Multiranges können nicht aus mehrdimensionalen Arrays konstruiert werden" -#: utils/adt/multirangetypes.c:1007 +#: utils/adt/multirangetypes.c:1008 #, c-format msgid "multirange values cannot contain null members" msgstr "Multirange-Werte können keine Mitglieder, die NULL sind, haben" @@ -26634,145 +26654,145 @@ msgid "percentile value %g is not between 0 and 1" msgstr "Perzentilwert %g ist nicht zwischen 0 und 1" -#: utils/adt/pg_locale.c:326 utils/adt/pg_locale.c:358 +#: utils/adt/pg_locale.c:327 utils/adt/pg_locale.c:359 #, c-format msgid "locale name \"%s\" contains non-ASCII characters" msgstr "Locale-Name »%s« enthält Nicht-ASCII-Zeichen" -#: utils/adt/pg_locale.c:1507 +#: utils/adt/pg_locale.c:1510 #, c-format msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" msgstr "konnte Collator für Locale »%s« mit Regeln »%s« nicht öffnen: %s" -#: utils/adt/pg_locale.c:1518 utils/adt/pg_locale.c:2992 -#: utils/adt/pg_locale.c:3065 +#: utils/adt/pg_locale.c:1521 utils/adt/pg_locale.c:2995 +#: utils/adt/pg_locale.c:3068 #, c-format msgid "ICU is not supported in this build" msgstr "ICU wird in dieser Installation nicht unterstützt" -#: utils/adt/pg_locale.c:1546 +#: utils/adt/pg_locale.c:1549 #, c-format msgid "could not create locale \"%s\": %m" msgstr "konnte Locale »%s« nicht erzeugen: %m" -#: utils/adt/pg_locale.c:1549 +#: utils/adt/pg_locale.c:1552 #, c-format msgid "The operating system could not find any locale data for the locale name \"%s\"." msgstr "Das Betriebssystem konnte keine Locale-Daten für den Locale-Namen »%s« finden." -#: utils/adt/pg_locale.c:1670 +#: utils/adt/pg_locale.c:1673 #, c-format msgid "collations with different collate and ctype values are not supported on this platform" msgstr "Sortierfolgen mit unterschiedlichen »collate«- und »ctype«-Werten werden auf dieser Plattform nicht unterstützt" -#: utils/adt/pg_locale.c:1717 +#: utils/adt/pg_locale.c:1720 #, c-format msgid "collation \"%s\" has no actual version, but a version was recorded" msgstr "Sortierfolge »%s« hat keine tatsächliche Version, aber eine Version wurde aufgezeichnet" -#: utils/adt/pg_locale.c:1723 +#: utils/adt/pg_locale.c:1726 #, c-format msgid "collation \"%s\" has version mismatch" msgstr "Version von Sortierfolge »%s« stimmt nicht überein" -#: utils/adt/pg_locale.c:1725 +#: utils/adt/pg_locale.c:1728 #, c-format msgid "The collation in the database was created using version %s, but the operating system provides version %s." msgstr "Die Sortierfolge in der Datenbank wurde mit Version %s erzeugt, aber das Betriebssystem hat Version %s." -#: utils/adt/pg_locale.c:1728 +#: utils/adt/pg_locale.c:1731 #, c-format msgid "Rebuild all objects affected by this collation and run ALTER COLLATION %s REFRESH VERSION, or build PostgreSQL with the right library version." msgstr "Bauen Sie alle von dieser Sortierfolge beinflussten Objekte neu und führen Sie ALTER COLLATION %s REFRESH VERSION aus, oder bauen Sie PostgreSQL mit der richtigen Bibliotheksversion." -#: utils/adt/pg_locale.c:1772 utils/adt/pg_locale.c:2556 -#: utils/adt/pg_locale.c:2581 +#: utils/adt/pg_locale.c:1775 utils/adt/pg_locale.c:2559 +#: utils/adt/pg_locale.c:2584 #, c-format msgid "invalid locale name \"%s\" for builtin provider" msgstr "ungültiger Locale-Name »%s« für Provider »builtin«" -#: utils/adt/pg_locale.c:1814 +#: utils/adt/pg_locale.c:1817 #, c-format msgid "could not load locale \"%s\"" msgstr "konnte Locale »%s« nicht laden" -#: utils/adt/pg_locale.c:1839 +#: utils/adt/pg_locale.c:1842 #, c-format msgid "could not get collation version for locale \"%s\": error code %lu" msgstr "konnte Sortierfolgenversion für Locale »%s« nicht ermitteln: Fehlercode %lu" -#: utils/adt/pg_locale.c:1895 utils/adt/pg_locale.c:1908 +#: utils/adt/pg_locale.c:1898 utils/adt/pg_locale.c:1911 #, c-format msgid "could not convert string to UTF-16: error code %lu" msgstr "konnte Zeichenkette nicht in UTF-16 umwandeln: Fehlercode %lu" -#: utils/adt/pg_locale.c:1920 +#: utils/adt/pg_locale.c:1923 #, c-format msgid "could not compare Unicode strings: %m" msgstr "konnte Unicode-Zeichenketten nicht vergleichen: %m" -#: utils/adt/pg_locale.c:2094 +#: utils/adt/pg_locale.c:2097 #, c-format msgid "collation failed: %s" msgstr "Vergleichung fehlgeschlagen: %s" -#: utils/adt/pg_locale.c:2313 utils/adt/pg_locale.c:2345 +#: utils/adt/pg_locale.c:2316 utils/adt/pg_locale.c:2348 #, c-format msgid "sort key generation failed: %s" msgstr "Sortierschlüsselerzeugung fehlgeschlagen: %s" -#: utils/adt/pg_locale.c:2635 +#: utils/adt/pg_locale.c:2638 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "konnte Sprache nicht aus Locale »%s« ermitteln: %s" -#: utils/adt/pg_locale.c:2656 utils/adt/pg_locale.c:2672 +#: utils/adt/pg_locale.c:2659 utils/adt/pg_locale.c:2675 #, c-format msgid "could not open collator for locale \"%s\": %s" msgstr "konnte Collator für Locale »%s« nicht öffnen: %s" -#: utils/adt/pg_locale.c:2697 +#: utils/adt/pg_locale.c:2700 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "Kodierung »%s« wird von ICU nicht unterstützt" -#: utils/adt/pg_locale.c:2704 +#: utils/adt/pg_locale.c:2707 #, c-format msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "konnte ICU-Konverter für Kodierung »%s« nicht öffnen: %s" -#: utils/adt/pg_locale.c:2722 utils/adt/pg_locale.c:2741 -#: utils/adt/pg_locale.c:2797 utils/adt/pg_locale.c:2808 +#: utils/adt/pg_locale.c:2725 utils/adt/pg_locale.c:2744 +#: utils/adt/pg_locale.c:2800 utils/adt/pg_locale.c:2811 #, c-format msgid "%s failed: %s" msgstr "%s fehlgeschlagen: %s" -#: utils/adt/pg_locale.c:2983 +#: utils/adt/pg_locale.c:2986 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "konnte Locale-Namen »%s« nicht in Sprach-Tag umwandeln: %s" -#: utils/adt/pg_locale.c:3024 +#: utils/adt/pg_locale.c:3027 #, c-format msgid "could not get language from ICU locale \"%s\": %s" msgstr "konnte Sprache nicht aus ICU-Locale »%s« ermitteln: %s" -#: utils/adt/pg_locale.c:3026 utils/adt/pg_locale.c:3055 +#: utils/adt/pg_locale.c:3029 utils/adt/pg_locale.c:3058 #, c-format msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." msgstr "Um die Validierung von ICU-Locales auszuschalten, setzen Sie den Parameter »%s« auf »%s«." -#: utils/adt/pg_locale.c:3053 +#: utils/adt/pg_locale.c:3056 #, c-format msgid "ICU locale \"%s\" has unknown language \"%s\"" msgstr "ICU-Locale »%s« hat unbekannte Sprache »%s«" -#: utils/adt/pg_locale.c:3204 +#: utils/adt/pg_locale.c:3207 #, c-format msgid "invalid multibyte character for locale" msgstr "ungültiges Mehrbytezeichen für Locale" -#: utils/adt/pg_locale.c:3205 +#: utils/adt/pg_locale.c:3208 #, c-format msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding." msgstr "Die LC_CTYPE-Locale des Servers ist wahrscheinlich mit der Kodierung der Datenbank inkompatibel." @@ -27638,7 +27658,7 @@ msgid "This functionality requires the server to be built with libxml support." msgstr "Diese Funktionalität verlangt, dass der Server mit Libxml-Unterstützung gebaut wird." -#: utils/adt/xml.c:258 utils/mb/mbutils.c:627 +#: utils/adt/xml.c:258 utils/mb/mbutils.c:628 #, c-format msgid "invalid encoding name \"%s\"" msgstr "ungültiger Kodierungsname »%s«" @@ -27818,27 +27838,27 @@ msgid "cached plan must not change result type" msgstr "gecachter Plan darf den Ergebnistyp nicht ändern" -#: utils/cache/relcache.c:3801 +#: utils/cache/relcache.c:3817 #, c-format msgid "heap relfilenumber value not set when in binary upgrade mode" msgstr "Heap-Relfile-Nummer-Wert ist im Binary-Upgrade-Modus nicht gesetzt" -#: utils/cache/relcache.c:3809 +#: utils/cache/relcache.c:3825 #, c-format msgid "unexpected request for new relfilenumber in binary upgrade mode" msgstr "unerwartete Anforderung einer neuen Relfile-Nummer im Binary-Upgrade-Modus" -#: utils/cache/relcache.c:6539 +#: utils/cache/relcache.c:6555 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "konnte Initialisierungsdatei für Relationscache »%s« nicht erzeugen: %m" -#: utils/cache/relcache.c:6541 +#: utils/cache/relcache.c:6557 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Setze trotzdem fort, aber irgendwas stimmt nicht." -#: utils/cache/relcache.c:6871 +#: utils/cache/relcache.c:6887 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "konnte Cache-Datei »%s« nicht löschen: %m" @@ -28481,48 +28501,48 @@ msgid "unexpected encoding ID %d for WIN character sets" msgstr "unerwartete Kodierungs-ID %d für WIN-Zeichensatz" -#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:900 +#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901 #, c-format msgid "conversion between %s and %s is not supported" msgstr "Umwandlung zwischen %s und %s wird nicht unterstützt" -#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 -#: utils/mb/mbutils.c:842 +#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 +#: utils/mb/mbutils.c:843 #, c-format msgid "String of %d bytes is too long for encoding conversion." msgstr "Zeichenkette mit %d Bytes ist zu lang für Kodierungsumwandlung." -#: utils/mb/mbutils.c:568 +#: utils/mb/mbutils.c:569 #, c-format msgid "invalid source encoding name \"%s\"" msgstr "ungültiger Quellkodierungsname »%s«" -#: utils/mb/mbutils.c:573 +#: utils/mb/mbutils.c:574 #, c-format msgid "invalid destination encoding name \"%s\"" msgstr "ungültiger Zielkodierungsname »%s«" -#: utils/mb/mbutils.c:713 +#: utils/mb/mbutils.c:714 #, c-format msgid "invalid byte value for encoding \"%s\": 0x%02x" msgstr "ungültiger Byte-Wert für Kodierung »%s«: 0x%02x" -#: utils/mb/mbutils.c:877 +#: utils/mb/mbutils.c:878 #, c-format msgid "invalid Unicode code point" msgstr "ungültiger Unicode-Codepunkt" -#: utils/mb/mbutils.c:1201 +#: utils/mb/mbutils.c:1202 #, c-format msgid "bind_textdomain_codeset failed" msgstr "bind_textdomain_codeset fehlgeschlagen" -#: utils/mb/mbutils.c:1718 +#: utils/mb/mbutils.c:1719 #, c-format msgid "invalid byte sequence for encoding \"%s\": %s" msgstr "ungültige Byte-Sequenz für Kodierung »%s«: %s" -#: utils/mb/mbutils.c:1759 +#: utils/mb/mbutils.c:1760 #, c-format msgid "character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\"" msgstr "Zeichen mit Byte-Folge %s in Kodierung »%s« hat keine Entsprechung in Kodierung »%s«" @@ -28797,2061 +28817,2065 @@ msgid "SET requires parameter name" msgstr "SET benötigt Parameternamen" -#: utils/misc/guc_tables.c:676 +#: utils/misc/guc_tables.c:685 msgid "Ungrouped" msgstr "Ungruppiert" -#: utils/misc/guc_tables.c:677 +#: utils/misc/guc_tables.c:686 msgid "File Locations" msgstr "Dateipfade" -#: utils/misc/guc_tables.c:678 +#: utils/misc/guc_tables.c:687 msgid "Connections and Authentication / Connection Settings" msgstr "Verbindungen und Authentifizierung / Verbindungseinstellungen" -#: utils/misc/guc_tables.c:679 +#: utils/misc/guc_tables.c:688 msgid "Connections and Authentication / TCP Settings" msgstr "Verbindungen und Authentifizierung / TCP-Einstellungen" -#: utils/misc/guc_tables.c:680 +#: utils/misc/guc_tables.c:689 msgid "Connections and Authentication / Authentication" msgstr "Verbindungen und Authentifizierung / Authentifizierung" -#: utils/misc/guc_tables.c:681 +#: utils/misc/guc_tables.c:690 msgid "Connections and Authentication / SSL" msgstr "Verbindungen und Authentifizierung / SSL" -#: utils/misc/guc_tables.c:682 +#: utils/misc/guc_tables.c:691 msgid "Resource Usage / Memory" msgstr "Resourcenbenutzung / Speicher" -#: utils/misc/guc_tables.c:683 +#: utils/misc/guc_tables.c:692 msgid "Resource Usage / Disk" msgstr "Resourcenbenutzung / Festplatte" -#: utils/misc/guc_tables.c:684 +#: utils/misc/guc_tables.c:693 msgid "Resource Usage / Kernel Resources" msgstr "Resourcenbenutzung / Kernelresourcen" -#: utils/misc/guc_tables.c:685 +#: utils/misc/guc_tables.c:694 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Resourcenbenutzung / Kostenbasierte Vacuum-Verzögerung" -#: utils/misc/guc_tables.c:686 +#: utils/misc/guc_tables.c:695 msgid "Resource Usage / Background Writer" msgstr "Resourcenbenutzung / Background-Writer" -#: utils/misc/guc_tables.c:687 +#: utils/misc/guc_tables.c:696 msgid "Resource Usage / Asynchronous Behavior" msgstr "Resourcenbenutzung / Asynchrones Verhalten" -#: utils/misc/guc_tables.c:688 +#: utils/misc/guc_tables.c:697 msgid "Write-Ahead Log / Settings" msgstr "Write-Ahead-Log / Einstellungen" -#: utils/misc/guc_tables.c:689 +#: utils/misc/guc_tables.c:698 msgid "Write-Ahead Log / Checkpoints" msgstr "Write-Ahead-Log / Checkpoints" -#: utils/misc/guc_tables.c:690 +#: utils/misc/guc_tables.c:699 msgid "Write-Ahead Log / Archiving" msgstr "Write-Ahead-Log / Archivierung" -#: utils/misc/guc_tables.c:691 +#: utils/misc/guc_tables.c:700 msgid "Write-Ahead Log / Recovery" msgstr "Write-Ahead-Log / Wiederherstellung" -#: utils/misc/guc_tables.c:692 +#: utils/misc/guc_tables.c:701 msgid "Write-Ahead Log / Archive Recovery" msgstr "Write-Ahead-Log / Archivwiederherstellung" -#: utils/misc/guc_tables.c:693 +#: utils/misc/guc_tables.c:702 msgid "Write-Ahead Log / Recovery Target" msgstr "Write-Ahead-Log / Wiederherstellungsziele" -#: utils/misc/guc_tables.c:694 +#: utils/misc/guc_tables.c:703 msgid "Write-Ahead Log / Summarization" msgstr "Write-Ahead-Log / Zusammenfassung (Summarization)" -#: utils/misc/guc_tables.c:695 +#: utils/misc/guc_tables.c:704 msgid "Replication / Sending Servers" msgstr "Replikation / sendende Server" -#: utils/misc/guc_tables.c:696 +#: utils/misc/guc_tables.c:705 msgid "Replication / Primary Server" msgstr "Replikation / Primärserver" -#: utils/misc/guc_tables.c:697 +#: utils/misc/guc_tables.c:706 msgid "Replication / Standby Servers" msgstr "Replikation / Standby-Server" -#: utils/misc/guc_tables.c:698 +#: utils/misc/guc_tables.c:707 msgid "Replication / Subscribers" msgstr "Replikation / Subskriptionsserver" -#: utils/misc/guc_tables.c:699 +#: utils/misc/guc_tables.c:708 msgid "Query Tuning / Planner Method Configuration" msgstr "Anfragetuning / Planermethoden" -#: utils/misc/guc_tables.c:700 +#: utils/misc/guc_tables.c:709 msgid "Query Tuning / Planner Cost Constants" msgstr "Anfragetuning / Planerkosten" -#: utils/misc/guc_tables.c:701 +#: utils/misc/guc_tables.c:710 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Anfragetuning / Genetischer Anfrageoptimierer" -#: utils/misc/guc_tables.c:702 +#: utils/misc/guc_tables.c:711 msgid "Query Tuning / Other Planner Options" msgstr "Anfragetuning / Andere Planeroptionen" -#: utils/misc/guc_tables.c:703 +#: utils/misc/guc_tables.c:712 msgid "Reporting and Logging / Where to Log" msgstr "Berichte und Logging / Wohin geloggt wird" -#: utils/misc/guc_tables.c:704 +#: utils/misc/guc_tables.c:713 msgid "Reporting and Logging / When to Log" msgstr "Berichte und Logging / Wann geloggt wird" -#: utils/misc/guc_tables.c:705 +#: utils/misc/guc_tables.c:714 msgid "Reporting and Logging / What to Log" msgstr "Berichte und Logging / Was geloggt wird" -#: utils/misc/guc_tables.c:706 +#: utils/misc/guc_tables.c:715 msgid "Reporting and Logging / Process Title" msgstr "Berichte und Logging / Prozesstitel" -#: utils/misc/guc_tables.c:707 +#: utils/misc/guc_tables.c:716 msgid "Statistics / Monitoring" msgstr "Statistiken / Überwachung" -#: utils/misc/guc_tables.c:708 +#: utils/misc/guc_tables.c:717 msgid "Statistics / Cumulative Query and Index Statistics" msgstr "Statistiken / Kumulierte Anfrage- und Indexstatistiken" -#: utils/misc/guc_tables.c:709 +#: utils/misc/guc_tables.c:718 msgid "Autovacuum" msgstr "Autovacuum" -#: utils/misc/guc_tables.c:710 +#: utils/misc/guc_tables.c:719 msgid "Client Connection Defaults / Statement Behavior" msgstr "Standardeinstellungen für Clientverbindungen / Anweisungsverhalten" -#: utils/misc/guc_tables.c:711 +#: utils/misc/guc_tables.c:720 msgid "Client Connection Defaults / Locale and Formatting" msgstr "Standardeinstellungen für Clientverbindungen / Locale und Formatierung" -#: utils/misc/guc_tables.c:712 +#: utils/misc/guc_tables.c:721 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "Standardeinstellungen für Clientverbindungen / Shared Library Preloading" -#: utils/misc/guc_tables.c:713 +#: utils/misc/guc_tables.c:722 msgid "Client Connection Defaults / Other Defaults" msgstr "Standardeinstellungen für Clientverbindungen / Andere" -#: utils/misc/guc_tables.c:714 +#: utils/misc/guc_tables.c:723 msgid "Lock Management" msgstr "Sperrenverwaltung" -#: utils/misc/guc_tables.c:715 +#: utils/misc/guc_tables.c:724 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Versions- und Plattformkompatibilität / Frühere PostgreSQL-Versionen" -#: utils/misc/guc_tables.c:716 +#: utils/misc/guc_tables.c:725 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "Versions- und Plattformkompatibilität / Andere Plattformen und Clients" -#: utils/misc/guc_tables.c:717 +#: utils/misc/guc_tables.c:726 msgid "Error Handling" msgstr "Fehlerbehandlung" -#: utils/misc/guc_tables.c:718 +#: utils/misc/guc_tables.c:727 msgid "Preset Options" msgstr "Voreingestellte Optionen" -#: utils/misc/guc_tables.c:719 +#: utils/misc/guc_tables.c:728 msgid "Customized Options" msgstr "Angepasste Optionen" -#: utils/misc/guc_tables.c:720 +#: utils/misc/guc_tables.c:729 msgid "Developer Options" msgstr "Entwickleroptionen" -#: utils/misc/guc_tables.c:775 +#: utils/misc/guc_tables.c:784 msgid "Enables the planner's use of sequential-scan plans." msgstr "Ermöglicht sequenzielle Scans in Planer." -#: utils/misc/guc_tables.c:785 +#: utils/misc/guc_tables.c:794 msgid "Enables the planner's use of index-scan plans." msgstr "Ermöglicht Index-Scans im Planer." -#: utils/misc/guc_tables.c:795 +#: utils/misc/guc_tables.c:804 msgid "Enables the planner's use of index-only-scan plans." msgstr "Ermöglicht Index-Only-Scans im Planer." -#: utils/misc/guc_tables.c:805 +#: utils/misc/guc_tables.c:814 msgid "Enables the planner's use of bitmap-scan plans." msgstr "Ermöglicht Bitmap-Scans im Planer." -#: utils/misc/guc_tables.c:815 +#: utils/misc/guc_tables.c:824 msgid "Enables the planner's use of TID scan plans." msgstr "Ermöglicht TID-Scans im Planer." -#: utils/misc/guc_tables.c:825 +#: utils/misc/guc_tables.c:834 msgid "Enables the planner's use of explicit sort steps." msgstr "Ermöglicht Sortierschritte im Planer." -#: utils/misc/guc_tables.c:835 +#: utils/misc/guc_tables.c:844 msgid "Enables the planner's use of incremental sort steps." msgstr "Ermöglicht inkrementelle Sortierschritte im Planer." -#: utils/misc/guc_tables.c:845 +#: utils/misc/guc_tables.c:854 msgid "Enables the planner's use of hashed aggregation plans." msgstr "Ermöglicht Hash-Aggregierung im Planer." -#: utils/misc/guc_tables.c:855 +#: utils/misc/guc_tables.c:864 msgid "Enables the planner's use of materialization." msgstr "Ermöglicht Materialisierung im Planer." -#: utils/misc/guc_tables.c:865 +#: utils/misc/guc_tables.c:874 msgid "Enables the planner's use of memoization." msgstr "Ermöglicht Memoization im Planer." -#: utils/misc/guc_tables.c:875 +#: utils/misc/guc_tables.c:884 msgid "Enables the planner's use of nested-loop join plans." msgstr "Ermöglicht Nested-Loop-Verbunde im Planer." -#: utils/misc/guc_tables.c:885 +#: utils/misc/guc_tables.c:894 msgid "Enables the planner's use of merge join plans." msgstr "Ermöglicht Merge-Verbunde im Planer." -#: utils/misc/guc_tables.c:895 +#: utils/misc/guc_tables.c:904 msgid "Enables the planner's use of hash join plans." msgstr "Ermöglicht Hash-Verbunde im Planer." -#: utils/misc/guc_tables.c:905 +#: utils/misc/guc_tables.c:914 msgid "Enables the planner's use of gather merge plans." msgstr "Ermöglicht Gather-Merge-Pläne im Planer." -#: utils/misc/guc_tables.c:915 +#: utils/misc/guc_tables.c:924 msgid "Enables partitionwise join." msgstr "Ermöglicht partitionsweise Verbunde." -#: utils/misc/guc_tables.c:925 +#: utils/misc/guc_tables.c:934 msgid "Enables partitionwise aggregation and grouping." msgstr "Ermöglicht partitionsweise Aggregierung und Gruppierung." -#: utils/misc/guc_tables.c:935 +#: utils/misc/guc_tables.c:944 msgid "Enables the planner's use of parallel append plans." msgstr "Ermöglicht parallele Append-Pläne im Planer." -#: utils/misc/guc_tables.c:945 +#: utils/misc/guc_tables.c:954 msgid "Enables the planner's use of parallel hash plans." msgstr "Ermöglicht parallele Hash-Pläne im Planer." -#: utils/misc/guc_tables.c:955 +#: utils/misc/guc_tables.c:964 msgid "Enables plan-time and execution-time partition pruning." msgstr "Ermöglicht Partition-Pruning zur Planzeit und zur Ausführungszeit." -#: utils/misc/guc_tables.c:956 +#: utils/misc/guc_tables.c:965 msgid "Allows the query planner and executor to compare partition bounds to conditions in the query to determine which partitions must be scanned." msgstr "Erlaubt es dem Planer und dem Executor, Partitionsbegrenzungen mit Bedingungen in der Anfrage zu vergleichen, um festzustellen, welche Partitionen gelesen werden müssen." -#: utils/misc/guc_tables.c:967 +#: utils/misc/guc_tables.c:976 msgid "Enables the planner's ability to produce plans that provide presorted input for ORDER BY / DISTINCT aggregate functions." msgstr "Schaltet die Fähigkeit des Planers ein, Pläne zu erzeugen, die vorsortierte Eingaben für ORDER-BY-/DISTINCT-Aggregatfunktionen bereitstellen." -#: utils/misc/guc_tables.c:970 +#: utils/misc/guc_tables.c:979 msgid "Allows the query planner to build plans that provide presorted input for aggregate functions with an ORDER BY / DISTINCT clause. When disabled, implicit sorts are always performed during execution." msgstr "Erlaubt es dem Planer, Pläne zu bauen, die vorsortierte Eingaben für Aggregatfunktionen mit ORDER-BY-/DISTINCT-Klausel bereitstellen. Wenn ausgeschaltet, werden immer implizite Sortierschritte bei der Ausführung durchgeführt." -#: utils/misc/guc_tables.c:982 +#: utils/misc/guc_tables.c:991 msgid "Enables the planner's use of async append plans." msgstr "Ermöglicht asynchrone Append-Pläne im Planer." -#: utils/misc/guc_tables.c:992 +#: utils/misc/guc_tables.c:1001 msgid "Enables reordering of GROUP BY keys." msgstr "Ermöglicht Umordnen von GROUP-BY-Schlüsseln." -#: utils/misc/guc_tables.c:1002 +#: utils/misc/guc_tables.c:1011 msgid "Enables genetic query optimization." msgstr "Ermöglicht genetische Anfrageoptimierung." -#: utils/misc/guc_tables.c:1003 +#: utils/misc/guc_tables.c:1012 msgid "This algorithm attempts to do planning without exhaustive searching." msgstr "Dieser Algorithmus versucht das Planen ohne erschöpfende Suche durchzuführen." -#: utils/misc/guc_tables.c:1017 +#: utils/misc/guc_tables.c:1026 msgid "Shows whether the current user is a superuser." msgstr "Zeigt, ob der aktuelle Benutzer ein Superuser ist." -#: utils/misc/guc_tables.c:1032 +#: utils/misc/guc_tables.c:1041 msgid "Allows running the ALTER SYSTEM command." msgstr "Erlaubt das Ausführen des Befehls ALTER SYSTEM." -#: utils/misc/guc_tables.c:1033 +#: utils/misc/guc_tables.c:1042 msgid "Can be set to off for environments where global configuration changes should be made using a different method." msgstr "Kann auf aus gesetzt werden in Umgebungen, wo globale Konfigurationsänderungen mit einer anderen Methode gemacht werden sollten." -#: utils/misc/guc_tables.c:1043 +#: utils/misc/guc_tables.c:1052 msgid "Enables advertising the server via Bonjour." msgstr "Ermöglicht die Bekanntgabe des Servers mit Bonjour." -#: utils/misc/guc_tables.c:1052 +#: utils/misc/guc_tables.c:1061 msgid "Collects transaction commit time." msgstr "Sammelt Commit-Timestamps von Transaktionen." -#: utils/misc/guc_tables.c:1061 +#: utils/misc/guc_tables.c:1070 msgid "Enables SSL connections." msgstr "Ermöglicht SSL-Verbindungen." -#: utils/misc/guc_tables.c:1070 +#: utils/misc/guc_tables.c:1079 msgid "Controls whether \"ssl_passphrase_command\" is called during server reload." msgstr "Kontrolliert, ob »ssl_passphrase_command« beim Neuladen des Servers aufgerufen wird." -#: utils/misc/guc_tables.c:1079 +#: utils/misc/guc_tables.c:1088 msgid "Give priority to server ciphersuite order." msgstr "Der Ciphersuite-Reihenfolge des Servers Vorrang geben." -#: utils/misc/guc_tables.c:1088 +#: utils/misc/guc_tables.c:1097 msgid "Forces synchronization of updates to disk." msgstr "Erzwingt die Synchronisierung von Aktualisierungen auf Festplatte." -#: utils/misc/guc_tables.c:1089 +#: utils/misc/guc_tables.c:1098 msgid "The server will use the fsync() system call in several places to make sure that updates are physically written to disk. This ensures that a database cluster will recover to a consistent state after an operating system or hardware crash." msgstr "Der Server verwendet den Systemaufruf fsync() an mehreren Stellen, um sicherzustellen, dass Datenänderungen physikalisch auf die Festplatte geschrieben werden. Das stellt sicher, dass der Datenbankcluster nach einem Betriebssystemabsturz oder Hardwarefehler in einem korrekten Zustand wiederhergestellt werden kann." -#: utils/misc/guc_tables.c:1100 +#: utils/misc/guc_tables.c:1109 msgid "Continues processing after a checksum failure." msgstr "Setzt die Verarbeitung trotz Prüfsummenfehler fort." -#: utils/misc/guc_tables.c:1101 +#: utils/misc/guc_tables.c:1110 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 "Wenn eine fehlerhafte Prüfsumme entdeckt wird, gibt PostgreSQL normalerweise ein Fehler aus und bricht die aktuelle Transaktion ab. Wenn »ignore_checksum_failure« an ist, dann wird der Fehler ignoriert (aber trotzdem eine Warnung ausgegeben) und die Verarbeitung geht weiter. Dieses Verhalten kann Abstürze und andere ernsthafte Probleme verursachen. Es hat keine Auswirkungen, wenn Prüfsummen nicht eingeschaltet sind." -#: utils/misc/guc_tables.c:1115 +#: utils/misc/guc_tables.c:1124 msgid "Continues processing past damaged page headers." msgstr "Setzt die Verarbeitung trotz kaputter Seitenköpfe fort." -#: utils/misc/guc_tables.c:1116 +#: utils/misc/guc_tables.c:1125 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 "Wenn ein kaputter Seitenkopf entdeckt wird, gibt PostgreSQL normalerweise einen Fehler aus und bricht die aktuelle Transaktion ab. Wenn »zero_damaged_pages« an ist, dann wird eine Warnung ausgegeben, die kaputte Seite mit Nullen gefüllt und die Verarbeitung geht weiter. Dieses Verhalten zerstört Daten, nämlich alle Zeilen in der kaputten Seite." -#: utils/misc/guc_tables.c:1129 +#: utils/misc/guc_tables.c:1138 msgid "Continues recovery after an invalid pages failure." msgstr "Setzt die Wiederherstellung trotz Fehler durch ungültige Seiten fort." -#: utils/misc/guc_tables.c:1130 +#: utils/misc/guc_tables.c:1139 msgid "Detection of WAL records having references to invalid pages during recovery causes PostgreSQL to raise a PANIC-level error, aborting the recovery. Setting \"ignore_invalid_pages\" to true causes the system to ignore invalid page references in WAL records (but still report a warning), and continue recovery. This behavior may cause crashes, data loss, propagate or hide corruption, or other serious problems. Only has an effect during recovery or in standby mode." msgstr "Wenn WAL-Einträge mit Verweisen auf ungültige Seiten bei der Wiederherstellung erkannt werden, verursacht das einen PANIC-Fehler, wodurch die Wiederherstellung abgebrochen wird. Wenn »ignore_invalid_pages« an ist, dann werden ungültige Seitenverweise in WAL-Einträgen ignoriert (aber trotzen eine Warnung ausgegeben) und die Wiederherstellung wird fortgesetzt. Dieses Verhalten kann Abstürze und Datenverlust verursachen, Datenverfälschung verbreiten oder verstecken sowie andere ernsthafte Probleme verursachen. Es hat nur Auswirkungen im Wiederherstellungs- oder Standby-Modus." -#: utils/misc/guc_tables.c:1148 +#: utils/misc/guc_tables.c:1157 msgid "Writes full pages to WAL when first modified after a checkpoint." msgstr "Schreibt volle Seiten in den WAL, sobald sie nach einem Checkpoint geändert werden." -#: utils/misc/guc_tables.c:1149 +#: utils/misc/guc_tables.c:1158 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 "Ein Seitenschreibvorgang während eines Betriebssystemabsturzes könnte eventuell nur teilweise geschrieben worden sein. Bei der Wiederherstellung sind die im WAL gespeicherten Zeilenänderungen nicht ausreichend. Diese Option schreibt Seiten, sobald sie nach einem Checkpoint geändert worden sind, damit eine volle Wiederherstellung möglich ist." -#: utils/misc/guc_tables.c:1162 +#: utils/misc/guc_tables.c:1171 msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modification." msgstr "Schreibt volle Seiten in den WAL, sobald sie nach einem Checkpoint geändert werden, auch für eine nicht kritische Änderung." -#: utils/misc/guc_tables.c:1172 +#: utils/misc/guc_tables.c:1181 msgid "Writes zeroes to new WAL files before first use." msgstr "Schreibt Nullen in neue WAL-Dateien vor der ersten Verwendung." -#: utils/misc/guc_tables.c:1182 +#: utils/misc/guc_tables.c:1191 msgid "Recycles WAL files by renaming them." msgstr "WAL-Dateien werden durch Umbenennen wiederverwendet." -#: utils/misc/guc_tables.c:1192 +#: utils/misc/guc_tables.c:1201 msgid "Logs each checkpoint." msgstr "Schreibt jeden Checkpoint in den Log." -#: utils/misc/guc_tables.c:1201 +#: utils/misc/guc_tables.c:1210 msgid "Logs each successful connection." msgstr "Schreibt jede erfolgreiche Verbindung in den Log." -#: utils/misc/guc_tables.c:1210 +#: utils/misc/guc_tables.c:1219 msgid "Logs details of pre-authentication connection handshake." msgstr "Schreibt Details über den Verbindungs-Handshake vor der Authentifizierung in den Log." -#: utils/misc/guc_tables.c:1220 +#: utils/misc/guc_tables.c:1229 msgid "Logs end of a session, including duration." msgstr "Schreibt jedes Verbindungsende mit Sitzungszeit in den Log." -#: utils/misc/guc_tables.c:1229 +#: utils/misc/guc_tables.c:1238 msgid "Logs each replication command." msgstr "Schreibt jeden Replikationsbefehl in den Log." -#: utils/misc/guc_tables.c:1238 +#: utils/misc/guc_tables.c:1247 msgid "Shows whether the running server has assertion checks enabled." msgstr "Zeigt, ob der laufende Server Assertion-Prüfungen aktiviert hat." -#: utils/misc/guc_tables.c:1249 +#: utils/misc/guc_tables.c:1258 msgid "Terminate session on any error." msgstr "Sitzung bei jedem Fehler abbrechen." -#: utils/misc/guc_tables.c:1258 +#: utils/misc/guc_tables.c:1267 msgid "Reinitialize server after backend crash." msgstr "Server nach Absturz eines Serverprozesses reinitialisieren." -#: utils/misc/guc_tables.c:1267 +#: utils/misc/guc_tables.c:1276 msgid "Remove temporary files after backend crash." msgstr "Temporäre Dateien nach Absturz eines Serverprozesses löschen." -#: utils/misc/guc_tables.c:1277 +#: utils/misc/guc_tables.c:1286 msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." msgstr "SIGABRT statt SIGQUIT an Kindprozesse noch Absturz eines Serverprozesses senden." -#: utils/misc/guc_tables.c:1287 +#: utils/misc/guc_tables.c:1296 msgid "Send SIGABRT not SIGKILL to stuck child processes." msgstr "SIGABRT statt SIGKILL an feststeckende Kindprozesse senden." -#: utils/misc/guc_tables.c:1298 +#: utils/misc/guc_tables.c:1307 msgid "Logs the duration of each completed SQL statement." msgstr "Loggt die Dauer jeder abgeschlossenen SQL-Anweisung." -#: utils/misc/guc_tables.c:1307 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's parse tree." msgstr "Scheibt den Parsebaum jeder Anfrage in den Log." -#: utils/misc/guc_tables.c:1316 +#: utils/misc/guc_tables.c:1325 msgid "Logs each query's rewritten parse tree." msgstr "Schreibt den umgeschriebenen Parsebaum jeder Anfrage in den Log." -#: utils/misc/guc_tables.c:1325 +#: utils/misc/guc_tables.c:1334 msgid "Logs each query's execution plan." msgstr "Schreibt den Ausführungsplan jeder Anfrage in den Log." -#: utils/misc/guc_tables.c:1334 +#: utils/misc/guc_tables.c:1343 msgid "Indents parse and plan tree displays." msgstr "Rückt die Anzeige von Parse- und Planbäumen ein." -#: utils/misc/guc_tables.c:1343 +#: utils/misc/guc_tables.c:1352 msgid "Writes parser performance statistics to the server log." msgstr "Schreibt Parser-Leistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1352 +#: utils/misc/guc_tables.c:1361 msgid "Writes planner performance statistics to the server log." msgstr "Schreibt Planer-Leistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1361 +#: utils/misc/guc_tables.c:1370 msgid "Writes executor performance statistics to the server log." msgstr "Schreibt Executor-Leistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1370 +#: utils/misc/guc_tables.c:1379 msgid "Writes cumulative performance statistics to the server log." msgstr "Schreibt Gesamtleistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1380 +#: utils/misc/guc_tables.c:1389 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations." msgstr "Loggt Statistiken über Systemressourcen (Speicher und CPU) während diverser B-Baum-Operationen." -#: utils/misc/guc_tables.c:1392 +#: utils/misc/guc_tables.c:1401 msgid "Collects information about executing commands." msgstr "Sammelt Informationen über ausgeführte Befehle." -#: utils/misc/guc_tables.c:1393 +#: utils/misc/guc_tables.c:1402 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 "Schaltet die Sammlung von Informationen über den aktuell ausgeführten Befehl jeder Sitzung ein, einschließlich der Zeit, and dem die Befehlsausführung begann." -#: utils/misc/guc_tables.c:1403 +#: utils/misc/guc_tables.c:1412 msgid "Collects statistics on database activity." msgstr "Sammelt Statistiken über Datenbankaktivität." -#: utils/misc/guc_tables.c:1412 +#: utils/misc/guc_tables.c:1421 msgid "Collects timing statistics for database I/O activity." msgstr "Sammelt Zeitmessungsstatistiken über Datenbank-I/O-Aktivität." -#: utils/misc/guc_tables.c:1421 +#: utils/misc/guc_tables.c:1430 msgid "Collects timing statistics for WAL I/O activity." msgstr "Sammelt Zeitmessungsstatistiken über WAL-I/O-Aktivität." -#: utils/misc/guc_tables.c:1431 +#: utils/misc/guc_tables.c:1440 msgid "Updates the process title to show the active SQL command." msgstr "Der Prozesstitel wird aktualisiert, um den aktuellen SQL-Befehl anzuzeigen." -#: utils/misc/guc_tables.c:1432 +#: utils/misc/guc_tables.c:1441 msgid "Enables updating of the process title every time a new SQL command is received by the server." msgstr "Ermöglicht das Aktualisieren des Prozesstitels bei jedem von Server empfangenen neuen SQL-Befehl." -#: utils/misc/guc_tables.c:1441 +#: utils/misc/guc_tables.c:1450 msgid "Starts the autovacuum subprocess." msgstr "Startet den Autovacuum-Prozess." -#: utils/misc/guc_tables.c:1451 +#: utils/misc/guc_tables.c:1460 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Erzeugt Debug-Ausgabe für LISTEN und NOTIFY." -#: utils/misc/guc_tables.c:1463 +#: utils/misc/guc_tables.c:1472 msgid "Emits information about lock usage." msgstr "Gibt Informationen über Sperrenverwendung aus." -#: utils/misc/guc_tables.c:1473 +#: utils/misc/guc_tables.c:1482 msgid "Emits information about user lock usage." msgstr "Gibt Informationen über Benutzersperrenverwendung aus." -#: utils/misc/guc_tables.c:1483 +#: utils/misc/guc_tables.c:1492 msgid "Emits information about lightweight lock usage." msgstr "Gibt Informationen über die Verwendung von Lightweight Locks aus." -#: utils/misc/guc_tables.c:1493 +#: utils/misc/guc_tables.c:1502 msgid "Dumps information about all current locks when a deadlock timeout occurs." msgstr "Gibt Informationen über alle aktuellen Sperren aus, wenn eine Verklemmung auftritt." -#: utils/misc/guc_tables.c:1505 +#: utils/misc/guc_tables.c:1514 msgid "Logs long lock waits." msgstr "Schreibt Meldungen über langes Warten auf Sperren in den Log." -#: utils/misc/guc_tables.c:1514 +#: utils/misc/guc_tables.c:1523 msgid "Logs standby recovery conflict waits." msgstr "Schreibt Meldungen über Warten wegen Konflikten bei Wiederherstellung in den Log." -#: utils/misc/guc_tables.c:1523 +#: utils/misc/guc_tables.c:1532 msgid "Logs the host name in the connection logs." msgstr "Schreibt den Hostnamen jeder Verbindung in den Log." -#: utils/misc/guc_tables.c:1524 +#: utils/misc/guc_tables.c:1533 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 "In der Standardeinstellung zeigen die Verbindungslogs nur die IP-Adresse der Clienthosts. Wenn Sie den Hostnamen auch anzeigen wollen, dann können Sie diese Option anschalten, aber je nachdem, wie Ihr DNS eingerichtet ist, kann das die Leistung nicht unerheblich beeinträchtigen." -#: utils/misc/guc_tables.c:1535 +#: utils/misc/guc_tables.c:1544 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Behandelt »ausdruck=NULL« als »ausdruck IS NULL«." -#: utils/misc/guc_tables.c:1536 +#: utils/misc/guc_tables.c:1545 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 "Wenn an, dann werden Ausdrücke der Form ausdruck = NULL (oder NULL = ausdruck) wie ausdruck IS NULL behandelt, das heißt, sie ergeben wahr, wenn das Ergebnis von ausdruck der NULL-Wert ist, und ansonsten falsch. Das korrekte Verhalten von ausdruck = NULL ist immer den NULL-Wert (für unbekannt) zurückzugeben." -#: utils/misc/guc_tables.c:1548 +#: utils/misc/guc_tables.c:1557 msgid "Sets the default read-only status of new transactions." msgstr "Setzt den Standardwert für die Read-Only-Einstellung einer neuen Transaktion." -#: utils/misc/guc_tables.c:1558 +#: utils/misc/guc_tables.c:1567 msgid "Sets the current transaction's read-only status." msgstr "Setzt die Read-Only-Einstellung der aktuellen Transaktion." -#: utils/misc/guc_tables.c:1568 +#: utils/misc/guc_tables.c:1577 msgid "Sets the default deferrable status of new transactions." msgstr "Setzt den Standardwert für die Deferrable-Einstellung einer neuen Transaktion." -#: utils/misc/guc_tables.c:1577 +#: utils/misc/guc_tables.c:1586 msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures." msgstr "Ob eine serialisierbare Read-Only-Transaktion aufgeschoben werden soll, bis sie ohne mögliche Serialisierungsfehler ausgeführt werden kann." -#: utils/misc/guc_tables.c:1587 +#: utils/misc/guc_tables.c:1596 msgid "Enable row security." msgstr "Schaltet Sicherheit auf Zeilenebene ein." -#: utils/misc/guc_tables.c:1588 +#: utils/misc/guc_tables.c:1597 msgid "When enabled, row security will be applied to all users." msgstr "Wenn eingeschaltet, wird Sicherheit auf Zeilenebene auf alle Benutzer angewendet." -#: utils/misc/guc_tables.c:1596 +#: utils/misc/guc_tables.c:1605 msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE." msgstr "Prüft Funktionskörper bei der Ausführung von CREATE FUNCTION und CREATE PROCEDURE." -#: utils/misc/guc_tables.c:1605 +#: utils/misc/guc_tables.c:1614 msgid "Enable input of NULL elements in arrays." msgstr "Ermöglicht die Eingabe von NULL-Elementen in Arrays." -#: utils/misc/guc_tables.c:1606 +#: utils/misc/guc_tables.c:1615 msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally." msgstr "Wenn dies eingeschaltet ist, wird ein nicht gequotetes NULL in einem Array-Eingabewert als NULL-Wert interpretiert, ansonsten als Zeichenkette." -#: utils/misc/guc_tables.c:1622 +#: utils/misc/guc_tables.c:1631 msgid "WITH OIDS is no longer supported; this can only be false." msgstr "WITH OIDS wird nicht mehr unterstützt; kann nur auf falsch gesetzt werden." -#: utils/misc/guc_tables.c:1632 +#: utils/misc/guc_tables.c:1641 msgid "Start a subprocess to capture stderr, csvlog and/or jsonlog into log files." msgstr "Startet einen Subprozess, um stderr, csvlog und/oder jsonlog in Logdateien auszugeben." -#: utils/misc/guc_tables.c:1641 +#: utils/misc/guc_tables.c:1650 msgid "Truncate existing log files of same name during log rotation." msgstr "Kürzt existierende Logdateien mit dem selben Namen beim Rotieren." -#: utils/misc/guc_tables.c:1652 +#: utils/misc/guc_tables.c:1661 msgid "Emit information about resource usage in sorting." msgstr "Gibt Informationen über die Ressourcenverwendung beim Sortieren aus." -#: utils/misc/guc_tables.c:1666 +#: utils/misc/guc_tables.c:1675 msgid "Generate debugging output for synchronized scanning." msgstr "Erzeugt Debug-Ausgabe für synchronisiertes Scannen." -#: utils/misc/guc_tables.c:1681 +#: utils/misc/guc_tables.c:1690 msgid "Enable bounded sorting using heap sort." msgstr "Ermöglicht Bounded Sorting mittels Heap-Sort." -#: utils/misc/guc_tables.c:1694 +#: utils/misc/guc_tables.c:1703 msgid "Emit WAL-related debugging output." msgstr "Gibt diverse Debug-Meldungen über WAL aus." -#: utils/misc/guc_tables.c:1706 +#: utils/misc/guc_tables.c:1715 msgid "Shows whether datetimes are integer based." msgstr "Zeigt ob Datum/Zeit intern ganze Zahlen verwendet." -#: utils/misc/guc_tables.c:1717 +#: utils/misc/guc_tables.c:1726 msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive." msgstr "Bestimmt, ob Groß-/Kleinschreibung bei Kerberos- und GSSAPI-Benutzernamen ignoriert werden soll." -#: utils/misc/guc_tables.c:1727 +#: utils/misc/guc_tables.c:1736 msgid "Sets whether GSSAPI delegation should be accepted from the client." msgstr "Bestimmt, ob GSSAPI-Delegation vom Client akzeptiert werden soll." -#: utils/misc/guc_tables.c:1737 +#: utils/misc/guc_tables.c:1746 msgid "Warn about backslash escapes in ordinary string literals." msgstr "Warnt bei Backslash-Escapes in normalen Zeichenkettenkonstanten." -#: utils/misc/guc_tables.c:1747 +#: utils/misc/guc_tables.c:1756 msgid "Causes '...' strings to treat backslashes literally." msgstr "Bewirkt, dass Zeichenketten der Art '...' Backslashes als normales Zeichen behandeln." -#: utils/misc/guc_tables.c:1758 +#: utils/misc/guc_tables.c:1767 msgid "Enable synchronized sequential scans." msgstr "Ermöglicht synchronisierte sequenzielle Scans." -#: utils/misc/guc_tables.c:1768 +#: utils/misc/guc_tables.c:1777 msgid "Sets whether to include or exclude transaction with recovery target." msgstr "Setzt ob die Transaktion mit dem Wiederherstellungsziel einbezogen oder ausgeschlossen wird." -#: utils/misc/guc_tables.c:1778 +#: utils/misc/guc_tables.c:1787 msgid "Starts the WAL summarizer process to enable incremental backup." msgstr "Startet den WAL-Summarizer-Prozess, um inkrementelle Backups zu ermöglichen." -#: utils/misc/guc_tables.c:1788 +#: utils/misc/guc_tables.c:1797 msgid "Allows connections and queries during recovery." msgstr "Erlaubt Verbindungen und Anfragen während der Wiederherstellung." -#: utils/misc/guc_tables.c:1798 +#: utils/misc/guc_tables.c:1807 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts." msgstr "Erlaubt Rückmeldungen von einem Hot Standby an den Primärserver, um Anfragekonflikte zu vermeiden." -#: utils/misc/guc_tables.c:1808 +#: utils/misc/guc_tables.c:1817 msgid "Shows whether hot standby is currently active." msgstr "Zeigt, ob Hot Standby aktuell aktiv ist." -#: utils/misc/guc_tables.c:1819 +#: utils/misc/guc_tables.c:1828 msgid "Allows modifications of the structure of system tables." msgstr "Erlaubt Änderungen an der Struktur von Systemtabellen." -#: utils/misc/guc_tables.c:1830 +#: utils/misc/guc_tables.c:1839 msgid "Disables reading from system indexes." msgstr "Schaltet das Lesen aus Systemindexen ab." -#: utils/misc/guc_tables.c:1831 +#: utils/misc/guc_tables.c:1840 msgid "It does not prevent updating the indexes, so it is safe to use. The worst consequence is slowness." msgstr "Das Aktualisieren der Indexe wird nicht verhindert, also ist die Verwendung unbedenklich. Schlimmstenfalls wird alles langsamer." -#: utils/misc/guc_tables.c:1842 +#: utils/misc/guc_tables.c:1851 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "Erlaubt Tablespaces direkt in pg_tblspc, zum Testen." -#: utils/misc/guc_tables.c:1853 +#: utils/misc/guc_tables.c:1862 msgid "Enables backward compatibility mode for privilege checks on large objects." msgstr "Schaltet den rückwärtskompatiblen Modus für Privilegienprüfungen bei Large Objects ein." -#: utils/misc/guc_tables.c:1854 +#: utils/misc/guc_tables.c:1863 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0." msgstr "Überspringt Privilegienprüfungen beim Lesen oder Ändern von Large Objects, zur Kompatibilität mit PostgreSQL-Versionen vor 9.0." -#: utils/misc/guc_tables.c:1864 +#: utils/misc/guc_tables.c:1873 msgid "When generating SQL fragments, quote all identifiers." msgstr "Wenn SQL-Fragmente erzeugt werden, alle Bezeichner quoten." -#: utils/misc/guc_tables.c:1874 +#: utils/misc/guc_tables.c:1883 msgid "Shows whether data checksums are turned on for this cluster." msgstr "Zeigt, ob Datenprüfsummen in diesem Cluster angeschaltet sind." -#: utils/misc/guc_tables.c:1885 +#: utils/misc/guc_tables.c:1894 msgid "Add sequence number to syslog messages to avoid duplicate suppression." msgstr "Syslog-Nachrichten mit Sequenznummern versehen, um Unterdrückung doppelter Nachrichten zu unterbinden." -#: utils/misc/guc_tables.c:1895 +#: utils/misc/guc_tables.c:1904 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." msgstr "An Syslog gesendete Nachrichten nach Zeilen und in maximal 1024 Bytes aufteilen." -#: utils/misc/guc_tables.c:1905 +#: utils/misc/guc_tables.c:1914 msgid "Controls whether Gather and Gather Merge also run subplans." msgstr "Kontrolliert, ob Gather und Gather Merge auch Subpläne ausführen." -#: utils/misc/guc_tables.c:1906 +#: utils/misc/guc_tables.c:1915 msgid "Should gather nodes also run subplans or just gather tuples?" msgstr "Sollen Gather-Knoten auch Subpläne ausführen oder nur Tupel sammeln?" -#: utils/misc/guc_tables.c:1916 +#: utils/misc/guc_tables.c:1925 msgid "Allow JIT compilation." msgstr "Erlaubt JIT-Kompilierung." -#: utils/misc/guc_tables.c:1927 +#: utils/misc/guc_tables.c:1936 msgid "Register JIT-compiled functions with debugger." msgstr "JIT-kompilierte Funktionen im Debugger registrieren." -#: utils/misc/guc_tables.c:1944 +#: utils/misc/guc_tables.c:1953 msgid "Write out LLVM bitcode to facilitate JIT debugging." msgstr "LLVM-Bitcode in Dateien schreiben, um Debuggen von JIT zu erleichtern." -#: utils/misc/guc_tables.c:1955 +#: utils/misc/guc_tables.c:1964 msgid "Allow JIT compilation of expressions." msgstr "Erlaubt JIT-Kompilierung von Ausdrücken." -#: utils/misc/guc_tables.c:1966 +#: utils/misc/guc_tables.c:1975 msgid "Register JIT-compiled functions with perf profiler." msgstr "JIT-kompilierte Funktionen im Profiler perf registrieren." -#: utils/misc/guc_tables.c:1983 +#: utils/misc/guc_tables.c:1992 msgid "Allow JIT compilation of tuple deforming." msgstr "Erlaubt JIT-Kompilierung von Tuple-Deforming." -#: utils/misc/guc_tables.c:1994 +#: utils/misc/guc_tables.c:2003 msgid "Whether to continue running after a failure to sync data files." msgstr "Ob nach fehlgeschlagenem Synchronisieren von Datendateien fortgesetzt werden soll." -#: utils/misc/guc_tables.c:2003 +#: utils/misc/guc_tables.c:2012 msgid "Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured." msgstr "Bestimmt, ob der WAL-Receiver einen temporären Replikations-Slot erzeugen soll, wenn kein permanenter Slot konfiguriert ist." -#: utils/misc/guc_tables.c:2012 +#: utils/misc/guc_tables.c:2021 msgid "Enables event triggers." msgstr "Schaltet Ereignistrigger ein." -#: utils/misc/guc_tables.c:2013 +#: utils/misc/guc_tables.c:2022 msgid "When enabled, event triggers will fire for all applicable statements." msgstr "Wenn eingeschaltet, werden Ereignistrigger für alle passenden Anweisungen ausgelöst." -#: utils/misc/guc_tables.c:2022 +#: utils/misc/guc_tables.c:2031 msgid "Enables a physical standby to synchronize logical failover replication slots from the primary server." msgstr "Ermöglicht, dass ein physischer Standby logische Failover-Replikations-Slots vom Primärserver synchronisiert." -#: utils/misc/guc_tables.c:2040 +#: utils/misc/guc_tables.c:2049 msgid "Sets the amount of time to wait before forcing a switch to the next WAL file." msgstr "Setzt die Zeit, die gewartet wird, bevor ein Umschalten auf die nächste WAL-Datei erzwungen wird." -#: utils/misc/guc_tables.c:2051 +#: utils/misc/guc_tables.c:2060 msgid "Sets the amount of time to wait after authentication on connection startup." msgstr "Setzt die Zeit, die nach der Authentifizierung beim Verbindungsstart gewartet wird." -#: utils/misc/guc_tables.c:2053 utils/misc/guc_tables.c:2780 +#: utils/misc/guc_tables.c:2062 utils/misc/guc_tables.c:2789 msgid "This allows attaching a debugger to the process." msgstr "Das ermöglicht es, einen Debugger in den Prozess einzuhängen." -#: utils/misc/guc_tables.c:2062 +#: utils/misc/guc_tables.c:2071 msgid "Sets the default statistics target." msgstr "Setzt das voreingestellte Statistikziel." -#: utils/misc/guc_tables.c:2063 +#: utils/misc/guc_tables.c:2072 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS." msgstr "Diese Einstellung gilt für Tabellenspalten, für die kein spaltenspezifisches Ziel mit ALTER TABLE SET STATISTICS gesetzt worden ist." -#: utils/misc/guc_tables.c:2072 +#: utils/misc/guc_tables.c:2081 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "Setzt die Größe der FROM-Liste, ab der Unteranfragen nicht kollabiert werden." -#: utils/misc/guc_tables.c:2074 +#: utils/misc/guc_tables.c:2083 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items." msgstr "Der Planer bindet Unteranfragen in die übergeordneten Anfragen ein, wenn die daraus resultierende FROM-Liste nicht mehr als so viele Elemente haben würde." -#: utils/misc/guc_tables.c:2085 +#: utils/misc/guc_tables.c:2094 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "Setzt die Größe der FROM-Liste, ab der JOIN-Konstrukte nicht aufgelöst werden." -#: utils/misc/guc_tables.c:2087 +#: utils/misc/guc_tables.c:2096 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 "Der Planer löst ausdrückliche JOIN-Konstrukte in FROM-Listen auf, wenn die daraus resultierende FROM-Liste nicht mehr als so viele Elemente haben würde." -#: utils/misc/guc_tables.c:2098 +#: utils/misc/guc_tables.c:2107 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "Setzt die Anzahl der Elemente in der FROM-Liste, ab der GEQO verwendet wird." -#: utils/misc/guc_tables.c:2108 +#: utils/misc/guc_tables.c:2117 msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "GEQO: wird für die Berechnung der Vorgabewerte anderer GEQO-Parameter verwendet." -#: utils/misc/guc_tables.c:2118 +#: utils/misc/guc_tables.c:2127 msgid "GEQO: number of individuals in the population." msgstr "GEQO: Anzahl der Individien in der Bevölkerung." -#: utils/misc/guc_tables.c:2119 utils/misc/guc_tables.c:2129 +#: utils/misc/guc_tables.c:2128 utils/misc/guc_tables.c:2138 msgid "Zero selects a suitable default value." msgstr "Null wählt einen passenden Vorgabewert." -#: utils/misc/guc_tables.c:2128 +#: utils/misc/guc_tables.c:2137 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: Anzahl der Iterationen im Algorithmus." -#: utils/misc/guc_tables.c:2140 +#: utils/misc/guc_tables.c:2149 msgid "Sets the time to wait on a lock before checking for deadlock." msgstr "Setzt die Zeit, die gewartet wird, bis auf Verklemmung geprüft wird." -#: utils/misc/guc_tables.c:2151 +#: utils/misc/guc_tables.c:2160 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data." msgstr "Setzt die maximale Verzögerung bevor Anfragen storniert werden, wenn ein Hot-Standby-Server archivierte WAL-Daten verarbeitet." -#: utils/misc/guc_tables.c:2162 +#: utils/misc/guc_tables.c:2171 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data." msgstr "Setzt die maximale Verzögerung bevor Anfragen storniert werden, wenn ein Hot-Standby-Server gestreamte WAL-Daten verarbeitet." -#: utils/misc/guc_tables.c:2173 +#: utils/misc/guc_tables.c:2182 msgid "Sets the minimum delay for applying changes during recovery." msgstr "Setzt die minimale Verzögerung für das Einspielen von Änderungen während der Wiederherstellung." -#: utils/misc/guc_tables.c:2184 +#: utils/misc/guc_tables.c:2193 msgid "Sets the maximum interval between WAL receiver status reports to the sending server." msgstr "Setzt das maximale Intervall zwischen Statusberichten des WAL-Receivers an den sendenden Server." -#: utils/misc/guc_tables.c:2195 +#: utils/misc/guc_tables.c:2204 msgid "Sets the maximum wait time to receive data from the sending server." msgstr "Setzt die maximale Zeit, um auf den Empfang von Daten vom sendenden Server zu warten." -#: utils/misc/guc_tables.c:2206 +#: utils/misc/guc_tables.c:2215 msgid "Sets the maximum number of concurrent connections." msgstr "Setzt die maximale Anzahl gleichzeitiger Verbindungen." -#: utils/misc/guc_tables.c:2217 +#: utils/misc/guc_tables.c:2226 msgid "Sets the number of connection slots reserved for superusers." msgstr "Setzt die Anzahl der für Superuser reservierten Verbindungen." -#: utils/misc/guc_tables.c:2227 +#: utils/misc/guc_tables.c:2236 msgid "Sets the number of connection slots reserved for roles with privileges of pg_use_reserved_connections." msgstr "Setzt die Anzahl der Verbindungen, die für Rollen mit den Privilegien der Rolle pg_use_reserved_connections reserviert sind." -#: utils/misc/guc_tables.c:2238 +#: utils/misc/guc_tables.c:2247 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Menge des beim Start reservierten dynamischen Shared Memory." -#: utils/misc/guc_tables.c:2253 +#: utils/misc/guc_tables.c:2262 msgid "Sets the number of shared memory buffers used by the server." msgstr "Setzt die Anzahl der vom Server verwendeten Shared-Memory-Puffer." -#: utils/misc/guc_tables.c:2264 +#: utils/misc/guc_tables.c:2273 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." msgstr "Setzt die Buffer-Pool-Größe für VACUUM, ANALYZE und Autovacuum." -#: utils/misc/guc_tables.c:2275 +#: utils/misc/guc_tables.c:2284 msgid "Shows the size of the server's main shared memory area (rounded up to the nearest MB)." msgstr "Zeigt die Größe des primären Shared-Memory-Bereichs des Servers (aufgerundet zum nächsten MB)." -#: utils/misc/guc_tables.c:2286 +#: utils/misc/guc_tables.c:2295 msgid "Shows the number of huge pages needed for the main shared memory area." msgstr "Zeigt die Anzahl der Huge Pages, die für den primären Shared-Memory-Bereich benötigt werden." -#: utils/misc/guc_tables.c:2287 +#: utils/misc/guc_tables.c:2296 msgid "-1 indicates that the value could not be determined." msgstr "-1 zeigt an, dass der Wert nicht ermittelt werden konnte." -#: utils/misc/guc_tables.c:2297 +#: utils/misc/guc_tables.c:2306 msgid "Sets the size of the dedicated buffer pool used for the commit timestamp cache." msgstr "Setzt die Größe des für den Commit-Timestamp-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2298 utils/misc/guc_tables.c:2353 -#: utils/misc/guc_tables.c:2364 +#: utils/misc/guc_tables.c:2307 utils/misc/guc_tables.c:2362 +#: utils/misc/guc_tables.c:2373 msgid "Specify 0 to have this value determined as a fraction of shared_buffers." msgstr "Geben Sie 0 an, um diesen Wert als einen Bruchteil von shared_buffers zu ermitteln." -#: utils/misc/guc_tables.c:2308 +#: utils/misc/guc_tables.c:2317 msgid "Sets the size of the dedicated buffer pool used for the MultiXact member cache." msgstr "Setzt die Größe des für den MultiXact-Member-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2319 +#: utils/misc/guc_tables.c:2328 msgid "Sets the size of the dedicated buffer pool used for the MultiXact offset cache." msgstr "Setzt die Größe des für den MultiXact-Offset-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2330 +#: utils/misc/guc_tables.c:2339 msgid "Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache." msgstr "Setzt die Größe des für den LISTEN/NOTIFY-Message-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2341 +#: utils/misc/guc_tables.c:2350 msgid "Sets the size of the dedicated buffer pool used for the serializable transaction cache." msgstr "Setzt die Größe des für den Cache für serialisierbare Transaktionen bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2352 +#: utils/misc/guc_tables.c:2361 msgid "Sets the size of the dedicated buffer pool used for the subtransaction cache." msgstr "Setzt die Größe des für den Subtransaktions-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2363 +#: utils/misc/guc_tables.c:2372 msgid "Sets the size of the dedicated buffer pool used for the transaction status cache." msgstr "Setzt die Größe des für den Transaktionsstatus-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2374 +#: utils/misc/guc_tables.c:2383 msgid "Sets the maximum number of temporary buffers used by each session." msgstr "Setzt die maximale Anzahl der von jeder Sitzung verwendeten temporären Puffer." -#: utils/misc/guc_tables.c:2385 +#: utils/misc/guc_tables.c:2394 msgid "Sets the TCP port the server listens on." msgstr "Setzt den TCP-Port, auf dem der Server auf Verbindungen wartet." -#: utils/misc/guc_tables.c:2395 +#: utils/misc/guc_tables.c:2404 msgid "Sets the access permissions of the Unix-domain socket." msgstr "Setzt die Zugriffsrechte für die Unix-Domain-Socket." -#: utils/misc/guc_tables.c:2396 +#: utils/misc/guc_tables.c:2405 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 "Unix-Domain-Sockets verwenden die üblichen Zugriffsrechte für Unix-Dateisysteme. Der Wert dieser Option muss ein numerischer Wert in der von den Systemaufrufen chmod und umask verwendeten Form sein. (Um das gebräuchliche Oktalformat zu verwenden, muss die Zahl mit 0 (einer Null) anfangen.)" -#: utils/misc/guc_tables.c:2410 +#: utils/misc/guc_tables.c:2419 msgid "Sets the file permissions for log files." msgstr "Setzt die Dateizugriffsrechte für Logdateien." -#: utils/misc/guc_tables.c:2411 +#: utils/misc/guc_tables.c:2420 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 "Der Wert dieser Option muss ein numerischer Wert in der von den Systemaufrufen chmod und umask verwendeten Form sein. (Um das gebräuchliche Oktalformat zu verwenden, muss die Zahl mit 0 (einer Null) anfangen.)" -#: utils/misc/guc_tables.c:2425 +#: utils/misc/guc_tables.c:2434 msgid "Shows the mode of the data directory." msgstr "Zeigt die Zugriffsrechte des Datenverzeichnisses." -#: utils/misc/guc_tables.c:2426 +#: utils/misc/guc_tables.c:2435 msgid "The parameter value is 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 "Der Wert dieser Option muss ein numerischer Wert in der von den Systemaufrufen chmod und umask verwendeten Form sein. (Um das gebräuchliche Oktalformat zu verwenden, muss die Zahl mit 0 (einer Null) anfangen.)" -#: utils/misc/guc_tables.c:2439 +#: utils/misc/guc_tables.c:2448 msgid "Sets the maximum memory to be used for query workspaces." msgstr "Setzt die maximale Speichergröße für Anfrage-Arbeitsbereiche." -#: utils/misc/guc_tables.c:2440 +#: utils/misc/guc_tables.c:2449 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files." msgstr "Gibt die Speichermenge an, die für interne Sortiervorgänge und Hashtabellen verwendet werden kann, bevor auf temporäre Dateien umgeschaltet wird." -#: utils/misc/guc_tables.c:2457 +#: utils/misc/guc_tables.c:2466 msgid "Sets the maximum memory to be used for maintenance operations." msgstr "Setzt die maximale Speichergröße für Wartungsoperationen." -#: utils/misc/guc_tables.c:2458 +#: utils/misc/guc_tables.c:2467 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "Das schließt Operationen wie VACUUM und CREATE INDEX ein." -#: utils/misc/guc_tables.c:2468 +#: utils/misc/guc_tables.c:2477 msgid "Sets the maximum memory to be used for logical decoding." msgstr "Setzt die maximale Speichergröße für logische Dekodierung." -#: utils/misc/guc_tables.c:2469 +#: utils/misc/guc_tables.c:2478 msgid "This much memory can be used by each internal reorder buffer before spilling to disk." msgstr "Gibt die Speichermenge an, die für jeden internen Reorder-Puffer verwendet werden kann, bevor auf Festplatte ausgelagert wird." -#: utils/misc/guc_tables.c:2485 +#: utils/misc/guc_tables.c:2494 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Setzt die maximale Stackgröße, in Kilobytes." -#: utils/misc/guc_tables.c:2496 +#: utils/misc/guc_tables.c:2505 msgid "Limits the total size of all temporary files used by each process." msgstr "Beschränkt die Gesamtgröße aller temporären Dateien, die von einem Prozess verwendet werden." -#: utils/misc/guc_tables.c:2497 +#: utils/misc/guc_tables.c:2506 msgid "-1 means no limit." msgstr "-1 bedeutet keine Grenze." -#: utils/misc/guc_tables.c:2507 +#: utils/misc/guc_tables.c:2516 msgid "Vacuum cost for a page found in the buffer cache." msgstr "Vacuum-Kosten für eine im Puffer-Cache gefundene Seite." -#: utils/misc/guc_tables.c:2517 +#: utils/misc/guc_tables.c:2526 msgid "Vacuum cost for a page not found in the buffer cache." msgstr "Vacuum-Kosten für eine nicht im Puffer-Cache gefundene Seite." -#: utils/misc/guc_tables.c:2527 +#: utils/misc/guc_tables.c:2536 msgid "Vacuum cost for a page dirtied by vacuum." msgstr "Vacuum-Kosten für eine durch Vacuum schmutzig gemachte Seite." -#: utils/misc/guc_tables.c:2537 +#: utils/misc/guc_tables.c:2546 msgid "Vacuum cost amount available before napping." msgstr "Verfügbare Vacuum-Kosten vor Nickerchen." -#: utils/misc/guc_tables.c:2547 +#: utils/misc/guc_tables.c:2556 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "Verfügbare Vacuum-Kosten vor Nickerchen, für Autovacuum." -#: utils/misc/guc_tables.c:2557 +#: utils/misc/guc_tables.c:2566 msgid "Sets the maximum number of simultaneously open files for each server process." msgstr "Setzt die maximale Zahl gleichzeitig geöffneter Dateien für jeden Serverprozess." -#: utils/misc/guc_tables.c:2570 +#: utils/misc/guc_tables.c:2579 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "Setzt die maximale Anzahl von gleichzeitig vorbereiteten Transaktionen." -#: utils/misc/guc_tables.c:2581 +#: utils/misc/guc_tables.c:2590 msgid "Sets the minimum OID of tables for tracking locks." msgstr "Setzt die minimale Tabellen-OID für das Verfolgen von Sperren." -#: utils/misc/guc_tables.c:2582 +#: utils/misc/guc_tables.c:2591 msgid "Is used to avoid output on system tables." msgstr "Wird verwendet, um Ausgabe für Systemtabellen zu vermeiden." -#: utils/misc/guc_tables.c:2591 +#: utils/misc/guc_tables.c:2600 msgid "Sets the OID of the table with unconditionally lock tracing." msgstr "Setzt die OID der Tabelle mit bedingungsloser Sperrenverfolgung." -#: utils/misc/guc_tables.c:2603 +#: utils/misc/guc_tables.c:2612 msgid "Sets the maximum allowed duration of any statement." msgstr "Setzt die maximal erlaubte Dauer jeder Anweisung." -#: utils/misc/guc_tables.c:2604 utils/misc/guc_tables.c:2615 -#: utils/misc/guc_tables.c:2626 utils/misc/guc_tables.c:2637 -#: utils/misc/guc_tables.c:2648 +#: utils/misc/guc_tables.c:2613 utils/misc/guc_tables.c:2624 +#: utils/misc/guc_tables.c:2635 utils/misc/guc_tables.c:2646 +#: utils/misc/guc_tables.c:2657 msgid "A value of 0 turns off the timeout." msgstr "Der Wert 0 schaltet die Zeitprüfung aus." -#: utils/misc/guc_tables.c:2614 +#: utils/misc/guc_tables.c:2623 msgid "Sets the maximum allowed duration of any wait for a lock." msgstr "Setzt die maximal erlaubte Dauer, um auf eine Sperre zu warten." -#: utils/misc/guc_tables.c:2625 +#: utils/misc/guc_tables.c:2634 msgid "Sets the maximum allowed idle time between queries, when in a transaction." msgstr "Setzt die maximal erlaubte inaktive Zeit zwischen Anfragen, wenn in einer Transaktion." -#: utils/misc/guc_tables.c:2636 +#: utils/misc/guc_tables.c:2645 msgid "Sets the maximum allowed duration of any transaction within a session (not a prepared transaction)." msgstr "Setzt die maximal erlaubte Dauer jeder Transaktion innerhalb einer Sitzung (keine vorbereitete Transaktion)." -#: utils/misc/guc_tables.c:2647 +#: utils/misc/guc_tables.c:2656 msgid "Sets the maximum allowed idle time between queries, when not in a transaction." msgstr "Setzt die maximal erlaubte inaktive Zeit zwischen Anfragen, wenn nicht in einer Transaktion." -#: utils/misc/guc_tables.c:2658 +#: utils/misc/guc_tables.c:2667 msgid "Minimum age at which VACUUM should freeze a table row." msgstr "Mindestalter, bei dem VACUUM eine Tabellenzeile einfrieren soll." -#: utils/misc/guc_tables.c:2668 +#: utils/misc/guc_tables.c:2677 msgid "Age at which VACUUM should scan whole table to freeze tuples." msgstr "Alter, bei dem VACUUM die ganze Tabelle durchsuchen soll, um Zeilen einzufrieren." -#: utils/misc/guc_tables.c:2678 +#: utils/misc/guc_tables.c:2687 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." msgstr "Mindestalter, bei dem VACUUM eine MultiXactId in einer Tabellenzeile einfrieren soll." -#: utils/misc/guc_tables.c:2688 +#: utils/misc/guc_tables.c:2697 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." msgstr "Multixact-Alter, bei dem VACUUM die ganze Tabelle durchsuchen soll, um Zeilen einzufrieren." -#: utils/misc/guc_tables.c:2698 +#: utils/misc/guc_tables.c:2707 msgid "Age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Alter, bei dem VACUUM die Ausfallsicherung auslösen soll, um Ausfall wegen Transaktionsnummernüberlauf zu verhindern." -#: utils/misc/guc_tables.c:2707 +#: utils/misc/guc_tables.c:2716 msgid "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Multixact-Alter, bei dem VACUUM die Ausfallsicherung auslösen soll, um Ausfall wegen Transaktionsnummernüberlauf zu verhindern." -#: utils/misc/guc_tables.c:2720 +#: utils/misc/guc_tables.c:2729 msgid "Sets the maximum number of locks per transaction." msgstr "Setzt die maximale Anzahl Sperren pro Transaktion." -#: utils/misc/guc_tables.c:2721 +#: utils/misc/guc_tables.c:2730 msgid "The shared lock table is sized on the assumption that at most \"max_locks_per_transaction\" objects per server process or prepared transaction will need to be locked at any one time." msgstr "Die globale Sperrentabelle wird mit der Annahme angelegt, das höchstens »max_locks_per_transaction« Objekte pro Serverprozess oder vorbereitete Transaktion gleichzeitig gesperrt werden müssen." -#: utils/misc/guc_tables.c:2732 +#: utils/misc/guc_tables.c:2741 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Setzt die maximale Anzahl Prädikatsperren pro Transaktion." -#: utils/misc/guc_tables.c:2733 +#: utils/misc/guc_tables.c:2742 msgid "The shared predicate lock table is sized on the assumption that at most \"max_pred_locks_per_transaction\" objects per server process or prepared transaction will need to be locked at any one time." msgstr "Die globale Prädikatsperrentabelle wird mit der Annahme angelegt, das höchstens »max_pred_locks_per_transaction« Objekte pro Serverprozess oder vorbereitete Transaktion gleichzeitig gesperrt werden müssen." -#: utils/misc/guc_tables.c:2744 +#: utils/misc/guc_tables.c:2753 msgid "Sets the maximum number of predicate-locked pages and tuples per relation." msgstr "Setzt die maximale Anzahl Prädikatsperren für Seiten und Tupel pro Relation." -#: utils/misc/guc_tables.c:2745 +#: utils/misc/guc_tables.c:2754 msgid "If more than this total of pages and tuples in the same relation are locked by a connection, those locks are replaced by a relation-level lock." msgstr "Wenn mehr als diese Gesamtzahl Seiten und Tupel in der selben Relation von einer Verbindung gesperrt sind, werden diese Sperren durch eine Sperre auf Relationsebene ersetzt." -#: utils/misc/guc_tables.c:2755 +#: utils/misc/guc_tables.c:2764 msgid "Sets the maximum number of predicate-locked tuples per page." msgstr "Setzt die maximale Anzahl Prädikatsperren für Tupel pro Seite." -#: utils/misc/guc_tables.c:2756 +#: utils/misc/guc_tables.c:2765 msgid "If more than this number of tuples on the same page are locked by a connection, those locks are replaced by a page-level lock." msgstr "Wenn mehr als diese Anzahl Tupel auf der selben Seite von einer Verbindung gesperrt sind, werden diese Sperren durch eine Sperre auf Seitenebene ersetzt." -#: utils/misc/guc_tables.c:2766 +#: utils/misc/guc_tables.c:2775 msgid "Sets the maximum allowed time to complete client authentication." msgstr "Setzt die maximale Zeit, um die Client-Authentifizierung zu beenden." -#: utils/misc/guc_tables.c:2778 +#: utils/misc/guc_tables.c:2787 msgid "Sets the amount of time to wait before authentication on connection startup." msgstr "Setzt die Zeit, die vor der Authentifizierung beim Verbindungsstart gewartet wird." -#: utils/misc/guc_tables.c:2790 +#: utils/misc/guc_tables.c:2799 msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue." msgstr "Setzt die maximale Anzahl bereitgestellte Seiten für die NOTIFY/LISTEN-Warteschlange." -#: utils/misc/guc_tables.c:2800 +#: utils/misc/guc_tables.c:2809 msgid "Buffer size for reading ahead in the WAL during recovery." msgstr "Puffergröße für WAL-Read-Ahead während der Wiederherstellung." -#: utils/misc/guc_tables.c:2801 +#: utils/misc/guc_tables.c:2810 msgid "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." msgstr "Maximale Entfernung, die im WAL vorausgelesen wird, um Datenblöcke, auf die verwiesen wird, vorab einzulesen." -#: utils/misc/guc_tables.c:2811 +#: utils/misc/guc_tables.c:2820 msgid "Sets the size of WAL files held for standby servers." msgstr "Setzt die Größe der für Standby-Server vorgehaltenen WAL-Dateien." -#: utils/misc/guc_tables.c:2822 +#: utils/misc/guc_tables.c:2831 msgid "Sets the minimum size to shrink the WAL to." msgstr "Setzt die minimale Größe, auf die der WAL geschrumpft wird." -#: utils/misc/guc_tables.c:2834 +#: utils/misc/guc_tables.c:2843 msgid "Sets the WAL size that triggers a checkpoint." msgstr "Setzt die WAL-Größe, die einen Checkpoint auslöst." -#: utils/misc/guc_tables.c:2846 +#: utils/misc/guc_tables.c:2855 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "Setzt die maximale Zeit zwischen automatischen WAL-Checkpoints." -#: utils/misc/guc_tables.c:2857 +#: utils/misc/guc_tables.c:2866 msgid "Sets the maximum time before warning if checkpoints triggered by WAL volume happen too frequently." msgstr "Setzt die maximale Zeit, bevor gewarnt wird, wenn durch WAL-Volumen ausgelöste Checkpoints zu häufig passieren." -#: utils/misc/guc_tables.c:2859 +#: utils/misc/guc_tables.c:2868 msgid "Write a message to the server log if checkpoints caused by the filling of WAL segment files happen more frequently than this amount of time. Zero turns off the warning." msgstr "Schreibe Meldung in den Serverlog, wenn Checkpoints, die durch Füllen der WAL-Segmentdateien ausgelöst werden, häufiger als dieser Zeitraum passieren. Null schaltet die Warnung ab." -#: utils/misc/guc_tables.c:2872 utils/misc/guc_tables.c:3090 -#: utils/misc/guc_tables.c:3144 +#: utils/misc/guc_tables.c:2881 utils/misc/guc_tables.c:3099 +#: utils/misc/guc_tables.c:3153 msgid "Number of pages after which previously performed writes are flushed to disk." msgstr "Anzahl der Seiten, nach denen getätigte Schreibvorgänge auf die Festplatte zurückgeschrieben werden." -#: utils/misc/guc_tables.c:2883 +#: utils/misc/guc_tables.c:2892 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "Setzt die Anzahl Diskseitenpuffer für WAL im Shared Memory." -#: utils/misc/guc_tables.c:2884 +#: utils/misc/guc_tables.c:2893 msgid "Specify -1 to have this value determined as a fraction of shared_buffers." msgstr "Geben Sie -1 an, um diesen Wert als einen Bruchteil von shared_buffers zu ermitteln." -#: utils/misc/guc_tables.c:2894 +#: utils/misc/guc_tables.c:2903 msgid "Time between WAL flushes performed in the WAL writer." msgstr "Zeit zwischen WAL-Flush-Operationen im WAL-Writer." -#: utils/misc/guc_tables.c:2905 +#: utils/misc/guc_tables.c:2914 msgid "Amount of WAL written out by WAL writer that triggers a flush." msgstr "Ein Flush wird ausgelöst, wenn diese Menge WAL vom WAL-Writer geschrieben worden ist." -#: utils/misc/guc_tables.c:2916 +#: utils/misc/guc_tables.c:2925 msgid "Minimum size of new file to fsync instead of writing WAL." msgstr "Mindestgröße ab der neue Datei gefsynct wird statt WAL zu schreiben." -#: utils/misc/guc_tables.c:2927 +#: utils/misc/guc_tables.c:2936 msgid "Sets the maximum number of simultaneously running WAL sender processes." msgstr "Setzt die maximale Anzahl gleichzeitig laufender WAL-Sender-Prozesse." -#: utils/misc/guc_tables.c:2938 +#: utils/misc/guc_tables.c:2947 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "Setzt die maximale Anzahl von gleichzeitig definierten Replikations-Slots." -#: utils/misc/guc_tables.c:2948 +#: utils/misc/guc_tables.c:2957 msgid "Sets the maximum WAL size that can be reserved by replication slots." msgstr "Setzt die maximale WAL-Größe, die von Replikations-Slots reserviert werden kann." -#: utils/misc/guc_tables.c:2949 +#: utils/misc/guc_tables.c:2958 msgid "Replication slots will be marked as failed, and segments released for deletion or recycling, if this much space is occupied by WAL on disk." msgstr "Replikations-Slots werden als fehlgeschlagen markiert, und Segmente zum Löschen oder Wiederverwenden freigegeben, wenn so viel Platz von WAL auf der Festplatte belegt wird." -#: utils/misc/guc_tables.c:2961 +#: utils/misc/guc_tables.c:2970 msgid "Sets the maximum time to wait for WAL replication." msgstr "Setzt die maximale Zeit, um auf WAL-Replikation zu warten." -#: utils/misc/guc_tables.c:2972 +#: utils/misc/guc_tables.c:2981 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk." msgstr "Setzt die Verzögerung in Millisekunden zwischen Transaktionsabschluss und dem Schreiben von WAL auf die Festplatte." -#: utils/misc/guc_tables.c:2984 +#: utils/misc/guc_tables.c:2993 msgid "Sets the minimum number of concurrent open transactions required before performing \"commit_delay\"." msgstr "Setzt die notwendige minimale Anzahl gleichzeitig offener Transaktionen bevor »commit_delay« angewendet wird." -#: utils/misc/guc_tables.c:2995 +#: utils/misc/guc_tables.c:3004 msgid "Sets the number of digits displayed for floating-point values." msgstr "Setzt die Anzahl ausgegebener Ziffern für Fließkommawerte." -#: utils/misc/guc_tables.c:2996 +#: utils/misc/guc_tables.c:3005 msgid "This affects real, double precision, and geometric data types. A zero or negative parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate). Any value greater than zero selects precise output mode." msgstr "Diese Einstellung betrifft real, double precision und geometrische Datentypen. Null oder ein negativer Parameterwert wird zur Standardziffernanzahl (FLT_DIG bzw. DBL_DIG) hinzuaddiert. Ein Wert größer als Null wählt präzisen Ausgabemodus." -#: utils/misc/guc_tables.c:3008 +#: utils/misc/guc_tables.c:3017 msgid "Sets the minimum execution time above which a sample of statements will be logged. Sampling is determined by log_statement_sample_rate." msgstr "Setzt die minimale Ausführungszeit, über der Stichproben aller Anweisungen geloggt werden. Die Stichproben werden durch log_statement_sample_rate bestimmt." -#: utils/misc/guc_tables.c:3011 +#: utils/misc/guc_tables.c:3020 msgid "Zero logs a sample of all queries. -1 turns this feature off." msgstr "Null loggt eine Stichprobe aller Anfragen. -1 schaltet dieses Feature aus." -#: utils/misc/guc_tables.c:3021 +#: utils/misc/guc_tables.c:3030 msgid "Sets the minimum execution time above which all statements will be logged." msgstr "Setzt die minimale Ausführungszeit, über der alle Anweisungen geloggt werden." -#: utils/misc/guc_tables.c:3023 +#: utils/misc/guc_tables.c:3032 msgid "Zero prints all queries. -1 turns this feature off." msgstr "Null zeigt alle Anfragen. -1 schaltet dieses Feature aus." -#: utils/misc/guc_tables.c:3033 +#: utils/misc/guc_tables.c:3042 msgid "Sets the minimum execution time above which autovacuum actions will be logged." msgstr "Setzt die minimale Ausführungszeit, über der Autovacuum-Aktionen geloggt werden." -#: utils/misc/guc_tables.c:3035 +#: utils/misc/guc_tables.c:3044 msgid "Zero prints all actions. -1 turns autovacuum logging off." msgstr "Null gibt alls Aktionen aus. -1 schaltet die Log-Aufzeichnung über Autovacuum aus." -#: utils/misc/guc_tables.c:3045 +#: utils/misc/guc_tables.c:3054 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements." msgstr "Setzt die maximale Länge in Bytes für geloggte Daten von Bind-Parametern, wenn Anfragen geloggt werden." -#: utils/misc/guc_tables.c:3047 utils/misc/guc_tables.c:3059 +#: utils/misc/guc_tables.c:3056 utils/misc/guc_tables.c:3068 msgid "-1 to print values in full." msgstr "-1 um die Werte vollständig auszugeben." -#: utils/misc/guc_tables.c:3057 +#: utils/misc/guc_tables.c:3066 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements, on error." msgstr "Setzt die maximale Länge in Bytes für bei Fehlern geloggte Daten von Bind-Parametern, wenn Anfragen geloggt werden." -#: utils/misc/guc_tables.c:3069 +#: utils/misc/guc_tables.c:3078 msgid "Background writer sleep time between rounds." msgstr "Schlafzeit zwischen Durchläufen des Background-Writers." -#: utils/misc/guc_tables.c:3080 +#: utils/misc/guc_tables.c:3089 msgid "Background writer maximum number of LRU pages to flush per round." msgstr "Maximale Anzahl der vom Background-Writer pro Durchlauf zu flushenden LRU-Seiten." -#: utils/misc/guc_tables.c:3103 +#: utils/misc/guc_tables.c:3112 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem." msgstr "Anzahl simultaner Anfragen, die das Festplattensubsystem effizient bearbeiten kann." -#: utils/misc/guc_tables.c:3117 +#: utils/misc/guc_tables.c:3126 msgid "A variant of \"effective_io_concurrency\" that is used for maintenance work." msgstr "Eine Variante von »effective_io_concurrency«, die für Wartungsarbeiten verwendet wird." -#: utils/misc/guc_tables.c:3132 +#: utils/misc/guc_tables.c:3141 msgid "Limit on the size of data reads and writes." msgstr "Begrenzung der Größe von Datenlese- und -schreibvorgängen." -#: utils/misc/guc_tables.c:3157 +#: utils/misc/guc_tables.c:3166 msgid "Maximum number of concurrent worker processes." msgstr "Maximale Anzahl gleichzeitiger Worker-Prozesse." -#: utils/misc/guc_tables.c:3169 +#: utils/misc/guc_tables.c:3178 msgid "Maximum number of logical replication worker processes." msgstr "Maximale Anzahl Arbeitsprozesse für logische Replikation." -#: utils/misc/guc_tables.c:3181 +#: utils/misc/guc_tables.c:3190 msgid "Maximum number of table synchronization workers per subscription." msgstr "Maximale Anzahl Arbeitsprozesse für Tabellensynchronisation pro Subskription." -#: utils/misc/guc_tables.c:3193 +#: utils/misc/guc_tables.c:3202 msgid "Maximum number of parallel apply workers per subscription." msgstr "Maximale Anzahl Parallel-Apply-Worker pro Subskription." -#: utils/misc/guc_tables.c:3203 +#: utils/misc/guc_tables.c:3212 msgid "Sets the amount of time to wait before forcing log file rotation." msgstr "Setzt die Zeit, die gewartet wird, bevor Logdateirotation erzwungen wird." -#: utils/misc/guc_tables.c:3215 +#: utils/misc/guc_tables.c:3224 msgid "Sets the maximum size a log file can reach before being rotated." msgstr "Setzt die maximale Größe, die eine Logdatei erreichen kann, bevor sie rotiert wird." -#: utils/misc/guc_tables.c:3227 +#: utils/misc/guc_tables.c:3236 msgid "Shows the maximum number of function arguments." msgstr "Setzt die maximale Anzahl von Funktionsargumenten." -#: utils/misc/guc_tables.c:3238 +#: utils/misc/guc_tables.c:3247 msgid "Shows the maximum number of index keys." msgstr "Zeigt die maximale Anzahl von Indexschlüsseln." -#: utils/misc/guc_tables.c:3249 +#: utils/misc/guc_tables.c:3258 msgid "Shows the maximum identifier length." msgstr "Zeigt die maximale Länge von Bezeichnern." -#: utils/misc/guc_tables.c:3260 +#: utils/misc/guc_tables.c:3269 msgid "Shows the size of a disk block." msgstr "Zeigt die Größe eines Diskblocks." -#: utils/misc/guc_tables.c:3271 +#: utils/misc/guc_tables.c:3280 msgid "Shows the number of pages per disk file." msgstr "Zeigt die Anzahl Seiten pro Diskdatei." -#: utils/misc/guc_tables.c:3282 +#: utils/misc/guc_tables.c:3291 msgid "Shows the block size in the write ahead log." msgstr "Zeigt die Blockgröße im Write-Ahead-Log." -#: utils/misc/guc_tables.c:3293 +#: utils/misc/guc_tables.c:3302 msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgstr "Setzt die Zeit, die gewartet wird, bevor nach einem fehlgeschlagenen Versuch neue WAL-Daten angefordert werden." -#: utils/misc/guc_tables.c:3305 +#: utils/misc/guc_tables.c:3314 msgid "Shows the size of write ahead log segments." msgstr "Zeigt die Größe eines Write-Ahead-Log-Segments." -#: utils/misc/guc_tables.c:3318 +#: utils/misc/guc_tables.c:3327 msgid "Time for which WAL summary files should be kept." msgstr "Zeit, für die WAL-Summary-Dateien aufgehoben werden sollen." -#: utils/misc/guc_tables.c:3331 +#: utils/misc/guc_tables.c:3340 msgid "Time to sleep between autovacuum runs." msgstr "Wartezeit zwischen Autovacuum-Durchläufen." -#: utils/misc/guc_tables.c:3341 +#: utils/misc/guc_tables.c:3350 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "Mindestanzahl an geänderten oder gelöschten Tupeln vor einem Vacuum." -#: utils/misc/guc_tables.c:3350 +#: utils/misc/guc_tables.c:3359 msgid "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums." msgstr "Mindestanzahl an Einfügeoperationen vor einem Vacuum, oder -1 um auszuschalten." -#: utils/misc/guc_tables.c:3359 +#: utils/misc/guc_tables.c:3368 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." msgstr "Mindestanzahl an Einfüge-, Änderungs- oder Löschoperationen vor einem Analyze." -#: utils/misc/guc_tables.c:3369 +#: utils/misc/guc_tables.c:3378 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound." msgstr "Alter, nach dem eine Tabelle automatisch gevacuumt wird, um Transaktionsnummernüberlauf zu verhindern." -#: utils/misc/guc_tables.c:3381 +#: utils/misc/guc_tables.c:3390 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound." msgstr "Multixact-Alter, nach dem eine Tabelle automatisch gevacuumt wird, um Transaktionsnummernüberlauf zu verhindern." -#: utils/misc/guc_tables.c:3391 +#: utils/misc/guc_tables.c:3400 msgid "Sets the maximum number of simultaneously running autovacuum worker processes." msgstr "Setzt die maximale Anzahl gleichzeitig laufender Autovacuum-Worker-Prozesse." -#: utils/misc/guc_tables.c:3401 +#: utils/misc/guc_tables.c:3410 msgid "Sets the maximum number of parallel processes per maintenance operation." msgstr "Setzt die maximale Anzahl paralleler Prozesse pro Wartungsoperation." -#: utils/misc/guc_tables.c:3411 +#: utils/misc/guc_tables.c:3420 msgid "Sets the maximum number of parallel processes per executor node." msgstr "Setzt die maximale Anzahl paralleler Prozesse pro Executor-Knoten." -#: utils/misc/guc_tables.c:3422 +#: utils/misc/guc_tables.c:3431 msgid "Sets the maximum number of parallel workers that can be active at one time." msgstr "Setzt die maximale Anzahl paralleler Arbeitsprozesse, die gleichzeitig aktiv sein können." -#: utils/misc/guc_tables.c:3433 +#: utils/misc/guc_tables.c:3442 msgid "Sets the maximum memory to be used by each autovacuum worker process." msgstr "Setzt die maximale Speichergröße für jeden Autovacuum-Worker-Prozess." -#: utils/misc/guc_tables.c:3444 +#: utils/misc/guc_tables.c:3453 msgid "Time between issuing TCP keepalives." msgstr "Zeit zwischen TCP-Keepalive-Sendungen." -#: utils/misc/guc_tables.c:3445 utils/misc/guc_tables.c:3456 -#: utils/misc/guc_tables.c:3580 +#: utils/misc/guc_tables.c:3454 utils/misc/guc_tables.c:3465 +#: utils/misc/guc_tables.c:3589 msgid "A value of 0 uses the system default." msgstr "Der Wert 0 verwendet die Systemvoreinstellung." -#: utils/misc/guc_tables.c:3455 +#: utils/misc/guc_tables.c:3464 msgid "Time between TCP keepalive retransmits." msgstr "Zeit zwischen TCP-Keepalive-Neuübertragungen." -#: utils/misc/guc_tables.c:3466 +#: utils/misc/guc_tables.c:3475 msgid "SSL renegotiation is no longer supported; this can only be 0." msgstr "SSL-Renegotiation wird nicht mehr unterstützt; kann nur auf 0 gesetzt werden." -#: utils/misc/guc_tables.c:3477 +#: utils/misc/guc_tables.c:3486 msgid "Maximum number of TCP keepalive retransmits." msgstr "Maximale Anzahl an TCP-Keepalive-Neuübertragungen." -#: utils/misc/guc_tables.c:3478 +#: utils/misc/guc_tables.c:3487 msgid "Number of consecutive keepalive retransmits that can be lost before a connection is considered dead. A value of 0 uses the system default." msgstr "Anzahl von aufeinanderfolgenden Keepalive-Neuübertragungen, die verloren gehen dürfen, bis die Verbindung als tot betrachtet wird. Der Wert 0 verwendet die Betriebssystemvoreinstellung." -#: utils/misc/guc_tables.c:3489 +#: utils/misc/guc_tables.c:3498 msgid "Sets the maximum allowed result for exact search by GIN." msgstr "Setzt die maximal erlaubte Anzahl Ergebnisse für eine genaue Suche mit GIN." -#: utils/misc/guc_tables.c:3500 +#: utils/misc/guc_tables.c:3509 msgid "Sets the planner's assumption about the total size of the data caches." msgstr "Setzt die Annahme des Planers über die Gesamtgröße der Daten-Caches." -#: utils/misc/guc_tables.c:3501 +#: utils/misc/guc_tables.c:3510 msgid "That is, the total size of the caches (kernel cache and shared buffers) used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each." msgstr "Das heißt, die Gesamtgröße der Caches (Kernel-Cache und Shared Buffers), die für Datendateien von PostgreSQL verwendet wird. Das wird in Diskseiten gemessen, welche normalerweise 8 kB groß sind." -#: utils/misc/guc_tables.c:3512 +#: utils/misc/guc_tables.c:3521 msgid "Sets the minimum amount of table data for a parallel scan." msgstr "Setzt die Mindestmenge an Tabellendaten für einen parallelen Scan." -#: utils/misc/guc_tables.c:3513 +#: utils/misc/guc_tables.c:3522 msgid "If the planner estimates that it will read a number of table pages too small to reach this limit, a parallel scan will not be considered." msgstr "Wenn der Planer schätzt, dass zu wenige Tabellenseiten gelesen werden werden um diesen Wert zu erreichen, dann wird kein paralleler Scan in Erwägung gezogen werden." -#: utils/misc/guc_tables.c:3523 +#: utils/misc/guc_tables.c:3532 msgid "Sets the minimum amount of index data for a parallel scan." msgstr "Setzt die Mindestmenge an Indexdaten für einen parallelen Scan." -#: utils/misc/guc_tables.c:3524 +#: utils/misc/guc_tables.c:3533 msgid "If the planner estimates that it will read a number of index pages too small to reach this limit, a parallel scan will not be considered." msgstr "Wenn der Planer schätzt, dass zu wenige Indexseiten gelesen werden werden um diesen Wert zu erreichen, dann wird kein paralleler Scan in Erwägung gezogen werden." -#: utils/misc/guc_tables.c:3535 +#: utils/misc/guc_tables.c:3544 msgid "Shows the server version as an integer." msgstr "Zeigt die Serverversion als Zahl." -#: utils/misc/guc_tables.c:3546 +#: utils/misc/guc_tables.c:3555 msgid "Log the use of temporary files larger than this number of kilobytes." msgstr "Schreibt Meldungen über die Verwendung von temporären Dateien in den Log, wenn sie größer als diese Anzahl an Kilobytes sind." -#: utils/misc/guc_tables.c:3547 +#: utils/misc/guc_tables.c:3556 msgid "Zero logs all files. The default is -1 (turning this feature off)." msgstr "Null loggt alle Dateien. Die Standardeinstellung ist -1 (wodurch dieses Feature ausgeschaltet wird)." -#: utils/misc/guc_tables.c:3557 +#: utils/misc/guc_tables.c:3566 msgid "Sets the size reserved for pg_stat_activity.query, in bytes." msgstr "Setzt die für pg_stat_activity.query reservierte Größe, in Bytes." -#: utils/misc/guc_tables.c:3568 +#: utils/misc/guc_tables.c:3577 msgid "Sets the maximum size of the pending list for GIN index." msgstr "Setzt die maximale Größe der Pending-Liste eines GIN-Index." -#: utils/misc/guc_tables.c:3579 +#: utils/misc/guc_tables.c:3588 msgid "TCP user timeout." msgstr "TCP-User-Timeout." -#: utils/misc/guc_tables.c:3590 +#: utils/misc/guc_tables.c:3599 msgid "The size of huge page that should be requested." msgstr "Huge-Page-Größe, die angefordert werden soll." -#: utils/misc/guc_tables.c:3601 +#: utils/misc/guc_tables.c:3610 msgid "Aggressively flush system caches for debugging purposes." msgstr "System-Caches aggressiv flushen, zum Debuggen." -#: utils/misc/guc_tables.c:3624 +#: utils/misc/guc_tables.c:3633 msgid "Sets the time interval between checks for disconnection while running queries." msgstr "Setzt das Zeitintervall zwischen Prüfungen auf Verbindungsabbruch während Anfragen laufen." -#: utils/misc/guc_tables.c:3635 +#: utils/misc/guc_tables.c:3644 msgid "Time between progress updates for long-running startup operations." msgstr "Zeit zwischen Fortschrittsnachrichten für lange laufende Operationen beim Serverstart." -#: utils/misc/guc_tables.c:3637 +#: utils/misc/guc_tables.c:3646 msgid "0 turns this feature off." msgstr "0 schaltet dieses Feature aus." -#: utils/misc/guc_tables.c:3647 +#: utils/misc/guc_tables.c:3656 msgid "Sets the iteration count for SCRAM secret generation." msgstr "Setzt die Iterationszahl für die Erzeugung von SCRAM-Geheimnissen." -#: utils/misc/guc_tables.c:3667 +#: utils/misc/guc_tables.c:3676 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page." msgstr "Setzt den vom Planer geschätzten Aufwand, um eine sequenzielle Diskseite zu lesen." -#: utils/misc/guc_tables.c:3678 +#: utils/misc/guc_tables.c:3687 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page." msgstr "Setzt den vom Planer geschätzten Aufwand, um eine nichtsequenzielle Diskseite zu lesen." -#: utils/misc/guc_tables.c:3689 +#: utils/misc/guc_tables.c:3698 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung einer Zeile." -#: utils/misc/guc_tables.c:3700 +#: utils/misc/guc_tables.c:3709 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan." msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung eines Indexeintrags während eines Index-Scans." -#: utils/misc/guc_tables.c:3711 +#: utils/misc/guc_tables.c:3720 msgid "Sets the planner's estimate of the cost of processing each operator or function call." msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung eines Operators oder Funktionsaufrufs." -#: utils/misc/guc_tables.c:3722 +#: utils/misc/guc_tables.c:3731 msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to leader backend." msgstr "Setzt den vom Planer geschätzten Aufwand, um eine Zeile vom Arbeitsprozess an das Leader-Backend zu senden." -#: utils/misc/guc_tables.c:3733 +#: utils/misc/guc_tables.c:3742 msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query." msgstr "Setzt den vom Planer geschätzten Aufwand für das Starten von Arbeitsprozessen für parallele Anfragen." -#: utils/misc/guc_tables.c:3745 +#: utils/misc/guc_tables.c:3754 msgid "Perform JIT compilation if query is more expensive." msgstr "JIT-Kompilierung durchführen, wenn die Anfrage teurer ist." -#: utils/misc/guc_tables.c:3746 +#: utils/misc/guc_tables.c:3755 msgid "-1 disables JIT compilation." msgstr "-1 schaltet JIT-Kompilierung aus." -#: utils/misc/guc_tables.c:3756 +#: utils/misc/guc_tables.c:3765 msgid "Optimize JIT-compiled functions if query is more expensive." msgstr "JIT-kompilierte Funktionen optimieren, wenn die Anfrage teurer ist." -#: utils/misc/guc_tables.c:3757 +#: utils/misc/guc_tables.c:3766 msgid "-1 disables optimization." msgstr "-1 schaltet Optimierung aus." -#: utils/misc/guc_tables.c:3767 +#: utils/misc/guc_tables.c:3776 msgid "Perform JIT inlining if query is more expensive." msgstr "JIT-Inlining durchführen, wenn die Anfrage teurer ist." -#: utils/misc/guc_tables.c:3768 +#: utils/misc/guc_tables.c:3777 msgid "-1 disables inlining." msgstr "-1 schaltet Inlining aus." -#: utils/misc/guc_tables.c:3778 +#: utils/misc/guc_tables.c:3787 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved." msgstr "Setzt die Planerschätzung für den Anteil der Cursor-Zeilen, die ausgelesen werden werden." -#: utils/misc/guc_tables.c:3790 +#: utils/misc/guc_tables.c:3799 msgid "Sets the planner's estimate of the average size of a recursive query's working table." msgstr "Setzt die Planerschätzung für die durchschnittliche Größe der Arbeitstabelle einer rekursiven Anfrage." -#: utils/misc/guc_tables.c:3802 +#: utils/misc/guc_tables.c:3811 msgid "GEQO: selective pressure within the population." msgstr "GEQO: selektiver Auswahldruck in der Bevölkerung." -#: utils/misc/guc_tables.c:3813 +#: utils/misc/guc_tables.c:3822 msgid "GEQO: seed for random path selection." msgstr "GEQO: Ausgangswert für die zufällige Pfadauswahl." -#: utils/misc/guc_tables.c:3824 +#: utils/misc/guc_tables.c:3833 msgid "Multiple of \"work_mem\" to use for hash tables." msgstr "Vielfaches von »work_mem« zur Verwendung bei Hash-Tabellen." -#: utils/misc/guc_tables.c:3835 +#: utils/misc/guc_tables.c:3844 msgid "Multiple of the average buffer usage to free per round." msgstr "Vielfaches der durchschnittlichen freizugebenden Pufferverwendung pro Runde." -#: utils/misc/guc_tables.c:3845 +#: utils/misc/guc_tables.c:3854 msgid "Sets the seed for random-number generation." msgstr "Setzt den Ausgangswert für die Zufallszahlenerzeugung." -#: utils/misc/guc_tables.c:3856 +#: utils/misc/guc_tables.c:3865 msgid "Vacuum cost delay in milliseconds." msgstr "Vacuum-Kosten-Verzögerung in Millisekunden." -#: utils/misc/guc_tables.c:3867 +#: utils/misc/guc_tables.c:3876 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Vacuum-Kosten-Verzögerung in Millisekunden, für Autovacuum." -#: utils/misc/guc_tables.c:3878 +#: utils/misc/guc_tables.c:3887 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples." msgstr "Anzahl geänderter oder gelöschter Tupel vor einem Vacuum, relativ zu reltuples." -#: utils/misc/guc_tables.c:3888 +#: utils/misc/guc_tables.c:3897 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." msgstr "Anzahl eingefügter Tupel vor einem Vacuum, relativ zu reltuples." -#: utils/misc/guc_tables.c:3898 +#: utils/misc/guc_tables.c:3907 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples." msgstr "Anzahl eingefügter, geänderter oder gelöschter Tupel vor einem Analyze, relativ zu reltuples." -#: utils/misc/guc_tables.c:3908 +#: utils/misc/guc_tables.c:3917 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval." msgstr "Zeit, die damit verbracht wird, modifizierte Puffer während eines Checkpoints zurückzuschreiben, als Bruchteil des Checkpoint-Intervalls." -#: utils/misc/guc_tables.c:3918 +#: utils/misc/guc_tables.c:3927 msgid "Fraction of statements exceeding \"log_min_duration_sample\" to be logged." msgstr "Anteil der zu loggenden Anweisungen, die »log_min_duration_sample« überschreiten." -#: utils/misc/guc_tables.c:3919 +#: utils/misc/guc_tables.c:3928 msgid "Use a value between 0.0 (never log) and 1.0 (always log)." msgstr "Verwenden Sie einen Wert zwischen 0.0 (nie loggen) und 1.0 (immer loggen)." -#: utils/misc/guc_tables.c:3928 +#: utils/misc/guc_tables.c:3937 msgid "Sets the fraction of transactions from which to log all statements." msgstr "Setzt den Bruchteil der Transaktionen, aus denen alle Anweisungen geloggt werden." -#: utils/misc/guc_tables.c:3929 +#: utils/misc/guc_tables.c:3938 msgid "Use a value between 0.0 (never log) and 1.0 (log all statements for all transactions)." msgstr "Verwenden Sie einen Wert zwischen 0.0 (nie loggen) und 1.0 (alle Anweisungen für alle Transaktionen loggen)." -#: utils/misc/guc_tables.c:3948 +#: utils/misc/guc_tables.c:3957 msgid "Sets the shell command that will be called to archive a WAL file." msgstr "Setzt den Shell-Befehl, der aufgerufen wird, um eine WAL-Datei zu archivieren." -#: utils/misc/guc_tables.c:3949 +#: utils/misc/guc_tables.c:3958 msgid "This is used only if \"archive_library\" is not set." msgstr "Dieser wird nur verwendet, wenn »archive_library« nicht gesetzt ist." -#: utils/misc/guc_tables.c:3958 +#: utils/misc/guc_tables.c:3967 msgid "Sets the library that will be called to archive a WAL file." msgstr "Setzt die Bibliothek, die aufgerufen wird, um eine WAL-Datei zu archivieren." -#: utils/misc/guc_tables.c:3959 +#: utils/misc/guc_tables.c:3968 msgid "An empty string indicates that \"archive_command\" should be used." msgstr "Eine leere Zeichenkette bedeutet, dass »archive_command« verwendet werden soll." -#: utils/misc/guc_tables.c:3968 +#: utils/misc/guc_tables.c:3977 msgid "Sets the shell command that will be called to retrieve an archived WAL file." msgstr "Setzt den Shell-Befehl, der aufgerufen wird, um eine archivierte WAL-Datei zurückzuholen." -#: utils/misc/guc_tables.c:3978 +#: utils/misc/guc_tables.c:3987 msgid "Sets the shell command that will be executed at every restart point." msgstr "Setzt den Shell-Befehl, der bei jedem Restart-Punkt ausgeführt wird." -#: utils/misc/guc_tables.c:3988 +#: utils/misc/guc_tables.c:3997 msgid "Sets the shell command that will be executed once at the end of recovery." msgstr "Setzt den Shell-Befehl, der einmal am Ende der Wiederherstellung ausgeführt wird." -#: utils/misc/guc_tables.c:3998 +#: utils/misc/guc_tables.c:4007 msgid "Specifies the timeline to recover into." msgstr "Gibt die Zeitleiste für die Wiederherstellung an." -#: utils/misc/guc_tables.c:4008 +#: utils/misc/guc_tables.c:4017 msgid "Set to \"immediate\" to end recovery as soon as a consistent state is reached." msgstr "Auf »immediate« setzen, um die Wiederherstellung zu beenden, sobald ein konsistenter Zustand erreicht ist." -#: utils/misc/guc_tables.c:4017 +#: utils/misc/guc_tables.c:4026 msgid "Sets the transaction ID up to which recovery will proceed." msgstr "Setzt die Transaktions-ID, bis zu der die Wiederherstellung voranschreiten wird." -#: utils/misc/guc_tables.c:4026 +#: utils/misc/guc_tables.c:4035 msgid "Sets the time stamp up to which recovery will proceed." msgstr "Setzt den Zeitstempel, bis zu dem die Wiederherstellung voranschreiten wird." -#: utils/misc/guc_tables.c:4035 +#: utils/misc/guc_tables.c:4044 msgid "Sets the named restore point up to which recovery will proceed." msgstr "Setzt den benannten Restore-Punkt, bis zu dem die Wiederherstellung voranschreiten wird." -#: utils/misc/guc_tables.c:4044 +#: utils/misc/guc_tables.c:4053 msgid "Sets the LSN of the write-ahead log location up to which recovery will proceed." msgstr "Setzt die LSN der Write-Ahead-Log-Position, bis zu der die Wiederherstellung voranschreiten wird." -#: utils/misc/guc_tables.c:4054 +#: utils/misc/guc_tables.c:4063 msgid "Sets the connection string to be used to connect to the sending server." msgstr "Setzt die Verbindungszeichenkette zur Verbindung mit dem sendenden Server." -#: utils/misc/guc_tables.c:4065 +#: utils/misc/guc_tables.c:4074 msgid "Sets the name of the replication slot to use on the sending server." msgstr "Setzt den Namen des zu verwendenden Replikations-Slots auf dem sendenden Server." -#: utils/misc/guc_tables.c:4075 +#: utils/misc/guc_tables.c:4084 msgid "Sets the client's character set encoding." msgstr "Setzt die Zeichensatzkodierung des Clients." -#: utils/misc/guc_tables.c:4086 +#: utils/misc/guc_tables.c:4095 msgid "Controls information prefixed to each log line." msgstr "Bestimmt die Informationen, die vor jede Logzeile geschrieben werden." -#: utils/misc/guc_tables.c:4087 +#: utils/misc/guc_tables.c:4096 msgid "If blank, no prefix is used." msgstr "Wenn leer, dann wird kein Präfix verwendet." -#: utils/misc/guc_tables.c:4096 +#: utils/misc/guc_tables.c:4105 msgid "Sets the time zone to use in log messages." msgstr "Setzt die in Logmeldungen verwendete Zeitzone." -#: utils/misc/guc_tables.c:4106 +#: utils/misc/guc_tables.c:4115 msgid "Sets the display format for date and time values." msgstr "Setzt das Ausgabeformat für Datums- und Zeitwerte." -#: utils/misc/guc_tables.c:4107 +#: utils/misc/guc_tables.c:4116 msgid "Also controls interpretation of ambiguous date inputs." msgstr "Kontrolliert auch die Interpretation von zweideutigen Datumseingaben." -#: utils/misc/guc_tables.c:4118 +#: utils/misc/guc_tables.c:4127 msgid "Sets the default table access method for new tables." msgstr "Setzt die Standard-Tabellenzugriffsmethode für neue Tabellen." -#: utils/misc/guc_tables.c:4129 +#: utils/misc/guc_tables.c:4138 msgid "Sets the default tablespace to create tables and indexes in." msgstr "Setzt den Standard-Tablespace für Tabellen und Indexe." -#: utils/misc/guc_tables.c:4130 +#: utils/misc/guc_tables.c:4139 msgid "An empty string selects the database's default tablespace." msgstr "Eine leere Zeichenkette wählt den Standard-Tablespace der Datenbank." -#: utils/misc/guc_tables.c:4140 +#: utils/misc/guc_tables.c:4149 msgid "Sets the tablespace(s) to use for temporary tables and sort files." msgstr "Setzt den oder die Tablespaces für temporäre Tabellen und Sortierdateien." -#: utils/misc/guc_tables.c:4151 +#: utils/misc/guc_tables.c:4160 msgid "Sets whether a CREATEROLE user automatically grants the role to themselves, and with which options." msgstr "Bestimmt, ob ein CREATEROLE-Benutzer sich die Rolle automatisch selbst gewährt, und mit welchen Optionen." -#: utils/misc/guc_tables.c:4163 +#: utils/misc/guc_tables.c:4172 msgid "Sets the path for dynamically loadable modules." msgstr "Setzt den Pfad für ladbare dynamische Bibliotheken." -#: utils/misc/guc_tables.c:4164 +#: utils/misc/guc_tables.c:4173 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 "Wenn ein dynamisch ladbares Modul geöffnet werden muss und der angegebene Name keine Verzeichniskomponente hat (das heißt er enthält keinen Schrägstrich), dann sucht das System in diesem Pfad nach der angegebenen Datei." -#: utils/misc/guc_tables.c:4177 +#: utils/misc/guc_tables.c:4186 msgid "Sets the location of the Kerberos server key file." msgstr "Setzt den Ort der Kerberos-Server-Schlüsseldatei." -#: utils/misc/guc_tables.c:4188 +#: utils/misc/guc_tables.c:4197 msgid "Sets the Bonjour service name." msgstr "Setzt den Bonjour-Servicenamen." -#: utils/misc/guc_tables.c:4198 +#: utils/misc/guc_tables.c:4207 msgid "Sets the language in which messages are displayed." msgstr "Setzt die Sprache, in der Mitteilungen ausgegeben werden." -#: utils/misc/guc_tables.c:4208 +#: utils/misc/guc_tables.c:4217 msgid "Sets the locale for formatting monetary amounts." msgstr "Setzt die Locale für die Formatierung von Geldbeträgen." -#: utils/misc/guc_tables.c:4218 +#: utils/misc/guc_tables.c:4227 msgid "Sets the locale for formatting numbers." msgstr "Setzt die Locale für die Formatierung von Zahlen." -#: utils/misc/guc_tables.c:4228 +#: utils/misc/guc_tables.c:4237 msgid "Sets the locale for formatting date and time values." msgstr "Setzt die Locale für die Formatierung von Datums- und Zeitwerten." -#: utils/misc/guc_tables.c:4238 +#: utils/misc/guc_tables.c:4247 msgid "Lists shared libraries to preload into each backend." msgstr "Listet dynamische Bibliotheken, die vorab in jeden Serverprozess geladen werden." -#: utils/misc/guc_tables.c:4249 +#: utils/misc/guc_tables.c:4258 msgid "Lists shared libraries to preload into server." msgstr "Listet dynamische Bibliotheken, die vorab in den Server geladen werden." -#: utils/misc/guc_tables.c:4260 +#: utils/misc/guc_tables.c:4269 msgid "Lists unprivileged shared libraries to preload into each backend." msgstr "Listet unprivilegierte dynamische Bibliotheken, die vorab in jeden Serverprozess geladen werden." -#: utils/misc/guc_tables.c:4271 +#: utils/misc/guc_tables.c:4280 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "Setzt die Schemasuchreihenfolge für Namen ohne Schemaqualifikation." -#: utils/misc/guc_tables.c:4283 +#: utils/misc/guc_tables.c:4292 msgid "Shows the server (database) character set encoding." msgstr "Zeigt die Zeichensatzkodierung des Servers (der Datenbank)." -#: utils/misc/guc_tables.c:4295 +#: utils/misc/guc_tables.c:4304 msgid "Shows the server version." msgstr "Zeigt die Serverversion." -#: utils/misc/guc_tables.c:4307 +#: utils/misc/guc_tables.c:4316 msgid "Sets the current role." msgstr "Setzt die aktuelle Rolle." -#: utils/misc/guc_tables.c:4319 +#: utils/misc/guc_tables.c:4328 msgid "Sets the session user name." msgstr "Setzt den Sitzungsbenutzernamen." -#: utils/misc/guc_tables.c:4330 +#: utils/misc/guc_tables.c:4339 msgid "Sets the destination for server log output." msgstr "Setzt das Ziel für die Serverlogausgabe." -#: utils/misc/guc_tables.c:4331 +#: utils/misc/guc_tables.c:4340 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\", and \"eventlog\", depending on the platform." msgstr "Gültige Werte sind Kombinationen von »stderr«, »syslog«, »csvlog«, »jsonlog« und »eventlog«, je nach Plattform." -#: utils/misc/guc_tables.c:4342 +#: utils/misc/guc_tables.c:4351 msgid "Sets the destination directory for log files." msgstr "Bestimmt das Zielverzeichnis für Logdateien." -#: utils/misc/guc_tables.c:4343 +#: utils/misc/guc_tables.c:4352 msgid "Can be specified as relative to the data directory or as absolute path." msgstr "Kann relativ zum Datenverzeichnis oder als absoluter Pfad angegeben werden." -#: utils/misc/guc_tables.c:4353 +#: utils/misc/guc_tables.c:4362 msgid "Sets the file name pattern for log files." msgstr "Bestimmt das Dateinamenmuster für Logdateien." -#: utils/misc/guc_tables.c:4364 +#: utils/misc/guc_tables.c:4373 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "Setzt den Programmnamen, mit dem PostgreSQL-Meldungen im Syslog identifiziert werden." -#: utils/misc/guc_tables.c:4375 +#: utils/misc/guc_tables.c:4384 msgid "Sets the application name used to identify PostgreSQL messages in the event log." msgstr "Setzt den Programmnamen, mit dem PostgreSQL-Meldungen im Ereignisprotokoll identifiziert werden." -#: utils/misc/guc_tables.c:4386 +#: utils/misc/guc_tables.c:4395 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "Setzt die Zeitzone, in der Zeitangaben interpretiert und ausgegeben werden." -#: utils/misc/guc_tables.c:4396 +#: utils/misc/guc_tables.c:4405 msgid "Selects a file of time zone abbreviations." msgstr "Wählt eine Datei mit Zeitzonenabkürzungen." -#: utils/misc/guc_tables.c:4406 +#: utils/misc/guc_tables.c:4415 msgid "Sets the owning group of the Unix-domain socket." msgstr "Setzt die Eigentümergruppe der Unix-Domain-Socket." -#: utils/misc/guc_tables.c:4407 +#: utils/misc/guc_tables.c:4416 msgid "The owning user of the socket is always the user that starts the server." msgstr "Der Eigentümer ist immer der Benutzer, der den Server startet." -#: utils/misc/guc_tables.c:4417 +#: utils/misc/guc_tables.c:4426 msgid "Sets the directories where Unix-domain sockets will be created." msgstr "Setzt die Verzeichnisse, in denen Unix-Domain-Sockets erzeugt werden sollen." -#: utils/misc/guc_tables.c:4428 +#: utils/misc/guc_tables.c:4437 msgid "Sets the host name or IP address(es) to listen to." msgstr "Setzt den Hostnamen oder die IP-Adresse(n), auf der auf Verbindungen gewartet wird." -#: utils/misc/guc_tables.c:4443 +#: utils/misc/guc_tables.c:4452 msgid "Sets the server's data directory." msgstr "Setzt das Datenverzeichnis des Servers." -#: utils/misc/guc_tables.c:4454 +#: utils/misc/guc_tables.c:4463 msgid "Sets the server's main configuration file." msgstr "Setzt die Hauptkonfigurationsdatei des Servers." -#: utils/misc/guc_tables.c:4465 +#: utils/misc/guc_tables.c:4474 msgid "Sets the server's \"hba\" configuration file." msgstr "Setzt die »hba«-Konfigurationsdatei des Servers." -#: utils/misc/guc_tables.c:4476 +#: utils/misc/guc_tables.c:4485 msgid "Sets the server's \"ident\" configuration file." msgstr "Setzt die »ident«-Konfigurationsdatei des Servers." -#: utils/misc/guc_tables.c:4487 +#: utils/misc/guc_tables.c:4496 msgid "Writes the postmaster PID to the specified file." msgstr "Schreibt die Postmaster-PID in die angegebene Datei." -#: utils/misc/guc_tables.c:4498 +#: utils/misc/guc_tables.c:4507 msgid "Shows the name of the SSL library." msgstr "Zeigt den Namen der SSL-Bibliothek." -#: utils/misc/guc_tables.c:4513 +#: utils/misc/guc_tables.c:4522 msgid "Location of the SSL server certificate file." msgstr "Ort der SSL-Serverzertifikatsdatei." -#: utils/misc/guc_tables.c:4523 +#: utils/misc/guc_tables.c:4532 msgid "Location of the SSL server private key file." msgstr "Setzt den Ort der Datei mit dem privaten SSL-Server-Schlüssel." -#: utils/misc/guc_tables.c:4533 +#: utils/misc/guc_tables.c:4542 msgid "Location of the SSL certificate authority file." msgstr "Ort der SSL-Certificate-Authority-Datei." -#: utils/misc/guc_tables.c:4543 +#: utils/misc/guc_tables.c:4552 msgid "Location of the SSL certificate revocation list file." msgstr "Ort der SSL-Certificate-Revocation-List-Datei." -#: utils/misc/guc_tables.c:4553 +#: utils/misc/guc_tables.c:4562 msgid "Location of the SSL certificate revocation list directory." msgstr "Ort des SSL-Certificate-Revocation-List-Verzeichnisses." -#: utils/misc/guc_tables.c:4563 +#: utils/misc/guc_tables.c:4572 msgid "Number of synchronous standbys and list of names of potential synchronous ones." msgstr "Anzahl synchroner Standbys und Liste der Namen der möglichen synchronen Standbys." -#: utils/misc/guc_tables.c:4574 +#: utils/misc/guc_tables.c:4583 msgid "Sets default text search configuration." msgstr "Setzt die vorgegebene Textsuchekonfiguration." -#: utils/misc/guc_tables.c:4584 +#: utils/misc/guc_tables.c:4593 msgid "Sets the list of allowed SSL ciphers." msgstr "Setzt die Liste der erlaubten SSL-Verschlüsselungsalgorithmen." -#: utils/misc/guc_tables.c:4599 +#: utils/misc/guc_tables.c:4608 msgid "Sets the curve to use for ECDH." msgstr "Setzt die für ECDH zu verwendende Kurve." -#: utils/misc/guc_tables.c:4614 +#: utils/misc/guc_tables.c:4623 msgid "Location of the SSL DH parameters file." msgstr "Setzt den Ort der SSL-DH-Parameter-Datei." -#: utils/misc/guc_tables.c:4625 +#: utils/misc/guc_tables.c:4634 msgid "Command to obtain passphrases for SSL." msgstr "Befehl zum Einlesen von Passphrasen für SSL." -#: utils/misc/guc_tables.c:4636 +#: utils/misc/guc_tables.c:4645 msgid "Sets the application name to be reported in statistics and logs." msgstr "Setzt den Anwendungsnamen, der in Statistiken und Logs verzeichnet wird." -#: utils/misc/guc_tables.c:4647 +#: utils/misc/guc_tables.c:4656 msgid "Sets the name of the cluster, which is included in the process title." msgstr "Setzt den Namen des Clusters, welcher im Prozesstitel angezeigt wird." -#: utils/misc/guc_tables.c:4658 +#: utils/misc/guc_tables.c:4667 msgid "Sets the WAL resource managers for which WAL consistency checks are done." msgstr "Setzt die WAL-Resource-Manager, für die WAL-Konsistenzprüfungen durchgeführt werden." -#: utils/misc/guc_tables.c:4659 +#: utils/misc/guc_tables.c:4668 msgid "Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay." msgstr "Volle Seitenabbilder werden für alle Datenblöcke geloggt und gegen die Resultate der WAL-Wiederherstellung geprüft." -#: utils/misc/guc_tables.c:4669 +#: utils/misc/guc_tables.c:4678 msgid "JIT provider to use." msgstr "Zu verwendender JIT-Provider." -#: utils/misc/guc_tables.c:4680 +#: utils/misc/guc_tables.c:4689 msgid "Log backtrace for errors in these functions." msgstr "Backtrace für Fehler in diesen Funktionen loggen." -#: utils/misc/guc_tables.c:4691 +#: utils/misc/guc_tables.c:4700 msgid "Use direct I/O for file access." msgstr "Direct-I/O für Dateizugriff verwenden." -#: utils/misc/guc_tables.c:4702 +#: utils/misc/guc_tables.c:4711 msgid "Lists streaming replication standby server replication slot names that logical WAL sender processes will wait for." msgstr "Listet Replikations-Slot-Namen von Streaming-Replication-Standby-Servern, auf die logische WAL-Sender warten werden." -#: utils/misc/guc_tables.c:4704 +#: utils/misc/guc_tables.c:4713 msgid "Logical WAL sender processes will send decoded changes to output plugins only after the specified replication slots have confirmed receiving WAL." msgstr "Logische WAL-Sender-Prozesse werden dekodierte Änderungen erst an die Ausgabe-Plugins senden, nachdem die angegebenen Replikations-Slots den Empfang von WAL bestätigt haben." -#: utils/misc/guc_tables.c:4716 +#: utils/misc/guc_tables.c:4725 msgid "Prohibits access to non-system relations of specified kinds." msgstr "Verbietet Zugriff auf Nicht-System-Relationen der angegeben Arten." -#: utils/misc/guc_tables.c:4736 +#: utils/misc/guc_tables.c:4745 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Bestimmt, ob »\\'« in Zeichenkettenkonstanten erlaubt ist." -#: utils/misc/guc_tables.c:4746 +#: utils/misc/guc_tables.c:4755 msgid "Sets the output format for bytea." msgstr "Setzt das Ausgabeformat für bytea." -#: utils/misc/guc_tables.c:4756 +#: utils/misc/guc_tables.c:4765 msgid "Sets the message levels that are sent to the client." msgstr "Setzt die Meldungstypen, die an den Client gesendet werden." -#: utils/misc/guc_tables.c:4757 utils/misc/guc_tables.c:4853 -#: utils/misc/guc_tables.c:4864 +#: utils/misc/guc_tables.c:4766 utils/misc/guc_tables.c:4862 +#: utils/misc/guc_tables.c:4873 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent." msgstr "Jeder Wert schließt alle ihm folgenden Werte mit ein. Je weiter hinten der Wert steht, desto weniger Meldungen werden gesendet werden." -#: utils/misc/guc_tables.c:4767 +#: utils/misc/guc_tables.c:4776 msgid "Enables in-core computation of query identifiers." msgstr "Schaltet die eingebaute Berechnung von Anfragebezeichnern ein." -#: utils/misc/guc_tables.c:4777 +#: utils/misc/guc_tables.c:4786 msgid "Enables the planner to use constraints to optimize queries." msgstr "Ermöglicht dem Planer die Verwendung von Constraints, um Anfragen zu optimieren." -#: utils/misc/guc_tables.c:4778 +#: utils/misc/guc_tables.c:4787 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query." msgstr "Tabellen-Scans werden übersprungen, wenn deren Constraints garantieren, dass keine Zeile mit der Abfrage übereinstimmt." -#: utils/misc/guc_tables.c:4789 +#: utils/misc/guc_tables.c:4798 msgid "Sets the default compression method for compressible values." msgstr "Setzt die Standard-Komprimierungsmethode für komprimierbare Werte." -#: utils/misc/guc_tables.c:4800 +#: utils/misc/guc_tables.c:4809 msgid "Sets the transaction isolation level of each new transaction." msgstr "Setzt den Transaktionsisolationsgrad neuer Transaktionen." -#: utils/misc/guc_tables.c:4810 +#: utils/misc/guc_tables.c:4819 msgid "Sets the current transaction's isolation level." msgstr "Zeigt den Isolationsgrad der aktuellen Transaktion." -#: utils/misc/guc_tables.c:4821 +#: utils/misc/guc_tables.c:4830 msgid "Sets the display format for interval values." msgstr "Setzt das Ausgabeformat für Intervallwerte." -#: utils/misc/guc_tables.c:4832 +#: utils/misc/guc_tables.c:4841 msgid "Log level for reporting invalid ICU locale strings." msgstr "Loglevel für Meldungen über ungültige ICU-Locale-Zeichenketten." -#: utils/misc/guc_tables.c:4842 +#: utils/misc/guc_tables.c:4851 msgid "Sets the verbosity of logged messages." msgstr "Setzt den Detailgrad von geloggten Meldungen." -#: utils/misc/guc_tables.c:4852 +#: utils/misc/guc_tables.c:4861 msgid "Sets the message levels that are logged." msgstr "Setzt die Meldungstypen, die geloggt werden." -#: utils/misc/guc_tables.c:4863 +#: utils/misc/guc_tables.c:4872 msgid "Causes all statements generating error at or above this level to be logged." msgstr "Schreibt alle Anweisungen, die einen Fehler auf dieser Stufe oder höher verursachen, in den Log." -#: utils/misc/guc_tables.c:4874 +#: utils/misc/guc_tables.c:4883 msgid "Sets the type of statements logged." msgstr "Setzt die Anweisungsarten, die geloggt werden." -#: utils/misc/guc_tables.c:4884 +#: utils/misc/guc_tables.c:4893 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "Setzt die zu verwendende Syslog-»Facility«, wenn Syslog angeschaltet ist." -#: utils/misc/guc_tables.c:4895 +#: utils/misc/guc_tables.c:4904 msgid "Sets the session's behavior for triggers and rewrite rules." msgstr "Setzt das Sitzungsverhalten für Trigger und Regeln." -#: utils/misc/guc_tables.c:4905 +#: utils/misc/guc_tables.c:4914 msgid "Sets the current transaction's synchronization level." msgstr "Setzt den Synchronisationsgrad der aktuellen Transaktion." -#: utils/misc/guc_tables.c:4915 +#: utils/misc/guc_tables.c:4924 msgid "Allows archiving of WAL files using \"archive_command\"." msgstr "Erlaubt die Archivierung von WAL-Dateien mittels »archive_command«." -#: utils/misc/guc_tables.c:4925 +#: utils/misc/guc_tables.c:4934 msgid "Sets the action to perform upon reaching the recovery target." msgstr "Setzt die Aktion, die beim Erreichen des Wiederherstellungsziels durchgeführt wird." -#: utils/misc/guc_tables.c:4935 +#: utils/misc/guc_tables.c:4944 msgid "Collects function-level statistics on database activity." msgstr "Sammelt Statistiken auf Funktionsebene über Datenbankaktivität." -#: utils/misc/guc_tables.c:4946 +#: utils/misc/guc_tables.c:4955 msgid "Sets the consistency of accesses to statistics data." msgstr "Setzt die Konsistenz von Zugriffen auf Statistikdaten." -#: utils/misc/guc_tables.c:4956 +#: utils/misc/guc_tables.c:4965 msgid "Compresses full-page writes written in WAL file with specified method." msgstr "Komprimiert in WAL-Dateien geschriebene volle Seiten mit der angegebenen Methode." -#: utils/misc/guc_tables.c:4966 +#: utils/misc/guc_tables.c:4975 msgid "Sets the level of information written to the WAL." msgstr "Setzt den Umfang der in den WAL geschriebenen Informationen." -#: utils/misc/guc_tables.c:4976 +#: utils/misc/guc_tables.c:4985 msgid "Selects the dynamic shared memory implementation used." msgstr "Wählt die zu verwendende Implementierung von dynamischem Shared Memory." -#: utils/misc/guc_tables.c:4986 +#: utils/misc/guc_tables.c:4995 msgid "Selects the shared memory implementation used for the main shared memory region." msgstr "Wählt die Shared-Memory-Implementierung, die für den Haupt-Shared-Memory-Bereich verwendet wird." -#: utils/misc/guc_tables.c:4996 +#: utils/misc/guc_tables.c:5005 +msgid "Selects the method used for extending data files." +msgstr "Wählt die Methode, um Datendateien zu erweitern." + +#: utils/misc/guc_tables.c:5015 msgid "Selects the method used for forcing WAL updates to disk." msgstr "Wählt die Methode, um das Schreiben von WAL-Änderungen auf die Festplatte zu erzwingen." -#: utils/misc/guc_tables.c:5006 +#: utils/misc/guc_tables.c:5025 msgid "Sets how binary values are to be encoded in XML." msgstr "Setzt, wie binäre Werte in XML kodiert werden." -#: utils/misc/guc_tables.c:5016 +#: utils/misc/guc_tables.c:5035 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments." msgstr "Setzt, ob XML-Daten in impliziten Parse- und Serialisierungsoperationen als Dokument oder Fragment betrachtet werden sollen." -#: utils/misc/guc_tables.c:5027 +#: utils/misc/guc_tables.c:5046 msgid "Use of huge pages on Linux or Windows." msgstr "Huge Pages auf Linux oder Windows verwenden." -#: utils/misc/guc_tables.c:5037 +#: utils/misc/guc_tables.c:5056 msgid "Indicates the status of huge pages." msgstr "Zeigt den Status von Huge Pages an." -#: utils/misc/guc_tables.c:5048 +#: utils/misc/guc_tables.c:5067 msgid "Prefetch referenced blocks during recovery." msgstr "Während der Wiederherstellung Blöcke, auf die verwiesen wird, vorab einlesen." -#: utils/misc/guc_tables.c:5049 +#: utils/misc/guc_tables.c:5068 msgid "Look ahead in the WAL to find references to uncached data." msgstr "Im WAL vorausschauen, um Verweise auf ungecachte Daten zu finden." -#: utils/misc/guc_tables.c:5058 +#: utils/misc/guc_tables.c:5077 msgid "Forces the planner's use parallel query nodes." msgstr "Erzwingt die Verwendung von Parallel-Query-Knoten im Planer." -#: utils/misc/guc_tables.c:5059 +#: utils/misc/guc_tables.c:5078 msgid "This can be useful for testing the parallel query infrastructure by forcing the planner to generate plans that contain nodes that perform tuple communication between workers and the main process." msgstr "Das kann nützlich sein, um die Parallel-Query-Infrastruktur zu testen, indem der Planer gezwungen wird, Pläne zu erzeugen, die Knoten enthalten, die Tupelkommunikation zwischen Worker- und Hauptprozess durchführen." -#: utils/misc/guc_tables.c:5071 +#: utils/misc/guc_tables.c:5090 msgid "Chooses the algorithm for encrypting passwords." msgstr "Wählt den Algorithmus zum Verschlüsseln von Passwörtern." -#: utils/misc/guc_tables.c:5081 +#: utils/misc/guc_tables.c:5100 msgid "Controls the planner's selection of custom or generic plan." msgstr "Kontrolliert, ob der Planer einen maßgeschneiderten oder einen allgemeinen Plan verwendet." -#: utils/misc/guc_tables.c:5082 +#: utils/misc/guc_tables.c:5101 msgid "Prepared statements can have custom and generic plans, and the planner will attempt to choose which is better. This can be set to override the default behavior." msgstr "Vorbereitete Anweisungen können maßgeschneiderte oder allgemeine Pläne haben und der Planer wird versuchen, den besseren auszuwählen. Diese Einstellung kann das Standardverhalten außer Kraft setzen." -#: utils/misc/guc_tables.c:5094 +#: utils/misc/guc_tables.c:5113 msgid "Sets the minimum SSL/TLS protocol version to use." msgstr "Setzt die minimale zu verwendende SSL/TLS-Protokollversion." -#: utils/misc/guc_tables.c:5106 +#: utils/misc/guc_tables.c:5125 msgid "Sets the maximum SSL/TLS protocol version to use." msgstr "Setzt die maximale zu verwendende SSL/TLS-Protokollversion." -#: utils/misc/guc_tables.c:5118 +#: utils/misc/guc_tables.c:5137 msgid "Sets the method for synchronizing the data directory before crash recovery." msgstr "Setzt die Methode für das Synchronisieren des Datenverzeichnisses vor der Wiederherstellung nach einem Absturz." -#: utils/misc/guc_tables.c:5127 +#: utils/misc/guc_tables.c:5146 msgid "Forces immediate streaming or serialization of changes in large transactions." msgstr "Erzwingt sofortiges Streaming oder sofortige Serialisierung von Änderungen in großen Transaktionen." -#: utils/misc/guc_tables.c:5128 +#: utils/misc/guc_tables.c:5147 msgid "On the publisher, it allows streaming or serializing each change in logical decoding. On the subscriber, it allows serialization of all changes to files and notifies the parallel apply workers to read and apply them at the end of the transaction." msgstr "Auf dem Publikationsserver erlaubt es Streaming oder Serialisierung jeder Änderung aus logischer Dekodierung. Auf dem Subskriptionsserver erlaubt es die Serialisierung aller Änderungen in Dateien und benachrichtigt die Parallel-Apply-Worker, sie nach dem Ende der Transaktion zu lesen und anzuwenden." @@ -30962,12 +30986,12 @@ msgid "could not attach to dynamic shared area" msgstr "konnte nicht an dynamische Shared Area anbinden" -#: utils/mmgr/mcxt.c:1155 +#: utils/mmgr/mcxt.c:1158 #, c-format msgid "Failed on request of size %zu in memory context \"%s\"." msgstr "Fehler bei Anfrage mit Größe %zu im Speicherkontext »%s«." -#: utils/mmgr/mcxt.c:1299 +#: utils/mmgr/mcxt.c:1314 #, c-format msgid "logging memory contexts of PID %d" msgstr "logge Speicherkontexte von PID %d" @@ -31012,12 +31036,12 @@ msgid "could not seek to block %lld of temporary file" msgstr "konnte Positionszeiger in temporärer Datei nicht auf Block %lld setzen" -#: utils/sort/sharedtuplestore.c:466 +#: utils/sort/sharedtuplestore.c:467 #, c-format msgid "unexpected chunk in shared tuplestore temporary file" msgstr "unerwarteter Chunk in temporärer Datei für Shared-Tuplestore" -#: utils/sort/sharedtuplestore.c:548 +#: utils/sort/sharedtuplestore.c:549 #, c-format msgid "could not seek to block %u in shared tuplestore temporary file" msgstr "konnte Positionszeiger in temporärer Datei für Shared-Tuplestore nicht auf Block %u setzen" diff -Nru postgresql-17-17.7/src/backend/po/es.po postgresql-17-17.8/src/backend/po/es.po --- postgresql-17-17.7/src/backend/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -64,8 +64,8 @@ msgstr "" "Project-Id-Version: PostgreSQL server 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:28+0000\n" -"PO-Revision-Date: 2025-11-08 10:08+0100\n" +"POT-Creation-Date: 2026-02-06 23:27+0000\n" +"PO-Revision-Date: 2026-02-07 09:17+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -146,15 +146,15 @@ #: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1353 access/transam/xlog.c:3459 -#: access/transam/xlog.c:4323 access/transam/xlogrecovery.c:1238 -#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373 -#: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123 +#: access/transam/twophase.c:1353 access/transam/xlog.c:3458 +#: access/transam/xlog.c:4322 access/transam/xlogrecovery.c:1248 +#: access/transam/xlogrecovery.c:1346 access/transam/xlogrecovery.c:1383 +#: access/transam/xlogrecovery.c:1450 backup/basebackup.c:2123 #: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764 #: replication/logical/origin.c:745 replication/logical/origin.c:781 #: replication/logical/reorderbuffer.c:5243 -#: replication/logical/snapbuild.c:2099 replication/slot.c:2249 -#: replication/slot.c:2290 replication/walsender.c:673 +#: replication/logical/snapbuild.c:2099 replication/slot.c:2281 +#: replication/slot.c:2322 replication/walsender.c:673 #: storage/file/buffile.c:470 storage/file/copydir.c:185 #: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829 #, c-format @@ -162,10 +162,10 @@ msgstr "no se pudo leer el archivo «%s»: %m" #: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 -#: access/transam/xlog.c:3464 access/transam/xlog.c:4328 +#: access/transam/xlog.c:3463 access/transam/xlog.c:4327 #: replication/logical/origin.c:750 replication/logical/origin.c:789 -#: replication/logical/snapbuild.c:2104 replication/slot.c:2253 -#: replication/slot.c:2294 replication/walsender.c:678 +#: replication/logical/snapbuild.c:2104 replication/slot.c:2285 +#: replication/slot.c:2326 replication/walsender.c:678 #: utils/cache/relmapper.c:833 #, c-format msgid "could not read file \"%s\": read %d of %zu" @@ -176,17 +176,17 @@ #: access/heap/rewriteheap.c:1141 access/heap/rewriteheap.c:1246 #: access/transam/timeline.c:392 access/transam/timeline.c:438 #: access/transam/timeline.c:512 access/transam/twophase.c:1365 -#: access/transam/twophase.c:1784 access/transam/xlog.c:3305 -#: access/transam/xlog.c:3499 access/transam/xlog.c:3504 -#: access/transam/xlog.c:3640 access/transam/xlog.c:4293 -#: access/transam/xlog.c:5228 commands/copyfrom.c:1799 commands/copyto.c:325 +#: access/transam/twophase.c:1784 access/transam/xlog.c:3304 +#: access/transam/xlog.c:3498 access/transam/xlog.c:3503 +#: access/transam/xlog.c:3639 access/transam/xlog.c:4292 +#: access/transam/xlog.c:5227 commands/copyfrom.c:1799 commands/copyto.c:325 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540 #: replication/logical/origin.c:683 replication/logical/origin.c:822 #: replication/logical/reorderbuffer.c:5295 #: replication/logical/snapbuild.c:1866 replication/logical/snapbuild.c:1990 -#: replication/slot.c:2137 replication/slot.c:2301 replication/walsender.c:688 -#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:825 -#: storage/file/fd.c:3750 storage/file/fd.c:3856 utils/cache/relmapper.c:841 +#: replication/slot.c:2169 replication/slot.c:2333 replication/walsender.c:688 +#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828 +#: storage/file/fd.c:3753 storage/file/fd.c:3859 utils/cache/relmapper.c:841 #: utils/cache/relmapper.c:956 #, c-format msgid "could not close file \"%s\": %m" @@ -215,10 +215,10 @@ #: ../common/file_utils.c:406 ../common/file_utils.c:480 #: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111 #: access/transam/timeline.c:251 access/transam/timeline.c:348 -#: access/transam/twophase.c:1309 access/transam/xlog.c:3212 -#: access/transam/xlog.c:3375 access/transam/xlog.c:3414 -#: access/transam/xlog.c:3607 access/transam/xlog.c:4313 -#: access/transam/xlogrecovery.c:4275 access/transam/xlogrecovery.c:4378 +#: access/transam/twophase.c:1309 access/transam/xlog.c:3211 +#: access/transam/xlog.c:3374 access/transam/xlog.c:3413 +#: access/transam/xlog.c:3606 access/transam/xlog.c:4312 +#: access/transam/xlogrecovery.c:4285 access/transam/xlogrecovery.c:4388 #: access/transam/xlogutils.c:836 backup/basebackup.c:547 #: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624 #: postmaster/syslogger.c:1511 replication/logical/origin.c:735 @@ -226,10 +226,10 @@ #: replication/logical/reorderbuffer.c:4450 #: replication/logical/reorderbuffer.c:5223 #: replication/logical/snapbuild.c:1821 replication/logical/snapbuild.c:1931 -#: replication/slot.c:2221 replication/walsender.c:646 +#: replication/slot.c:2253 replication/walsender.c:646 #: replication/walsender.c:3099 storage/file/copydir.c:151 -#: storage/file/fd.c:800 storage/file/fd.c:3507 storage/file/fd.c:3737 -#: storage/file/fd.c:3827 storage/smgr/md.c:661 utils/cache/relmapper.c:818 +#: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740 +#: storage/file/fd.c:3830 storage/smgr/md.c:672 utils/cache/relmapper.c:818 #: utils/cache/relmapper.c:935 utils/error/elog.c:2124 #: utils/init/miscinit.c:1581 utils/init/miscinit.c:1715 #: utils/init/miscinit.c:1792 utils/misc/guc.c:4782 utils/misc/guc.c:4832 @@ -239,7 +239,7 @@ #: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249 #: access/transam/twophase.c:1757 access/transam/twophase.c:1766 -#: access/transam/xlog.c:9320 access/transam/xlogfuncs.c:698 +#: access/transam/xlog.c:9346 access/transam/xlogfuncs.c:698 #: backup/basebackup_server.c:173 backup/basebackup_server.c:266 #: backup/walsummary.c:304 postmaster/postmaster.c:4129 #: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535 @@ -253,12 +253,12 @@ #: access/heap/rewriteheap.c:925 access/heap/rewriteheap.c:1135 #: access/heap/rewriteheap.c:1240 access/transam/timeline.c:432 #: access/transam/timeline.c:506 access/transam/twophase.c:1778 -#: access/transam/xlog.c:3298 access/transam/xlog.c:3493 -#: access/transam/xlog.c:4286 access/transam/xlog.c:8695 -#: access/transam/xlog.c:8740 backup/basebackup_server.c:207 +#: access/transam/xlog.c:3297 access/transam/xlog.c:3492 +#: access/transam/xlog.c:4285 access/transam/xlog.c:8721 +#: access/transam/xlog.c:8766 backup/basebackup_server.c:207 #: commands/dbcommands.c:514 replication/logical/snapbuild.c:1859 -#: replication/slot.c:2121 replication/slot.c:2231 storage/file/fd.c:817 -#: storage/file/fd.c:3848 storage/smgr/md.c:1331 storage/smgr/md.c:1376 +#: replication/slot.c:2153 replication/slot.c:2263 storage/file/fd.c:820 +#: storage/file/fd.c:3851 storage/smgr/md.c:1345 storage/smgr/md.c:1390 #: storage/sync/sync.c:446 utils/misc/guc.c:4530 #, c-format msgid "could not fsync file \"%s\": %m" @@ -278,22 +278,22 @@ #: postmaster/bgworker.c:945 postmaster/postmaster.c:3562 #: postmaster/postmaster.c:4023 postmaster/postmaster.c:4385 #: postmaster/walsummarizer.c:935 -#: replication/libpqwalreceiver/libpqwalreceiver.c:387 +#: replication/libpqwalreceiver/libpqwalreceiver.c:400 #: replication/logical/logical.c:212 replication/walsender.c:853 -#: storage/buffer/localbuf.c:606 storage/file/fd.c:909 storage/file/fd.c:1440 -#: storage/file/fd.c:1601 storage/file/fd.c:2528 storage/ipc/procarray.c:1465 +#: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443 +#: storage/file/fd.c:1604 storage/file/fd.c:2531 storage/ipc/procarray.c:1465 #: storage/ipc/procarray.c:2219 storage/ipc/procarray.c:2226 #: storage/ipc/procarray.c:2731 storage/ipc/procarray.c:3435 #: utils/activity/pgstat_shmem.c:508 utils/adt/formatting.c:1725 #: utils/adt/formatting.c:1873 utils/adt/formatting.c:2075 -#: utils/adt/pg_locale.c:532 utils/adt/pg_locale.c:696 utils/fmgr/dfmgr.c:229 +#: utils/adt/pg_locale.c:533 utils/adt/pg_locale.c:697 utils/fmgr/dfmgr.c:229 #: utils/hash/dynahash.c:517 utils/hash/dynahash.c:617 -#: utils/hash/dynahash.c:1100 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429 -#: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:649 +#: utils/hash/dynahash.c:1100 utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 +#: utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 utils/misc/guc.c:649 #: utils/misc/guc.c:674 utils/misc/guc.c:1062 utils/misc/guc.c:4508 #: utils/misc/tzparser.c:477 utils/mmgr/aset.c:451 utils/mmgr/bump.c:183 #: utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729 utils/mmgr/dsa.c:810 -#: utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1154 utils/mmgr/slab.c:370 +#: utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1157 utils/mmgr/slab.c:370 #, c-format msgid "out of memory" msgstr "memoria agotada" @@ -371,7 +371,7 @@ msgid "cannot duplicate null pointer (internal error)\n" msgstr "no se puede duplicar un puntero nulo (error interno)\n" -#: ../common/file_utils.c:76 storage/file/fd.c:3513 +#: ../common/file_utils.c:76 storage/file/fd.c:3516 #, c-format msgid "could not synchronize file system for file \"%s\": %m" msgstr "no se pudo sincronizar el sistema de archivos para el archivo «%s»: %m" @@ -380,11 +380,11 @@ #: ../common/file_utils.c:570 access/transam/twophase.c:1321 #: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:235 #: backup/basebackup.c:355 backup/basebackup.c:553 backup/basebackup.c:624 -#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1749 -#: commands/copyto.c:700 commands/extension.c:3527 commands/tablespace.c:804 +#: backup/walsummary.c:247 commands/copyfrom.c:1749 commands/copyto.c:700 +#: commands/extension.c:3527 commands/tablespace.c:804 #: commands/tablespace.c:893 postmaster/pgarch.c:680 #: replication/logical/snapbuild.c:1717 replication/logical/snapbuild.c:2220 -#: storage/file/fd.c:1965 storage/file/fd.c:2051 storage/file/fd.c:3561 +#: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564 #: utils/adt/dbsize.c:105 utils/adt/dbsize.c:257 utils/adt/dbsize.c:337 #: utils/adt/genfile.c:437 utils/adt/genfile.c:612 utils/adt/misc.c:340 #, c-format @@ -399,14 +399,14 @@ #: ../common/file_utils.c:151 ../common/file_utils.c:281 #: ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:728 #: commands/tablespace.c:738 postmaster/postmaster.c:1472 -#: storage/file/fd.c:2930 storage/file/reinit.c:126 utils/adt/misc.c:256 +#: storage/file/fd.c:2933 storage/file/reinit.c:126 utils/adt/misc.c:256 #: utils/misc/tzparser.c:339 #, c-format msgid "could not open directory \"%s\": %m" msgstr "no se pudo abrir el directorio «%s»: %m" #: ../common/file_utils.c:169 ../common/file_utils.c:315 -#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2942 +#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2945 #, c-format msgid "could not read directory \"%s\": %m" msgstr "no se pudo leer el directorio «%s»: %m" @@ -414,7 +414,7 @@ #: ../common/file_utils.c:498 access/transam/xlogarchive.c:389 #: postmaster/pgarch.c:834 postmaster/syslogger.c:1559 #: replication/logical/snapbuild.c:1878 replication/slot.c:965 -#: replication/slot.c:2004 replication/slot.c:2153 storage/file/fd.c:835 +#: replication/slot.c:2036 replication/slot.c:2185 storage/file/fd.c:838 #: utils/time/snapmgr.c:1255 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" @@ -767,12 +767,12 @@ #: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 #: access/transam/twophase.c:1717 access/transam/xlogarchive.c:119 -#: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1050 -#: postmaster/syslogger.c:1488 replication/logical/origin.c:591 -#: replication/logical/reorderbuffer.c:4719 +#: access/transam/xlogarchive.c:399 backup/walsummary.c:254 +#: postmaster/postmaster.c:1050 postmaster/syslogger.c:1488 +#: replication/logical/origin.c:591 replication/logical/reorderbuffer.c:4719 #: replication/logical/snapbuild.c:1759 replication/logical/snapbuild.c:2193 -#: replication/slot.c:2205 storage/file/fd.c:875 storage/file/fd.c:3375 -#: storage/file/fd.c:3437 storage/file/reinit.c:261 storage/ipc/dsm.c:343 +#: replication/slot.c:2237 storage/file/fd.c:878 storage/file/fd.c:3378 +#: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343 #: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243 #: utils/time/snapmgr.c:1591 #, c-format @@ -780,8 +780,8 @@ msgstr "no se pudo eliminar el archivo «%s»: %m" #: ../common/rmtree.c:124 commands/tablespace.c:767 commands/tablespace.c:780 -#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3367 -#: storage/file/fd.c:3776 +#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3370 +#: storage/file/fd.c:3779 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "no se pudo eliminar el directorio «%s»: %m" @@ -888,25 +888,25 @@ msgid "could not get junction for \"%s\": %s\n" msgstr "no se pudo obtener junction para «%s»: %s\n" -#: ../port/open.c:115 +#: ../port/open.c:125 #, c-format msgid "could not open file \"%s\": %s" msgstr "no se pudo abrir el archivo «%s»: %s" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "lock violation" msgstr "infracción de bloqueo (locking violation)" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "sharing violation" msgstr "infracción de uso compartido (sharing violation)" -#: ../port/open.c:117 +#: ../port/open.c:127 #, c-format msgid "Continuing to retry for 30 seconds." msgstr "Reintentando durante 30 segundos." -#: ../port/open.c:118 +#: ../port/open.c:128 #, c-format msgid "You might have antivirus, backup, or similar software interfering with the database system." msgstr "Es posible que tenga antivirus, sistema de respaldos, o software similar interfiriendo con el sistema de bases de datos." @@ -1143,7 +1143,6 @@ #: access/common/reloptions.c:1294 commands/foreigncmds.c:86 #, c-format -#| msgid "Extension names must not contain \"--\"." msgid "invalid option name \"%s\": must not contain \"=\"" msgstr "nombre de opción «%s» no válido: no debe contener «=»" @@ -1400,38 +1399,38 @@ msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)" msgstr "faltan operadores entre tipos en la familia de operadores «%s» del método de acceso %s" -#: access/heap/heapam.c:2241 +#: access/heap/heapam.c:2244 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "no se pueden insertar tuplas en un ayudante paralelo" -#: access/heap/heapam.c:2764 +#: access/heap/heapam.c:2767 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "no se pueden eliminar tuplas durante una operación paralela" -#: access/heap/heapam.c:2811 +#: access/heap/heapam.c:2814 #, c-format msgid "attempted to delete invisible tuple" msgstr "se intentó eliminar una tupla invisible" -#: access/heap/heapam.c:3261 access/heap/heapam.c:6542 access/index/genam.c:818 +#: access/heap/heapam.c:3264 access/heap/heapam.c:6632 access/index/genam.c:818 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "no se pueden actualizar tuplas durante una operación paralela" -#: access/heap/heapam.c:3438 +#: access/heap/heapam.c:3441 #, c-format msgid "attempted to update invisible tuple" msgstr "se intentó actualizar una tupla invisible" -#: access/heap/heapam.c:4949 access/heap/heapam.c:4987 -#: access/heap/heapam.c:5252 access/heap/heapam_handler.c:468 +#: access/heap/heapam.c:4954 access/heap/heapam.c:4992 +#: access/heap/heapam.c:5259 access/heap/heapam_handler.c:468 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "no se pudo bloquear un “lock” en la fila de la relación «%s»" -#: access/heap/heapam.c:6355 commands/trigger.c:3427 +#: access/heap/heapam.c:6386 commands/trigger.c:3427 #: executor/nodeModifyTable.c:2399 executor/nodeModifyTable.c:2490 #, c-format msgid "tuple to be updated was already modified by an operation triggered by the current command" @@ -1454,13 +1453,13 @@ #: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 #: access/transam/timeline.c:329 access/transam/timeline.c:481 -#: access/transam/xlog.c:3237 access/transam/xlog.c:3428 -#: access/transam/xlog.c:4265 access/transam/xlog.c:9309 +#: access/transam/xlog.c:3236 access/transam/xlog.c:3427 +#: access/transam/xlog.c:4264 access/transam/xlog.c:9335 #: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149 #: backup/basebackup_server.c:242 commands/dbcommands.c:494 #: postmaster/launch_backend.c:340 postmaster/postmaster.c:4116 #: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603 -#: replication/slot.c:2065 storage/file/copydir.c:157 storage/smgr/md.c:230 +#: replication/slot.c:2097 storage/file/copydir.c:157 storage/smgr/md.c:230 #: utils/time/snapmgr.c:1234 #, c-format msgid "could not create file \"%s\": %m" @@ -1473,12 +1472,12 @@ #: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 #: access/transam/timeline.c:424 access/transam/timeline.c:498 -#: access/transam/xlog.c:3287 access/transam/xlog.c:3484 -#: access/transam/xlog.c:4277 commands/dbcommands.c:506 +#: access/transam/xlog.c:3286 access/transam/xlog.c:3483 +#: access/transam/xlog.c:4276 commands/dbcommands.c:506 #: postmaster/launch_backend.c:351 postmaster/launch_backend.c:363 #: replication/logical/origin.c:615 replication/logical/origin.c:657 #: replication/logical/origin.c:676 replication/logical/snapbuild.c:1835 -#: replication/slot.c:2101 storage/file/buffile.c:545 +#: replication/slot.c:2133 storage/file/buffile.c:545 #: storage/file/copydir.c:197 utils/init/miscinit.c:1656 #: utils/init/miscinit.c:1667 utils/init/miscinit.c:1675 utils/misc/guc.c:4491 #: utils/misc/guc.c:4522 utils/misc/guc.c:5680 utils/misc/guc.c:5698 @@ -1830,7 +1829,7 @@ msgid "\"%s\" cannot be empty." msgstr "«%s» no puede ser vacío." -#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4881 +#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4891 #, c-format msgid "\"%s\" is too long (maximum %d characters)." msgstr "«%s» es demasiado largo (máximo %d caracteres)." @@ -1870,13 +1869,13 @@ msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Asegúrese que el parámetro de configuración «%s» esté definido." -#: access/transam/multixact.c:1091 +#: access/transam/multixact.c:1173 #, c-format msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database \"%s\"" msgstr "la base de datos no está aceptando órdenes que asignen nuevos MultiXactIds para evitar pérdida de datos debido al “wraparound” en la base de datos «%s»" -#: access/transam/multixact.c:1093 access/transam/multixact.c:1100 -#: access/transam/multixact.c:1124 access/transam/multixact.c:1133 +#: access/transam/multixact.c:1175 access/transam/multixact.c:1182 +#: access/transam/multixact.c:1206 access/transam/multixact.c:1215 #: access/transam/varsup.c:158 access/transam/varsup.c:165 #, c-format msgid "" @@ -1886,65 +1885,70 @@ "Ejecute VACUUM de la base completa en esa base de datos.\n" "Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos." -#: access/transam/multixact.c:1098 +#: access/transam/multixact.c:1180 #, c-format msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database with OID %u" msgstr "la base de datos no está aceptando órdenes que asignen nuevos MultiXactIds para evitar pérdida de datos debido al “wraparound” en la base con OID %u" -#: access/transam/multixact.c:1119 access/transam/multixact.c:2474 +#: access/transam/multixact.c:1201 access/transam/multixact.c:2546 #, 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] "base de datos «%s» debe ser limpiada antes de que %u más MultiXactId sea usado" msgstr[1] "base de datos «%s» debe ser limpiada dentro de que %u más MultiXactIds sean usados" -#: access/transam/multixact.c:1128 access/transam/multixact.c:2483 +#: access/transam/multixact.c:1210 access/transam/multixact.c:2555 #, 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] "base de datos con OID %u debe ser limpiada antes de que %u más MultiXactId sea usado" msgstr[1] "base de datos con OID %u debe ser limpiada antes de que %u más MultiXactIds sean usados" -#: access/transam/multixact.c:1189 +#: access/transam/multixact.c:1274 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "límite de miembros de multixact alcanzado" -#: access/transam/multixact.c:1190 +#: access/transam/multixact.c:1275 #, 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] "Esta orden crearía un multixact con %u miembros, pero el espacio que queda sólo sirve para %u miembro." msgstr[1] "Esta orden crearía un multixact con %u miembros, pero el espacio que queda sólo sirve para %u miembros." -#: access/transam/multixact.c:1195 +#: access/transam/multixact.c:1280 #, 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 "Ejecute un VACUUM de la base completa en la base de datos con OID %u con «vacuum_multixact_freeze_min_age» y «vacuum_multixact_freeze_table_age» reducidos." -#: access/transam/multixact.c:1226 +#: access/transam/multixact.c:1311 #, c-format msgid "database with OID %u must be vacuumed before %d more multixact member is used" msgid_plural "database with OID %u must be vacuumed before %d more multixact members are used" msgstr[0] "base de datos con OID %u debe ser limpiada antes de que %d miembro más de multixact sea usado" msgstr[1] "base de datos con OID %u debe ser limpiada antes de que %d más miembros de multixact sean usados" -#: access/transam/multixact.c:1231 +#: access/transam/multixact.c:1316 #, 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 "Ejecute un VACUUM de la base completa en esa base de datos con «vacuum_multixact_freeze_min_age» y «vacuum_multixact_freeze_table_age» reducidos." -#: access/transam/multixact.c:1371 +#: access/transam/multixact.c:1455 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "el MultiXactId %u ya no existe -- “wraparound” aparente" -#: access/transam/multixact.c:1377 +#: access/transam/multixact.c:1461 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "el MultiXactId %u no se ha creado aún -- “wraparound” aparente" -#: access/transam/multixact.c:2479 access/transam/multixact.c:2488 +#: access/transam/multixact.c:1554 +#, c-format +msgid "MultiXact %u has invalid next offset" +msgstr "el MultiXact %u tiene un siguiente offset no válido" + +#: access/transam/multixact.c:2551 access/transam/multixact.c:2560 #, c-format msgid "" "To avoid MultiXactId assignment failures, execute a database-wide VACUUM in that database.\n" @@ -1953,61 +1957,66 @@ "Para evitar fallos de asignación de MultiXactId, ejecute VACUUM en esa base de datos.\n" "Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos." -#: access/transam/multixact.c:2767 +#: access/transam/multixact.c:2839 #, c-format msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk" msgstr "las protecciones de “wraparound” de multixact están inhabilitadas porque el multixact más antiguo %u en checkpoint no existe en disco" -#: access/transam/multixact.c:2789 +#: access/transam/multixact.c:2861 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "las protecciones de “wraparound” de miembros de multixact están habilitadas" -#: access/transam/multixact.c:3180 +#: access/transam/multixact.c:3252 #, c-format msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" msgstr "multixact más antiguo %u no encontrado, multixact más antiguo es %u, omitiendo el truncado" -#: access/transam/multixact.c:3198 +#: access/transam/multixact.c:3270 #, c-format msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation" msgstr "no se puede truncar hasta el MultiXact %u porque no existe en disco, omitiendo el truncado" -#: access/transam/multixact.c:3517 +#: access/transam/multixact.c:3287 +#, c-format +msgid "cannot truncate up to MultiXact %u because it has invalid offset, skipping truncation" +msgstr "no se puede truncar hasta el MultiXact %u porque tiene un offset no válido, omitiendo el truncado" + +#: access/transam/multixact.c:3632 #, c-format msgid "invalid MultiXactId: %u" msgstr "el MultiXactId no es válido: %u" -#: access/transam/parallel.c:748 access/transam/parallel.c:867 +#: access/transam/parallel.c:755 access/transam/parallel.c:874 #, c-format msgid "parallel worker failed to initialize" msgstr "el ayudante paralelo no pudo iniciar" -#: access/transam/parallel.c:749 access/transam/parallel.c:868 +#: access/transam/parallel.c:756 access/transam/parallel.c:875 #, c-format msgid "More details may be available in the server log." msgstr "Puede haber más detalles disponibles en el log del servidor." -#: access/transam/parallel.c:929 +#: access/transam/parallel.c:936 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "postmaster terminó durante una transacción paralela" -#: access/transam/parallel.c:1116 +#: access/transam/parallel.c:1123 #, c-format msgid "lost connection to parallel worker" msgstr "se ha perdido la conexión al ayudante paralelo" -#: access/transam/parallel.c:1172 access/transam/parallel.c:1174 +#: access/transam/parallel.c:1179 access/transam/parallel.c:1181 msgid "parallel worker" msgstr "ayudante paralelo" -#: access/transam/parallel.c:1344 replication/logical/applyparallelworker.c:897 +#: access/transam/parallel.c:1351 replication/logical/applyparallelworker.c:897 #, c-format msgid "could not map dynamic shared memory segment" msgstr "no se pudo mapear el segmento de memoria compartida dinámica" -#: access/transam/parallel.c:1349 replication/logical/applyparallelworker.c:903 +#: access/transam/parallel.c:1356 replication/logical/applyparallelworker.c:903 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "número mágico no válido en segmento de memoria compartida dinámica" @@ -2347,7 +2356,7 @@ msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk." msgstr "El archivo de estado en dos fases ha sido encontrado en el registro de WAL %X/%X, pero esta transacción ya ha sido restaurada desde disco." -#: access/transam/twophase.c:2524 storage/file/fd.c:511 utils/fmgr/dfmgr.c:209 +#: access/transam/twophase.c:2524 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209 #, c-format msgid "could not access file \"%s\": %m" msgstr "no se pudo acceder al archivo «%s»: %m" @@ -2411,559 +2420,559 @@ msgid "cannot have more than 2^32-2 commands in a transaction" msgstr "no se pueden tener más de 2^32-2 órdenes en una transacción" -#: access/transam/xact.c:1664 +#: access/transam/xact.c:1674 #, c-format msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "se superó el número máximo de subtransacciones comprometidas (%d)" -#: access/transam/xact.c:2561 +#: access/transam/xact.c:2571 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary objects" msgstr "no se puede hacer PREPARE de una transacción que ha operado en objetos temporales" -#: access/transam/xact.c:2571 +#: access/transam/xact.c:2581 #, c-format msgid "cannot PREPARE a transaction that has exported snapshots" msgstr "no se puede hacer PREPARE de una transacción que ha exportado snapshots" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3593 +#: access/transam/xact.c:3603 #, c-format msgid "%s cannot run inside a transaction block" msgstr "%s no puede ser ejecutado dentro de un bloque de transacción" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3603 +#: access/transam/xact.c:3613 #, c-format msgid "%s cannot run inside a subtransaction" msgstr "%s no puede ser ejecutado dentro de una subtransacción" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3613 +#: access/transam/xact.c:3623 #, c-format msgid "%s cannot be executed within a pipeline" msgstr "%s no puede ser ejecutado en un “pipeline”" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3623 +#: access/transam/xact.c:3633 #, c-format msgid "%s cannot be executed from a function" msgstr "%s no puede ser ejecutado desde una función" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3694 access/transam/xact.c:4019 -#: access/transam/xact.c:4098 access/transam/xact.c:4221 -#: access/transam/xact.c:4372 access/transam/xact.c:4441 -#: access/transam/xact.c:4552 +#: access/transam/xact.c:3704 access/transam/xact.c:4029 +#: access/transam/xact.c:4108 access/transam/xact.c:4231 +#: access/transam/xact.c:4382 access/transam/xact.c:4451 +#: access/transam/xact.c:4562 #, c-format msgid "%s can only be used in transaction blocks" msgstr "la orden %s sólo puede ser usada en bloques de transacción" -#: access/transam/xact.c:3905 +#: access/transam/xact.c:3915 #, c-format msgid "there is already a transaction in progress" msgstr "ya hay una transacción en curso" -#: access/transam/xact.c:4024 access/transam/xact.c:4103 -#: access/transam/xact.c:4226 +#: access/transam/xact.c:4034 access/transam/xact.c:4113 +#: access/transam/xact.c:4236 #, c-format msgid "there is no transaction in progress" msgstr "no hay una transacción en curso" -#: access/transam/xact.c:4114 +#: access/transam/xact.c:4124 #, c-format msgid "cannot commit during a parallel operation" msgstr "no se puede comprometer una transacción durante una operación paralela" -#: access/transam/xact.c:4237 +#: access/transam/xact.c:4247 #, c-format msgid "cannot abort during a parallel operation" msgstr "no se puede abortar durante una operación paralela" -#: access/transam/xact.c:4336 +#: access/transam/xact.c:4346 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "no se pueden definir savepoints durante una operación paralela" -#: access/transam/xact.c:4423 +#: access/transam/xact.c:4433 #, c-format msgid "cannot release savepoints during a parallel operation" msgstr "no se pueden liberar savepoints durante una operación paralela" -#: access/transam/xact.c:4433 access/transam/xact.c:4484 -#: access/transam/xact.c:4544 access/transam/xact.c:4593 +#: access/transam/xact.c:4443 access/transam/xact.c:4494 +#: access/transam/xact.c:4554 access/transam/xact.c:4603 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "no existe el «savepoint» «%s»" -#: access/transam/xact.c:4490 access/transam/xact.c:4599 +#: access/transam/xact.c:4500 access/transam/xact.c:4609 #, c-format msgid "savepoint \"%s\" does not exist within current savepoint level" msgstr "el «savepoint» «%s» no existe dentro del nivel de savepoint actual" -#: access/transam/xact.c:4532 +#: access/transam/xact.c:4542 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "no se puede hacer rollback a un savepoint durante una operación paralela" -#: access/transam/xact.c:5376 +#: access/transam/xact.c:5386 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "no se pueden tener más de 2^32-1 subtransacciones en una transacción" -#: access/transam/xlog.c:1543 +#: access/transam/xlog.c:1542 #, c-format msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X" msgstr "petición para sincronizar (flush) más allá del final del WAL generado; petición %X/%X, posición actual %X/%X" -#: access/transam/xlog.c:1770 +#: access/transam/xlog.c:1769 #, c-format msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X" msgstr "no se puede ler más allá del final del WAL generado; petición %X/%X, posición actual %X/%X" -#: access/transam/xlog.c:2211 access/transam/xlog.c:4483 +#: access/transam/xlog.c:2210 access/transam/xlog.c:4482 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "El tamaño de segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB." -#: access/transam/xlog.c:2459 +#: access/transam/xlog.c:2458 #, c-format msgid "could not write to log file \"%s\" at offset %u, length %zu: %m" msgstr "no se pudo escribir archivo de registro «%s» en la posición %u, largo %zu: %m" -#: access/transam/xlog.c:3721 access/transam/xlogutils.c:831 +#: access/transam/xlog.c:3720 access/transam/xlogutils.c:831 #: replication/walsender.c:3093 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "el segmento de WAL solicitado %s ya ha sido eliminado" -#: access/transam/xlog.c:4043 +#: access/transam/xlog.c:4042 #, c-format msgid "could not rename file \"%s\": %m" msgstr "no se pudo renombrar el archivo «%s»: %m" -#: access/transam/xlog.c:4086 access/transam/xlog.c:4097 -#: access/transam/xlog.c:4118 +#: access/transam/xlog.c:4085 access/transam/xlog.c:4096 +#: access/transam/xlog.c:4117 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "no existe el directorio WAL «%s»" -#: access/transam/xlog.c:4103 access/transam/xlog.c:4124 +#: access/transam/xlog.c:4102 access/transam/xlog.c:4123 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "creando el directorio WAL faltante «%s»" -#: access/transam/xlog.c:4107 access/transam/xlog.c:4127 +#: access/transam/xlog.c:4106 access/transam/xlog.c:4126 #: commands/dbcommands.c:3262 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "no se pudo crear el directorio faltante «%s»: %m" -#: access/transam/xlog.c:4194 +#: access/transam/xlog.c:4193 #, c-format msgid "could not generate secret authorization token" msgstr "no se pudo generar un token de autorización secreto" -#: access/transam/xlog.c:4345 access/transam/xlog.c:4355 -#: access/transam/xlog.c:4381 access/transam/xlog.c:4389 -#: access/transam/xlog.c:4397 access/transam/xlog.c:4403 -#: access/transam/xlog.c:4411 access/transam/xlog.c:4419 -#: access/transam/xlog.c:4427 access/transam/xlog.c:4435 -#: access/transam/xlog.c:4443 access/transam/xlog.c:4451 -#: access/transam/xlog.c:4461 access/transam/xlog.c:4469 +#: access/transam/xlog.c:4344 access/transam/xlog.c:4354 +#: access/transam/xlog.c:4380 access/transam/xlog.c:4388 +#: access/transam/xlog.c:4396 access/transam/xlog.c:4402 +#: access/transam/xlog.c:4410 access/transam/xlog.c:4418 +#: access/transam/xlog.c:4426 access/transam/xlog.c:4434 +#: access/transam/xlog.c:4442 access/transam/xlog.c:4450 +#: access/transam/xlog.c:4460 access/transam/xlog.c:4468 #: utils/init/miscinit.c:1813 #, c-format msgid "database files are incompatible with server" msgstr "los archivos de base de datos son incompatibles con el servidor" -#: access/transam/xlog.c:4346 +#: access/transam/xlog.c:4345 #, 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 "Los archivos de base de datos fueron inicializados con PG_CONTROL_VERSION %d (0x%08x), pero el servidor fue compilado con PG_CONTROL_VERSION %d (0x%08x)." -#: access/transam/xlog.c:4350 +#: access/transam/xlog.c:4349 #, c-format msgid "This could be a problem of mismatched byte ordering. It looks like you need to initdb." msgstr "Este puede ser un problema de discordancia en el orden de bytes. Parece que necesitará ejecutar initdb." -#: access/transam/xlog.c:4356 +#: access/transam/xlog.c:4355 #, c-format msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d." msgstr "Los archivos de base de datos fueron inicializados con PG_CONTROL_VERSION %d, pero el servidor fue compilado con PG_CONTROL_VERSION %d." -#: access/transam/xlog.c:4359 access/transam/xlog.c:4385 -#: access/transam/xlog.c:4393 access/transam/xlog.c:4399 +#: access/transam/xlog.c:4358 access/transam/xlog.c:4384 +#: access/transam/xlog.c:4392 access/transam/xlog.c:4398 #, c-format msgid "It looks like you need to initdb." msgstr "Parece que necesita ejecutar initdb." -#: access/transam/xlog.c:4371 +#: access/transam/xlog.c:4370 #, c-format msgid "incorrect checksum in control file" msgstr "la suma de verificación es incorrecta en el archivo de control" -#: access/transam/xlog.c:4382 +#: access/transam/xlog.c:4381 #, c-format msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d." msgstr "Los archivos de base de datos fueron inicializados con CATALOG_VERSION_NO %d, pero el servidor fue compilado con CATALOG_VERSION_NO %d." -#: access/transam/xlog.c:4390 +#: access/transam/xlog.c:4389 #, c-format msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d." msgstr "Los archivos de la base de datos fueron inicializados con MAXALIGN %d, pero el servidor fue compilado con MAXALIGN %d." -#: access/transam/xlog.c:4398 +#: access/transam/xlog.c:4397 #, c-format msgid "The database cluster appears to use a different floating-point number format than the server executable." msgstr "Los archivos de la base de datos parecen usar un formato de número de coma flotante distinto al del ejecutable del servidor." -#: access/transam/xlog.c:4404 +#: access/transam/xlog.c:4403 #, c-format msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d." msgstr "Los archivos de base de datos fueron inicializados con BLCKSZ %d, pero el servidor fue compilado con BLCKSZ %d." -#: access/transam/xlog.c:4407 access/transam/xlog.c:4415 -#: access/transam/xlog.c:4423 access/transam/xlog.c:4431 -#: access/transam/xlog.c:4439 access/transam/xlog.c:4447 -#: access/transam/xlog.c:4455 access/transam/xlog.c:4464 -#: access/transam/xlog.c:4472 +#: access/transam/xlog.c:4406 access/transam/xlog.c:4414 +#: access/transam/xlog.c:4422 access/transam/xlog.c:4430 +#: access/transam/xlog.c:4438 access/transam/xlog.c:4446 +#: access/transam/xlog.c:4454 access/transam/xlog.c:4463 +#: access/transam/xlog.c:4471 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "Parece que necesita recompilar o ejecutar initdb." -#: access/transam/xlog.c:4412 +#: access/transam/xlog.c:4411 #, c-format msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d." msgstr "Los archivos de la base de datos fueron inicializados con RELSEG_SIZE %d, pero el servidor fue compilado con RELSEG_SIZE %d." -#: access/transam/xlog.c:4420 +#: access/transam/xlog.c:4419 #, c-format msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d." msgstr "Los archivos de base de datos fueron inicializados con XLOG_BLCKSZ %d, pero el servidor fue compilado con XLOG_BLCKSZ %d." -#: access/transam/xlog.c:4428 +#: access/transam/xlog.c:4427 #, c-format msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d." msgstr "Los archivos de la base de datos fueron inicializados con NAMEDATALEN %d, pero el servidor fue compilado con NAMEDATALEN %d." -#: access/transam/xlog.c:4436 +#: access/transam/xlog.c:4435 #, c-format msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d." msgstr "Los archivos de la base de datos fueron inicializados con INDEX_MAX_KEYS %d, pero el servidor fue compilado con INDEX_MAX_KEYS %d." -#: access/transam/xlog.c:4444 +#: access/transam/xlog.c:4443 #, 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 "Los archivos de la base de datos fueron inicializados con TOAST_MAX_CHUNK_SIZE %d, pero el servidor fue compilado con TOAST_MAX_CHUNK_SIZE %d." -#: access/transam/xlog.c:4452 +#: access/transam/xlog.c:4451 #, c-format msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d." msgstr "Los archivos de base de datos fueron inicializados con LOBLKSIZE %d, pero el servidor fue compilado con LOBLKSIZE %d." -#: access/transam/xlog.c:4462 +#: access/transam/xlog.c:4461 #, c-format msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL." msgstr "Los archivos de base de datos fueron inicializados sin USE_FLOAT8_BYVAL, pero el servidor fue compilado con USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4470 +#: access/transam/xlog.c:4469 #, c-format msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL." msgstr "Los archivos de base de datos fueron inicializados con USE_FLOAT8_BYVAL, pero el servidor fue compilado sin USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4479 +#: access/transam/xlog.c:4478 #, c-format msgid "invalid WAL segment size in control file (%d byte)" msgid_plural "invalid WAL segment size in control file (%d bytes)" msgstr[0] "tamaño de segmento de WAL no válido (%d byte) en archivo de control" msgstr[1] "tamaño de segmento de WAL no válido (%d bytes) en archivo de control" -#: access/transam/xlog.c:4492 +#: access/transam/xlog.c:4491 #, c-format msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "«min_wal_size» debe ser al menos el doble de «wal_segment_size»" -#: access/transam/xlog.c:4496 +#: access/transam/xlog.c:4495 #, c-format msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "«max_wal_size» debe ser al menos el doble de «wal_segment_size»" -#: access/transam/xlog.c:4644 catalog/namespace.c:4699 +#: access/transam/xlog.c:4643 catalog/namespace.c:4699 #: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 -#: replication/slot.c:2455 tcop/postgres.c:3715 utils/error/elog.c:2247 +#: replication/slot.c:2487 tcop/postgres.c:3715 utils/error/elog.c:2247 #, c-format msgid "List syntax is invalid." msgstr "La sintaxis de lista no es válida." -#: access/transam/xlog.c:4690 commands/user.c:2545 commands/variable.c:173 +#: access/transam/xlog.c:4689 commands/user.c:2545 commands/variable.c:173 #: tcop/postgres.c:3731 utils/error/elog.c:2273 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Palabra clave no reconocida: «%s»." -#: access/transam/xlog.c:5111 +#: access/transam/xlog.c:5110 #, c-format msgid "could not write bootstrap write-ahead log file: %m" msgstr "no se pudo escribir el archivo WAL de boostrap: %m" -#: access/transam/xlog.c:5119 +#: access/transam/xlog.c:5118 #, c-format msgid "could not fsync bootstrap write-ahead log file: %m" msgstr "no se pudo sincronizar (fsync) el archivo de WAL de bootstrap: %m" -#: access/transam/xlog.c:5125 +#: access/transam/xlog.c:5124 #, c-format msgid "could not close bootstrap write-ahead log file: %m" msgstr "no se pudo cerrar el archivo WAL de bootstrap: %m" -#: access/transam/xlog.c:5350 +#: access/transam/xlog.c:5349 #, c-format msgid "WAL was generated with \"wal_level=minimal\", cannot continue recovering" msgstr "el WAL fue generado con «wal_level=minimal», no se puede continuar con la recuperación" -#: access/transam/xlog.c:5351 +#: access/transam/xlog.c:5350 #, c-format msgid "This happens if you temporarily set \"wal_level=minimal\" on the server." msgstr "Esto sucede si temporalmente define «wal_level=minimal» en el servidor." -#: access/transam/xlog.c:5352 +#: access/transam/xlog.c:5351 #, c-format msgid "Use a backup taken after setting \"wal_level\" to higher than \"minimal\"." msgstr "Utilice un respaldo tomado después de establecer «wal_level» a un valor superior a «minimal»." -#: access/transam/xlog.c:5417 +#: access/transam/xlog.c:5416 #, c-format msgid "control file contains invalid checkpoint location" msgstr "el archivo de control contiene una ubicación no válida de checkpoint" -#: access/transam/xlog.c:5428 +#: access/transam/xlog.c:5427 #, c-format msgid "database system was shut down at %s" msgstr "el sistema de bases de datos fue apagado en %s" -#: access/transam/xlog.c:5434 +#: access/transam/xlog.c:5433 #, c-format msgid "database system was shut down in recovery at %s" msgstr "el sistema de bases de datos fue apagado durante la recuperación en %s" -#: access/transam/xlog.c:5440 +#: access/transam/xlog.c:5439 #, c-format msgid "database system shutdown was interrupted; last known up at %s" msgstr "el apagado del sistema de datos fue interrumpido; última vez registrada en funcionamiento en %s" -#: access/transam/xlog.c:5446 +#: access/transam/xlog.c:5445 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "el sistema de bases de datos fue interrumpido durante la recuperación en %s" -#: access/transam/xlog.c:5448 +#: access/transam/xlog.c:5447 #, c-format msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery." msgstr "Esto probablemente significa que algunos datos están corruptos y tendrá que usar el respaldo más reciente para la recuperación." -#: access/transam/xlog.c:5454 +#: access/transam/xlog.c:5453 #, c-format msgid "database system was interrupted while in recovery at log time %s" msgstr "el sistema de bases de datos fue interrumpido durante la recuperación en el instante de registro %s" -#: access/transam/xlog.c:5456 +#: access/transam/xlog.c:5455 #, c-format msgid "If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target." msgstr "Si esto ha ocurrido más de una vez, algunos datos podrían estar corruptos y podría ser necesario escoger un punto de recuperación anterior." -#: access/transam/xlog.c:5462 +#: access/transam/xlog.c:5461 #, c-format msgid "database system was interrupted; last known up at %s" msgstr "el sistema de bases de datos fue interrumpido; última vez en funcionamiento en %s" -#: access/transam/xlog.c:5469 +#: access/transam/xlog.c:5468 #, c-format msgid "control file contains invalid database cluster state" msgstr "el archivo de control contiene un estado no válido del clúster" -#: access/transam/xlog.c:5857 +#: access/transam/xlog.c:5856 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL termina antes del fin del respaldo en línea" -#: access/transam/xlog.c:5858 +#: access/transam/xlog.c:5857 #, c-format msgid "All WAL generated while online backup was taken must be available at recovery." msgstr "Todo el WAL generado durante el respaldo en línea debe estar disponible durante la recuperación." -#: access/transam/xlog.c:5862 +#: access/transam/xlog.c:5861 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL termina antes del punto de recuperación consistente" -#: access/transam/xlog.c:5908 +#: access/transam/xlog.c:5907 #, c-format msgid "selected new timeline ID: %u" msgstr "seleccionado nuevo ID de timeline: %u" -#: access/transam/xlog.c:5941 +#: access/transam/xlog.c:5940 #, c-format msgid "archive recovery complete" msgstr "recuperación completa" -#: access/transam/xlog.c:6594 +#: access/transam/xlog.c:6593 #, c-format msgid "shutting down" msgstr "apagando" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6633 +#: access/transam/xlog.c:6632 #, c-format msgid "restartpoint starting:%s%s%s%s%s%s%s%s" msgstr "empezando restartpoint:%s%s%s%s%s%s%s%s" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6645 +#: access/transam/xlog.c:6644 #, c-format msgid "checkpoint starting:%s%s%s%s%s%s%s%s" msgstr "empezando checkpoint:%s%s%s%s%s%s%s%s" -#: access/transam/xlog.c:6710 +#: access/transam/xlog.c:6709 #, c-format msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X" msgstr "restartpoint completo: escritos %d búfers (%.1f%%); %d archivos WAL añadidos, %d eliminados, %d reciclados; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimación=%d kB; lsn=%X/%X, lsn de redo=%X/%X" -#: access/transam/xlog.c:6733 +#: access/transam/xlog.c:6732 #, c-format msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X" msgstr "checkpoint completo: escritos %d búfers (%.1f%%); %d archivos WAL añadidos, %d eliminados, %d reciclados; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimación=%d kB; lsn=%X/%X, lsn de redo=%X/%X" -#: access/transam/xlog.c:7225 +#: access/transam/xlog.c:7234 #, c-format msgid "concurrent write-ahead log activity while database system is shutting down" msgstr "hay actividad de WAL mientras el sistema se está apagando" -#: access/transam/xlog.c:7838 +#: access/transam/xlog.c:7864 #, c-format msgid "recovery restart point at %X/%X" msgstr "restartpoint de recuperación en %X/%X" -#: access/transam/xlog.c:7840 +#: access/transam/xlog.c:7866 #, c-format msgid "Last completed transaction was at log time %s." msgstr "Última transacción completada al tiempo de registro %s." -#: access/transam/xlog.c:8106 +#: access/transam/xlog.c:8132 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "punto de recuperación «%s» creado en %X/%X" -#: access/transam/xlog.c:8313 +#: access/transam/xlog.c:8339 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "el respaldo en línea fue cancelado, la recuperación no puede continuar" -#: access/transam/xlog.c:8371 +#: access/transam/xlog.c:8397 #, c-format msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de checkpoint de detención" -#: access/transam/xlog.c:8437 +#: access/transam/xlog.c:8463 #, c-format msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de checkpoint «online»" -#: access/transam/xlog.c:8474 +#: access/transam/xlog.c:8500 #, c-format msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de fin-de-recuperación" -#: access/transam/xlog.c:8745 +#: access/transam/xlog.c:8771 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "no se pudo sincronizar (fsync write-through) el archivo «%s»: %m" -#: access/transam/xlog.c:8750 +#: access/transam/xlog.c:8776 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "no se pudo sincronizar (fdatasync) archivo «%s»: %m" -#: access/transam/xlog.c:8837 access/transam/xlog.c:9173 +#: access/transam/xlog.c:8863 access/transam/xlog.c:9199 #, c-format msgid "WAL level not sufficient for making an online backup" msgstr "el nivel de WAL no es suficiente para hacer un respaldo en línea" -#: access/transam/xlog.c:8838 access/transam/xlogfuncs.c:248 +#: access/transam/xlog.c:8864 access/transam/xlogfuncs.c:248 #, c-format msgid "\"wal_level\" must be set to \"replica\" or \"logical\" at server start." msgstr "«wal_level» debe ser definido a «replica» o «logical» al inicio del servidor." -#: access/transam/xlog.c:8843 +#: access/transam/xlog.c:8869 #, c-format msgid "backup label too long (max %d bytes)" msgstr "la etiqueta de respaldo es demasiado larga (máximo %d bytes)" -#: access/transam/xlog.c:8964 +#: access/transam/xlog.c:8990 #, c-format msgid "WAL generated with \"full_page_writes=off\" was replayed since last restartpoint" msgstr "el WAL generado con «full_page_writes=off» fue restaurado desde el último restartpoint" -#: access/transam/xlog.c:8966 access/transam/xlog.c:9262 +#: access/transam/xlog.c:8992 access/transam/xlog.c:9288 #, 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 primary, and then try an online backup again." msgstr "Esto significa que el respaldo que estaba siendo tomado en el standby está corrupto y no debería usarse. Active «full_page_writes» y ejecute CHECKPOINT en el primario, luego trate de ejecutar un respaldo en línea nuevamente." -#: access/transam/xlog.c:9046 backup/basebackup.c:1417 utils/adt/misc.c:354 +#: access/transam/xlog.c:9072 backup/basebackup.c:1417 utils/adt/misc.c:354 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "no se pudo leer el enlace simbólico «%s»: %m" -#: access/transam/xlog.c:9053 backup/basebackup.c:1422 utils/adt/misc.c:359 +#: access/transam/xlog.c:9079 backup/basebackup.c:1422 utils/adt/misc.c:359 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "la ruta «%s» del enlace simbólico es demasiado larga" -#: access/transam/xlog.c:9174 +#: access/transam/xlog.c:9200 #, c-format msgid "wal_level must be set to \"replica\" or \"logical\" at server start." msgstr "wal_level debe ser definido a «replica» o «logical» al inicio del servidor." -#: access/transam/xlog.c:9212 backup/basebackup.c:1281 +#: access/transam/xlog.c:9238 backup/basebackup.c:1281 #, c-format msgid "the standby was promoted during online backup" msgstr "el standby fue promovido durante el respaldo en línea" -#: access/transam/xlog.c:9213 backup/basebackup.c:1282 +#: access/transam/xlog.c:9239 backup/basebackup.c:1282 #, c-format msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup." msgstr "Esto significa que el respaldo que se estaba tomando está corrupto y no debería ser usado. Trate de ejecutar un nuevo respaldo en línea." -#: access/transam/xlog.c:9260 +#: access/transam/xlog.c:9286 #, c-format msgid "WAL generated with \"full_page_writes=off\" was replayed during online backup" msgstr "el WAL generado con «full_page_writes=off» fue restaurado durante el respaldo en línea" -#: access/transam/xlog.c:9376 +#: access/transam/xlog.c:9402 #, c-format msgid "base backup done, waiting for required WAL segments to be archived" msgstr "respaldo base completo, esperando que se archiven los segmentos WAL requeridos" -#: access/transam/xlog.c:9390 +#: access/transam/xlog.c:9416 #, c-format msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)" msgstr "todavía en espera de que todos los segmentos WAL requeridos sean archivados (han pasado %d segundos)" -#: access/transam/xlog.c:9392 +#: access/transam/xlog.c:9418 #, c-format msgid "Check that your \"archive_command\" is executing properly. You can safely cancel this backup, but the database backup will not be usable without all the WAL segments." msgstr "Verifique que su «archive_command» se esté ejecutando con normalidad. Puede cancelar este respaldo con confianza, pero el respaldo de la base de datos no será utilizable a menos que disponga de todos los segmentos de WAL." -#: access/transam/xlog.c:9399 +#: access/transam/xlog.c:9425 #, c-format msgid "all required WAL segments have been archived" msgstr "todos los segmentos de WAL requeridos han sido archivados" -#: access/transam/xlog.c:9403 +#: access/transam/xlog.c:9429 #, 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 "el archivado de WAL no está activo; debe asegurarse que todos los segmentos WAL requeridos se copian por algún otro mecanismo para completar el respaldo" -#: access/transam/xlog.c:9442 +#: access/transam/xlog.c:9468 #, c-format msgid "aborting backup due to backend exiting before pg_backup_stop was called" msgstr "abortando el backup porque el proceso servidor terminó antes de que pg_backup_stop fuera invocada" @@ -3322,408 +3331,413 @@ msgid "could not locate a valid checkpoint record at %X/%X" msgstr "no se pudo localizar un registro de válido en %X/%X" -#: access/transam/xlogrecovery.c:806 +#: access/transam/xlogrecovery.c:807 +#, c-format +msgid "could not find redo location %X/%08X referenced by checkpoint record at %X/%08X" +msgstr "no se pudo encontrar la ubicación de redo %X/%08X referida por el registro de punto de control en %X/%08X" + +#: access/transam/xlogrecovery.c:816 #, c-format msgid "entering standby mode" msgstr "entrando al modo standby" -#: access/transam/xlogrecovery.c:809 +#: access/transam/xlogrecovery.c:819 #, c-format msgid "starting point-in-time recovery to XID %u" msgstr "comenzando el proceso de recuperación hasta el XID %u" -#: access/transam/xlogrecovery.c:813 +#: access/transam/xlogrecovery.c:823 #, c-format msgid "starting point-in-time recovery to %s" msgstr "comenzando el proceso de recuperación hasta %s" -#: access/transam/xlogrecovery.c:817 +#: access/transam/xlogrecovery.c:827 #, c-format msgid "starting point-in-time recovery to \"%s\"" msgstr "comenzando el proceso de recuperación hasta «%s»" -#: access/transam/xlogrecovery.c:821 +#: access/transam/xlogrecovery.c:831 #, c-format msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" msgstr "comenzando el proceso de recuperación punto-en-el-tiempo a la ubicación (LSN) de WAL «%X/%X»" -#: access/transam/xlogrecovery.c:825 +#: access/transam/xlogrecovery.c:835 #, c-format msgid "starting point-in-time recovery to earliest consistent point" msgstr "comenzando recuperación a un punto en el tiempo hasta alcanzar un estado consistente" -#: access/transam/xlogrecovery.c:828 +#: access/transam/xlogrecovery.c:838 #, c-format msgid "starting archive recovery" msgstr "comenzando proceso de recuperación" -#: access/transam/xlogrecovery.c:849 +#: access/transam/xlogrecovery.c:859 #, c-format msgid "requested timeline %u is not a child of this server's history" msgstr "el timeline solicitado %u no es un hijo de la historia de este servidor" -#: access/transam/xlogrecovery.c:851 +#: access/transam/xlogrecovery.c:861 #, 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 "El checkpoint más reciente está en %X/%X en el timeline %u, pero en la historia del timeline solicitado, el servidor se desvió desde ese timeline en %X/%X." -#: access/transam/xlogrecovery.c:865 +#: access/transam/xlogrecovery.c:875 #, c-format msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u" msgstr "el timeline solicitado %u no contiene el punto mínimo de recuperación %X/%X en el timeline %u" -#: access/transam/xlogrecovery.c:893 +#: access/transam/xlogrecovery.c:903 #, c-format msgid "invalid next transaction ID" msgstr "el siguiente ID de transacción no es válido" -#: access/transam/xlogrecovery.c:898 +#: access/transam/xlogrecovery.c:908 #, c-format msgid "invalid redo in checkpoint record" msgstr "redo no es válido en el registro de checkpoint" -#: access/transam/xlogrecovery.c:909 +#: access/transam/xlogrecovery.c:919 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "registro redo no es válido en el checkpoint de apagado" -#: access/transam/xlogrecovery.c:938 +#: access/transam/xlogrecovery.c:948 #, c-format msgid "database system was not properly shut down; automatic recovery in progress" msgstr "el sistema de bases de datos no fue apagado apropiadamente; se está efectuando la recuperación automática" -#: access/transam/xlogrecovery.c:942 +#: access/transam/xlogrecovery.c:952 #, c-format msgid "crash recovery starts in timeline %u and has target timeline %u" msgstr "la recuperación comienza en el timeline %u y tiene un timeline de destino %u" -#: access/transam/xlogrecovery.c:985 +#: access/transam/xlogrecovery.c:995 #, c-format msgid "backup_label contains data inconsistent with control file" msgstr "backup_label contiene datos inconsistentes con el archivo de control" -#: access/transam/xlogrecovery.c:986 +#: access/transam/xlogrecovery.c:996 #, c-format msgid "This means that the backup is corrupted and you will have to use another backup for recovery." msgstr "Esto significa que el respaldo está corrupto y deberá usar otro respaldo para la recuperación." -#: access/transam/xlogrecovery.c:1040 +#: access/transam/xlogrecovery.c:1050 #, c-format msgid "using recovery command file \"%s\" is not supported" msgstr "el uso del archivo de configuración de recuperación «%s» no está soportado" -#: access/transam/xlogrecovery.c:1105 +#: access/transam/xlogrecovery.c:1115 #, c-format msgid "standby mode is not supported by single-user servers" msgstr "el modo standby no está soportado en el modo mono-usuario" -#: access/transam/xlogrecovery.c:1122 +#: access/transam/xlogrecovery.c:1132 #, c-format msgid "specified neither \"primary_conninfo\" nor \"restore_command\"" msgstr "no se especifica «primary_conninfo» ni «restore_command»" -#: access/transam/xlogrecovery.c:1123 +#: access/transam/xlogrecovery.c:1133 #, c-format msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there." msgstr "El servidor de bases de datos monitoreará el subdirectorio pg_wal con regularidad en búsqueda de archivos almacenados ahí." -#: access/transam/xlogrecovery.c:1131 +#: access/transam/xlogrecovery.c:1141 #, c-format msgid "must specify \"restore_command\" when standby mode is not enabled" msgstr "debe especificarse «restore_command» cuando el modo standby no está activo" -#: access/transam/xlogrecovery.c:1169 +#: access/transam/xlogrecovery.c:1179 #, c-format msgid "recovery target timeline %u does not exist" msgstr "no existe el timeline %u especificado como destino de recuperación" -#: access/transam/xlogrecovery.c:1252 access/transam/xlogrecovery.c:1259 -#: access/transam/xlogrecovery.c:1318 access/transam/xlogrecovery.c:1406 -#: access/transam/xlogrecovery.c:1415 access/transam/xlogrecovery.c:1435 +#: access/transam/xlogrecovery.c:1262 access/transam/xlogrecovery.c:1269 +#: access/transam/xlogrecovery.c:1328 access/transam/xlogrecovery.c:1416 +#: access/transam/xlogrecovery.c:1425 access/transam/xlogrecovery.c:1445 #, c-format msgid "invalid data in file \"%s\"" msgstr "datos no válidos en archivo «%s»" -#: access/transam/xlogrecovery.c:1319 +#: access/transam/xlogrecovery.c:1329 #, c-format msgid "Timeline ID parsed is %u, but expected %u." msgstr "El ID de timeline interpretado es %u, pero se esperaba %u." -#: access/transam/xlogrecovery.c:1330 +#: access/transam/xlogrecovery.c:1340 #, c-format msgid "this is an incremental backup, not a data directory" msgstr "esto es un backup incremental, no un directorio de datos" -#: access/transam/xlogrecovery.c:1331 +#: access/transam/xlogrecovery.c:1341 #, c-format msgid "Use pg_combinebackup to reconstruct a valid data directory." msgstr "Use pg_combinebackup para reconstruir un directorio de datos válido." -#: access/transam/xlogrecovery.c:1717 +#: access/transam/xlogrecovery.c:1727 #, c-format msgid "unexpected record type found at redo point %X/%X" msgstr "se encontró registro de tipo inesperada en el punto de redo %X/%X" -#: access/transam/xlogrecovery.c:1740 +#: access/transam/xlogrecovery.c:1750 #, c-format msgid "redo starts at %X/%X" msgstr "redo comienza en %X/%X" -#: access/transam/xlogrecovery.c:1753 +#: access/transam/xlogrecovery.c:1763 #, c-format msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X" msgstr "redo en progreso, tiempo transcurrido: %ld.%02d s, LSN actual: %X/%X" -#: access/transam/xlogrecovery.c:1843 +#: access/transam/xlogrecovery.c:1853 #, c-format msgid "requested recovery stop point is before consistent recovery point" msgstr "el punto de detención de recuperación pedido es antes del punto de recuperación consistente" -#: access/transam/xlogrecovery.c:1875 +#: access/transam/xlogrecovery.c:1885 #, c-format msgid "redo done at %X/%X system usage: %s" msgstr "redo listo en %X/%X utilización del sistema: %s" -#: access/transam/xlogrecovery.c:1881 +#: access/transam/xlogrecovery.c:1891 #, c-format msgid "last completed transaction was at log time %s" msgstr "última transacción completada al tiempo de registro %s" -#: access/transam/xlogrecovery.c:1890 +#: access/transam/xlogrecovery.c:1900 #, c-format msgid "redo is not required" msgstr "no se requiere redo" -#: access/transam/xlogrecovery.c:1901 +#: access/transam/xlogrecovery.c:1911 #, c-format msgid "recovery ended before configured recovery target was reached" msgstr "la recuperación terminó antes de alcanzar el punto configurado como destino de recuperación" -#: access/transam/xlogrecovery.c:2095 +#: access/transam/xlogrecovery.c:2105 #, c-format msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" msgstr "se omitió con éxito contrecord no encontrado en %X/%X, sobrescrito en %s" -#: access/transam/xlogrecovery.c:2162 +#: access/transam/xlogrecovery.c:2172 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "entrada de directorio inesperada «%s» fue encontrada en %s" -#: access/transam/xlogrecovery.c:2164 +#: access/transam/xlogrecovery.c:2174 #, c-format msgid "All directory entries in pg_tblspc/ should be symbolic links." msgstr "Todas las entradas de directorio en pg_tblspc deberían ser enlaces simbólicos" -#: access/transam/xlogrecovery.c:2165 +#: access/transam/xlogrecovery.c:2175 #, c-format msgid "Remove those directories, or set \"allow_in_place_tablespaces\" to ON transiently to let recovery complete." msgstr "Elimine esos directorios, o defina «allow_in_place_tablespaces» a ON transitoriamente para permitir que la recuperación pueda completarse." -#: access/transam/xlogrecovery.c:2217 +#: access/transam/xlogrecovery.c:2227 #, c-format msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X" msgstr "se completó la recuperación de backup con LSN de redo %X/%X y LSN de término %X/%X" -#: access/transam/xlogrecovery.c:2247 +#: access/transam/xlogrecovery.c:2257 #, c-format msgid "consistent recovery state reached at %X/%X" msgstr "el estado de recuperación consistente fue alcanzado en %X/%X" #. translator: %s is a WAL record description -#: access/transam/xlogrecovery.c:2285 +#: access/transam/xlogrecovery.c:2295 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "redo WAL en %X/%X para %s" -#: access/transam/xlogrecovery.c:2383 +#: access/transam/xlogrecovery.c:2393 #, c-format msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record" msgstr "ID de timeline previo %u inesperado (timeline actual %u) en el registro de checkpoint" -#: access/transam/xlogrecovery.c:2392 +#: access/transam/xlogrecovery.c:2402 #, c-format msgid "unexpected timeline ID %u (after %u) in checkpoint record" msgstr "ID de timeline %u inesperado (después de %u) en el registro de checkpoint" -#: access/transam/xlogrecovery.c:2408 +#: access/transam/xlogrecovery.c:2418 #, c-format msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u" msgstr "timeline ID %u inesperado en registro de checkpoint, antes de alcanzar el punto mínimo de recuperación %X/%X en el timeline %u" -#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868 +#: access/transam/xlogrecovery.c:2602 access/transam/xlogrecovery.c:2878 #, c-format msgid "recovery stopping after reaching consistency" msgstr "deteniendo recuperación al alcanzar un estado consistente" -#: access/transam/xlogrecovery.c:2613 +#: access/transam/xlogrecovery.c:2623 #, c-format msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" msgstr "deteniendo recuperación antes de la ubicación (LSN) de WAL «%X/%X»" -#: access/transam/xlogrecovery.c:2703 +#: access/transam/xlogrecovery.c:2713 #, c-format msgid "recovery stopping before commit of transaction %u, time %s" msgstr "deteniendo recuperación antes de comprometer la transacción %u, hora %s" -#: access/transam/xlogrecovery.c:2710 +#: access/transam/xlogrecovery.c:2720 #, c-format msgid "recovery stopping before abort of transaction %u, time %s" msgstr "deteniendo recuperación antes de abortar la transacción %u, hora %s" -#: access/transam/xlogrecovery.c:2763 +#: access/transam/xlogrecovery.c:2773 #, c-format msgid "recovery stopping at restore point \"%s\", time %s" msgstr "deteniendo recuperación en el punto de recuperación «%s», hora %s" -#: access/transam/xlogrecovery.c:2781 +#: access/transam/xlogrecovery.c:2791 #, c-format msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" msgstr "deteniendo recuperación después de la ubicación (LSN) de WAL «%X/%X»" -#: access/transam/xlogrecovery.c:2848 +#: access/transam/xlogrecovery.c:2858 #, c-format msgid "recovery stopping after commit of transaction %u, time %s" msgstr "deteniendo recuperación de comprometer la transacción %u, hora %s" -#: access/transam/xlogrecovery.c:2856 +#: access/transam/xlogrecovery.c:2866 #, c-format msgid "recovery stopping after abort of transaction %u, time %s" msgstr "deteniendo recuperación después de abortar la transacción %u, hora %s" -#: access/transam/xlogrecovery.c:2937 +#: access/transam/xlogrecovery.c:2947 #, c-format msgid "pausing at the end of recovery" msgstr "pausando al final de la recuperación" -#: access/transam/xlogrecovery.c:2938 +#: access/transam/xlogrecovery.c:2948 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "Ejecute pg_wal_replay_resume() para promover." -#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4690 +#: access/transam/xlogrecovery.c:2951 access/transam/xlogrecovery.c:4700 #, c-format msgid "recovery has paused" msgstr "la recuperación está en pausa" -#: access/transam/xlogrecovery.c:2942 +#: access/transam/xlogrecovery.c:2952 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "Ejecute pg_wal_replay_resume() para continuar." -#: access/transam/xlogrecovery.c:3205 +#: access/transam/xlogrecovery.c:3215 #, c-format msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u" msgstr "ID de timeline %u inesperado en segmento WAL %s, LSN %X/%X, posición %u" -#: access/transam/xlogrecovery.c:3413 +#: access/transam/xlogrecovery.c:3423 #, c-format msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m" msgstr "no se pudo leer desde el segmento de WAL %s, LSN %X/%X, posición %u: %m" -#: access/transam/xlogrecovery.c:3420 +#: access/transam/xlogrecovery.c:3430 #, c-format msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu" msgstr "no se pudo leer del segmento de WAL %s, LSN %X/%X, posición %u: leídos %d de %zu" -#: access/transam/xlogrecovery.c:4072 +#: access/transam/xlogrecovery.c:4082 #, c-format msgid "invalid checkpoint location" msgstr "ubicación de checkpoint no válida" -#: access/transam/xlogrecovery.c:4082 +#: access/transam/xlogrecovery.c:4092 #, c-format msgid "invalid checkpoint record" msgstr "el registro del checkpoint no es válido" -#: access/transam/xlogrecovery.c:4088 +#: access/transam/xlogrecovery.c:4098 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "el ID de gestor de recursos en el registro del checkpoint no es válido" -#: access/transam/xlogrecovery.c:4096 +#: access/transam/xlogrecovery.c:4106 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "xl_info en el registro del checkpoint no es válido" -#: access/transam/xlogrecovery.c:4102 +#: access/transam/xlogrecovery.c:4112 #, c-format msgid "invalid length of checkpoint record" msgstr "la longitud del registro de checkpoint no es válida" -#: access/transam/xlogrecovery.c:4156 +#: access/transam/xlogrecovery.c:4166 #, c-format msgid "new timeline %u is not a child of database system timeline %u" msgstr "el nuevo timeline %u especificado no es hijo del timeline de sistema %u" -#: access/transam/xlogrecovery.c:4170 +#: access/transam/xlogrecovery.c:4180 #, c-format msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X" msgstr "el nuevo timeline %u bifurcó del timeline del sistema actual %u antes del punto re recuperación actual %X/%X" -#: access/transam/xlogrecovery.c:4189 +#: access/transam/xlogrecovery.c:4199 #, c-format msgid "new target timeline is %u" msgstr "el nuevo timeline destino es %u" -#: access/transam/xlogrecovery.c:4392 +#: access/transam/xlogrecovery.c:4402 #, c-format msgid "WAL receiver process shutdown requested" msgstr "se recibió una petición de apagado para el proceso receptor de wal" -#: access/transam/xlogrecovery.c:4452 +#: access/transam/xlogrecovery.c:4462 #, c-format msgid "received promote request" msgstr "se recibió petición de promoción" -#: access/transam/xlogrecovery.c:4681 +#: access/transam/xlogrecovery.c:4691 #, c-format msgid "hot standby is not possible because of insufficient parameter settings" msgstr "hot standby no es posible porque la configuración de parámetros no es suficiente" -#: access/transam/xlogrecovery.c:4682 access/transam/xlogrecovery.c:4709 -#: access/transam/xlogrecovery.c:4739 +#: access/transam/xlogrecovery.c:4692 access/transam/xlogrecovery.c:4719 +#: access/transam/xlogrecovery.c:4749 #, c-format msgid "%s = %d is a lower setting than on the primary server, where its value was %d." msgstr "%s = %d es una configuración menor que en el servidor primario, donde su valor era %d." -#: access/transam/xlogrecovery.c:4691 +#: access/transam/xlogrecovery.c:4701 #, c-format msgid "If recovery is unpaused, the server will shut down." msgstr "Si se continúa con la recuperación, el servidor se apagará." -#: access/transam/xlogrecovery.c:4692 +#: access/transam/xlogrecovery.c:4702 #, c-format msgid "You can then restart the server after making the necessary configuration changes." msgstr "Luego puede reiniciar el servidor después de hacer los cambios necesarios en la configuración." -#: access/transam/xlogrecovery.c:4703 +#: access/transam/xlogrecovery.c:4713 #, c-format msgid "promotion is not possible because of insufficient parameter settings" msgstr "la promoción no es posible porque la configuración de parámetros no es suficiente" -#: access/transam/xlogrecovery.c:4713 +#: access/transam/xlogrecovery.c:4723 #, c-format msgid "Restart the server after making the necessary configuration changes." msgstr "Reinicie el servidor luego de hacer los cambios necesarios en la configuración." -#: access/transam/xlogrecovery.c:4737 +#: access/transam/xlogrecovery.c:4747 #, c-format msgid "recovery aborted because of insufficient parameter settings" msgstr "se abortó la recuperación porque la configuración de parámetros no es suficiente" -#: access/transam/xlogrecovery.c:4743 +#: access/transam/xlogrecovery.c:4753 #, c-format msgid "You can restart the server after making the necessary configuration changes." msgstr "Puede reiniciar el servidor luego de hacer los cambios necesarios en la configuración." -#: access/transam/xlogrecovery.c:4763 access/transam/xlogrecovery.c:4765 +#: access/transam/xlogrecovery.c:4773 access/transam/xlogrecovery.c:4775 #: catalog/dependency.c:1153 catalog/dependency.c:1160 #: catalog/dependency.c:1171 commands/tablecmds.c:1459 #: commands/tablecmds.c:15152 commands/tablespace.c:460 commands/user.c:1302 -#: commands/vacuum.c:212 commands/view.c:441 executor/execExprInterp.c:4655 +#: commands/vacuum.c:213 commands/view.c:441 executor/execExprInterp.c:4655 #: executor/execExprInterp.c:4663 libpq/auth.c:332 #: replication/logical/applyparallelworker.c:1048 replication/slot.c:261 -#: replication/slot.c:2470 replication/slot.c:2472 replication/syncrep.c:1078 +#: replication/slot.c:2502 replication/slot.c:2504 replication/syncrep.c:1078 #: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1432 utils/misc/guc.c:3169 #: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6836 #: utils/misc/guc.c:6870 utils/misc/guc.c:6904 utils/misc/guc.c:6947 @@ -3732,28 +3746,28 @@ msgid "%s" msgstr "%s" -#: access/transam/xlogrecovery.c:4796 +#: access/transam/xlogrecovery.c:4806 #, c-format msgid "multiple recovery targets specified" msgstr "múltiples valores de destino de recuperación especificados" -#: access/transam/xlogrecovery.c:4797 +#: access/transam/xlogrecovery.c:4807 #, c-format msgid "At most one of \"recovery_target\", \"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\", \"recovery_target_xid\" may be set." msgstr "A lo más uno de «recovery_target», «recovery_target_lsn», «recovery_target_name», «recovery_target_time», «recovery_target_xid» puede estar definido." -#: access/transam/xlogrecovery.c:4808 +#: access/transam/xlogrecovery.c:4818 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "El único valor permitido es «immediate»." -#: access/transam/xlogrecovery.c:4960 utils/adt/timestamp.c:202 +#: access/transam/xlogrecovery.c:4970 utils/adt/timestamp.c:202 #: utils/adt/timestamp.c:455 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "timestamp fuera de rango: «%s»" -#: access/transam/xlogrecovery.c:5005 +#: access/transam/xlogrecovery.c:5015 #, c-format msgid "\"recovery_target_timeline\" is not a valid number." msgstr "«recovery_target_timeline» no es un número válido." @@ -4022,12 +4036,12 @@ msgid "The first unsummarized LSN in this range is %X/%X." msgstr "El primer LSN sin sumarización en este rango es %X/%X." -#: backup/basebackup_incremental.c:938 +#: backup/basebackup_incremental.c:952 #, c-format msgid "backup manifest version 1 does not support incremental backup" msgstr "el manifiesto de backup versión 1 no soporta backups incrementales" -#: backup/basebackup_incremental.c:956 +#: backup/basebackup_incremental.c:970 #, c-format msgid "system identifier in backup manifest is %llu, but database system identifier is %llu" msgstr "el identificador de sistema en el manifiesto de backup es %llu, pero el identificador en el sistema es %llu" @@ -4054,7 +4068,7 @@ #: backup/basebackup_server.c:102 commands/dbcommands.c:477 #: commands/tablespace.c:157 commands/tablespace.c:173 -#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:1992 +#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:2024 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" @@ -4073,7 +4087,7 @@ #: backup/basebackup_server.c:175 backup/basebackup_server.c:182 #: backup/basebackup_server.c:268 backup/basebackup_server.c:275 #: backup/walsummary.c:312 storage/smgr/md.c:502 storage/smgr/md.c:509 -#: storage/smgr/md.c:591 storage/smgr/md.c:613 storage/smgr/md.c:999 +#: storage/smgr/md.c:602 storage/smgr/md.c:624 storage/smgr/md.c:1010 #, c-format msgid "Check free disk space." msgstr "Verifique el espacio libre en disco." @@ -4742,7 +4756,7 @@ msgstr "no existe el ACL de parámetro con OID %u" #: catalog/aclchk.c:3723 commands/collationcmds.c:853 -#: commands/publicationcmds.c:1739 +#: commands/publicationcmds.c:1744 #, c-format msgid "schema with OID %u does not exist" msgstr "no existe el esquema con OID %u" @@ -5025,14 +5039,14 @@ msgid "generation expression is not immutable" msgstr "la expresión de generación no es inmutable" -#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1276 +#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1279 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "la columna «%s» es de tipo %s pero la expresión default es de tipo %s" #: catalog/heap.c:2864 commands/prepare.c:331 parser/analyze.c:2758 #: parser/parse_target.c:592 parser/parse_target.c:882 -#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1281 +#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1284 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Necesitará reescribir la expresión o aplicarle una conversión de tipo." @@ -5123,7 +5137,7 @@ msgid "pg_class index OID value not set when in binary upgrade mode" msgstr "el valor de OID de índice de pg_class no se definió en modo de actualización binaria" -#: catalog/index.c:951 utils/cache/relcache.c:3791 +#: catalog/index.c:951 utils/cache/relcache.c:3807 #, c-format msgid "index relfilenumber value not set when in binary upgrade mode" msgstr "el valor relfilenumber de índice no se definió en modo de actualización binaria" @@ -5133,34 +5147,34 @@ msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLY debe ser la primera acción en una transacción" -#: catalog/index.c:3668 +#: catalog/index.c:3675 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "no se puede hacer reindex de tablas temporales de otras sesiones" -#: catalog/index.c:3679 commands/indexcmds.c:3660 +#: catalog/index.c:3686 commands/indexcmds.c:3660 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "no es posible reindexar un índice no válido en tabla TOAST" -#: catalog/index.c:3695 commands/indexcmds.c:3538 commands/indexcmds.c:3684 +#: catalog/index.c:3702 commands/indexcmds.c:3538 commands/indexcmds.c:3684 #: commands/tablecmds.c:3581 #, c-format msgid "cannot move system relation \"%s\"" msgstr "no se puede mover la relación de sistema «%s»" -#: catalog/index.c:3832 +#: catalog/index.c:3839 #, c-format msgid "index \"%s\" was reindexed" msgstr "el índice «%s» fue reindexado" -#: catalog/index.c:3998 +#: catalog/index.c:4005 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "no se puede reindexar el índice no válido «%s.%s» en tabla TOAST, omitiendo" #: catalog/namespace.c:462 catalog/namespace.c:666 catalog/namespace.c:758 -#: commands/trigger.c:5817 +#: commands/trigger.c:5838 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "no están implementadas las referencias entre bases de datos: «%s.%s.%s»" @@ -6483,7 +6497,7 @@ msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute." msgstr "Puede especificar manualmente un nombre para el tipo de multirango usando el atributo «multirange_type_name»." -#: catalog/storage.c:533 storage/buffer/bufmgr.c:1540 +#: catalog/storage.c:533 storage/buffer/bufmgr.c:1547 #, c-format msgid "invalid page in block %u of relation %s" msgstr "la página no es válida en el bloque %u de la relación %s" @@ -6598,7 +6612,7 @@ msgid "language \"%s\" already exists" msgstr "ya existe el lenguaje «%s»" -#: commands/alter.c:95 commands/publicationcmds.c:764 +#: commands/alter.c:95 commands/publicationcmds.c:769 #, c-format msgid "publication \"%s\" already exists" msgstr "la publicación «%s» ya existe" @@ -6740,27 +6754,27 @@ msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "omitiendo el análisis del árbol de herencia «%s.%s» --- este árbol no contiene tablas hijas analizables" -#: commands/async.c:612 +#: commands/async.c:611 #, c-format msgid "channel name cannot be empty" msgstr "el nombre de canal no puede ser vacío" -#: commands/async.c:618 +#: commands/async.c:617 #, c-format msgid "channel name too long" msgstr "el nombre de canal es demasiado largo" -#: commands/async.c:623 +#: commands/async.c:622 #, c-format msgid "payload string too long" msgstr "la cadena de carga es demasiado larga" -#: commands/async.c:842 +#: commands/async.c:841 #, c-format msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" msgstr "no se puede hacer PREPARE de una transacción que ha ejecutado LISTEN, UNLISTEN o NOTIFY" -#: commands/async.c:946 +#: commands/async.c:945 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "demasiadas notificaciones en la cola NOTIFY" @@ -6877,9 +6891,9 @@ #: commands/collationcmds.c:123 commands/collationcmds.c:129 #: commands/define.c:388 commands/tablecmds.c:8162 #: replication/pgoutput/pgoutput.c:315 replication/pgoutput/pgoutput.c:338 -#: replication/pgoutput/pgoutput.c:352 replication/pgoutput/pgoutput.c:362 -#: replication/pgoutput/pgoutput.c:372 replication/pgoutput/pgoutput.c:382 -#: replication/pgoutput/pgoutput.c:394 replication/walsender.c:1164 +#: replication/pgoutput/pgoutput.c:356 replication/pgoutput/pgoutput.c:366 +#: replication/pgoutput/pgoutput.c:376 replication/pgoutput/pgoutput.c:386 +#: replication/pgoutput/pgoutput.c:398 replication/walsender.c:1164 #: replication/walsender.c:1186 replication/walsender.c:1196 #: replication/walsender.c:1205 replication/walsender.c:1444 #, c-format @@ -7080,13 +7094,12 @@ #: commands/copy.c:180 #, c-format -#| msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" msgid "generated columns are not supported in COPY FROM WHERE conditions" msgstr "no se permiten columnas generadas en las condiciones WHERE de COPY FROM" #: commands/copy.c:181 commands/tablecmds.c:12858 commands/tablecmds.c:18092 #: commands/tablecmds.c:18171 commands/trigger.c:657 -#: rewrite/rewriteHandler.c:941 rewrite/rewriteHandler.c:976 +#: rewrite/rewriteHandler.c:944 rewrite/rewriteHandler.c:979 #, c-format msgid "Column \"%s\" is a generated column." msgstr "La columna «%s» es una columna generada." @@ -7232,7 +7245,7 @@ msgid "Generated columns cannot be used in COPY." msgstr "Las columnas generadas no pueden usarse en COPY." -#: commands/copy.c:993 commands/indexcmds.c:1890 commands/statscmds.c:239 +#: commands/copy.c:993 commands/indexcmds.c:1890 commands/statscmds.c:260 #: commands/tablecmds.c:2526 commands/tablecmds.c:2997 #: commands/tablecmds.c:3808 parser/parse_relation.c:3692 #: parser/parse_relation.c:3702 parser/parse_relation.c:3720 @@ -7332,7 +7345,7 @@ msgid "%s column \"%s\" not referenced by COPY" msgstr "la columna %s «%s» no es referenciada en COPY" -#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385 +#: commands/copyfrom.c:1544 utils/mb/mbutils.c:386 #, c-format msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "no existe el procedimiento por omisión de conversión desde la codificación «%s» a «%s»" @@ -7878,7 +7891,7 @@ msgstr "el directorio de datos con el OID %u especificado ya existe" #: commands/dbcommands.c:1571 commands/dbcommands.c:1586 -#: utils/adt/pg_locale.c:2588 +#: utils/adt/pg_locale.c:2591 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "la codificación «%s» no coincide con la configuración regional «%s»" @@ -8104,7 +8117,7 @@ msgid "conversion \"%s\" does not exist, skipping" msgstr "no existe la conversión «%s», omitiendo" -#: commands/dropcmds.c:288 commands/statscmds.c:664 +#: commands/dropcmds.c:288 commands/statscmds.c:685 #, c-format msgid "statistics object \"%s\" does not exist, skipping" msgstr "no existe el objeto de estadísticas «%s», omitiendo" @@ -8281,17 +8294,17 @@ msgid "The owner of an event trigger must be a superuser." msgstr "El dueño de un “trigger” por eventos debe ser un superusuario." -#: commands/event_trigger.c:1541 +#: commands/event_trigger.c:1536 #, c-format msgid "%s can only be called in a sql_drop event trigger function" msgstr "%s sólo puede invocarse en una función de un “trigger” en el evento sql_drop" -#: commands/event_trigger.c:1634 commands/event_trigger.c:1655 +#: commands/event_trigger.c:1629 commands/event_trigger.c:1650 #, c-format msgid "%s can only be called in a table_rewrite event trigger function" msgstr "%s sólo puede invocarse en una función de un “trigger” en el evento table_rewrite" -#: commands/event_trigger.c:2068 +#: commands/event_trigger.c:2063 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%s sólo puede invocarse en una función de un “trigger” por eventos" @@ -9712,7 +9725,7 @@ msgid "operator attribute \"%s\" cannot be changed if it has already been set" msgstr "el atributo de operador «%s» no puede ser cambiado si ya se ha establecido" -#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146 +#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:152 #: commands/tablecmds.c:1740 commands/tablecmds.c:2340 #: commands/tablecmds.c:3702 commands/tablecmds.c:6605 #: commands/tablecmds.c:9670 commands/tablecmds.c:17836 @@ -9814,199 +9827,199 @@ msgid "must be superuser to create custom procedural language" msgstr "debe ser superusuario para crear un lenguaje procedural personalizado" -#: commands/publicationcmds.c:124 postmaster/postmaster.c:1110 +#: commands/publicationcmds.c:129 postmaster/postmaster.c:1110 #: postmaster/postmaster.c:1212 utils/init/miscinit.c:1866 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "la sintaxis de lista no es válida para el parámetro «%s»" -#: commands/publicationcmds.c:143 +#: commands/publicationcmds.c:148 #, c-format msgid "unrecognized value for publication option \"%s\": \"%s\"" msgstr "valor no reconocido para la opción de publicación «%s»: «%s»" -#: commands/publicationcmds.c:157 +#: commands/publicationcmds.c:162 #, c-format msgid "unrecognized publication parameter: \"%s\"" msgstr "parámetro de publicación no reconocido: «%s»" -#: commands/publicationcmds.c:198 +#: commands/publicationcmds.c:203 #, c-format msgid "no schema has been selected for CURRENT_SCHEMA" msgstr "no se ha seleccionado ningún esquema para CURRENT_SCHEMA" -#: commands/publicationcmds.c:495 +#: commands/publicationcmds.c:500 msgid "System columns are not allowed." msgstr "Las columnas de sistema no son permitidas." -#: commands/publicationcmds.c:502 commands/publicationcmds.c:507 -#: commands/publicationcmds.c:524 +#: commands/publicationcmds.c:507 commands/publicationcmds.c:512 +#: commands/publicationcmds.c:529 msgid "User-defined operators are not allowed." msgstr "Los operadores definidos por el usuario no están permitidos." -#: commands/publicationcmds.c:548 +#: commands/publicationcmds.c:553 msgid "Only columns, constants, built-in operators, built-in data types, built-in collations, and immutable built-in functions are allowed." msgstr "Sólo columnas, constantes, operadores built-in, tipos de datos built-in, configuraciones regionales built-in y funciones built-in inmutables son permitidas." -#: commands/publicationcmds.c:560 +#: commands/publicationcmds.c:565 msgid "User-defined types are not allowed." msgstr "Los tipos definidos por el usuario no están permitidos." -#: commands/publicationcmds.c:563 +#: commands/publicationcmds.c:568 msgid "User-defined or built-in mutable functions are not allowed." msgstr "Las funciones definidas por el usuario, o las que son mutables, no están permitidas." -#: commands/publicationcmds.c:566 +#: commands/publicationcmds.c:571 msgid "User-defined collations are not allowed." msgstr "Los «collations» definidos por el usuario no están permitidos." -#: commands/publicationcmds.c:576 +#: commands/publicationcmds.c:581 #, c-format msgid "invalid publication WHERE expression" msgstr "sintaxis de cláusula WHERE de publicación no válida" -#: commands/publicationcmds.c:629 +#: commands/publicationcmds.c:634 #, c-format msgid "cannot use publication WHERE clause for relation \"%s\"" msgstr "no se puede usar cláusula WHERE de la publicación para la relación «%s»" -#: commands/publicationcmds.c:631 +#: commands/publicationcmds.c:636 #, c-format msgid "WHERE clause cannot be used for a partitioned table when %s is false." msgstr "la cláusula WHERE no puede ser usada para una tabla particionada cuando %s es falso." -#: commands/publicationcmds.c:702 commands/publicationcmds.c:716 +#: commands/publicationcmds.c:707 commands/publicationcmds.c:721 #, c-format msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\"" msgstr "no se puede usar lista de columnas para la relación «%s.%s» en la publicación «%s»" -#: commands/publicationcmds.c:705 +#: commands/publicationcmds.c:710 #, c-format msgid "Column lists cannot be specified in publications containing FOR TABLES IN SCHEMA elements." msgstr "Las listas de columnas no pueden ser especificadas en publicaciones que contienen elementos FOR TABLES IN SCHEMA." -#: commands/publicationcmds.c:719 +#: commands/publicationcmds.c:724 #, c-format msgid "Column lists cannot be specified for partitioned tables when %s is false." msgstr "Las listas de columnas no pueden ser especificadas para tablas particionadas cuando %s es falso." -#: commands/publicationcmds.c:754 +#: commands/publicationcmds.c:759 #, c-format msgid "must be superuser to create FOR ALL TABLES publication" msgstr "debe ser superusuario para crear publicaciones FOR ALL TABLES" -#: commands/publicationcmds.c:825 +#: commands/publicationcmds.c:830 #, c-format msgid "must be superuser to create FOR TABLES IN SCHEMA publication" msgstr "debe ser superusuario para crear publicaciones FOR TABLES IN SCHEMA" -#: commands/publicationcmds.c:861 +#: commands/publicationcmds.c:866 #, c-format msgid "\"wal_level\" is insufficient to publish logical changes" msgstr "«wal_level» es insuficiente para publicar cambios lógicos" -#: commands/publicationcmds.c:862 +#: commands/publicationcmds.c:867 #, c-format msgid "Set \"wal_level\" to \"logical\" before creating subscriptions." msgstr "Cambie «wal_level» a «logical» antes de crear suscripciones." -#: commands/publicationcmds.c:958 commands/publicationcmds.c:966 +#: commands/publicationcmds.c:963 commands/publicationcmds.c:971 #, c-format msgid "cannot set parameter \"%s\" to false for publication \"%s\"" msgstr "no se puede definir el parámetro «%s» a falso para la publicación «%s»" -#: commands/publicationcmds.c:961 +#: commands/publicationcmds.c:966 #, c-format msgid "The publication contains a WHERE clause for partitioned table \"%s\", which is not allowed when \"%s\" is false." msgstr "La publicación contiene una cláusula WHERE para la tabla particionada «%s», que no está permitido cuando «%s» es falso." -#: commands/publicationcmds.c:969 +#: commands/publicationcmds.c:974 #, c-format msgid "The publication contains a column list for partitioned table \"%s\", which is not allowed when \"%s\" is false." msgstr "La publicación contiene una lista de columns para la tabla particionada «%s», que no está permitido cuando «%s» es falso." -#: commands/publicationcmds.c:1292 +#: commands/publicationcmds.c:1297 #, c-format msgid "cannot add schema to publication \"%s\"" msgstr "no se puede agregar el esquema «%s» a la publicación" -#: commands/publicationcmds.c:1294 +#: commands/publicationcmds.c:1299 #, c-format msgid "Schemas cannot be added if any tables that specify a column list are already part of the publication." msgstr "Los esquemas no pueden ser añadidos si alguna tabla que especifica una lista de columnas ya es parte de la publicación." -#: commands/publicationcmds.c:1342 +#: commands/publicationcmds.c:1347 #, c-format msgid "must be superuser to add or set schemas" msgstr "debe ser superusuario para agregar o definir esquemas" -#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359 +#: commands/publicationcmds.c:1356 commands/publicationcmds.c:1364 #, c-format msgid "publication \"%s\" is defined as FOR ALL TABLES" msgstr "la publicación \"%s\" se define como FOR ALL TABLES" -#: commands/publicationcmds.c:1353 +#: commands/publicationcmds.c:1358 #, c-format msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications." msgstr "No se pueden agregar ni eliminar esquemas de las publicaciones FOR ALL TABLES." -#: commands/publicationcmds.c:1361 +#: commands/publicationcmds.c:1366 #, c-format msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications." msgstr "Las tablas no se pueden agregar ni eliminar de las publicaciones FOR ALL TABLES." -#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424 -#: commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634 +#: commands/publicationcmds.c:1390 commands/publicationcmds.c:1429 +#: commands/publicationcmds.c:1966 utils/cache/lsyscache.c:3634 #, c-format msgid "publication \"%s\" does not exist" msgstr "no existe la publicación «%s»" -#: commands/publicationcmds.c:1587 commands/publicationcmds.c:1650 +#: commands/publicationcmds.c:1592 commands/publicationcmds.c:1655 #, c-format msgid "conflicting or redundant WHERE clauses for table \"%s\"" msgstr "cláusulas WHERE en conflicto o redundantes para la tabla «%s»" -#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662 +#: commands/publicationcmds.c:1599 commands/publicationcmds.c:1667 #, c-format msgid "conflicting or redundant column lists for table \"%s\"" msgstr "listas de columnas contradictorias o redundantes para la tabla «%s»" -#: commands/publicationcmds.c:1796 +#: commands/publicationcmds.c:1801 #, c-format msgid "column list must not be specified in ALTER PUBLICATION ... DROP" msgstr "la lista de columnas no debe ser especificada en ALTER PUBLICATION ... DROP" -#: commands/publicationcmds.c:1808 +#: commands/publicationcmds.c:1813 #, c-format msgid "relation \"%s\" is not part of the publication" msgstr "relación «%s» no es parte de la publicación" -#: commands/publicationcmds.c:1815 +#: commands/publicationcmds.c:1820 #, c-format msgid "cannot use a WHERE clause when removing a table from a publication" msgstr "no se puede usar una cláusula WHERE cuando se elimina una tabla de una publicación" -#: commands/publicationcmds.c:1875 +#: commands/publicationcmds.c:1880 #, c-format msgid "tables from schema \"%s\" are not part of the publication" msgstr "las tablas del esquema «%s» no son parte de la publicación" -#: commands/publicationcmds.c:1918 commands/publicationcmds.c:1925 +#: commands/publicationcmds.c:1923 commands/publicationcmds.c:1930 #, c-format msgid "permission denied to change owner of publication \"%s\"" msgstr "se ha denegado el permiso para cambiar el dueño de la publicación «%s»" -#: commands/publicationcmds.c:1920 +#: commands/publicationcmds.c:1925 #, c-format msgid "The owner of a FOR ALL TABLES publication must be a superuser." msgstr "El dueño de una publicación FOR ALL TABLES debe ser un superusuario." -#: commands/publicationcmds.c:1927 +#: commands/publicationcmds.c:1932 #, c-format msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser." msgstr "El dueño de una publicación FOR TABLES IN SCHEMA debe ser un superusuario." -#: commands/publicationcmds.c:1993 +#: commands/publicationcmds.c:1998 #, c-format msgid "publication with OID %u does not exist" msgstr "no existe la publicación con OID %u" @@ -10182,72 +10195,72 @@ msgid "cannot define statistics for relation \"%s\"" msgstr "no se puede definir estadísticas para la relación «%s»" -#: commands/statscmds.c:187 +#: commands/statscmds.c:208 #, c-format msgid "statistics object \"%s\" already exists, skipping" msgstr "el objeto de estadísticas «%s» ya existe, omitiendo" -#: commands/statscmds.c:195 +#: commands/statscmds.c:216 #, c-format msgid "statistics object \"%s\" already exists" msgstr "el objeto de estadísticas «%s» ya existe" -#: commands/statscmds.c:206 +#: commands/statscmds.c:227 #, c-format msgid "cannot have more than %d columns in statistics" msgstr "no se puede tener más de %d columnas en estadísticas" -#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304 +#: commands/statscmds.c:268 commands/statscmds.c:291 commands/statscmds.c:325 #, c-format msgid "statistics creation on system columns is not supported" msgstr "la creación de estadísticas en columnas de sistema no está soportada" -#: commands/statscmds.c:254 commands/statscmds.c:277 +#: commands/statscmds.c:275 commands/statscmds.c:298 #, c-format msgid "column \"%s\" cannot be used in statistics because its type %s has no default btree operator class" msgstr "la columna «%s» no puede ser usado en estadísticas porque su tipo %s no tiene una clase de operadores por omisión para btree" -#: commands/statscmds.c:321 +#: commands/statscmds.c:342 #, c-format msgid "expression cannot be used in multivariate statistics because its type %s has no default btree operator class" msgstr "la expresión no puede ser usada en estadísticas multivariantes porque su tipo %s no tiene una clase de operadores por omisión para btree" -#: commands/statscmds.c:342 +#: commands/statscmds.c:363 #, c-format msgid "when building statistics on a single expression, statistics kinds may not be specified" msgstr "al crear estadísticas sobre una sola expresión, no se deben especificar tipos de estadísticas" -#: commands/statscmds.c:371 +#: commands/statscmds.c:392 #, c-format msgid "unrecognized statistics kind \"%s\"" msgstr "tipo de estadísticas «%s» no reconocido" -#: commands/statscmds.c:400 +#: commands/statscmds.c:421 #, c-format msgid "extended statistics require at least 2 columns" msgstr "las estadísticas extendidas requieren al menos 2 columnas" -#: commands/statscmds.c:418 +#: commands/statscmds.c:439 #, c-format msgid "duplicate column name in statistics definition" msgstr "nombre de columna duplicado en definición de estadísticas" -#: commands/statscmds.c:453 +#: commands/statscmds.c:474 #, c-format msgid "duplicate expression in statistics definition" msgstr "expresión duplicada en definición de estadísticas" -#: commands/statscmds.c:628 commands/tablecmds.c:8653 +#: commands/statscmds.c:649 commands/tablecmds.c:8653 #, c-format msgid "statistics target %d is too low" msgstr "el valor de estadísticas %d es demasiado bajo" -#: commands/statscmds.c:636 commands/tablecmds.c:8661 +#: commands/statscmds.c:657 commands/tablecmds.c:8661 #, c-format msgid "lowering statistics target to %d" msgstr "bajando el valor de estadísticas a %d" -#: commands/statscmds.c:660 +#: commands/statscmds.c:681 #, c-format msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "no existe el objeto de estadísticas «%s.%s», omitiendo" @@ -10257,7 +10270,7 @@ msgid "unrecognized subscription parameter: \"%s\"" msgstr "parámetro de suscripción no reconocido: «%s»" -#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:405 +#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:409 #, c-format msgid "unrecognized origin value: \"%s\"" msgstr "valor de origen no reconocido: «%s»" @@ -10435,7 +10448,7 @@ msgstr "Verifique que los datos iniciales copiados desde el publicador no vinieron de otros orígenes." #: commands/subscriptioncmds.c:2228 replication/logical/tablesync.c:932 -#: replication/pgoutput/pgoutput.c:1155 +#: replication/pgoutput/pgoutput.c:1159 #, c-format msgid "cannot use different column lists for table \"%s.%s\" in different publications" msgstr "no se puede usar distintas listas de columnas para la tabla «%s.%s» en distintas publicaciones" @@ -10790,7 +10803,7 @@ msgstr "la columna «%s» tiene conflicto de ordenamientos (collation)" #: commands/tablecmds.c:3164 commands/tablecmds.c:3326 -#: commands/tablecmds.c:7080 parser/parse_expr.c:4764 +#: commands/tablecmds.c:7080 parser/parse_expr.c:4771 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "«%s» versus «%s»" @@ -12344,8 +12357,8 @@ #: commands/trigger.c:3428 executor/nodeModifyTable.c:1563 #: executor/nodeModifyTable.c:1637 executor/nodeModifyTable.c:2400 -#: executor/nodeModifyTable.c:2491 executor/nodeModifyTable.c:3155 -#: executor/nodeModifyTable.c:3326 +#: executor/nodeModifyTable.c:2491 executor/nodeModifyTable.c:3146 +#: executor/nodeModifyTable.c:3338 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "Considere usar un “trigger” AFTER en lugar de un “trigger” BEFORE para propagar cambios a otros registros." @@ -12359,23 +12372,23 @@ msgstr "no se pudo serializar el acceso debido a un update concurrente" #: commands/trigger.c:3478 executor/nodeModifyTable.c:1669 -#: executor/nodeModifyTable.c:2508 executor/nodeModifyTable.c:2665 -#: executor/nodeModifyTable.c:3173 +#: executor/nodeModifyTable.c:2508 executor/nodeModifyTable.c:2657 +#: executor/nodeModifyTable.c:3164 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "no se pudo serializar el acceso debido a un delete concurrente" -#: commands/trigger.c:4687 +#: commands/trigger.c:4671 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "no se puede ejecutar un “trigger” postergado dentro de una operación restringida por seguridad" -#: commands/trigger.c:5868 +#: commands/trigger.c:5889 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "la restricción «%s» no es postergable" -#: commands/trigger.c:5891 +#: commands/trigger.c:5912 #, c-format msgid "constraint \"%s\" does not exist" msgstr "no existe la restricción «%s»" @@ -13141,112 +13154,112 @@ msgid "Use CASCADE to revoke them too." msgstr "Use CASCADE para revocarlos también." -#: commands/vacuum.c:135 +#: commands/vacuum.c:136 #, c-format msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" msgstr "«vacuum_buffer_usage_limit» debe ser 0 o estar entre %d kB y %d kB" -#: commands/vacuum.c:210 +#: commands/vacuum.c:211 #, c-format msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB" msgstr "la opción BUFFER_USAGE_LIMIT debe ser 0 o estar entre %d kB y %d kB" -#: commands/vacuum.c:220 +#: commands/vacuum.c:221 #, c-format msgid "unrecognized ANALYZE option \"%s\"" msgstr "opción de ANALYZE «%s» no reconocida" -#: commands/vacuum.c:260 +#: commands/vacuum.c:261 #, c-format msgid "parallel option requires a value between 0 and %d" msgstr "la opción parallel requiere un valor entre 0 y %d" -#: commands/vacuum.c:272 +#: commands/vacuum.c:273 #, c-format msgid "parallel workers for vacuum must be between 0 and %d" msgstr "el número de procesos paralelos para vacuum debe estar entre 0 y %d" -#: commands/vacuum.c:293 +#: commands/vacuum.c:294 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "opción de VACUUM «%s» no reconocida" -#: commands/vacuum.c:319 +#: commands/vacuum.c:320 #, c-format msgid "VACUUM FULL cannot be performed in parallel" msgstr "VACUUM FULL no puede ser ejecutado en paralelo" -#: commands/vacuum.c:330 +#: commands/vacuum.c:331 #, c-format msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL" msgstr "BUFFER_USAGE_LIMIT no puede ser especificado para VACUUM FULL" -#: commands/vacuum.c:344 +#: commands/vacuum.c:345 #, c-format msgid "ANALYZE option must be specified when a column list is provided" msgstr "la opción ANALYZE debe especificarse cuando se provee una lista de columnas" -#: commands/vacuum.c:356 +#: commands/vacuum.c:357 #, c-format msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL" msgstr "la opción DISABLE_PAGE_SKIPPING de VACUUM no puede usarse con FULL" -#: commands/vacuum.c:363 +#: commands/vacuum.c:364 #, c-format msgid "PROCESS_TOAST required with VACUUM FULL" msgstr "se requiere especificar PROCESS_TOAST al hacer VACUUM FULL" -#: commands/vacuum.c:372 +#: commands/vacuum.c:373 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables" msgstr "ONLY_DATABASE_STATS no se puede especificar con una lista de tablas" -#: commands/vacuum.c:381 +#: commands/vacuum.c:382 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" msgstr "ONLY_DATABASE_STATS no puede ser especificada con otras opciones de VACUUM" -#: commands/vacuum.c:516 +#: commands/vacuum.c:517 #, c-format msgid "%s cannot be executed from VACUUM or ANALYZE" msgstr "%s no puede ejecutarse desde VACUUM o ANALYZE" -#: commands/vacuum.c:741 +#: commands/vacuum.c:742 #, c-format msgid "permission denied to vacuum \"%s\", skipping it" msgstr "permiso denegado a hacer vacuum a «%s», ignorando" -#: commands/vacuum.c:754 +#: commands/vacuum.c:755 #, c-format msgid "permission denied to analyze \"%s\", skipping it" msgstr "se ha denegado el permiso para hacer analyze a «%s», ignorando" -#: commands/vacuum.c:832 commands/vacuum.c:929 +#: commands/vacuum.c:833 commands/vacuum.c:930 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "omitiendo el vacuum de «%s»: el “lock” no está disponible" -#: commands/vacuum.c:837 +#: commands/vacuum.c:838 #, c-format msgid "skipping vacuum of \"%s\" --- relation no longer exists" msgstr "omitiendo el vacuum de «%s» --- la relación ya no existe" -#: commands/vacuum.c:853 commands/vacuum.c:934 +#: commands/vacuum.c:854 commands/vacuum.c:935 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "omitiendo analyze de «%s»: el “lock” no está disponible" -#: commands/vacuum.c:858 +#: commands/vacuum.c:859 #, c-format msgid "skipping analyze of \"%s\" --- relation no longer exists" msgstr "omitiendo analyze de «%s» --- la relación ya no existe" -#: commands/vacuum.c:1150 +#: commands/vacuum.c:1151 #, c-format msgid "cutoff for removing and freezing tuples is far in the past" msgstr "el punto de corte para eliminar y congelar tuplas es demasiado antiguo" -#: commands/vacuum.c:1151 commands/vacuum.c:1156 +#: commands/vacuum.c:1152 commands/vacuum.c:1157 #, c-format msgid "" "Close open transactions soon to avoid wraparound problems.\n" @@ -13255,37 +13268,37 @@ "Cierre transaciones abiertas pronto para impedir problemas por “wraparound”.\n" "Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos." -#: commands/vacuum.c:1155 +#: commands/vacuum.c:1156 #, c-format msgid "cutoff for freezing multixacts is far in the past" msgstr "el punto de corte para congelar multixacts es demasiado antiguo" -#: commands/vacuum.c:1911 +#: commands/vacuum.c:1912 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "algunas bases de datos no han tenido VACUUM en más de 2 mil millones de transacciones" -#: commands/vacuum.c:1912 +#: commands/vacuum.c:1913 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "Puede haber sufrido ya problemas de pérdida de datos por “wraparound” del contador de transacciones." -#: commands/vacuum.c:2098 +#: commands/vacuum.c:2105 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "omitiendo «%s»: no se puede aplicar VACUUM a objetos que no son tablas o a tablas especiales de sistema" -#: commands/vacuum.c:2545 +#: commands/vacuum.c:2552 #, c-format msgid "scanned index \"%s\" to remove %lld row versions" msgstr "se recorrió el índice «%s» para eliminar %lld versiones de filas" -#: commands/vacuum.c:2564 +#: commands/vacuum.c:2571 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "el índice «%s» ahora contiene %.0f versiones de filas en %u páginas" -#: commands/vacuum.c:2568 +#: commands/vacuum.c:2575 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -13561,7 +13574,7 @@ msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "La tabla tiene tipo %s en posición ordinal %d, pero la consulta esperaba %s." -#: executor/execExpr.c:1104 parser/parse_agg.c:864 +#: executor/execExpr.c:1104 parser/parse_agg.c:891 #, c-format msgid "window function calls cannot be nested" msgstr "no se pueden anidar llamadas a funciones de ventana deslizante" @@ -14113,7 +14126,7 @@ msgid "aggregate %u needs to have compatible input type and transition type" msgstr "la función de agregación %u necesita tener tipos de entrada y transición compatibles" -#: executor/nodeAgg.c:3966 parser/parse_agg.c:680 parser/parse_agg.c:708 +#: executor/nodeAgg.c:3966 parser/parse_agg.c:687 parser/parse_agg.c:730 #, c-format msgid "aggregate function calls cannot be nested" msgstr "no se pueden anidar llamadas a funciones de agregación" @@ -14194,8 +14207,8 @@ msgstr "Considere definir una llave foránea en la tabla «%s»." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2619 executor/nodeModifyTable.c:3161 -#: executor/nodeModifyTable.c:3332 +#: executor/nodeModifyTable.c:2619 executor/nodeModifyTable.c:3152 +#: executor/nodeModifyTable.c:3344 #, c-format msgid "%s command cannot affect row a second time" msgstr "la orden %s no puede afectar una fila por segunda vez" @@ -14205,17 +14218,17 @@ msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "Asegúrese de que ningún registro propuesto para inserción dentro de la misma orden tenga valores duplicados restringidos." -#: executor/nodeModifyTable.c:3154 executor/nodeModifyTable.c:3325 +#: executor/nodeModifyTable.c:3145 executor/nodeModifyTable.c:3337 #, c-format msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" msgstr "la tupla a ser actualizada o borrada ya fue modificada por una operación disparada por la orden actual" -#: executor/nodeModifyTable.c:3163 executor/nodeModifyTable.c:3334 +#: executor/nodeModifyTable.c:3154 executor/nodeModifyTable.c:3346 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "Asegúrese que no más de un registro de origen coincide con cada registro de destino." -#: executor/nodeModifyTable.c:3232 +#: executor/nodeModifyTable.c:3223 #, c-format msgid "tuple to be merged was already moved to another partition due to concurrent update" msgstr "la tupla a ser mezclada ya fue movida a otra partición por un update concurrente" @@ -16353,7 +16366,7 @@ msgstr "FULL JOIN sólo está soportado con condiciones que se pueden usar con merge join o hash join" #: optimizer/plan/createplan.c:7177 parser/parse_merge.c:203 -#: rewrite/rewriteHandler.c:1680 +#: rewrite/rewriteHandler.c:1683 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "no se puede ejecutar MERGE en la relación «%s»" @@ -16387,22 +16400,22 @@ msgid "could not implement DISTINCT" msgstr "no se pudo implementar DISTINCT" -#: optimizer/plan/planner.c:6210 +#: optimizer/plan/planner.c:6245 #, c-format msgid "could not implement window PARTITION BY" msgstr "No se pudo implementar PARTITION BY de ventana" -#: optimizer/plan/planner.c:6211 +#: optimizer/plan/planner.c:6246 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "Las columnas de particionamiento de ventana deben de tipos que se puedan ordenar." -#: optimizer/plan/planner.c:6215 +#: optimizer/plan/planner.c:6250 #, c-format msgid "could not implement window ORDER BY" msgstr "no se pudo implementar ORDER BY de ventana" -#: optimizer/plan/planner.c:6216 +#: optimizer/plan/planner.c:6251 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "Las columnas de ordenamiento de ventana debe ser de tipos que se puedan ordenar." @@ -16423,7 +16436,7 @@ msgid "could not implement %s" msgstr "no se pudo implementar %s" -#: optimizer/util/clauses.c:4965 +#: optimizer/util/clauses.c:4962 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "función SQL «%s», durante expansión en línea" @@ -16673,331 +16686,341 @@ msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "la relación «%s» en la cláusula %s no fue encontrada en la cláusula FROM" -#: parser/parse_agg.c:210 parser/parse_oper.c:215 +#: parser/parse_agg.c:213 parser/parse_oper.c:215 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "no se pudo identificar un operador de ordenamiento para el tipo %s" -#: parser/parse_agg.c:212 +#: parser/parse_agg.c:215 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "Las funciones de agregación con DISTINCT deben ser capaces de ordenar sus valores de entrada." -#: parser/parse_agg.c:270 +#: parser/parse_agg.c:273 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "GROUPING debe tener menos de 32 argumentos" -#: parser/parse_agg.c:373 +#: parser/parse_agg.c:377 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "no se permiten funciones de agregación en las condiciones de JOIN" -#: parser/parse_agg.c:375 +#: parser/parse_agg.c:379 msgid "grouping operations are not allowed in JOIN conditions" msgstr "no se permiten las operaciones «grouping» en condiciones JOIN" -#: parser/parse_agg.c:385 +#: parser/parse_agg.c:389 msgid "aggregate functions are not allowed in FROM clause of their own query level" msgstr "las funciones de agregación no están permitidas en la cláusula FROM de su mismo nivel de consulta" -#: parser/parse_agg.c:387 +#: parser/parse_agg.c:391 msgid "grouping operations are not allowed in FROM clause of their own query level" msgstr "las operaciones «grouping» no están permitidas en la cláusula FROM de su mismo nivel de consulta" -#: parser/parse_agg.c:392 +#: parser/parse_agg.c:396 msgid "aggregate functions are not allowed in functions in FROM" msgstr "no se permiten funciones de agregación en una función en FROM" -#: parser/parse_agg.c:394 +#: parser/parse_agg.c:398 msgid "grouping operations are not allowed in functions in FROM" msgstr "no se permiten operaciones «grouping» en funciones en FROM" -#: parser/parse_agg.c:402 +#: parser/parse_agg.c:406 msgid "aggregate functions are not allowed in policy expressions" msgstr "no se permiten funciones de agregación en expresiones de políticas" -#: parser/parse_agg.c:404 +#: parser/parse_agg.c:408 msgid "grouping operations are not allowed in policy expressions" msgstr "no se permiten operaciones «grouping» en expresiones de políticas" -#: parser/parse_agg.c:421 +#: parser/parse_agg.c:425 msgid "aggregate functions are not allowed in window RANGE" msgstr "no se permiten funciones de agregación en RANGE de ventana deslizante" -#: parser/parse_agg.c:423 +#: parser/parse_agg.c:427 msgid "grouping operations are not allowed in window RANGE" msgstr "no se permiten operaciones «grouping» en RANGE de ventana deslizante" -#: parser/parse_agg.c:428 +#: parser/parse_agg.c:432 msgid "aggregate functions are not allowed in window ROWS" msgstr "no se permiten funciones de agregación en ROWS de ventana deslizante" -#: parser/parse_agg.c:430 +#: parser/parse_agg.c:434 msgid "grouping operations are not allowed in window ROWS" msgstr "no se permiten operaciones «grouping» en ROWS de ventana deslizante" -#: parser/parse_agg.c:435 +#: parser/parse_agg.c:439 msgid "aggregate functions are not allowed in window GROUPS" msgstr "no se permiten funciones de agregación en GROUPS de ventana deslizante" -#: parser/parse_agg.c:437 +#: parser/parse_agg.c:441 msgid "grouping operations are not allowed in window GROUPS" msgstr "no se permiten operaciones «grouping» en GROUPS de ventana deslizante" -#: parser/parse_agg.c:450 +#: parser/parse_agg.c:454 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "no se permiten funciones de agregación en condiciones MERGE WHEN" -#: parser/parse_agg.c:452 +#: parser/parse_agg.c:456 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "no se permiten operaciones «grouping» en condiciones MERGE WHEN" -#: parser/parse_agg.c:479 +#: parser/parse_agg.c:483 msgid "aggregate functions are not allowed in check constraints" msgstr "no se permiten funciones de agregación en restricciones «check»" -#: parser/parse_agg.c:481 +#: parser/parse_agg.c:485 msgid "grouping operations are not allowed in check constraints" msgstr "no se permiten operaciones «grouping» en restricciones «check»" -#: parser/parse_agg.c:488 +#: parser/parse_agg.c:492 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "no se permiten funciones de agregación en expresiones DEFAULT" -#: parser/parse_agg.c:490 +#: parser/parse_agg.c:494 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "no se permiten operaciones «grouping» en expresiones DEFAULT" -#: parser/parse_agg.c:495 +#: parser/parse_agg.c:499 msgid "aggregate functions are not allowed in index expressions" msgstr "no se permiten funciones de agregación en una expresión de índice" -#: parser/parse_agg.c:497 +#: parser/parse_agg.c:501 msgid "grouping operations are not allowed in index expressions" msgstr "no se permiten operaciones «grouping» en expresiones de índice" -#: parser/parse_agg.c:502 +#: parser/parse_agg.c:506 msgid "aggregate functions are not allowed in index predicates" msgstr "no se permiten funciones de agregación en predicados de índice" -#: parser/parse_agg.c:504 +#: parser/parse_agg.c:508 msgid "grouping operations are not allowed in index predicates" msgstr "no se permiten operaciones «grouping» en predicados de índice" -#: parser/parse_agg.c:509 +#: parser/parse_agg.c:513 msgid "aggregate functions are not allowed in statistics expressions" msgstr "no se permiten funciones de agregación en expresiones de estadísticas" -#: parser/parse_agg.c:511 +#: parser/parse_agg.c:515 msgid "grouping operations are not allowed in statistics expressions" msgstr "no se permiten operaciones «grouping» en expresiones de estadísticas" -#: parser/parse_agg.c:516 +#: parser/parse_agg.c:520 msgid "aggregate functions are not allowed in transform expressions" msgstr "no se permiten funciones de agregación en una expresión de transformación" -#: parser/parse_agg.c:518 +#: parser/parse_agg.c:522 msgid "grouping operations are not allowed in transform expressions" msgstr "no se permiten operaciones «grouping» en expresiones de transformación" -#: parser/parse_agg.c:523 +#: parser/parse_agg.c:527 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "no se permiten funciones de agregación en un parámetro a EXECUTE" -#: parser/parse_agg.c:525 +#: parser/parse_agg.c:529 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "no se permiten operaciones «grouping» en parámetros a EXECUTE" -#: parser/parse_agg.c:530 +#: parser/parse_agg.c:534 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "no se permiten funciones de agregación en condición WHEN de un “trigger”" -#: parser/parse_agg.c:532 +#: parser/parse_agg.c:536 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "no se permiten operaciones «grouping» en condiciones WHEN de un “trigger”" -#: parser/parse_agg.c:537 +#: parser/parse_agg.c:541 msgid "aggregate functions are not allowed in partition bound" msgstr "no se permiten funciones de agregación en borde de partición" -#: parser/parse_agg.c:539 +#: parser/parse_agg.c:543 msgid "grouping operations are not allowed in partition bound" msgstr "no se permiten operaciones «grouping» en borde de partición" -#: parser/parse_agg.c:544 +#: parser/parse_agg.c:548 msgid "aggregate functions are not allowed in partition key expressions" msgstr "no se permiten funciones de agregación en una expresión de llave de particionamiento" -#: parser/parse_agg.c:546 +#: parser/parse_agg.c:550 msgid "grouping operations are not allowed in partition key expressions" msgstr "no se permiten operaciones «grouping» en expresiones de llave de particionamiento" -#: parser/parse_agg.c:552 +#: parser/parse_agg.c:556 msgid "aggregate functions are not allowed in column generation expressions" msgstr "no se permiten funciones de agregación en expresiones de generación de columna" -#: parser/parse_agg.c:554 +#: parser/parse_agg.c:558 msgid "grouping operations are not allowed in column generation expressions" msgstr "no se permiten operaciones «grouping» en expresiones de generación de columna" -#: parser/parse_agg.c:560 +#: parser/parse_agg.c:564 msgid "aggregate functions are not allowed in CALL arguments" msgstr "no se permiten funciones de agregación en argumentos de CALL" -#: parser/parse_agg.c:562 +#: parser/parse_agg.c:566 msgid "grouping operations are not allowed in CALL arguments" msgstr "no se permiten operaciones «grouping» en argumentos de CALL" -#: parser/parse_agg.c:568 +#: parser/parse_agg.c:572 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" msgstr "no se permiten funciones de agregación en las condiciones WHERE de COPY FROM" -#: parser/parse_agg.c:570 +#: parser/parse_agg.c:574 msgid "grouping operations are not allowed in COPY FROM WHERE conditions" msgstr "no se permiten las operaciones «grouping» en condiciones WHERE de COPY FROM" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:597 parser/parse_clause.c:1962 +#: parser/parse_agg.c:601 parser/parse_clause.c:1962 #, c-format msgid "aggregate functions are not allowed in %s" msgstr "no se permiten funciones de agregación en %s" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:600 +#: parser/parse_agg.c:604 #, c-format msgid "grouping operations are not allowed in %s" msgstr "no se permiten operaciones «grouping» en %s" -#: parser/parse_agg.c:701 +#: parser/parse_agg.c:700 parser/parse_agg.c:737 +#, c-format +msgid "outer-level aggregate cannot use a nested CTE" +msgstr "una función de agregación de nivel externo no puede usar un CTE anidado" + +#: parser/parse_agg.c:701 parser/parse_agg.c:738 +#, c-format +msgid "CTE \"%s\" is below the aggregate's semantic level." +msgstr "El CTE «%s» está debajo del nivel semántico de la función de agregación." + +#: parser/parse_agg.c:723 #, c-format msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments" msgstr "una función de agregación de nivel exterior no puede contener una variable de nivel inferior en sus argumentos directos" -#: parser/parse_agg.c:779 +#: parser/parse_agg.c:808 #, c-format msgid "aggregate function calls cannot contain set-returning function calls" msgstr "las llamadas a funciones de agregación no pueden contener llamadas a funciones que retornan conjuntos" -#: parser/parse_agg.c:780 parser/parse_expr.c:1763 parser/parse_expr.c:2254 +#: parser/parse_agg.c:809 parser/parse_expr.c:1763 parser/parse_expr.c:2254 #: parser/parse_func.c:885 #, c-format msgid "You might be able to move the set-returning function into a LATERAL FROM item." msgstr "Puede intentar mover la función que retorna conjuntos a un elemento LATERAL FROM." -#: parser/parse_agg.c:785 +#: parser/parse_agg.c:814 #, c-format msgid "aggregate function calls cannot contain window function calls" msgstr "las llamadas a funciones de agregación no pueden contener llamadas a funciones de ventana deslizante" -#: parser/parse_agg.c:890 +#: parser/parse_agg.c:917 msgid "window functions are not allowed in JOIN conditions" msgstr "no se permiten funciones de ventana deslizante en condiciones JOIN" -#: parser/parse_agg.c:897 +#: parser/parse_agg.c:924 msgid "window functions are not allowed in functions in FROM" msgstr "no se permiten funciones de ventana deslizante en funciones en FROM" -#: parser/parse_agg.c:903 +#: parser/parse_agg.c:930 msgid "window functions are not allowed in policy expressions" msgstr "no se permiten funciones de ventana deslizante en expresiones de políticas" -#: parser/parse_agg.c:916 +#: parser/parse_agg.c:943 msgid "window functions are not allowed in window definitions" msgstr "no se permiten funciones de ventana deslizante en definiciones de ventana deslizante" -#: parser/parse_agg.c:927 +#: parser/parse_agg.c:954 msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "no se permiten funciones de ventana deslizante en condiciones MERGE WHEN" -#: parser/parse_agg.c:952 +#: parser/parse_agg.c:979 msgid "window functions are not allowed in check constraints" msgstr "no se permiten funciones de ventana deslizante en restricciones «check»" -#: parser/parse_agg.c:956 +#: parser/parse_agg.c:983 msgid "window functions are not allowed in DEFAULT expressions" msgstr "no se permiten funciones de ventana deslizante en expresiones DEFAULT" -#: parser/parse_agg.c:959 +#: parser/parse_agg.c:986 msgid "window functions are not allowed in index expressions" msgstr "no se permiten funciones de ventana deslizante en expresiones de índice" -#: parser/parse_agg.c:962 +#: parser/parse_agg.c:989 msgid "window functions are not allowed in statistics expressions" msgstr "no se permiten funciones de ventana deslizante en expresiones de estadísticas" -#: parser/parse_agg.c:965 +#: parser/parse_agg.c:992 msgid "window functions are not allowed in index predicates" msgstr "no se permiten funciones de ventana deslizante en predicados de índice" -#: parser/parse_agg.c:968 +#: parser/parse_agg.c:995 msgid "window functions are not allowed in transform expressions" msgstr "no se permiten funciones de ventana deslizante en expresiones de transformación" -#: parser/parse_agg.c:971 +#: parser/parse_agg.c:998 msgid "window functions are not allowed in EXECUTE parameters" msgstr "no se permiten funciones de ventana deslizante en parámetros a EXECUTE" -#: parser/parse_agg.c:974 +#: parser/parse_agg.c:1001 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "no se permiten funciones de ventana deslizante en condiciones WHEN de un “trigger”" -#: parser/parse_agg.c:977 +#: parser/parse_agg.c:1004 msgid "window functions are not allowed in partition bound" msgstr "no se permiten funciones de ventana deslizante en borde de partición" -#: parser/parse_agg.c:980 +#: parser/parse_agg.c:1007 msgid "window functions are not allowed in partition key expressions" msgstr "no se permiten funciones de ventana deslizante en expresiones de llave de particionamiento" -#: parser/parse_agg.c:983 +#: parser/parse_agg.c:1010 msgid "window functions are not allowed in CALL arguments" msgstr "no se permiten funciones de ventana deslizante en argumentos de CALL" -#: parser/parse_agg.c:986 +#: parser/parse_agg.c:1013 msgid "window functions are not allowed in COPY FROM WHERE conditions" msgstr "no se permiten funciones de ventana deslizante en las condiciones WHERE de COPY FROM" -#: parser/parse_agg.c:989 +#: parser/parse_agg.c:1016 msgid "window functions are not allowed in column generation expressions" msgstr "no se permiten funciones de ventana deslizante en expresiones de generación de columna" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:1012 parser/parse_clause.c:1971 +#: parser/parse_agg.c:1039 parser/parse_clause.c:1971 #, c-format msgid "window functions are not allowed in %s" msgstr "no se permiten funciones de ventana deslizante en %s" -#: parser/parse_agg.c:1046 parser/parse_clause.c:2804 +#: parser/parse_agg.c:1073 parser/parse_clause.c:2804 #, c-format msgid "window \"%s\" does not exist" msgstr "la ventana «%s» no existe" -#: parser/parse_agg.c:1134 +#: parser/parse_agg.c:1161 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "demasiados conjuntos «grouping» presentes (máximo 4096)" -#: parser/parse_agg.c:1274 +#: parser/parse_agg.c:1301 #, c-format msgid "aggregate functions are not allowed in a recursive query's recursive term" msgstr "no se permiten funciones de agregación en el término recursivo de una consulta recursiva" -#: parser/parse_agg.c:1467 +#: parser/parse_agg.c:1494 #, c-format msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function" msgstr "la columna «%s.%s» debe aparecer en la cláusula GROUP BY o ser usada en una función de agregación" -#: parser/parse_agg.c:1470 +#: parser/parse_agg.c:1497 #, c-format msgid "Direct arguments of an ordered-set aggregate must use only grouped columns." msgstr "Argumentos directos de una función de agregación de conjuntos ordenados debe usar sólo columnas agrupadas." -#: parser/parse_agg.c:1475 +#: parser/parse_agg.c:1502 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "la subconsulta usa la columna «%s.%s» no agrupada de una consulta exterior" -#: parser/parse_agg.c:1639 +#: parser/parse_agg.c:1666 #, c-format msgid "arguments to GROUPING must be grouping expressions of the associated query level" msgstr "los argumentos de GROUPING deben ser expresiones agrupantes del nivel de consulta asociado" @@ -17923,19 +17946,19 @@ msgid "Try returning a string type or bytea." msgstr "Intente retornando un tipo de string o bytea." -#: parser/parse_expr.c:4316 +#: parser/parse_expr.c:4319 #, c-format msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" msgstr "no se puede especificar FORMAT JSON en la cláusula RETURNING de %s()" -#: parser/parse_expr.c:4329 +#: parser/parse_expr.c:4332 #, c-format msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" msgstr "el comportamiento QUOTES de SQL/JSON no debe ser especificado cuando se usa WITH WRAPPER" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4343 parser/parse_expr.c:4372 parser/parse_expr.c:4403 -#: parser/parse_expr.c:4429 parser/parse_expr.c:4455 +#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 parser/parse_expr.c:4406 +#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 #: parser/parse_jsontable.c:94 #, c-format msgid "invalid %s behavior" @@ -17943,7 +17966,7 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 +#: parser/parse_expr.c:4349 parser/parse_expr.c:4378 #, c-format msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for %s." msgstr "Sólo ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT o expresión DEFAULT se permite en %s para %s." @@ -17951,73 +17974,73 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4353 parser/parse_expr.c:4382 parser/parse_expr.c:4411 -#: parser/parse_expr.c:4439 parser/parse_expr.c:4465 +#: parser/parse_expr.c:4356 parser/parse_expr.c:4385 parser/parse_expr.c:4414 +#: parser/parse_expr.c:4442 parser/parse_expr.c:4468 #, c-format msgid "invalid %s behavior for column \"%s\"" msgstr "comportamiento %s no válido para la columna «%s»" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4356 parser/parse_expr.c:4385 +#: parser/parse_expr.c:4359 parser/parse_expr.c:4388 #, c-format msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for formatted columns." msgstr "Sólo ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT o expresión DEFAULT se permite en %s para columnas con formato." -#: parser/parse_expr.c:4404 +#: parser/parse_expr.c:4407 #, c-format msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s." msgstr "Sólo ERROR, TRUE, FALSE o UNKNOWN están permitidos en %s para %s." #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4414 +#: parser/parse_expr.c:4417 #, c-format msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns." msgstr "Sólo ERROR, TRUE, FALSE o UNKNOWN están permitidos en %s para columnas EXISTS." #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 +#: parser/parse_expr.c:4435 parser/parse_expr.c:4461 #, c-format msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s." msgstr "Sólo ERROR, NULL o expresión DEFAULT se permite en %s para %s." #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4442 parser/parse_expr.c:4468 +#: parser/parse_expr.c:4445 parser/parse_expr.c:4471 #, c-format msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns." msgstr "Sólo ERROR, NULL o expresión DEFAULT se permite en %s para columnas escalares." -#: parser/parse_expr.c:4498 +#: parser/parse_expr.c:4505 #, c-format msgid "JSON path expression must be of type %s, not of type %s" msgstr "la expresión de ruta JSON debe ser de tipo %s, no tipo %s" -#: parser/parse_expr.c:4738 +#: parser/parse_expr.c:4745 #, c-format msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT" msgstr "sólo se puede especificar constantes, funciones no de agregación, o expresión de operador para DEFAULT" -#: parser/parse_expr.c:4743 +#: parser/parse_expr.c:4750 #, c-format msgid "DEFAULT expression must not contain column references" msgstr "las expresiones DEFAULT no pueden contener referencias a columnas" -#: parser/parse_expr.c:4748 +#: parser/parse_expr.c:4755 #, c-format msgid "DEFAULT expression must not return a set" msgstr "las expresiones DEFAULT no deben retornar un conjunto" -#: parser/parse_expr.c:4763 +#: parser/parse_expr.c:4770 #, c-format msgid "collation of DEFAULT expression conflicts with RETURNING clause" msgstr "el ordenamiento (collation) de la expresión DEFAULT está en conflicto con la cláusula RETURNING" -#: parser/parse_expr.c:4842 parser/parse_expr.c:4851 +#: parser/parse_expr.c:4849 parser/parse_expr.c:4858 #, c-format msgid "cannot cast behavior expression of type %s to %s" msgstr "no se puede convertir la expresión de tipo %s a %s" -#: parser/parse_expr.c:4845 +#: parser/parse_expr.c:4852 #, c-format msgid "You will need to explicitly cast the expression to type %s." msgstr "Necesitará aplicar una conversión de la expresión a tipo %s." @@ -19012,22 +19035,22 @@ msgid "TO must specify exactly one value per partitioning column" msgstr "TO debe especificar exactamente un valor por cada columna de particionado" -#: parser/parse_utilcmd.c:4228 +#: parser/parse_utilcmd.c:4230 #, c-format msgid "cannot specify NULL in range bound" msgstr "no se puede especificar NULL en borde de rango" -#: parser/parse_utilcmd.c:4277 +#: parser/parse_utilcmd.c:4278 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "cada borde que sigue a un MAXVALUE debe ser también MAXVALUE" -#: parser/parse_utilcmd.c:4284 +#: parser/parse_utilcmd.c:4285 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "cada borde que siga a un MINVALUE debe ser también MINVALUE" -#: parser/parse_utilcmd.c:4327 +#: parser/parse_utilcmd.c:4328 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "el valor especificado no puede ser convertido al tipo %s para la columna «%s»" @@ -20079,144 +20102,144 @@ msgid "nondeterministic collations are not supported for regular expressions" msgstr "los ordenamientos no determinísticos no están soportados para expresiones regulares" -#: replication/libpqwalreceiver/libpqwalreceiver.c:267 -#: replication/libpqwalreceiver/libpqwalreceiver.c:358 +#: replication/libpqwalreceiver/libpqwalreceiver.c:280 +#: replication/libpqwalreceiver/libpqwalreceiver.c:371 #, c-format msgid "password is required" msgstr "una contraseña es requerida" -#: replication/libpqwalreceiver/libpqwalreceiver.c:268 +#: replication/libpqwalreceiver/libpqwalreceiver.c:281 #, c-format msgid "Non-superuser cannot connect if the server does not request a password." msgstr "No-superusuario no se puede conectar si el servidor no pide una constraseña." -#: replication/libpqwalreceiver/libpqwalreceiver.c:269 +#: replication/libpqwalreceiver/libpqwalreceiver.c:282 #, c-format msgid "Target server's authentication method must be changed, or set password_required=false in the subscription parameters." msgstr "El método de autenticación del servidor de destino debe cambiarse, o definir password_required=false en los parámetros de suscripción." -#: replication/libpqwalreceiver/libpqwalreceiver.c:285 +#: replication/libpqwalreceiver/libpqwalreceiver.c:298 #, c-format msgid "could not clear search path: %s" msgstr "no se pudo limpiar la ruta de búsqueda: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:331 -#: replication/libpqwalreceiver/libpqwalreceiver.c:517 +#: replication/libpqwalreceiver/libpqwalreceiver.c:344 +#: replication/libpqwalreceiver/libpqwalreceiver.c:542 #, c-format msgid "invalid connection string syntax: %s" msgstr "sintaxis de cadena de conexión no válida: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:359 +#: replication/libpqwalreceiver/libpqwalreceiver.c:372 #, c-format msgid "Non-superusers must provide a password in the connection string." msgstr "No-superusuario debe proveer una contraseña en la cadena de conexión." -#: replication/libpqwalreceiver/libpqwalreceiver.c:386 +#: replication/libpqwalreceiver/libpqwalreceiver.c:399 #, c-format msgid "could not parse connection string: %s" msgstr "no se pudo interpretar la cadena de conexión: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:459 +#: replication/libpqwalreceiver/libpqwalreceiver.c:472 #, c-format msgid "could not receive database system identifier and timeline ID from the primary server: %s" msgstr "no se pudo recibir el identificador de sistema y el ID de timeline del servidor primario: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:476 -#: replication/libpqwalreceiver/libpqwalreceiver.c:763 +#: replication/libpqwalreceiver/libpqwalreceiver.c:489 +#: replication/libpqwalreceiver/libpqwalreceiver.c:788 #, c-format msgid "invalid response from primary server" msgstr "respuesta no válida del servidor primario" -#: replication/libpqwalreceiver/libpqwalreceiver.c:477 +#: replication/libpqwalreceiver/libpqwalreceiver.c:490 #, c-format msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields." msgstr "No se pudo identificar el sistema: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d o más campos." -#: replication/libpqwalreceiver/libpqwalreceiver.c:606 -#: replication/libpqwalreceiver/libpqwalreceiver.c:613 -#: replication/libpqwalreceiver/libpqwalreceiver.c:643 +#: replication/libpqwalreceiver/libpqwalreceiver.c:631 +#: replication/libpqwalreceiver/libpqwalreceiver.c:638 +#: replication/libpqwalreceiver/libpqwalreceiver.c:668 #, c-format msgid "could not start WAL streaming: %s" msgstr "no se pudo iniciar el flujo de WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:667 +#: replication/libpqwalreceiver/libpqwalreceiver.c:692 #, c-format msgid "could not send end-of-streaming message to primary: %s" msgstr "no se pudo enviar el mensaje fin-de-flujo al primario: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:690 +#: replication/libpqwalreceiver/libpqwalreceiver.c:715 #, c-format msgid "unexpected result set after end-of-streaming" msgstr "conjunto de resultados inesperado después del fin-de-flujo" -#: replication/libpqwalreceiver/libpqwalreceiver.c:705 +#: replication/libpqwalreceiver/libpqwalreceiver.c:730 #, c-format msgid "error while shutting down streaming COPY: %s" msgstr "ocurrió un error mientras se apagaba el flujo COPY: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:715 +#: replication/libpqwalreceiver/libpqwalreceiver.c:740 #, c-format msgid "error reading result of streaming command: %s" msgstr "ocurrió un error mientras se leía la orden de flujo: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:724 -#: replication/libpqwalreceiver/libpqwalreceiver.c:957 +#: replication/libpqwalreceiver/libpqwalreceiver.c:749 +#: replication/libpqwalreceiver/libpqwalreceiver.c:982 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "resultado inesperado después de CommandComplete: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:751 +#: replication/libpqwalreceiver/libpqwalreceiver.c:776 #, c-format msgid "could not receive timeline history file from the primary server: %s" msgstr "no se pudo recibir el archivo de historia de timeline del servidor primario: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:764 +#: replication/libpqwalreceiver/libpqwalreceiver.c:789 #, c-format msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields." msgstr "Se esperaba 1 tupla con 2 campos, se obtuvieron %d tuplas con %d campos." -#: replication/libpqwalreceiver/libpqwalreceiver.c:920 -#: replication/libpqwalreceiver/libpqwalreceiver.c:973 -#: replication/libpqwalreceiver/libpqwalreceiver.c:980 +#: replication/libpqwalreceiver/libpqwalreceiver.c:945 +#: replication/libpqwalreceiver/libpqwalreceiver.c:998 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1005 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "no se pudo recibir datos desde el flujo de WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1000 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1025 #, c-format msgid "could not send data to WAL stream: %s" msgstr "no se pudo enviar datos al flujo de WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1101 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1126 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "no se pudo crear el slot de replicación «%s»: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1140 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1165 #, c-format msgid "could not alter replication slot \"%s\": %s" msgstr "no se pudo alterar el slot de replicación «%s»: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1174 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1199 #, c-format msgid "invalid query response" msgstr "respuesta no válida a consulta" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1175 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1200 #, c-format msgid "Expected %d fields, got %d fields." msgstr "Se esperaban %d campos, se obtuvieron %d campos." -#: replication/libpqwalreceiver/libpqwalreceiver.c:1245 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1270 #, c-format msgid "the query interface requires a database connection" msgstr "la interfaz de consulta requiere una conexión a base de datos" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1277 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1302 msgid "empty query" msgstr "consulta vacía" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1283 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1308 msgid "unexpected pipeline mode" msgstr "modo pipeline inesperado" @@ -20273,7 +20296,7 @@ msgstr "se agotaron los slots de procesos ayudantes de replicación lógica" #: replication/logical/launcher.c:441 replication/logical/launcher.c:527 -#: replication/slot.c:1553 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 +#: replication/slot.c:1585 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 #: storage/lmgr/lock.c:2836 storage/lmgr/lock.c:4221 storage/lmgr/lock.c:4286 #: storage/lmgr/lock.c:4636 storage/lmgr/predicate.c:2469 #: storage/lmgr/predicate.c:2484 storage/lmgr/predicate.c:3881 @@ -20307,12 +20330,12 @@ msgid "logical decoding requires a database connection" msgstr "decodificación lógica requiere una conexión a una base de datos" -#: replication/logical/logical.c:367 replication/logical/logical.c:521 +#: replication/logical/logical.c:367 replication/logical/logical.c:523 #, c-format msgid "cannot use physical replication slot for logical decoding" msgstr "no se puede usar un slot de replicación física para decodificación lógica" -#: replication/logical/logical.c:372 replication/logical/logical.c:531 +#: replication/logical/logical.c:372 replication/logical/logical.c:533 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "el slot de replicación «%s» no fue creado en esta base de datos" @@ -20322,72 +20345,72 @@ msgid "cannot create logical replication slot in transaction that has performed writes" msgstr "no se puede crear un slot de replicación lógica en una transacción que ha efectuado escrituras" -#: replication/logical/logical.c:542 +#: replication/logical/logical.c:544 #, c-format msgid "cannot use replication slot \"%s\" for logical decoding" msgstr "no se puede usar el slot de replicación «%s» para decodificación lógica" -#: replication/logical/logical.c:544 replication/slot.c:827 +#: replication/logical/logical.c:546 replication/slot.c:827 #: replication/slot.c:858 #, c-format msgid "This replication slot is being synchronized from the primary server." msgstr "Este slot de replicación está siendo sincronizado desde el servidor primario." -#: replication/logical/logical.c:545 +#: replication/logical/logical.c:547 #, c-format msgid "Specify another replication slot." msgstr "Especifique otro slot de replicación." -#: replication/logical/logical.c:556 replication/logical/logical.c:563 +#: replication/logical/logical.c:558 replication/logical/logical.c:565 #, c-format msgid "can no longer get changes from replication slot \"%s\"" msgstr "ya no se pueden recibir cambios desde el slot de replicación «%s»" -#: replication/logical/logical.c:558 +#: replication/logical/logical.c:560 #, c-format msgid "This slot has been invalidated because it exceeded the maximum reserved size." msgstr "Este slot ha sido invalidado porque excedió el máximo del tamaño de reserva." -#: replication/logical/logical.c:565 +#: replication/logical/logical.c:567 #, c-format msgid "This slot has been invalidated because it was conflicting with recovery." msgstr "Este slot ha sido invalidado porque estaba en conflicto con la recuperación." -#: replication/logical/logical.c:630 +#: replication/logical/logical.c:632 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "iniciando la decodificación lógica para el slot «%s»" -#: replication/logical/logical.c:632 +#: replication/logical/logical.c:634 #, c-format msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X." msgstr "Transacciones en flujo comprometiendo después de %X/%X, leyendo WAL desde %X/%X." -#: replication/logical/logical.c:780 +#: replication/logical/logical.c:782 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X" msgstr "slot «%s», plugin de salida «%s», en el callback %s, LSN asociado %X/%X" # FIXME must quote callback name? Need a translator: comment? -#: replication/logical/logical.c:786 +#: replication/logical/logical.c:788 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback" msgstr "slot «%s», plugin de salida «%s», en el callback %s" -#: replication/logical/logical.c:957 replication/logical/logical.c:1002 -#: replication/logical/logical.c:1047 replication/logical/logical.c:1093 +#: replication/logical/logical.c:959 replication/logical/logical.c:1004 +#: replication/logical/logical.c:1049 replication/logical/logical.c:1095 #, c-format msgid "logical replication at prepare time requires a %s callback" msgstr "durante la preparación, la replicación lógica requiere una función callback %s" -#: replication/logical/logical.c:1325 replication/logical/logical.c:1374 -#: replication/logical/logical.c:1415 replication/logical/logical.c:1501 -#: replication/logical/logical.c:1550 +#: replication/logical/logical.c:1327 replication/logical/logical.c:1376 +#: replication/logical/logical.c:1417 replication/logical/logical.c:1503 +#: replication/logical/logical.c:1552 #, c-format msgid "logical streaming requires a %s callback" msgstr "el flujo lógico requiere una función callback %s" -#: replication/logical/logical.c:1460 +#: replication/logical/logical.c:1462 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "durante la preparación, el flujo lógico requiere una función callback %s" @@ -20484,7 +20507,7 @@ msgstr "no se pudo encontrar una estructura de replicación libre para el origen de replicación con el ID %d" #: replication/logical/origin.c:957 replication/logical/origin.c:1158 -#: replication/slot.c:2414 +#: replication/slot.c:2446 #, c-format msgid "Increase \"max_replication_slots\" and try again." msgstr "Aumente «max_replication_slots» y reintente." @@ -20565,14 +20588,13 @@ msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "no se pudo leer del archivo «%s»: se leyeron %d en lugar de %d bytes" -#: replication/logical/slotsync.c:215 replication/logical/slotsync.c:579 +#: replication/logical/slotsync.c:215 replication/logical/slotsync.c:580 #, c-format msgid "could not synchronize replication slot \"%s\"" msgstr "no se pudo sincronizar el slot de replicación «%s»" #: replication/logical/slotsync.c:217 #, c-format -#| msgid "The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u." msgid "Synchronization could lead to data loss, because the remote slot needs WAL at LSN %X/%X and catalog xmin %u, but the standby has LSN %X/%X and catalog xmin %u." msgstr "La sincronización podría llevar a pérdida de datos, porque el slot remoto necesita WAL del LSN %X/%X y xmin de catálogo %u, pero el standby tiene LSN %X/%X y xmin de catálogo %u." @@ -20581,48 +20603,48 @@ msgid "dropped replication slot \"%s\" of database with OID %u" msgstr "se eliminó el slot de replicación «%s» de la base de datos con OID %u" -#: replication/logical/slotsync.c:580 +#: replication/logical/slotsync.c:581 #, c-format msgid "Synchronization could lead to data loss, because the standby could not build a consistent snapshot to decode WALs at LSN %X/%X." msgstr "La sincronización podría llevar a pérdida de datos, porque el standby no pudo construir un snapshot consistente para decodificar datos en el LSN %X/%X" -#: replication/logical/slotsync.c:589 +#: replication/logical/slotsync.c:590 #, c-format msgid "newly created replication slot \"%s\" is sync-ready now" msgstr "el slot de replicación «%s» recién creado está listo para la sincronización" -#: replication/logical/slotsync.c:628 +#: replication/logical/slotsync.c:629 #, c-format msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X" msgstr "omitiendo sincronización de slot porque el LSN %X/%X de sincronización recibido para el slot «%s» está adelantado respecto a la posición del standby %X/%X" -#: replication/logical/slotsync.c:650 +#: replication/logical/slotsync.c:651 #, c-format msgid "exiting from slot synchronization because same name slot \"%s\" already exists on the standby" msgstr "saliendo de la sincronización de slot porque un slot con el mismo nombre «%s» ya existe en el standby" -#: replication/logical/slotsync.c:819 +#: replication/logical/slotsync.c:822 #, c-format msgid "could not fetch failover logical slots info from the primary server: %s" msgstr "no se pudo obtener la información de slots “failover” de replicación lógica del servidor primario: %s" -#: replication/logical/slotsync.c:965 +#: replication/logical/slotsync.c:968 #, c-format msgid "could not fetch primary_slot_name \"%s\" info from the primary server: %s" msgstr "no se pudo obtener información del primary_slot_name «%s» del servidor primario: %s" -#: replication/logical/slotsync.c:967 +#: replication/logical/slotsync.c:970 #, c-format msgid "Check if primary_slot_name is configured correctly." msgstr "Verificando si primary_slot_name está configurado correctamente." -#: replication/logical/slotsync.c:987 +#: replication/logical/slotsync.c:990 #, c-format msgid "cannot synchronize replication slots from a standby server" msgstr "no puede sincronizar slots de replicación de un servidor standby" #. translator: second %s is a GUC variable name -#: replication/logical/slotsync.c:996 +#: replication/logical/slotsync.c:999 #, c-format msgid "replication slot \"%s\" specified by \"%s\" does not exist on primary server" msgstr "el slot de replicación «%s» especificado por «%s» no existe en el servidor primario" @@ -20630,61 +20652,62 @@ #. translator: first %s is a connection option; second %s is a GUC #. variable name #. -#: replication/logical/slotsync.c:1029 +#: replication/logical/slotsync.c:1032 #, c-format msgid "replication slot synchronization requires \"%s\" to be specified in \"%s\"" msgstr "la sincronización de slots de replicación requiere que «%s» esté especificado en «%s»" # FIXME see slot.c:779. See also postmaster.c:835 -#: replication/logical/slotsync.c:1048 +#: replication/logical/slotsync.c:1051 #, c-format msgid "replication slot synchronization requires \"wal_level\" >= \"logical\"" msgstr "la sincronización de slots de replicación requiere «wal_level» >= «logical»" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1063 replication/logical/slotsync.c:1091 +#: replication/logical/slotsync.c:1066 replication/logical/slotsync.c:1094 #, c-format msgid "replication slot synchronization requires \"%s\" to be set" msgstr "la sincronización de slots de replicación requiere que «%s» esté definido" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1077 +#: replication/logical/slotsync.c:1080 #, c-format msgid "replication slot synchronization requires \"%s\" to be enabled" msgstr "la sincronización de slots de replicación requiere que «%s» esté activado" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1129 +#: replication/logical/slotsync.c:1132 #, c-format msgid "replication slot synchronization worker will shut down because \"%s\" is disabled" msgstr "el proceso de sincronización de slots de replicación terminará porque «%s» está desactivado" -#: replication/logical/slotsync.c:1138 +#: replication/logical/slotsync.c:1141 #, c-format msgid "replication slot synchronization worker will restart because of a parameter change" msgstr "el proceso de sincronización de slots de replicación se reiniciará debido a un cambio de parámetro" -#: replication/logical/slotsync.c:1162 +#: replication/logical/slotsync.c:1165 #, c-format -msgid "replication slot synchronization worker is shutting down on receiving SIGINT" -msgstr "el trabajador de sincronización de slots de replicación está apagándose al recibir SIGINT" +#| msgid "replication slot synchronization worker will shut down because \"%s\" is disabled" +msgid "replication slot synchronization worker is shutting down because promotion is triggered" +msgstr "el proceso de sincronización de slots de replicación se está apagando porque se inició una promoción" -#: replication/logical/slotsync.c:1287 +#: replication/logical/slotsync.c:1290 #, c-format msgid "cannot synchronize replication slots when standby promotion is ongoing" msgstr "no se puede sincronizar los slots de replicación cuando la promoción de standby está teniendo lugar" -#: replication/logical/slotsync.c:1295 +#: replication/logical/slotsync.c:1298 #, c-format msgid "cannot synchronize replication slots concurrently" msgstr "no se puede sincronizar slots de replicación concurrentemente" -#: replication/logical/slotsync.c:1403 +#: replication/logical/slotsync.c:1406 #, c-format msgid "slot sync worker started" msgstr "iniciado el trabajador de sincronización de slots" -#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:926 +#: replication/logical/slotsync.c:1469 replication/slotfuncs.c:926 #: replication/walreceiver.c:307 #, c-format msgid "could not connect to the primary server: %s" @@ -20795,22 +20818,17 @@ msgid "could not start initial contents copy for table \"%s.%s\": %s" msgstr "no se pudo iniciar la copia de contenido inicial para de la tabla «%s.%s»: %s" -#: replication/logical/tablesync.c:1455 +#: replication/logical/tablesync.c:1469 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "la copia de la tabla no pudo iniciar una transacción en el publicador: %s" -#: replication/logical/tablesync.c:1498 -#, c-format -msgid "replication origin \"%s\" already exists" -msgstr "el origen de replicación «%s» ya existe" - -#: replication/logical/tablesync.c:1531 replication/logical/worker.c:2363 +#: replication/logical/tablesync.c:1529 replication/logical/worker.c:2363 #, c-format msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\"" msgstr "el usuario «%s» no puede replicar en relaciones con seguridad de registros activa: «%s»" -#: replication/logical/tablesync.c:1544 +#: replication/logical/tablesync.c:1542 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "la copia de tabla no pudo terminar la transacción en el publicador: %s" @@ -20910,62 +20928,62 @@ msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» ha iniciado" -#: replication/logical/worker.c:4802 +#: replication/logical/worker.c:4806 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "la suscripción «%s» ha sido inhabilitada debido a un error" -#: replication/logical/worker.c:4850 +#: replication/logical/worker.c:4854 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "iniciando el ignorado en la replicación lógica de la transacción en el LSN %X/%X" -#: replication/logical/worker.c:4864 +#: replication/logical/worker.c:4868 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "finalizó el ignorado en la replicación lógica de la transacción en el LSN %X/%X" -#: replication/logical/worker.c:4952 +#: replication/logical/worker.c:4956 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "el «skip-LSN» de la suscripción «%s» ha sido borrado" -#: replication/logical/worker.c:4953 +#: replication/logical/worker.c:4957 #, c-format msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X." msgstr "La ubicación de WAL (LSN) de término %X/%X de la transacción remota no coincidió con el skip-LSN %X/%X." -#: replication/logical/worker.c:4981 +#: replication/logical/worker.c:4985 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\"" msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s»" -#: replication/logical/worker.c:4985 +#: replication/logical/worker.c:4989 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u" msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» en la transacción %u" -#: replication/logical/worker.c:4990 +#: replication/logical/worker.c:4994 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X" msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» en la transacción %u, concluida en %X/%X" -#: replication/logical/worker.c:5001 +#: replication/logical/worker.c:5005 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u" msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» para la relación destino de replicación «%s.%s» en la transacción %u" -#: replication/logical/worker.c:5008 +#: replication/logical/worker.c:5012 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X" msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» para la relación de destino «%s.%s» en la transacción %u, concluida en %X/%X" -#: replication/logical/worker.c:5019 +#: replication/logical/worker.c:5023 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u" msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» para la relación de destino «%s.%s» columna «%s» en la transacción %u" -#: replication/logical/worker.c:5027 +#: replication/logical/worker.c:5031 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X" msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» para la relación de destino «%s.%s» columna «%s» en la transacción %u, concluida en %X/%X" @@ -20980,47 +20998,47 @@ msgid "proto_version \"%s\" out of range" msgstr "proto_version «%s» fuera de rango" -#: replication/pgoutput/pgoutput.c:345 +#: replication/pgoutput/pgoutput.c:349 #, c-format msgid "invalid publication_names syntax" msgstr "sintaxis de publication_names no válida" -#: replication/pgoutput/pgoutput.c:415 replication/pgoutput/pgoutput.c:419 +#: replication/pgoutput/pgoutput.c:419 replication/pgoutput/pgoutput.c:423 #, c-format msgid "option \"%s\" missing" msgstr "falta la opción «%s»" -#: replication/pgoutput/pgoutput.c:490 +#: replication/pgoutput/pgoutput.c:494 #, c-format msgid "client sent proto_version=%d but server only supports protocol %d or lower" msgstr "el cliente envió proto_version=%d pero el servidor sólo soporta el protocolo %d o inferior" -#: replication/pgoutput/pgoutput.c:496 +#: replication/pgoutput/pgoutput.c:500 #, c-format msgid "client sent proto_version=%d but server only supports protocol %d or higher" msgstr "el cliente envió proto_version=%d pero el servidor sólo soporta el protocolo %d o superior" -#: replication/pgoutput/pgoutput.c:511 +#: replication/pgoutput/pgoutput.c:515 #, c-format msgid "requested proto_version=%d does not support streaming, need %d or higher" msgstr "la proto_version=%d no soporta flujo, se necesita %d o superior" -#: replication/pgoutput/pgoutput.c:517 +#: replication/pgoutput/pgoutput.c:521 #, c-format msgid "requested proto_version=%d does not support parallel streaming, need %d or higher" msgstr "la proto_version=%d solicitada no soporta flujo en paralelo, se necesita %d o superior" -#: replication/pgoutput/pgoutput.c:522 +#: replication/pgoutput/pgoutput.c:526 #, c-format msgid "streaming requested, but not supported by output plugin" msgstr "se solicitó flujo, pero no está soportado por plugin de salida" -#: replication/pgoutput/pgoutput.c:536 +#: replication/pgoutput/pgoutput.c:540 #, c-format msgid "requested proto_version=%d does not support two-phase commit, need %d or higher" msgstr "la proto_version=%d solicitada no soporta «two-phase commit», se necesita %d o superior" -#: replication/pgoutput/pgoutput.c:541 +#: replication/pgoutput/pgoutput.c:545 #, c-format msgid "two-phase commit requested, but not supported by output plugin" msgstr "«two-phase commit» fue solicitado, pero no está soportado por el plugin de salida" @@ -21075,7 +21093,7 @@ msgid "replication slot \"%s\" does not exist" msgstr "no existe el slot de replicación «%s»" -#: replication/slot.c:635 replication/slot.c:1366 +#: replication/slot.c:635 replication/slot.c:1395 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "el slot de replicación «%s» está activo para el PID %d" @@ -21120,165 +21138,164 @@ msgid "cannot enable failover for a replication slot on the standby" msgstr "no se puede activar el “failover” para un slot de replicación en el standby" -#: replication/slot.c:998 replication/slot.c:1933 replication/slot.c:2324 +#: replication/slot.c:998 replication/slot.c:1965 replication/slot.c:2356 #, c-format msgid "could not remove directory \"%s\"" msgstr "no se pudo eliminar el directorio «%s»" -#: replication/slot.c:1401 +#: replication/slot.c:1430 #, c-format msgid "replication slots can only be used if \"max_replication_slots\" > 0" msgstr "los slots de replicación sólo pueden usarse si «max_replication_slots» > 0" # FIXME see logical.c:81 -#: replication/slot.c:1406 +#: replication/slot.c:1435 #, c-format msgid "replication slots can only be used if \"wal_level\" >= \"replica\"" msgstr "los slots de replicación sólo pueden usarse si «wal_level» >= «replica»" -#: replication/slot.c:1418 +#: replication/slot.c:1447 #, c-format msgid "permission denied to use replication slots" msgstr "permiso denegado a usar slots de replicación" -#: replication/slot.c:1419 +#: replication/slot.c:1448 #, c-format msgid "Only roles with the %s attribute may use replication slots." msgstr "Sólo roles con el atributo %s pueden usar slots de replicación." -#: replication/slot.c:1527 +#: replication/slot.c:1559 #, c-format msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte." msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." msgstr[0] "El restart_lsn %X/%X del slot excede el límite por %llu byte." msgstr[1] "El restart_lsn %X/%X del slot excede el límite por %llu bytes." -#: replication/slot.c:1535 +#: replication/slot.c:1567 #, c-format msgid "The slot conflicted with xid horizon %u." msgstr "El slot estaba en conflicto con el horizonte de XID %u." # FIXME see slot.c:779. See also postmaster.c:835 -#: replication/slot.c:1540 +#: replication/slot.c:1572 msgid "Logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary server." msgstr "La decodificación lógica en standby requiere «wal_level» >= «logical» en el primario." -#: replication/slot.c:1548 +#: replication/slot.c:1580 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "terminando el proceso %d para liberar el slot de replicación «%s»" -#: replication/slot.c:1550 +#: replication/slot.c:1582 #, c-format msgid "invalidating obsolete replication slot \"%s\"" msgstr "invalidando el slot de replicación obsoleto «%s»" -#: replication/slot.c:2262 +#: replication/slot.c:2294 #, c-format msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" msgstr "el archivo de slot de replicación «%s» tiene número mágico erróneo: %u en lugar de %u" -#: replication/slot.c:2269 +#: replication/slot.c:2301 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "el archivo de slot de replicación «%s» tiene versión no soportada %u" -#: replication/slot.c:2276 +#: replication/slot.c:2308 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "el archivo de slot de replicación «%s» tiene largo corrupto %u" -#: replication/slot.c:2312 +#: replication/slot.c:2344 #, c-format msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" msgstr "suma de verificación no coincidente en archivo de slot de replicación «%s»: es %u, debería ser %u" # FIXME see slot.c:779. See also postmaster.c:835 -#: replication/slot.c:2348 +#: replication/slot.c:2380 #, c-format msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\"" msgstr "existe el slot de replicación lógica «%s», pero «wal_level» < «logical»" -#: replication/slot.c:2350 +#: replication/slot.c:2382 #, c-format msgid "Change \"wal_level\" to be \"logical\" or higher." msgstr "Cambie «wal_level» a «logical» o superior." # FIXME see slot.c:779. See also postmaster.c:835 -#: replication/slot.c:2362 +#: replication/slot.c:2394 #, c-format -#| msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\"" msgid "logical replication slot \"%s\" exists on the standby, but \"hot_standby\" = \"off\"" msgstr "el slot de replicación lógica «%s» existe en el standby, pero «hot_standby» = «off»" -#: replication/slot.c:2364 +#: replication/slot.c:2396 #, c-format msgid "Change \"hot_standby\" to be \"on\"." msgstr "Cambie «hot_standby» a «on»." # FIXME see slot.c:779. See also postmaster.c:835 -#: replication/slot.c:2369 +#: replication/slot.c:2401 #, c-format msgid "physical replication slot \"%s\" exists, but \"wal_level\" < \"replica\"" msgstr "existe el slot de replicación lógica «%s», pero «wal_level» < «replica»" # <> hello vim -#: replication/slot.c:2371 +#: replication/slot.c:2403 #, c-format msgid "Change \"wal_level\" to be \"replica\" or higher." msgstr "Cambie «wal_level» a «replica» o superior." -#: replication/slot.c:2413 +#: replication/slot.c:2445 #, c-format msgid "too many replication slots active before shutdown" msgstr "demasiados slots de replicación activos antes del apagado" -#: replication/slot.c:2640 +#: replication/slot.c:2672 #, c-format msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist" msgstr "el slot de replicación «%s» especificado en el parámetro «%s» no existe" -#: replication/slot.c:2642 replication/slot.c:2676 replication/slot.c:2691 +#: replication/slot.c:2674 replication/slot.c:2708 replication/slot.c:2723 #, c-format msgid "Logical replication is waiting on the standby associated with replication slot \"%s\"." msgstr "La replicación lógica está esperando al standby asociado con el slot de replicación «%s»." -#: replication/slot.c:2644 +#: replication/slot.c:2676 #, c-format msgid "Create the replication slot \"%s\" or amend parameter \"%s\"." msgstr "Cree el slot de replicación «%s» o corrija el parámetro «%s»." -#: replication/slot.c:2654 +#: replication/slot.c:2686 #, c-format msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\"" msgstr "no se puede especificar el slot de replicación lógica «%s» en el parámetro «%s»" -#: replication/slot.c:2656 +#: replication/slot.c:2688 #, c-format msgid "Logical replication is waiting for correction on replication slot \"%s\"." msgstr "La replicación lógica está esperando a una corrección en el slot de replicación «%s»." -#: replication/slot.c:2658 +#: replication/slot.c:2690 #, c-format msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"." msgstr "Elimine el slot de replicación lógica «%s» del parámetro «%s»." -#: replication/slot.c:2674 +#: replication/slot.c:2706 #, c-format msgid "physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated" msgstr "el slot de replicación física «%s» especificado en el parámetro «%s» ha sido invalidado" -#: replication/slot.c:2678 +#: replication/slot.c:2710 #, c-format msgid "Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"." msgstr "Elimine y vuelva a crear el slot de replicación «%s», o corrija el parámetro «%s»." -#: replication/slot.c:2689 +#: replication/slot.c:2721 #, c-format msgid "replication slot \"%s\" specified in parameter \"%s\" does not have active_pid" msgstr "el slot de replicación «%s» especificado en el parámetro «%s» no tiene active_pid" -#: replication/slot.c:2693 +#: replication/slot.c:2725 #, c-format msgid "Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\"." msgstr "Inicie el standby asociado con el slot de replicación «%s», o corrija el parámetro «%s»." @@ -21320,7 +21337,6 @@ #: replication/slotfuncs.c:688 #, c-format -#| msgid "cannot alter replication slot \"%s\"" msgid "cannot copy invalidated replication slot \"%s\"" msgstr "no se puede copiar el slot de replicación «%s» invalidado" @@ -21346,13 +21362,11 @@ #: replication/slotfuncs.c:802 #, c-format -#| msgid "cannot drop replication slot \"%s\"" msgid "cannot copy replication slot \"%s\"" msgstr "no se puede copiar el slot de replicación «%s»" #: replication/slotfuncs.c:804 #, c-format -#| msgid "The source replication slot was modified incompatibly during the copy operation." msgid "The source replication slot was invalidated during the copy operation." msgstr "El slot de replicación de origen fue invalidado durante la operación de copia." @@ -21472,7 +21486,7 @@ msgid "cannot use %s with a logical replication slot" msgstr "no se puede usar %s con un slot de replicación lógica" -#: replication/walsender.c:653 storage/smgr/md.c:1735 +#: replication/walsender.c:653 storage/smgr/md.c:1749 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "no se pudo posicionar (seek) al fin del archivo «%s»: %m" @@ -21771,268 +21785,268 @@ msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten" msgstr "el nombre de consulta WITH «%s» aparece tanto en una acción de regla y en la consulta que está siendo reescrita" -#: rewrite/rewriteHandler.c:615 +#: rewrite/rewriteHandler.c:618 #, c-format msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH" msgstr "las acciones de regla INSERT ... SELECT no están soportadas para sentencias que modifiquen datos en WITH" -#: rewrite/rewriteHandler.c:668 +#: rewrite/rewriteHandler.c:671 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "no se puede usar RETURNING en múltiples reglas" -#: rewrite/rewriteHandler.c:900 rewrite/rewriteHandler.c:939 +#: rewrite/rewriteHandler.c:903 rewrite/rewriteHandler.c:942 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "no se puede insertar un valor no-predeterminado en la columna «%s»" -#: rewrite/rewriteHandler.c:902 rewrite/rewriteHandler.c:968 +#: rewrite/rewriteHandler.c:905 rewrite/rewriteHandler.c:971 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "La columna \"%s\" es una columna de identidad definida como GENERATED ALWAYS." -#: rewrite/rewriteHandler.c:904 +#: rewrite/rewriteHandler.c:907 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Use OVERRIDING SYSTEM VALUE para controlar manualmente." -#: rewrite/rewriteHandler.c:966 rewrite/rewriteHandler.c:974 +#: rewrite/rewriteHandler.c:969 rewrite/rewriteHandler.c:977 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "la columna «%s» sólo puede actualizarse a DEFAULT" -#: rewrite/rewriteHandler.c:1109 rewrite/rewriteHandler.c:1127 +#: rewrite/rewriteHandler.c:1112 rewrite/rewriteHandler.c:1130 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "hay múltiples asignaciones a la misma columna «%s»" -#: rewrite/rewriteHandler.c:1682 +#: rewrite/rewriteHandler.c:1685 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGE no está soportado para relaciones con reglas." -#: rewrite/rewriteHandler.c:1722 rewrite/rewriteHandler.c:3262 +#: rewrite/rewriteHandler.c:1725 rewrite/rewriteHandler.c:3265 #, c-format msgid "access to non-system view \"%s\" is restricted" msgstr "el acceso a la vista no de sistema «%s» está restringido" -#: rewrite/rewriteHandler.c:2122 rewrite/rewriteHandler.c:4254 +#: rewrite/rewriteHandler.c:2125 rewrite/rewriteHandler.c:4274 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "se detectó recursión infinita en las reglas de la relación «%s»" -#: rewrite/rewriteHandler.c:2227 +#: rewrite/rewriteHandler.c:2230 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "se detectó recursión infinita en la política para la relación «%s»" -#: rewrite/rewriteHandler.c:2589 +#: rewrite/rewriteHandler.c:2592 msgid "Junk view columns are not updatable." msgstr "Las columnas «basura» de vistas no son actualizables." -#: rewrite/rewriteHandler.c:2594 +#: rewrite/rewriteHandler.c:2597 msgid "View columns that are not columns of their base relation are not updatable." msgstr "Las columnas de vistas que no son columnas de su relación base no son actualizables." -#: rewrite/rewriteHandler.c:2597 +#: rewrite/rewriteHandler.c:2600 msgid "View columns that refer to system columns are not updatable." msgstr "Las columnas de vistas que se refieren a columnas de sistema no son actualizables." -#: rewrite/rewriteHandler.c:2600 +#: rewrite/rewriteHandler.c:2603 msgid "View columns that return whole-row references are not updatable." msgstr "Las columnas de vistas que retornan referencias a la fila completa no son actualizables." # XXX a %s here would be nice ... -#: rewrite/rewriteHandler.c:2661 +#: rewrite/rewriteHandler.c:2664 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Las vistas que contienen DISTINCT no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2664 +#: rewrite/rewriteHandler.c:2667 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Las vistas que contienen GROUP BY no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2667 +#: rewrite/rewriteHandler.c:2670 msgid "Views containing HAVING are not automatically updatable." msgstr "Las vistas que contienen HAVING no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2670 +#: rewrite/rewriteHandler.c:2673 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "Las vistas que contienen UNION, INTERSECT o EXCEPT no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2673 +#: rewrite/rewriteHandler.c:2676 msgid "Views containing WITH are not automatically updatable." msgstr "Las vistas que contienen WITH no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2676 +#: rewrite/rewriteHandler.c:2679 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Las vistas que contienen LIMIT u OFFSET no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2688 +#: rewrite/rewriteHandler.c:2691 msgid "Views that return aggregate functions are not automatically updatable." msgstr "Las vistas que retornan funciones de agregación no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2691 +#: rewrite/rewriteHandler.c:2694 msgid "Views that return window functions are not automatically updatable." msgstr "Las vistas que retornan funciones ventana no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2694 +#: rewrite/rewriteHandler.c:2697 msgid "Views that return set-returning functions are not automatically updatable." msgstr "Las vistas que retornan funciones-que-retornan-conjuntos no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2701 rewrite/rewriteHandler.c:2705 -#: rewrite/rewriteHandler.c:2713 +#: rewrite/rewriteHandler.c:2704 rewrite/rewriteHandler.c:2708 +#: rewrite/rewriteHandler.c:2716 msgid "Views that do not select from a single table or view are not automatically updatable." msgstr "Las vistas que no extraen desde una única tabla o vista no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2716 +#: rewrite/rewriteHandler.c:2719 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Las vistas que contienen TABLESAMPLE no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2740 +#: rewrite/rewriteHandler.c:2743 msgid "Views that have no updatable columns are not automatically updatable." msgstr "Las vistas que no tienen columnas actualizables no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:3121 rewrite/rewriteHandler.c:3156 +#: rewrite/rewriteHandler.c:3124 rewrite/rewriteHandler.c:3159 #, c-format msgid "cannot insert into view \"%s\"" msgstr "no se puede insertar en la vista «%s»" -#: rewrite/rewriteHandler.c:3124 +#: rewrite/rewriteHandler.c:3127 #, c-format msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." msgstr "Para posibilitar las inserciones en la vista, provea un “trigger” INSTEAD OF INSERT o una regla incodicional ON INSERT DO INSTEAD." -#: rewrite/rewriteHandler.c:3129 rewrite/rewriteHandler.c:3165 +#: rewrite/rewriteHandler.c:3132 rewrite/rewriteHandler.c:3168 #, c-format msgid "cannot update view \"%s\"" msgstr "no se puede actualizar la vista «%s»" -#: rewrite/rewriteHandler.c:3132 +#: rewrite/rewriteHandler.c:3135 #, c-format msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule." msgstr "Para posibilitar las actualizaciones en la vista, provea un “trigger” INSTEAD OF UPDATE o una regla incondicional ON UPDATE DO INSTEAD." -#: rewrite/rewriteHandler.c:3137 rewrite/rewriteHandler.c:3174 +#: rewrite/rewriteHandler.c:3140 rewrite/rewriteHandler.c:3177 #, c-format msgid "cannot delete from view \"%s\"" msgstr "no se puede eliminar de la vista «%s»" -#: rewrite/rewriteHandler.c:3140 +#: rewrite/rewriteHandler.c:3143 #, c-format msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule." msgstr "Para posibilitar las eliminaciones en la vista, provea un “trigger” INSTEAD OF DELETE o una regla incondicional ON DELETE DO INSTEAD." -#: rewrite/rewriteHandler.c:3159 +#: rewrite/rewriteHandler.c:3162 #, c-format msgid "To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT trigger." msgstr "Para posibilitar insertar en la vista usando MERGE, provea un “trigger” INSTEAD OF INSERT." -#: rewrite/rewriteHandler.c:3168 +#: rewrite/rewriteHandler.c:3171 #, c-format msgid "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE trigger." msgstr "Para posibilitar actualizar la vista usando MERGE, provea un “trigger” INSTEAD OF UPDATE." -#: rewrite/rewriteHandler.c:3177 +#: rewrite/rewriteHandler.c:3180 #, c-format msgid "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE trigger." msgstr "Para posibilitar eliminar de la vista usando MERGE, provea un “trigger” INSTEAD OF DELETE." -#: rewrite/rewriteHandler.c:3352 +#: rewrite/rewriteHandler.c:3355 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "no se puede insertar en la columna «%s» de la vista «%s»" -#: rewrite/rewriteHandler.c:3360 +#: rewrite/rewriteHandler.c:3363 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "no se puede actualizar la columna «%s» vista «%s»" -#: rewrite/rewriteHandler.c:3368 +#: rewrite/rewriteHandler.c:3371 #, c-format msgid "cannot merge into column \"%s\" of view \"%s\"" msgstr "no se puede hacer «merge» en la columna «%s» de la vista «%s»" -#: rewrite/rewriteHandler.c:3396 +#: rewrite/rewriteHandler.c:3399 #, c-format msgid "cannot merge into view \"%s\"" msgstr "no se puede hacer «merge» en la vista «%s»" -#: rewrite/rewriteHandler.c:3398 +#: rewrite/rewriteHandler.c:3401 #, c-format msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions but not all." msgstr "MERGE no está soportado para vistas con triggers INSTEAD OF para algunas acciones pero no todas." -#: rewrite/rewriteHandler.c:3399 +#: rewrite/rewriteHandler.c:3402 #, c-format msgid "To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers." msgstr "Para posibilitar hacer “merge” en la vista, provea un conjunto completo de “triggers” INSTEAD OF o elimine los “triggers” INSTEAD OF existentes." -#: rewrite/rewriteHandler.c:3912 +#: rewrite/rewriteHandler.c:3931 #, c-format msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" msgstr "las reglas DO INSTEAD NOTIFY no están soportadas para sentencias que modifiquen datos en WITH" -#: rewrite/rewriteHandler.c:3923 +#: rewrite/rewriteHandler.c:3942 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" msgstr "las reglas DO INSTEAD NOTHING no están soportadas para sentencias que modifiquen datos en WITH" -#: rewrite/rewriteHandler.c:3937 +#: rewrite/rewriteHandler.c:3956 #, c-format msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "las reglas DO INSTEAD condicionales no están soportadas para sentencias que modifiquen datos en WITH" -#: rewrite/rewriteHandler.c:3941 +#: rewrite/rewriteHandler.c:3960 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "las reglas DO ALSO no están soportadas para sentencias que modifiquen datos en WITH" -#: rewrite/rewriteHandler.c:3946 +#: rewrite/rewriteHandler.c:3965 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "las reglas DO INSTEAD de múltiples sentencias no están soportadas para sentencias que modifiquen datos en WITH" # XXX a %s here would be nice ... -#: rewrite/rewriteHandler.c:4206 +#: rewrite/rewriteHandler.c:4226 msgid "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "Las vistas con reglas DO INSTEAD condicionales no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:4303 +#: rewrite/rewriteHandler.c:4324 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "no se puede hacer INSERT RETURNING a la relación «%s»" -#: rewrite/rewriteHandler.c:4305 +#: rewrite/rewriteHandler.c:4326 #, c-format msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." msgstr "Necesita un regla incondicional ON INSERT DO INSTEAD con una cláusula RETURNING." -#: rewrite/rewriteHandler.c:4310 +#: rewrite/rewriteHandler.c:4331 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "no se puede hacer UPDATE RETURNING a la relación «%s»" -#: rewrite/rewriteHandler.c:4312 +#: rewrite/rewriteHandler.c:4333 #, c-format msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." msgstr "Necesita un regla incondicional ON UPDATE DO INSTEAD con una cláusula RETURNING." -#: rewrite/rewriteHandler.c:4317 +#: rewrite/rewriteHandler.c:4338 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "no se puede hacer DELETE RETURNING a la relación «%s»" -#: rewrite/rewriteHandler.c:4319 +#: rewrite/rewriteHandler.c:4340 #, c-format msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." msgstr "Necesita un regla incondicional ON DELETE DO INSTEAD con una clásula RETURNING." -#: rewrite/rewriteHandler.c:4337 +#: rewrite/rewriteHandler.c:4358 #, c-format msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules" msgstr "INSERT con una cláusula ON CONFLICT no puede usarse con una tabla que tiene reglas INSERT o UPDATE" -#: rewrite/rewriteHandler.c:4394 +#: rewrite/rewriteHandler.c:4415 #, c-format msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" msgstr "WITH no puede ser usado en una consulta que está siendo convertida en múltiples consultas a través de reglas" @@ -22093,42 +22107,42 @@ msgid "function returning record called in context that cannot accept type record" msgstr "se llamó una función que retorna un registro en un contexto que no puede aceptarlo" -#: storage/buffer/bufmgr.c:649 storage/buffer/bufmgr.c:805 +#: storage/buffer/bufmgr.c:656 storage/buffer/bufmgr.c:812 #, c-format msgid "cannot access temporary tables of other sessions" msgstr "no se pueden acceder tablas temporales de otras sesiones" -#: storage/buffer/bufmgr.c:1532 +#: storage/buffer/bufmgr.c:1539 #, c-format msgid "invalid page in block %u of relation %s; zeroing out page" msgstr "la página no es válida en el bloque %u de la relación «%s»; reinicializando la página" -#: storage/buffer/bufmgr.c:2277 storage/buffer/localbuf.c:361 +#: storage/buffer/bufmgr.c:2284 storage/buffer/localbuf.c:361 #, c-format msgid "cannot extend relation %s beyond %u blocks" msgstr "no se puede extender la relación %s más allá de %u bloques" -#: storage/buffer/bufmgr.c:2348 +#: storage/buffer/bufmgr.c:2355 #, c-format msgid "unexpected data beyond EOF in block %u of relation %s" msgstr "datos inesperados más allá del EOF en el bloque %u de relación %s" -#: storage/buffer/bufmgr.c:2350 +#: storage/buffer/bufmgr.c:2357 #, c-format msgid "This has been seen to occur with buggy kernels; consider updating your system." msgstr "Esto parece ocurrir sólo con kernels defectuosos; considere actualizar su sistema." -#: storage/buffer/bufmgr.c:5654 +#: storage/buffer/bufmgr.c:5721 #, c-format msgid "could not write block %u of %s" msgstr "no se pudo escribir el bloque %u de %s" -#: storage/buffer/bufmgr.c:5656 +#: storage/buffer/bufmgr.c:5723 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "Múltiples fallas --- el error de escritura puede ser permanente." -#: storage/buffer/bufmgr.c:5678 storage/buffer/bufmgr.c:5698 +#: storage/buffer/bufmgr.c:5745 storage/buffer/bufmgr.c:5765 #, c-format msgid "writing block %u of relation %s" msgstr "escribiendo el bloque %u de la relación %s" @@ -22173,143 +22187,143 @@ msgid "could not delete fileset \"%s\": %m" msgstr "no se pudo borrar el “fileset” «%s»: %m" -#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1194 +#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1208 #, c-format msgid "could not truncate file \"%s\": %m" msgstr "no se pudo truncar el archivo «%s»: %m" -#: storage/file/fd.c:580 storage/file/fd.c:652 storage/file/fd.c:688 +#: storage/file/fd.c:583 storage/file/fd.c:655 storage/file/fd.c:691 #, c-format msgid "could not flush dirty data: %m" msgstr "no se pudo sincronizar (flush) datos «sucios»: %m" -#: storage/file/fd.c:610 +#: storage/file/fd.c:613 #, c-format msgid "could not determine dirty data size: %m" msgstr "no se pudo determinar el tamaño de los datos «sucios»: %m" -#: storage/file/fd.c:662 +#: storage/file/fd.c:665 #, c-format msgid "could not munmap() while flushing data: %m" msgstr "no se pudo ejecutar munmap() mientras se sincronizaban (flush) datos: %m" -#: storage/file/fd.c:980 +#: storage/file/fd.c:983 #, c-format msgid "getrlimit failed: %m" msgstr "getrlimit falló: %m" -#: storage/file/fd.c:1070 +#: storage/file/fd.c:1073 #, c-format msgid "insufficient file descriptors available to start server process" msgstr "los descriptores de archivo disponibles son insuficientes para iniciar un proceso servidor" -#: storage/file/fd.c:1071 +#: storage/file/fd.c:1074 #, c-format msgid "System allows %d, server needs at least %d." msgstr "El sistema permite %d, el servidor necesita al menos %d." -#: storage/file/fd.c:1159 storage/file/fd.c:2615 storage/file/fd.c:2724 -#: storage/file/fd.c:2875 +#: storage/file/fd.c:1162 storage/file/fd.c:2618 storage/file/fd.c:2727 +#: storage/file/fd.c:2878 #, c-format msgid "out of file descriptors: %m; release and retry" msgstr "se agotaron los descriptores de archivo: %m; libere e intente nuevamente" -#: storage/file/fd.c:1533 +#: storage/file/fd.c:1536 #, c-format msgid "temporary file: path \"%s\", size %lu" msgstr "archivo temporal: ruta «%s», tamaño %lu" -#: storage/file/fd.c:1672 +#: storage/file/fd.c:1675 #, c-format msgid "cannot create temporary directory \"%s\": %m" msgstr "no se pudo crear el directorio temporal «%s»: %m" -#: storage/file/fd.c:1679 +#: storage/file/fd.c:1682 #, c-format msgid "cannot create temporary subdirectory \"%s\": %m" msgstr "no se pudo crear el subdirectorio temporal «%s»: %m" -#: storage/file/fd.c:1876 +#: storage/file/fd.c:1879 #, c-format msgid "could not create temporary file \"%s\": %m" msgstr "no se pudo crear el archivo temporal «%s»: %m" -#: storage/file/fd.c:1912 +#: storage/file/fd.c:1915 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "no se pudo abrir el archivo temporal «%s»: %m" -#: storage/file/fd.c:1953 +#: storage/file/fd.c:1956 #, c-format msgid "could not unlink temporary file \"%s\": %m" msgstr "no se pudo eliminar (unlink) el archivo temporal «%s»: %m" -#: storage/file/fd.c:2041 +#: storage/file/fd.c:2044 #, c-format msgid "could not delete file \"%s\": %m" msgstr "no se pudo borrar el archivo «%s»: %m" -#: storage/file/fd.c:2231 +#: storage/file/fd.c:2234 #, c-format msgid "temporary file size exceeds temp_file_limit (%dkB)" msgstr "el tamaño del archivo temporal excede temp_file_limit permitido (%dkB)" -#: storage/file/fd.c:2591 storage/file/fd.c:2650 +#: storage/file/fd.c:2594 storage/file/fd.c:2653 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\"" msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de abrir el archivo «%s»" -#: storage/file/fd.c:2695 +#: storage/file/fd.c:2698 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\"" msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de ejecutar la orden «%s»" -#: storage/file/fd.c:2851 +#: storage/file/fd.c:2854 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\"" msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de abrir el directorio «%s»" -#: storage/file/fd.c:3381 +#: storage/file/fd.c:3384 #, c-format msgid "unexpected file found in temporary-files directory: \"%s\"" msgstr "archivo inesperado en directorio de archivos temporales: «%s»" -#: storage/file/fd.c:3499 +#: storage/file/fd.c:3502 #, c-format msgid "syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s" msgstr "sincronizando el directorio de datos (syncfs), transcurrido: %ld.%02d s, ruta actual: %s" -#: storage/file/fd.c:3726 +#: storage/file/fd.c:3729 #, c-format msgid "syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: %s" msgstr "sincronizando el directorio de datos (pre-fsync), transcurrido: %ld.%02d s, ruta actual: %s" -#: storage/file/fd.c:3758 +#: storage/file/fd.c:3761 #, c-format msgid "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s" msgstr "sincronizando el directorio de datos (fsync), transcurrido: %ld.%02d s, ruta actual: %s" -#: storage/file/fd.c:3947 +#: storage/file/fd.c:3950 #, c-format msgid "\"debug_io_direct\" is not supported on this platform." msgstr "«debug_io_direct» no está soportado en esta plataforma." -#: storage/file/fd.c:3961 +#: storage/file/fd.c:3964 #, c-format msgid "Invalid list syntax in parameter \"%s\"" msgstr "Sintaxis de lista no válida en el parámetro «%s»" -#: storage/file/fd.c:3981 +#: storage/file/fd.c:3984 #, c-format msgid "Invalid option \"%s\"" msgstr "Nombre de opción «%s» no válido." -#: storage/file/fd.c:3994 +#: storage/file/fd.c:3997 #, c-format msgid "\"debug_io_direct\" is not supported for WAL because XLOG_BLCKSZ is too small" msgstr "«debug_io_direct» no está soportado para WAL porque XLOG_BLCKSZ es demasiado pequeño" -#: storage/file/fd.c:4001 +#: storage/file/fd.c:4004 #, c-format msgid "\"debug_io_direct\" is not supported for data because BLCKSZ is too small" msgstr "«debug_io_direct» no está soportado para datos porque BLCKSZ es demasiado pequeño" @@ -22399,22 +22413,22 @@ msgid "could not duplicate handle for \"%s\": %m" msgstr "no se pudo duplicar el «handle» para «%s»: %m" -#: storage/ipc/dsm_registry.c:142 +#: storage/ipc/dsm_registry.c:144 #, c-format msgid "DSM segment name cannot be empty" msgstr "el nombre del segmento DSM no puede ser vacío" -#: storage/ipc/dsm_registry.c:146 +#: storage/ipc/dsm_registry.c:148 #, c-format msgid "DSM segment name too long" msgstr "nombre de segmento DSM es demasiado largo" -#: storage/ipc/dsm_registry.c:150 +#: storage/ipc/dsm_registry.c:152 #, c-format msgid "DSM segment size must be nonzero" msgstr "el tamaño del segmento DSM debe ser distinto de cero" -#: storage/ipc/dsm_registry.c:176 +#: storage/ipc/dsm_registry.c:168 #, c-format msgid "requested DSM segment size does not match size of existing segment" msgstr "el tamaño solicitado de segmento de DSM no coincide con el tamaño del segmento existente" @@ -22886,7 +22900,7 @@ msgid "cannot extend file \"%s\" beyond %u blocks" msgstr "no se pudo extender el archivo «%s» más allá de %u bloques" -#: storage/smgr/md.c:500 storage/smgr/md.c:611 +#: storage/smgr/md.c:500 storage/smgr/md.c:622 #, c-format msgid "could not extend file \"%s\": %m" msgstr "no se pudo extender el archivo «%s»: %m" @@ -22896,42 +22910,42 @@ msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u" msgstr "no se pudo extender el archivo «%s»: sólo se escribieron %d de %d bytes en el bloque %u" -#: storage/smgr/md.c:589 +#: storage/smgr/md.c:600 #, c-format msgid "could not extend file \"%s\" with FileFallocate(): %m" msgstr "no se pudo extender el archivo «%s» con FileFallocate(): %m" -#: storage/smgr/md.c:869 +#: storage/smgr/md.c:880 #, c-format msgid "could not read blocks %u..%u in file \"%s\": %m" msgstr "no se pudo leer los bloques %u..%u del archivo «%s»: %m" -#: storage/smgr/md.c:895 +#: storage/smgr/md.c:906 #, c-format msgid "could not read blocks %u..%u in file \"%s\": read only %zu of %zu bytes" msgstr "no se pudo leer los bloques %u..%u del archivo «%s»: se leyeron sólo %zu de %zu bytes" -#: storage/smgr/md.c:995 +#: storage/smgr/md.c:1006 #, c-format msgid "could not write blocks %u..%u in file \"%s\": %m" msgstr "no se pudo escribir los bloques %u..%u en el archivo «%s»: %m" -#: storage/smgr/md.c:1165 +#: storage/smgr/md.c:1179 #, c-format msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now" msgstr "no se pudo truncar el archivo «%s» a %u bloques: es de sólo %u bloques ahora" -#: storage/smgr/md.c:1220 +#: storage/smgr/md.c:1234 #, c-format msgid "could not truncate file \"%s\" to %u blocks: %m" msgstr "no se pudo truncar el archivo «%s» a %u bloques: %m" -#: storage/smgr/md.c:1700 +#: storage/smgr/md.c:1714 #, c-format msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks" msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): el segmento previo sólo tiene %u bloques" -#: storage/smgr/md.c:1714 +#: storage/smgr/md.c:1728 #, c-format msgid "could not open file \"%s\" (target block %u): %m" msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): %m" @@ -23801,7 +23815,6 @@ #: utils/activity/pgstat_shmem.c:509 #, c-format -#| msgid "Failed while allocating a WAL reading processor." msgid "Failed while allocating entry %d/%u/%u." msgstr "Falló mientras se emplazaba el elemento %d/%u/%u." @@ -24190,8 +24203,8 @@ msgid "cannot compare arrays of different element types" msgstr "no se pueden comparar arrays con elementos de distintos tipos" -#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2805 -#: utils/adt/multirangetypes.c:2877 utils/adt/rangetypes.c:1361 +#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2806 +#: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1361 #: utils/adt/rangetypes.c:1425 utils/adt/rowtypes.c:1875 #, c-format msgid "could not identify a hash function for type %s" @@ -25852,12 +25865,12 @@ msgid "Expected comma or end of multirange." msgstr "Se esperaba una coma o el final del multirango." -#: utils/adt/multirangetypes.c:981 +#: utils/adt/multirangetypes.c:982 #, c-format msgid "multiranges cannot be constructed from multidimensional arrays" msgstr "no se puede construir multirangos a partir de arrays multidimensionales" -#: utils/adt/multirangetypes.c:1007 +#: utils/adt/multirangetypes.c:1008 #, c-format msgid "multirange values cannot contain null members" msgstr "valores de multirango no pueden contener miembros nulos" @@ -26103,145 +26116,145 @@ msgid "percentile value %g is not between 0 and 1" msgstr "el valor de percentil %g no está entre 0 y 1" -#: utils/adt/pg_locale.c:326 utils/adt/pg_locale.c:358 +#: utils/adt/pg_locale.c:327 utils/adt/pg_locale.c:359 #, c-format msgid "locale name \"%s\" contains non-ASCII characters" msgstr "el nombre de configuración regional «%s» contiene caracteres no ASCII" -#: utils/adt/pg_locale.c:1507 +#: utils/adt/pg_locale.c:1510 #, c-format msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" msgstr "no se pudo abrir el «collator» para la configuración regional «%s» con reglas «%s»: %s" -#: utils/adt/pg_locale.c:1518 utils/adt/pg_locale.c:2992 -#: utils/adt/pg_locale.c:3065 +#: utils/adt/pg_locale.c:1521 utils/adt/pg_locale.c:2995 +#: utils/adt/pg_locale.c:3068 #, c-format msgid "ICU is not supported in this build" msgstr "ICU no está soportado en este servidor" -#: utils/adt/pg_locale.c:1546 +#: utils/adt/pg_locale.c:1549 #, c-format msgid "could not create locale \"%s\": %m" msgstr "no se pudo crear la configuración regional «%s»: %m" -#: utils/adt/pg_locale.c:1549 +#: utils/adt/pg_locale.c:1552 #, c-format msgid "The operating system could not find any locale data for the locale name \"%s\"." msgstr "El sistema operativo no pudo encontrar datos de configuración regional para la configuración «%s»." -#: utils/adt/pg_locale.c:1670 +#: utils/adt/pg_locale.c:1673 #, c-format msgid "collations with different collate and ctype values are not supported on this platform" msgstr "los ordenamientos (collation) con valores collate y ctype diferentes no están soportados en esta plataforma" -#: utils/adt/pg_locale.c:1717 +#: utils/adt/pg_locale.c:1720 #, c-format msgid "collation \"%s\" has no actual version, but a version was recorded" msgstr "la “collation” «%s» no tiene versión actual, pero una versión fue registrada" -#: utils/adt/pg_locale.c:1723 +#: utils/adt/pg_locale.c:1726 #, c-format msgid "collation \"%s\" has version mismatch" msgstr "el ordenamiento (collation) «%s» tiene una discordancia de versión" -#: utils/adt/pg_locale.c:1725 +#: utils/adt/pg_locale.c:1728 #, c-format msgid "The collation in the database was created using version %s, but the operating system provides version %s." msgstr "El ordenamiento en la base de datos fue creado usando la versión %s, pero el sistema operativo provee la versión %s." -#: utils/adt/pg_locale.c:1728 +#: utils/adt/pg_locale.c:1731 #, c-format msgid "Rebuild all objects affected by this collation and run ALTER COLLATION %s REFRESH VERSION, or build PostgreSQL with the right library version." msgstr "Reconstruya todos los objetos afectados por este ordenamiento y ejecute ALTER COLLATION %s REFRESH VERSION, o construya PostgreSQL con la versión correcta de la biblioteca." -#: utils/adt/pg_locale.c:1772 utils/adt/pg_locale.c:2556 -#: utils/adt/pg_locale.c:2581 +#: utils/adt/pg_locale.c:1775 utils/adt/pg_locale.c:2559 +#: utils/adt/pg_locale.c:2584 #, c-format msgid "invalid locale name \"%s\" for builtin provider" msgstr "nombre de configuración regional «%s» no válido para el proveedor builtin" -#: utils/adt/pg_locale.c:1814 +#: utils/adt/pg_locale.c:1817 #, c-format msgid "could not load locale \"%s\"" msgstr "no se pudo cargar la configuración regional «%s»" -#: utils/adt/pg_locale.c:1839 +#: utils/adt/pg_locale.c:1842 #, c-format msgid "could not get collation version for locale \"%s\": error code %lu" msgstr "no se pudo obtener la versión de «collation» para la configuración regional «%s»: código de error %lu" -#: utils/adt/pg_locale.c:1895 utils/adt/pg_locale.c:1908 +#: utils/adt/pg_locale.c:1898 utils/adt/pg_locale.c:1911 #, c-format msgid "could not convert string to UTF-16: error code %lu" msgstr "no se pudo convertir la cadena a UTF-16: código de error %lu" -#: utils/adt/pg_locale.c:1920 +#: utils/adt/pg_locale.c:1923 #, c-format msgid "could not compare Unicode strings: %m" msgstr "no se pudieron comparar las cadenas Unicode: %m" -#: utils/adt/pg_locale.c:2094 +#: utils/adt/pg_locale.c:2097 #, c-format msgid "collation failed: %s" msgstr "el ordenamiento falló: %s" -#: utils/adt/pg_locale.c:2313 utils/adt/pg_locale.c:2345 +#: utils/adt/pg_locale.c:2316 utils/adt/pg_locale.c:2348 #, c-format msgid "sort key generation failed: %s" msgstr "la generación de la llave de ordenamiento falló: %s" -#: utils/adt/pg_locale.c:2635 +#: utils/adt/pg_locale.c:2638 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "no se pudo el lenguaje de la configuración regional «%s»: %s" -#: utils/adt/pg_locale.c:2656 utils/adt/pg_locale.c:2672 +#: utils/adt/pg_locale.c:2659 utils/adt/pg_locale.c:2675 #, c-format msgid "could not open collator for locale \"%s\": %s" msgstr "no se pudo abrir el «collator» para la configuración regional «%s»: %s" -#: utils/adt/pg_locale.c:2697 +#: utils/adt/pg_locale.c:2700 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "la codificación «%s» no estæ soportada por ICU" -#: utils/adt/pg_locale.c:2704 +#: utils/adt/pg_locale.c:2707 #, c-format msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "no se pudo abrir el conversor ICU para la codificación «%s»: %s" -#: utils/adt/pg_locale.c:2722 utils/adt/pg_locale.c:2741 -#: utils/adt/pg_locale.c:2797 utils/adt/pg_locale.c:2808 +#: utils/adt/pg_locale.c:2725 utils/adt/pg_locale.c:2744 +#: utils/adt/pg_locale.c:2800 utils/adt/pg_locale.c:2811 #, c-format msgid "%s failed: %s" msgstr "%s falló: %s" -#: utils/adt/pg_locale.c:2983 +#: utils/adt/pg_locale.c:2986 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "no se pudo convertir el nombre de configuración regional «%s» a etiqueta de lenguaje: %s" -#: utils/adt/pg_locale.c:3024 +#: utils/adt/pg_locale.c:3027 #, c-format msgid "could not get language from ICU locale \"%s\": %s" msgstr "no se pudo obtener el lenguaje de la configuración regional ICU «%s»: %s" -#: utils/adt/pg_locale.c:3026 utils/adt/pg_locale.c:3055 +#: utils/adt/pg_locale.c:3029 utils/adt/pg_locale.c:3058 #, c-format msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." msgstr "Par desactivar la validación ICU de configuración regional, defina «%s» a «%s»." -#: utils/adt/pg_locale.c:3053 +#: utils/adt/pg_locale.c:3056 #, c-format msgid "ICU locale \"%s\" has unknown language \"%s\"" msgstr "el locale ICU «%s» tiene lenguaje desconocido «%s»" -#: utils/adt/pg_locale.c:3204 +#: utils/adt/pg_locale.c:3207 #, c-format msgid "invalid multibyte character for locale" msgstr "el carácter multibyte no es válido para esta configuración regional" -#: utils/adt/pg_locale.c:3205 +#: utils/adt/pg_locale.c:3208 #, c-format msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding." msgstr "La configuración regional LC_CTYPE del servidor es probablemente incompatible con la codificación de la base de datos." @@ -27122,7 +27135,7 @@ msgid "This functionality requires the server to be built with libxml support." msgstr "Esta funcionalidad requiere que el servidor haya sido construido con soporte libxml." -#: utils/adt/xml.c:258 utils/mb/mbutils.c:627 +#: utils/adt/xml.c:258 utils/mb/mbutils.c:628 #, c-format msgid "invalid encoding name \"%s\"" msgstr "nombre de codificación «%s» no válido" @@ -27302,27 +27315,27 @@ msgid "cached plan must not change result type" msgstr "el plan almacenado no debe cambiar el tipo de resultado" -#: utils/cache/relcache.c:3801 +#: utils/cache/relcache.c:3817 #, c-format msgid "heap relfilenumber value not set when in binary upgrade mode" msgstr "el valor de relfilenumber de heap no se definió en modo de actualización binaria" -#: utils/cache/relcache.c:3809 +#: utils/cache/relcache.c:3825 #, c-format msgid "unexpected request for new relfilenumber in binary upgrade mode" msgstr "petición inesperada de un nuevo relfilenode en modo de actualización binaria" -#: utils/cache/relcache.c:6539 +#: utils/cache/relcache.c:6555 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "no se pudo crear el archivo de cache de catálogos de sistema «%s»: %m" -#: utils/cache/relcache.c:6541 +#: utils/cache/relcache.c:6557 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Prosiguiendo de todas maneras, pero hay algo mal." -#: utils/cache/relcache.c:6871 +#: utils/cache/relcache.c:6887 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "no se pudo eliminar el archivo de cache «%s»: %m" @@ -27965,48 +27978,48 @@ msgid "unexpected encoding ID %d for WIN character sets" msgstr "ID de codificación %d inesperado para juegos de caracteres WIN" -#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:900 +#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901 #, c-format msgid "conversion between %s and %s is not supported" msgstr "la conversión entre %s y %s no está soportada" -#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 -#: utils/mb/mbutils.c:842 +#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 +#: utils/mb/mbutils.c:843 #, c-format msgid "String of %d bytes is too long for encoding conversion." msgstr "La cadena de %d bytes es demasiado larga para la recodificación." -#: utils/mb/mbutils.c:568 +#: utils/mb/mbutils.c:569 #, c-format msgid "invalid source encoding name \"%s\"" msgstr "la codificación de origen «%s» no es válida" -#: utils/mb/mbutils.c:573 +#: utils/mb/mbutils.c:574 #, c-format msgid "invalid destination encoding name \"%s\"" msgstr "la codificación de destino «%s» no es válida" -#: utils/mb/mbutils.c:713 +#: utils/mb/mbutils.c:714 #, c-format msgid "invalid byte value for encoding \"%s\": 0x%02x" msgstr "byte no válido para codificación «%s»: 0x%02x" -#: utils/mb/mbutils.c:877 +#: utils/mb/mbutils.c:878 #, c-format msgid "invalid Unicode code point" msgstr "punto de código Unicode no válido" -#: utils/mb/mbutils.c:1201 +#: utils/mb/mbutils.c:1202 #, c-format msgid "bind_textdomain_codeset failed" msgstr "bind_textdomain_codeset falló" -#: utils/mb/mbutils.c:1718 +#: utils/mb/mbutils.c:1719 #, c-format msgid "invalid byte sequence for encoding \"%s\": %s" msgstr "secuencia de bytes no válida para codificación «%s»: %s" -#: utils/mb/mbutils.c:1759 +#: utils/mb/mbutils.c:1760 #, c-format msgid "character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\"" msgstr "carácter con secuencia de bytes %s en codificación «%s» no tiene equivalente en la codificación «%s»" @@ -28277,2061 +28290,2065 @@ msgid "SET requires parameter name" msgstr "SET requiere el nombre de un parámetro" -#: utils/misc/guc_tables.c:676 +#: utils/misc/guc_tables.c:685 msgid "Ungrouped" msgstr "Sin Grupo" -#: utils/misc/guc_tables.c:677 +#: utils/misc/guc_tables.c:686 msgid "File Locations" msgstr "Ubicaciones de Archivos" -#: utils/misc/guc_tables.c:678 +#: utils/misc/guc_tables.c:687 msgid "Connections and Authentication / Connection Settings" msgstr "Conexiones y Autentificación / Parámetros de Conexión" -#: utils/misc/guc_tables.c:679 +#: utils/misc/guc_tables.c:688 msgid "Connections and Authentication / TCP Settings" msgstr "Conexiones y Autentificación / Parámetros TCP" -#: utils/misc/guc_tables.c:680 +#: utils/misc/guc_tables.c:689 msgid "Connections and Authentication / Authentication" msgstr "Conexiones y Autentificación / Autentificación" -#: utils/misc/guc_tables.c:681 +#: utils/misc/guc_tables.c:690 msgid "Connections and Authentication / SSL" msgstr "Conexiones y Autentificación / SSL" -#: utils/misc/guc_tables.c:682 +#: utils/misc/guc_tables.c:691 msgid "Resource Usage / Memory" msgstr "Uso de Recursos / Memoria" -#: utils/misc/guc_tables.c:683 +#: utils/misc/guc_tables.c:692 msgid "Resource Usage / Disk" msgstr "Uso de Recursos / Disco" -#: utils/misc/guc_tables.c:684 +#: utils/misc/guc_tables.c:693 msgid "Resource Usage / Kernel Resources" msgstr "Uso de Recursos / Recursos del Kernel" -#: utils/misc/guc_tables.c:685 +#: utils/misc/guc_tables.c:694 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Uso de Recursos / Retardo de Vacuum por Costos" -#: utils/misc/guc_tables.c:686 +#: utils/misc/guc_tables.c:695 msgid "Resource Usage / Background Writer" msgstr "Uso de Recursos / Escritor en Segundo Plano" -#: utils/misc/guc_tables.c:687 +#: utils/misc/guc_tables.c:696 msgid "Resource Usage / Asynchronous Behavior" msgstr "Uso de Recursos / Comportamiento Asíncrono" -#: utils/misc/guc_tables.c:688 +#: utils/misc/guc_tables.c:697 msgid "Write-Ahead Log / Settings" msgstr "Write-Ahead Log / Configuraciones" -#: utils/misc/guc_tables.c:689 +#: utils/misc/guc_tables.c:698 msgid "Write-Ahead Log / Checkpoints" msgstr "Write-Ahead Log / Puntos de Control (Checkpoints)" -#: utils/misc/guc_tables.c:690 +#: utils/misc/guc_tables.c:699 msgid "Write-Ahead Log / Archiving" msgstr "Write-Ahead Log / Archivado" -#: utils/misc/guc_tables.c:691 +#: utils/misc/guc_tables.c:700 msgid "Write-Ahead Log / Recovery" msgstr "Write-Ahead Log / Recuperación" -#: utils/misc/guc_tables.c:692 +#: utils/misc/guc_tables.c:701 msgid "Write-Ahead Log / Archive Recovery" msgstr "Write-Ahead Log / Recuperación desde Archivo" -#: utils/misc/guc_tables.c:693 +#: utils/misc/guc_tables.c:702 msgid "Write-Ahead Log / Recovery Target" msgstr "Write-Ahead Log / Destino de Recuperación" -#: utils/misc/guc_tables.c:694 +#: utils/misc/guc_tables.c:703 msgid "Write-Ahead Log / Summarization" msgstr "Write-Ahead Log / Sumarización" -#: utils/misc/guc_tables.c:695 +#: utils/misc/guc_tables.c:704 msgid "Replication / Sending Servers" msgstr "Replicación / Servidores de Envío" -#: utils/misc/guc_tables.c:696 +#: utils/misc/guc_tables.c:705 msgid "Replication / Primary Server" msgstr "Replicación / Servidor Primario" -#: utils/misc/guc_tables.c:697 +#: utils/misc/guc_tables.c:706 msgid "Replication / Standby Servers" msgstr "Replicación / Servidores Standby" -#: utils/misc/guc_tables.c:698 +#: utils/misc/guc_tables.c:707 msgid "Replication / Subscribers" msgstr "Replicación / Suscriptores" -#: utils/misc/guc_tables.c:699 +#: utils/misc/guc_tables.c:708 msgid "Query Tuning / Planner Method Configuration" msgstr "Afinamiento de Consultas / Configuración de Métodos del Planner" -#: utils/misc/guc_tables.c:700 +#: utils/misc/guc_tables.c:709 msgid "Query Tuning / Planner Cost Constants" msgstr "Afinamiento de Consultas / Constantes de Costo del Planner" -#: utils/misc/guc_tables.c:701 +#: utils/misc/guc_tables.c:710 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Afinamiento de Consultas / Optimizador Genético de Consultas" -#: utils/misc/guc_tables.c:702 +#: utils/misc/guc_tables.c:711 msgid "Query Tuning / Other Planner Options" msgstr "Afinamiento de Consultas / Otras Opciones del Planner" -#: utils/misc/guc_tables.c:703 +#: utils/misc/guc_tables.c:712 msgid "Reporting and Logging / Where to Log" msgstr "Reporte y Registro / Dónde Registrar" -#: utils/misc/guc_tables.c:704 +#: utils/misc/guc_tables.c:713 msgid "Reporting and Logging / When to Log" msgstr "Reporte y Registro / Cuándo Registrar" -#: utils/misc/guc_tables.c:705 +#: utils/misc/guc_tables.c:714 msgid "Reporting and Logging / What to Log" msgstr "Reporte y Registro / Qué Registrar" -#: utils/misc/guc_tables.c:706 +#: utils/misc/guc_tables.c:715 msgid "Reporting and Logging / Process Title" msgstr "Reporte y Registro / Título del Proceso" -#: utils/misc/guc_tables.c:707 +#: utils/misc/guc_tables.c:716 msgid "Statistics / Monitoring" msgstr "Estadísticas / Monitoreo" -#: utils/misc/guc_tables.c:708 +#: utils/misc/guc_tables.c:717 msgid "Statistics / Cumulative Query and Index Statistics" msgstr "Estadísticas / Acumuladores de Consultas e Índices" -#: utils/misc/guc_tables.c:709 +#: utils/misc/guc_tables.c:718 msgid "Autovacuum" msgstr "Autovacuum" -#: utils/misc/guc_tables.c:710 +#: utils/misc/guc_tables.c:719 msgid "Client Connection Defaults / Statement Behavior" msgstr "Valores por Omisión de Conexiones / Comportamiento de Sentencias" -#: utils/misc/guc_tables.c:711 +#: utils/misc/guc_tables.c:720 msgid "Client Connection Defaults / Locale and Formatting" msgstr "Valores por Omisión de Conexiones / Configuraciones Regionales y Formateo" -#: utils/misc/guc_tables.c:712 +#: utils/misc/guc_tables.c:721 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "Valores por Omisión de Conexiones / Precargado de Bibliotecas Compartidas" -#: utils/misc/guc_tables.c:713 +#: utils/misc/guc_tables.c:722 msgid "Client Connection Defaults / Other Defaults" msgstr "Valores por Omisión de Conexiones / Otros Valores" -#: utils/misc/guc_tables.c:714 +#: utils/misc/guc_tables.c:723 msgid "Lock Management" msgstr "Manejo de Bloqueos" -#: utils/misc/guc_tables.c:715 +#: utils/misc/guc_tables.c:724 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Compatibilidad de Versión y Plataforma / Versiones Anteriores de PostgreSQL" -#: utils/misc/guc_tables.c:716 +#: utils/misc/guc_tables.c:725 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "Compatibilidad de Versión y Plataforma / Otras Plataformas y Clientes" -#: utils/misc/guc_tables.c:717 +#: utils/misc/guc_tables.c:726 msgid "Error Handling" msgstr "Gestión de Errores" -#: utils/misc/guc_tables.c:718 +#: utils/misc/guc_tables.c:727 msgid "Preset Options" msgstr "Opciones Predefinidas" -#: utils/misc/guc_tables.c:719 +#: utils/misc/guc_tables.c:728 msgid "Customized Options" msgstr "Opciones Personalizadas" -#: utils/misc/guc_tables.c:720 +#: utils/misc/guc_tables.c:729 msgid "Developer Options" msgstr "Opciones de Desarrollador" -#: utils/misc/guc_tables.c:775 +#: utils/misc/guc_tables.c:784 msgid "Enables the planner's use of sequential-scan plans." msgstr "Permitir el uso de planes de recorrido secuencial." -#: utils/misc/guc_tables.c:785 +#: utils/misc/guc_tables.c:794 msgid "Enables the planner's use of index-scan plans." msgstr "Permitir el uso de planes de recorrido de índice." -#: utils/misc/guc_tables.c:795 +#: utils/misc/guc_tables.c:804 msgid "Enables the planner's use of index-only-scan plans." msgstr "Permitir el uso de planes de recorrido de sólo-índice." -#: utils/misc/guc_tables.c:805 +#: utils/misc/guc_tables.c:814 msgid "Enables the planner's use of bitmap-scan plans." msgstr "Permitir el uso de planes de recorrido de índice por mapas de bits." -#: utils/misc/guc_tables.c:815 +#: utils/misc/guc_tables.c:824 msgid "Enables the planner's use of TID scan plans." msgstr "Permitir el uso de planes de recorrido por TID." -#: utils/misc/guc_tables.c:825 +#: utils/misc/guc_tables.c:834 msgid "Enables the planner's use of explicit sort steps." msgstr "Permitir el uso de pasos explícitos de ordenamiento." -#: utils/misc/guc_tables.c:835 +#: utils/misc/guc_tables.c:844 msgid "Enables the planner's use of incremental sort steps." msgstr "Permitir el uso de pasos incrementales de ordenamiento." -#: utils/misc/guc_tables.c:845 +#: utils/misc/guc_tables.c:854 msgid "Enables the planner's use of hashed aggregation plans." msgstr "Permitir el uso de planes de agregación a través de hash." -#: utils/misc/guc_tables.c:855 +#: utils/misc/guc_tables.c:864 msgid "Enables the planner's use of materialization." msgstr "Permitir el uso de materialización de planes." -#: utils/misc/guc_tables.c:865 +#: utils/misc/guc_tables.c:874 msgid "Enables the planner's use of memoization." msgstr "Permitir el uso de memoización de planes." -#: utils/misc/guc_tables.c:875 +#: utils/misc/guc_tables.c:884 msgid "Enables the planner's use of nested-loop join plans." msgstr "Permitir el uso de planes «nested-loop join»." -#: utils/misc/guc_tables.c:885 +#: utils/misc/guc_tables.c:894 msgid "Enables the planner's use of merge join plans." msgstr "Permitir el uso de planes «merge join»." -#: utils/misc/guc_tables.c:895 +#: utils/misc/guc_tables.c:904 msgid "Enables the planner's use of hash join plans." msgstr "Permitir el uso de planes «hash join»." -#: utils/misc/guc_tables.c:905 +#: utils/misc/guc_tables.c:914 msgid "Enables the planner's use of gather merge plans." msgstr "Permitir el uso de planes «gather merge»." -#: utils/misc/guc_tables.c:915 +#: utils/misc/guc_tables.c:924 msgid "Enables partitionwise join." msgstr "Permitir el uso de joins por particiones." -#: utils/misc/guc_tables.c:925 +#: utils/misc/guc_tables.c:934 msgid "Enables partitionwise aggregation and grouping." msgstr "Permitir el uso de agregación y agrupamiento por particiones." -#: utils/misc/guc_tables.c:935 +#: utils/misc/guc_tables.c:944 msgid "Enables the planner's use of parallel append plans." msgstr "Permitir el uso de planes «append» paralelos." -#: utils/misc/guc_tables.c:945 +#: utils/misc/guc_tables.c:954 msgid "Enables the planner's use of parallel hash plans." msgstr "Permitir el uso de planes «hash join» paralelos." -#: utils/misc/guc_tables.c:955 +#: utils/misc/guc_tables.c:964 msgid "Enables plan-time and execution-time partition pruning." msgstr "Permitir el uso de poda de particiones en tiempo de plan y ejecución." -#: utils/misc/guc_tables.c:956 +#: utils/misc/guc_tables.c:965 msgid "Allows the query planner and executor to compare partition bounds to conditions in the query to determine which partitions must be scanned." msgstr "Permite al optimizador de consultas y al ejecutor a comparar bordes de particiones a condiciones en las consultas para determinar qué particiones deben recorrerse." -#: utils/misc/guc_tables.c:967 +#: utils/misc/guc_tables.c:976 msgid "Enables the planner's ability to produce plans that provide presorted input for ORDER BY / DISTINCT aggregate functions." msgstr "Activa la capacidad del optimizador de permitir planes que proveen entrada pre-ordenada para funciones de agregación ORDER BY / DISTINCT" -#: utils/misc/guc_tables.c:970 +#: utils/misc/guc_tables.c:979 msgid "Allows the query planner to build plans that provide presorted input for aggregate functions with an ORDER BY / DISTINCT clause. When disabled, implicit sorts are always performed during execution." msgstr "Permite al optimizador construir planes que proveen entrada pre-ordenada para funciones de agregación con una cláusula ORDER BY / DISTINCT. Cuando está desactivado, siempre se efectúan ordenamientos implícitos durante la ejecución." -#: utils/misc/guc_tables.c:982 +#: utils/misc/guc_tables.c:991 msgid "Enables the planner's use of async append plans." msgstr "Permitir el uso de planes «append» asíncronos." -#: utils/misc/guc_tables.c:992 +#: utils/misc/guc_tables.c:1001 msgid "Enables reordering of GROUP BY keys." msgstr "Activa el reordenamiento de claves GROUP BY." -#: utils/misc/guc_tables.c:1002 +#: utils/misc/guc_tables.c:1011 msgid "Enables genetic query optimization." msgstr "Permitir el uso del optimizador genético de consultas." -#: utils/misc/guc_tables.c:1003 +#: utils/misc/guc_tables.c:1012 msgid "This algorithm attempts to do planning without exhaustive searching." msgstr "Este algoritmo intenta planear las consultas sin hacer búsqueda exhaustiva." -#: utils/misc/guc_tables.c:1017 +#: utils/misc/guc_tables.c:1026 msgid "Shows whether the current user is a superuser." msgstr "Indica si el usuario actual es superusuario." -#: utils/misc/guc_tables.c:1032 +#: utils/misc/guc_tables.c:1041 msgid "Allows running the ALTER SYSTEM command." msgstr "Permite ejecutar la orden ALTER SYSTEM." -#: utils/misc/guc_tables.c:1033 +#: utils/misc/guc_tables.c:1042 msgid "Can be set to off for environments where global configuration changes should be made using a different method." msgstr "Puede desactivarse en ambientes donde los cambios globales de configuración deban hacerse usando un método diferente." -#: utils/misc/guc_tables.c:1043 +#: utils/misc/guc_tables.c:1052 msgid "Enables advertising the server via Bonjour." msgstr "Permitir la publicación del servidor vía Bonjour." -#: utils/misc/guc_tables.c:1052 +#: utils/misc/guc_tables.c:1061 msgid "Collects transaction commit time." msgstr "Recolectar tiempo de compromiso de transacciones." -#: utils/misc/guc_tables.c:1061 +#: utils/misc/guc_tables.c:1070 msgid "Enables SSL connections." msgstr "Permitir conexiones SSL." -#: utils/misc/guc_tables.c:1070 +#: utils/misc/guc_tables.c:1079 msgid "Controls whether \"ssl_passphrase_command\" is called during server reload." msgstr "Controla si «ssl_passphrase_command» es invocado durante el “reload” del servidor." -#: utils/misc/guc_tables.c:1079 +#: utils/misc/guc_tables.c:1088 msgid "Give priority to server ciphersuite order." msgstr "Da prioridad al orden de algoritmos de cifrado especificado por el servidor." -#: utils/misc/guc_tables.c:1088 +#: utils/misc/guc_tables.c:1097 msgid "Forces synchronization of updates to disk." msgstr "Forzar la sincronización de escrituras a disco." -#: utils/misc/guc_tables.c:1089 +#: utils/misc/guc_tables.c:1098 msgid "The server will use the fsync() system call in several places to make sure that updates are physically written to disk. This ensures that a database cluster will recover to a consistent state after an operating system or hardware crash." msgstr "El servidor usará la llamada a sistema fsync() en varios lugares para asegurarse que las actualizaciones son escritas físicamente a disco. Esto asegura que las bases de datos se recuperarán a un estado consistente después de una caída de hardware o sistema operativo." -#: utils/misc/guc_tables.c:1100 +#: utils/misc/guc_tables.c:1109 msgid "Continues processing after a checksum failure." msgstr "Continuar procesando después de una falla de suma de verificación." -#: utils/misc/guc_tables.c:1101 +#: utils/misc/guc_tables.c:1110 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 detección de una suma de verificación que no coincide normalmente hace que PostgreSQL reporte un error, abortando la transacción en curso. Definiendo ignore_checksum_failure a true hace que el sistema ignore la falla (pero aún así reporta un mensaje de warning), y continúe el procesamiento. Este comportamiento podría causar caídas del sistema u otros problemas serios. Sólo tiene efecto si las sumas de verificación están activadas." -#: utils/misc/guc_tables.c:1115 +#: utils/misc/guc_tables.c:1124 msgid "Continues processing past damaged page headers." msgstr "Continuar procesando después de detectar encabezados de página dañados." -#: utils/misc/guc_tables.c:1116 +#: utils/misc/guc_tables.c:1125 msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting \"zero_damaged_pages\" to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page." msgstr "La detección de un encabezado de página dañado normalmente hace que PostgreSQL reporte un error, abortando la transacción en curso. Definiendo «zero_damaged_pages» a true hace que el sistema reporte un mensaje de warning, escriba ceros en toda la página, y continúe el procesamiento. Este comportamiento destruirá datos; en particular, todas las tuplas en la página dañada." -#: utils/misc/guc_tables.c:1129 +#: utils/misc/guc_tables.c:1138 msgid "Continues recovery after an invalid pages failure." msgstr "Continuar procesando después de una falla de páginas no válidas." -#: utils/misc/guc_tables.c:1130 +#: utils/misc/guc_tables.c:1139 msgid "Detection of WAL records having references to invalid pages during recovery causes PostgreSQL to raise a PANIC-level error, aborting the recovery. Setting \"ignore_invalid_pages\" to true causes the system to ignore invalid page references in WAL records (but still report a warning), and continue recovery. This behavior may cause crashes, data loss, propagate or hide corruption, or other serious problems. Only has an effect during recovery or in standby mode." msgstr "La detección de que registros de WAL tengan referencias a páginas no válidas durante la recuperación hace que PostgreSQL produzca un error de nivel PANIC, abortando la recuperación. Establecer el valor de «ignore_invalid_pages» a true hace que el sistema ignore las referencias a páginas no válidas en registros de WAL (pero aún así reporta un mensaje de warning), y continúe la recuperación. Este comportamiento podría causar caídas del sistema, pérdida de datos, propagar u ocultar corrupción, u otros problemas serios. Sólo tiene efecto durante la recuperación o en modo standby." -#: utils/misc/guc_tables.c:1148 +#: utils/misc/guc_tables.c:1157 msgid "Writes full pages to WAL when first modified after a checkpoint." msgstr "Escribe páginas completas a WAL cuando son modificadas después de un checkpoint." -#: utils/misc/guc_tables.c:1149 +#: utils/misc/guc_tables.c:1158 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 "Una escritura de página que está siendo procesada durante una caída del sistema operativo puede ser completada sólo parcialmente. Durante la recuperación, los cambios de registros (tuplas) almacenados en WAL no son suficientes para la recuperación. Esta opción activa la escritura de las páginas a WAL cuando son modificadas por primera vez después de un checkpoint, de manera que una recuperación total es posible." -#: utils/misc/guc_tables.c:1162 +#: utils/misc/guc_tables.c:1171 msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modification." msgstr "Escribir páginas completas al WAL cuando son modificadas después de un checkpoint, incluso para una modificación no crítica." -#: utils/misc/guc_tables.c:1172 +#: utils/misc/guc_tables.c:1181 msgid "Writes zeroes to new WAL files before first use." msgstr "Escribir ceros a nuevos archivos WAL antes del primer uso." -#: utils/misc/guc_tables.c:1182 +#: utils/misc/guc_tables.c:1191 msgid "Recycles WAL files by renaming them." msgstr "Reciclar archivos de WAL cambiándoles de nombre." -#: utils/misc/guc_tables.c:1192 +#: utils/misc/guc_tables.c:1201 msgid "Logs each checkpoint." msgstr "Registrar cada checkpoint." -#: utils/misc/guc_tables.c:1201 +#: utils/misc/guc_tables.c:1210 msgid "Logs each successful connection." msgstr "Registrar cada conexión exitosa." -#: utils/misc/guc_tables.c:1210 +#: utils/misc/guc_tables.c:1219 msgid "Logs details of pre-authentication connection handshake." msgstr "Registrar detalles de “handshake” de conexión anteriores a la autentificación." -#: utils/misc/guc_tables.c:1220 +#: utils/misc/guc_tables.c:1229 msgid "Logs end of a session, including duration." msgstr "Registrar el fin de una sesión, incluyendo su duración." -#: utils/misc/guc_tables.c:1229 +#: utils/misc/guc_tables.c:1238 msgid "Logs each replication command." msgstr "Registrar cada orden de replicación." -#: utils/misc/guc_tables.c:1238 +#: utils/misc/guc_tables.c:1247 msgid "Shows whether the running server has assertion checks enabled." msgstr "Indica si el servidor actual tiene activas las aseveraciones (asserts) activas." -#: utils/misc/guc_tables.c:1249 +#: utils/misc/guc_tables.c:1258 msgid "Terminate session on any error." msgstr "Terminar sesión ante cualquier error." -#: utils/misc/guc_tables.c:1258 +#: utils/misc/guc_tables.c:1267 msgid "Reinitialize server after backend crash." msgstr "Reinicializar el servidor después de una caída de un proceso servidor." -#: utils/misc/guc_tables.c:1267 +#: utils/misc/guc_tables.c:1276 msgid "Remove temporary files after backend crash." msgstr "Eliminar archivos temporales después de una caída de un proceso servidor." -#: utils/misc/guc_tables.c:1277 +#: utils/misc/guc_tables.c:1286 msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." msgstr "Enviar SIGABRT en vez de SIGQUIT a procesos hijos después de una caída de un proceso servidor." -#: utils/misc/guc_tables.c:1287 +#: utils/misc/guc_tables.c:1296 msgid "Send SIGABRT not SIGKILL to stuck child processes." msgstr "Enviar SIGABRT en vez de SIGKILL a procesos hijos atascados." -#: utils/misc/guc_tables.c:1298 +#: utils/misc/guc_tables.c:1307 msgid "Logs the duration of each completed SQL statement." msgstr "Registrar la duración de cada sentencia SQL ejecutada." -#: utils/misc/guc_tables.c:1307 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's parse tree." msgstr "Registrar cada arbol analizado de consulta " -#: utils/misc/guc_tables.c:1316 +#: utils/misc/guc_tables.c:1325 msgid "Logs each query's rewritten parse tree." msgstr "Registrar cada reescritura del arból analizado de consulta" -#: utils/misc/guc_tables.c:1325 +#: utils/misc/guc_tables.c:1334 msgid "Logs each query's execution plan." msgstr "Registrar el plan de ejecución de cada consulta." -#: utils/misc/guc_tables.c:1334 +#: utils/misc/guc_tables.c:1343 msgid "Indents parse and plan tree displays." msgstr "Indentar los árboles de parse y plan." -#: utils/misc/guc_tables.c:1343 +#: utils/misc/guc_tables.c:1352 msgid "Writes parser performance statistics to the server log." msgstr "Escribir estadísticas de parser al registro del servidor." -#: utils/misc/guc_tables.c:1352 +#: utils/misc/guc_tables.c:1361 msgid "Writes planner performance statistics to the server log." msgstr "Escribir estadísticas de planner al registro del servidor." -#: utils/misc/guc_tables.c:1361 +#: utils/misc/guc_tables.c:1370 msgid "Writes executor performance statistics to the server log." msgstr "Escribir estadísticas del executor al registro del servidor." -#: utils/misc/guc_tables.c:1370 +#: utils/misc/guc_tables.c:1379 msgid "Writes cumulative performance statistics to the server log." msgstr "Escribir estadísticas acumulativas al registro del servidor." -#: utils/misc/guc_tables.c:1380 +#: utils/misc/guc_tables.c:1389 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations." msgstr "Registrar uso de recursos de sistema (memoria y CPU) en varias operaciones B-tree." -#: utils/misc/guc_tables.c:1392 +#: utils/misc/guc_tables.c:1401 msgid "Collects information about executing commands." msgstr "Recolectar estadísticas sobre órdenes en ejecución." -#: utils/misc/guc_tables.c:1393 +#: utils/misc/guc_tables.c:1402 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 "Activa la recolección de información sobre la orden actualmente en ejecución en cada sesión, junto con el momento en el cual esa orden comenzó la ejecución." -#: utils/misc/guc_tables.c:1403 +#: utils/misc/guc_tables.c:1412 msgid "Collects statistics on database activity." msgstr "Recolectar estadísticas de actividad de la base de datos." -#: utils/misc/guc_tables.c:1412 +#: utils/misc/guc_tables.c:1421 msgid "Collects timing statistics for database I/O activity." msgstr "Recolectar estadísticas de tiempos en las operaciones de I/O de la base de datos." -#: utils/misc/guc_tables.c:1421 +#: utils/misc/guc_tables.c:1430 msgid "Collects timing statistics for WAL I/O activity." msgstr "Recolectar estadísticas de tiempos en las operaciones de I/O del WAL." -#: utils/misc/guc_tables.c:1431 +#: utils/misc/guc_tables.c:1440 msgid "Updates the process title to show the active SQL command." msgstr "Actualiza el título del proceso para mostrar la orden SQL activo." -#: utils/misc/guc_tables.c:1432 +#: utils/misc/guc_tables.c:1441 msgid "Enables updating of the process title every time a new SQL command is received by the server." msgstr "Habilita que se actualice el título del proceso cada vez que una orden SQL es recibido por el servidor." -#: utils/misc/guc_tables.c:1441 +#: utils/misc/guc_tables.c:1450 msgid "Starts the autovacuum subprocess." msgstr "Iniciar el subproceso de autovacuum." -#: utils/misc/guc_tables.c:1451 +#: utils/misc/guc_tables.c:1460 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Generar salida de depuración para LISTEN y NOTIFY." -#: utils/misc/guc_tables.c:1463 +#: utils/misc/guc_tables.c:1472 msgid "Emits information about lock usage." msgstr "Emitir información acerca del uso de locks." -#: utils/misc/guc_tables.c:1473 +#: utils/misc/guc_tables.c:1482 msgid "Emits information about user lock usage." msgstr "Emitir información acerca del uso de locks de usuario." -#: utils/misc/guc_tables.c:1483 +#: utils/misc/guc_tables.c:1492 msgid "Emits information about lightweight lock usage." msgstr "Emitir información acerca del uso de «lightweight locks»." -#: utils/misc/guc_tables.c:1493 +#: utils/misc/guc_tables.c:1502 msgid "Dumps information about all current locks when a deadlock timeout occurs." msgstr "Volcar información acerca de los locks existentes cuando se agota el tiempo de deadlock." -#: utils/misc/guc_tables.c:1505 +#: utils/misc/guc_tables.c:1514 msgid "Logs long lock waits." msgstr "Registrar esperas largas de bloqueos." -#: utils/misc/guc_tables.c:1514 +#: utils/misc/guc_tables.c:1523 msgid "Logs standby recovery conflict waits." msgstr "Registrar esperas por conflictos en recuperación de standby" -#: utils/misc/guc_tables.c:1523 +#: utils/misc/guc_tables.c:1532 msgid "Logs the host name in the connection logs." msgstr "Registrar el nombre del host en la conexión." -#: utils/misc/guc_tables.c:1524 +#: utils/misc/guc_tables.c:1533 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 "Por omisión, los registros de conexión sólo muestran la dirección IP del host que establece la conexión. Si desea que se despliegue el nombre del host puede activar esta opción, pero dependiendo de su configuración de resolución de nombres esto puede imponer una penalización de rendimiento no despreciable." -#: utils/misc/guc_tables.c:1535 +#: utils/misc/guc_tables.c:1544 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Tratar expr=NULL como expr IS NULL." -#: utils/misc/guc_tables.c:1536 +#: utils/misc/guc_tables.c:1545 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 "Cuando está activado, expresiones de la forma expr = NULL (o NULL = expr) son tratadas como expr IS NULL, esto es, retornarán verdadero si expr es evaluada al valor nulo, y falso en caso contrario. El comportamiento correcto de expr = NULL es retornar siempre null (desconocido)." -#: utils/misc/guc_tables.c:1548 +#: utils/misc/guc_tables.c:1557 msgid "Sets the default read-only status of new transactions." msgstr "Estado por omisión de sólo lectura de nuevas transacciones." -#: utils/misc/guc_tables.c:1558 +#: utils/misc/guc_tables.c:1567 msgid "Sets the current transaction's read-only status." msgstr "Activa el estado de sólo lectura de la transacción en curso." -#: utils/misc/guc_tables.c:1568 +#: utils/misc/guc_tables.c:1577 msgid "Sets the default deferrable status of new transactions." msgstr "Estado por omisión de postergable de nuevas transacciones." -#: utils/misc/guc_tables.c:1577 +#: utils/misc/guc_tables.c:1586 msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures." msgstr "Si está activo, las transacciones serializables de sólo lectura serán pausadas hasta que puedan ejecutarse sin posibles fallas de serialización." -#: utils/misc/guc_tables.c:1587 +#: utils/misc/guc_tables.c:1596 msgid "Enable row security." msgstr "Activar seguridad de registros." -#: utils/misc/guc_tables.c:1588 +#: utils/misc/guc_tables.c:1597 msgid "When enabled, row security will be applied to all users." msgstr "Cuando está activada, la seguridad de registros se aplicará a todos los usuarios." -#: utils/misc/guc_tables.c:1596 +#: utils/misc/guc_tables.c:1605 msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE." msgstr "Verificar definición de rutinas durante CREATE FUNCTION y CREATE PROCEDURE." -#: utils/misc/guc_tables.c:1605 +#: utils/misc/guc_tables.c:1614 msgid "Enable input of NULL elements in arrays." msgstr "Habilita el ingreso de elementos nulos en arrays." -#: utils/misc/guc_tables.c:1606 +#: utils/misc/guc_tables.c:1615 msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally." msgstr "Cuando está activo, un valor NULL sin comillas en la entrada de un array significa un valor nulo; en caso contrario es tomado literalmente." -#: utils/misc/guc_tables.c:1622 +#: utils/misc/guc_tables.c:1631 msgid "WITH OIDS is no longer supported; this can only be false." msgstr "WITH OIDS ya no está soportado; esto sólo puede ser false." -#: utils/misc/guc_tables.c:1632 +#: utils/misc/guc_tables.c:1641 msgid "Start a subprocess to capture stderr, csvlog and/or jsonlog into log files." msgstr "Lanzar un subproceso para capturar stderr, csvlog y/o jsonlog en archivos de log." -#: utils/misc/guc_tables.c:1641 +#: utils/misc/guc_tables.c:1650 msgid "Truncate existing log files of same name during log rotation." msgstr "Truncar archivos de log del mismo nombre durante la rotación." -#: utils/misc/guc_tables.c:1652 +#: utils/misc/guc_tables.c:1661 msgid "Emit information about resource usage in sorting." msgstr "Emitir información acerca de uso de recursos durante los ordenamientos." -#: utils/misc/guc_tables.c:1666 +#: utils/misc/guc_tables.c:1675 msgid "Generate debugging output for synchronized scanning." msgstr "Generar salida de depuración para recorrido sincronizado." -#: utils/misc/guc_tables.c:1681 +#: utils/misc/guc_tables.c:1690 msgid "Enable bounded sorting using heap sort." msgstr "Activar ordenamiento acotado usando «heap sort»." -#: utils/misc/guc_tables.c:1694 +#: utils/misc/guc_tables.c:1703 msgid "Emit WAL-related debugging output." msgstr "Activar salida de depuración de WAL." -#: utils/misc/guc_tables.c:1706 +#: utils/misc/guc_tables.c:1715 msgid "Shows whether datetimes are integer based." msgstr "Mostrar si las fechas y horas se basan en tipos enteros." -#: utils/misc/guc_tables.c:1717 +#: utils/misc/guc_tables.c:1726 msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive." msgstr "Define que los nombres de usuario Kerberos y GSSAPI deberían ser tratados sin distinción de mayúsculas." -#: utils/misc/guc_tables.c:1727 +#: utils/misc/guc_tables.c:1736 msgid "Sets whether GSSAPI delegation should be accepted from the client." msgstr "Define si la delegación GSSAPI debería ser aceptada por el cliente." -#: utils/misc/guc_tables.c:1737 +#: utils/misc/guc_tables.c:1746 msgid "Warn about backslash escapes in ordinary string literals." msgstr "Avisa acerca de escapes de backslash en literales de cadena corrientes." -#: utils/misc/guc_tables.c:1747 +#: utils/misc/guc_tables.c:1756 msgid "Causes '...' strings to treat backslashes literally." msgstr "Provoca que las cadenas '...' traten las barras inclinadas inversas (\\) en forma literal." -#: utils/misc/guc_tables.c:1758 +#: utils/misc/guc_tables.c:1767 msgid "Enable synchronized sequential scans." msgstr "Permitir la sincronización de recorridos secuenciales." -#: utils/misc/guc_tables.c:1768 +#: utils/misc/guc_tables.c:1777 msgid "Sets whether to include or exclude transaction with recovery target." msgstr "Define si incluir o excluir la transacción con el destino de recuperación." -#: utils/misc/guc_tables.c:1778 +#: utils/misc/guc_tables.c:1787 msgid "Starts the WAL summarizer process to enable incremental backup." msgstr "Inicia el proceso sumarizador de WAL para activar backups incrementales." -#: utils/misc/guc_tables.c:1788 +#: utils/misc/guc_tables.c:1797 msgid "Allows connections and queries during recovery." msgstr "Permite conexiones y consultas durante la recuperación." -#: utils/misc/guc_tables.c:1798 +#: utils/misc/guc_tables.c:1807 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts." msgstr "Permite retroalimentación desde un hot standby hacia el primario que evitará conflictos en consultas." -#: utils/misc/guc_tables.c:1808 +#: utils/misc/guc_tables.c:1817 msgid "Shows whether hot standby is currently active." msgstr "Muestra si hot standby está activo actualmente." -#: utils/misc/guc_tables.c:1819 +#: utils/misc/guc_tables.c:1828 msgid "Allows modifications of the structure of system tables." msgstr "Permite modificaciones de la estructura de las tablas del sistema." -#: utils/misc/guc_tables.c:1830 +#: utils/misc/guc_tables.c:1839 msgid "Disables reading from system indexes." msgstr "Deshabilita lectura de índices del sistema." -#: utils/misc/guc_tables.c:1831 +#: utils/misc/guc_tables.c:1840 msgid "It does not prevent updating the indexes, so it is safe to use. The worst consequence is slowness." msgstr "No evita la actualización de índices, así que es seguro. Lo peor que puede ocurrir es lentitud del sistema." -#: utils/misc/guc_tables.c:1842 +#: utils/misc/guc_tables.c:1851 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "Permite tablespaces directamente dentro de pg_tblspc, para pruebas." -#: utils/misc/guc_tables.c:1853 +#: utils/misc/guc_tables.c:1862 msgid "Enables backward compatibility mode for privilege checks on large objects." msgstr "Activa el modo de compatibilidad con versiones anteriores de las comprobaciones de privilegios de objetos grandes." -#: utils/misc/guc_tables.c:1854 +#: utils/misc/guc_tables.c:1863 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0." msgstr "Omite las comprobaciones de privilegios cuando se leen o modifican los objetos grandes, para compatibilidad con versiones de PostgreSQL anteriores a 9.0." -#: utils/misc/guc_tables.c:1864 +#: utils/misc/guc_tables.c:1873 msgid "When generating SQL fragments, quote all identifiers." msgstr "Al generar fragmentos SQL, entrecomillar todos los identificadores." -#: utils/misc/guc_tables.c:1874 +#: utils/misc/guc_tables.c:1883 msgid "Shows whether data checksums are turned on for this cluster." msgstr "Indica si las sumas de verificación están activas en este cluster." -#: utils/misc/guc_tables.c:1885 +#: utils/misc/guc_tables.c:1894 msgid "Add sequence number to syslog messages to avoid duplicate suppression." msgstr "Agregar número de secuencia a mensajes syslog para evitar supresión de duplicados." -#: utils/misc/guc_tables.c:1895 +#: utils/misc/guc_tables.c:1904 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." msgstr "Dividir mensajes enviados a syslog en líneas y que quepan en 1024 bytes." -#: utils/misc/guc_tables.c:1905 +#: utils/misc/guc_tables.c:1914 msgid "Controls whether Gather and Gather Merge also run subplans." msgstr "Controla si los Gather y Gather Merge también ejecutan subplanes." -#: utils/misc/guc_tables.c:1906 +#: utils/misc/guc_tables.c:1915 msgid "Should gather nodes also run subplans or just gather tuples?" msgstr "¿Deben los nodos de recolección ejecutar subplanes o sólo recolectar tuplas?" -#: utils/misc/guc_tables.c:1916 +#: utils/misc/guc_tables.c:1925 msgid "Allow JIT compilation." msgstr "Permitir compilación JIT." -#: utils/misc/guc_tables.c:1927 +#: utils/misc/guc_tables.c:1936 msgid "Register JIT-compiled functions with debugger." msgstr "Registrar las funciones JIT compiladas con el depurador." -#: utils/misc/guc_tables.c:1944 +#: utils/misc/guc_tables.c:1953 msgid "Write out LLVM bitcode to facilitate JIT debugging." msgstr "Escribe el bitcode LLVM para facilitar depuración de JIT." -#: utils/misc/guc_tables.c:1955 +#: utils/misc/guc_tables.c:1964 msgid "Allow JIT compilation of expressions." msgstr "Permitir compilación JIT de expresiones." -#: utils/misc/guc_tables.c:1966 +#: utils/misc/guc_tables.c:1975 msgid "Register JIT-compiled functions with perf profiler." msgstr "Registrar las funciones JIT compiladas con el analizador «perf»." -#: utils/misc/guc_tables.c:1983 +#: utils/misc/guc_tables.c:1992 msgid "Allow JIT compilation of tuple deforming." msgstr "Permitir compilación JIT de deformación de tuplas." -#: utils/misc/guc_tables.c:1994 +#: utils/misc/guc_tables.c:2003 msgid "Whether to continue running after a failure to sync data files." msgstr "Si continuar ejecutando después de una falla al sincronizar archivos de datos." -#: utils/misc/guc_tables.c:2003 +#: utils/misc/guc_tables.c:2012 msgid "Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured." msgstr "Definir si un receptor de WAL debe crear un slot de replicación temporal en caso de no haber configurado un slot permanente." -#: utils/misc/guc_tables.c:2012 +#: utils/misc/guc_tables.c:2021 msgid "Enables event triggers." msgstr "Activa “triggers” por evento." -#: utils/misc/guc_tables.c:2013 +#: utils/misc/guc_tables.c:2022 msgid "When enabled, event triggers will fire for all applicable statements." msgstr "Cuando se activa, los “triggers” por evento se ejecutarán para todas las sentencias aplicables." -#: utils/misc/guc_tables.c:2022 +#: utils/misc/guc_tables.c:2031 msgid "Enables a physical standby to synchronize logical failover replication slots from the primary server." msgstr "Habilita un standby físico para sincronizar slots de “failover” de replicación lógica desde el servidor primario." -#: utils/misc/guc_tables.c:2040 +#: utils/misc/guc_tables.c:2049 msgid "Sets the amount of time to wait before forcing a switch to the next WAL file." msgstr "Define el tiempo a esperar antes de forzar un cambio al siguiente archivo WAL." -#: utils/misc/guc_tables.c:2051 +#: utils/misc/guc_tables.c:2060 msgid "Sets the amount of time to wait after authentication on connection startup." msgstr "Define el tiempo máximo a esperar la autentificación durante el establecimiento de una conexión." -#: utils/misc/guc_tables.c:2053 utils/misc/guc_tables.c:2780 +#: utils/misc/guc_tables.c:2062 utils/misc/guc_tables.c:2789 msgid "This allows attaching a debugger to the process." msgstr "Esto permite adjuntar un depurador al proceso." -#: utils/misc/guc_tables.c:2062 +#: utils/misc/guc_tables.c:2071 msgid "Sets the default statistics target." msgstr "Definir el valor por omisión de toma de estadísticas." -#: utils/misc/guc_tables.c:2063 +#: utils/misc/guc_tables.c:2072 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS." msgstr "Esto se aplica a columnas de tablas que no tienen un valor definido a través de ALTER TABLE SET STATISTICS." -#: utils/misc/guc_tables.c:2072 +#: utils/misc/guc_tables.c:2081 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "Tamaño de lista de FROM a partir del cual subconsultas no serán colapsadas." -#: utils/misc/guc_tables.c:2074 +#: utils/misc/guc_tables.c:2083 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items." msgstr "El planner mezclará subconsultas en consultas de nivel superior si la lista FROM resultante es menor que esta cantidad de ítems." -#: utils/misc/guc_tables.c:2085 +#: utils/misc/guc_tables.c:2094 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "Tamaño de lista de FROM a partir del cual constructos JOIN no serán aplanados." -#: utils/misc/guc_tables.c:2087 +#: utils/misc/guc_tables.c:2096 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 "El planner aplanará constructos JOIN explícitos en listas de ítems FROM siempre que la lista resultante no tenga más que esta cantidad de ítems." -#: utils/misc/guc_tables.c:2098 +#: utils/misc/guc_tables.c:2107 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "Umbral de ítems en FROM a partir del cual se usará GEQO." -#: utils/misc/guc_tables.c:2108 +#: utils/misc/guc_tables.c:2117 msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "GEQO: effort se usa para determinar los valores por defecto para otros parámetros." -#: utils/misc/guc_tables.c:2118 +#: utils/misc/guc_tables.c:2127 msgid "GEQO: number of individuals in the population." msgstr "GEQO: número de individuos en una población." -#: utils/misc/guc_tables.c:2119 utils/misc/guc_tables.c:2129 +#: utils/misc/guc_tables.c:2128 utils/misc/guc_tables.c:2138 msgid "Zero selects a suitable default value." msgstr "Cero selecciona un valor por omisión razonable." -#: utils/misc/guc_tables.c:2128 +#: utils/misc/guc_tables.c:2137 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: número de iteraciones del algoritmo." -#: utils/misc/guc_tables.c:2140 +#: utils/misc/guc_tables.c:2149 msgid "Sets the time to wait on a lock before checking for deadlock." msgstr "Define el tiempo a esperar un lock antes de buscar un deadlock." -#: utils/misc/guc_tables.c:2151 +#: utils/misc/guc_tables.c:2160 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data." msgstr "Define el máximo retardo antes de cancelar consultas cuando un servidor hot standby está procesando datos de WAL archivado." -#: utils/misc/guc_tables.c:2162 +#: utils/misc/guc_tables.c:2171 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data." msgstr "Define el máximo retardo antes de cancelar consultas cuando un servidor hot standby está procesando datos de WAL en flujo." -#: utils/misc/guc_tables.c:2173 +#: utils/misc/guc_tables.c:2182 msgid "Sets the minimum delay for applying changes during recovery." msgstr "Define el retraso mínimo para aplicar cambios durante la recuperación." -#: utils/misc/guc_tables.c:2184 +#: utils/misc/guc_tables.c:2193 msgid "Sets the maximum interval between WAL receiver status reports to the sending server." msgstr "Define el intervalo máximo entre reportes de estado que el receptor de WAL envía al servidor origen." -#: utils/misc/guc_tables.c:2195 +#: utils/misc/guc_tables.c:2204 msgid "Sets the maximum wait time to receive data from the sending server." msgstr "Define el máximo tiempo de espera para recibir datos desde el servidor origen." -#: utils/misc/guc_tables.c:2206 +#: utils/misc/guc_tables.c:2215 msgid "Sets the maximum number of concurrent connections." msgstr "Número máximo de conexiones concurrentes." -#: utils/misc/guc_tables.c:2217 +#: utils/misc/guc_tables.c:2226 msgid "Sets the number of connection slots reserved for superusers." msgstr "Número de conexiones reservadas para superusuarios." -#: utils/misc/guc_tables.c:2227 +#: utils/misc/guc_tables.c:2236 msgid "Sets the number of connection slots reserved for roles with privileges of pg_use_reserved_connections." msgstr "Número de conexiones reservadas para con privilegios de pg_use_reserved_connections." -#: utils/misc/guc_tables.c:2238 +#: utils/misc/guc_tables.c:2247 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Cantidad de memoria compartida dinámica reservada al iniciar." -#: utils/misc/guc_tables.c:2253 +#: utils/misc/guc_tables.c:2262 msgid "Sets the number of shared memory buffers used by the server." msgstr "Número de búfers de memoria compartida usados por el servidor." -#: utils/misc/guc_tables.c:2264 +#: utils/misc/guc_tables.c:2273 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." msgstr "Define el tamaño del pool de búfers para VACUUM, ANALYZE y autovacuum." -#: utils/misc/guc_tables.c:2275 +#: utils/misc/guc_tables.c:2284 msgid "Shows the size of the server's main shared memory area (rounded up to the nearest MB)." msgstr "Muestra el tamaño del área principal de memoria compartida del servidor (redondeado al número de MB más cercano)." -#: utils/misc/guc_tables.c:2286 +#: utils/misc/guc_tables.c:2295 msgid "Shows the number of huge pages needed for the main shared memory area." msgstr "Muestra la cantidad de “huge pages” necesarias para el área de memoria compartida principal." -#: utils/misc/guc_tables.c:2287 +#: utils/misc/guc_tables.c:2296 msgid "-1 indicates that the value could not be determined." msgstr "-1 indica que el valor no pudo ser determinado." -#: utils/misc/guc_tables.c:2297 +#: utils/misc/guc_tables.c:2306 msgid "Sets the size of the dedicated buffer pool used for the commit timestamp cache." msgstr "Define el tamaño del pool de búfers dedicado al caché de timestamps de commit." -#: utils/misc/guc_tables.c:2298 utils/misc/guc_tables.c:2353 -#: utils/misc/guc_tables.c:2364 +#: utils/misc/guc_tables.c:2307 utils/misc/guc_tables.c:2362 +#: utils/misc/guc_tables.c:2373 msgid "Specify 0 to have this value determined as a fraction of shared_buffers." msgstr "Especifique 0 para que este valor sea determinado como fracción de shared_buffers." -#: utils/misc/guc_tables.c:2308 +#: utils/misc/guc_tables.c:2317 msgid "Sets the size of the dedicated buffer pool used for the MultiXact member cache." msgstr "Define el tamaño del pool de búfers dedicado al caché de miembros de MultiXact." -#: utils/misc/guc_tables.c:2319 +#: utils/misc/guc_tables.c:2328 msgid "Sets the size of the dedicated buffer pool used for the MultiXact offset cache." msgstr "Define el tamaño del pool de búfers dedicado al caché de offsets de MultiXact." -#: utils/misc/guc_tables.c:2330 +#: utils/misc/guc_tables.c:2339 msgid "Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache." msgstr "Define el tamaño del pool de búfers dedicado al caché de mensajes LISTEN/NOTIFY." -#: utils/misc/guc_tables.c:2341 +#: utils/misc/guc_tables.c:2350 msgid "Sets the size of the dedicated buffer pool used for the serializable transaction cache." msgstr "Define el tamaño del pool de búfers dedicado al caché de transacciones serializables." -#: utils/misc/guc_tables.c:2352 +#: utils/misc/guc_tables.c:2361 msgid "Sets the size of the dedicated buffer pool used for the subtransaction cache." msgstr "Define el tamaño del pool de búfers dedicado al caché de subtransacciones." -#: utils/misc/guc_tables.c:2363 +#: utils/misc/guc_tables.c:2372 msgid "Sets the size of the dedicated buffer pool used for the transaction status cache." msgstr "Define el tamaño del pool de búfers dedicado al caché de estatus de transacciones." -#: utils/misc/guc_tables.c:2374 +#: utils/misc/guc_tables.c:2383 msgid "Sets the maximum number of temporary buffers used by each session." msgstr "Número de búfers de memoria temporal usados por cada sesión." -#: utils/misc/guc_tables.c:2385 +#: utils/misc/guc_tables.c:2394 msgid "Sets the TCP port the server listens on." msgstr "Puerto TCP en el cual escuchará el servidor." -#: utils/misc/guc_tables.c:2395 +#: utils/misc/guc_tables.c:2404 msgid "Sets the access permissions of the Unix-domain socket." msgstr "Privilegios de acceso al socket Unix." -#: utils/misc/guc_tables.c:2396 +#: utils/misc/guc_tables.c:2405 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 "Los sockets de dominio Unix usan la funcionalidad de permisos de archivos estándar de Unix. Se espera que el valor de esta opción sea una especificación numérica de modo, en la forma aceptada por las llamadas a sistema chmod y umask. Para usar el modo octal acostumbrado, comience el número con un 0 (cero)." -#: utils/misc/guc_tables.c:2410 +#: utils/misc/guc_tables.c:2419 msgid "Sets the file permissions for log files." msgstr "Define los privilegios para los archivos del registro del servidor." -#: utils/misc/guc_tables.c:2411 +#: utils/misc/guc_tables.c:2420 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 "Se espera que el valor de esta opción sea una especificación numérica de modo, en la forma aceptada por las llamadas a sistema chmod y umask. Para usar el modo octal acostumbrado, comience el número con un 0 (cero)." -#: utils/misc/guc_tables.c:2425 +#: utils/misc/guc_tables.c:2434 msgid "Shows the mode of the data directory." msgstr "Muestra el modo del directorio de datos." -#: utils/misc/guc_tables.c:2426 +#: utils/misc/guc_tables.c:2435 msgid "The parameter value is 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 "El valor del parámetro es una especificación numérica de modo, en la forma aceptada por las llamadas a sistema chmod y umask. (Para usar el modo octal acostumbrado, comience el número con un 0 (cero).)" -#: utils/misc/guc_tables.c:2439 +#: utils/misc/guc_tables.c:2448 msgid "Sets the maximum memory to be used for query workspaces." msgstr "Establece el límite de memoria que se usará para espacios de trabajo de consultas." -#: utils/misc/guc_tables.c:2440 +#: utils/misc/guc_tables.c:2449 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files." msgstr "Esta es la cantidad máxima de memoria que se usará para operaciones internas de ordenamiento y tablas de hashing, antes de comenzar a usar archivos temporales en disco." -#: utils/misc/guc_tables.c:2457 +#: utils/misc/guc_tables.c:2466 msgid "Sets the maximum memory to be used for maintenance operations." msgstr "Establece el límite de memoria que se usará para operaciones de mantención." -#: utils/misc/guc_tables.c:2458 +#: utils/misc/guc_tables.c:2467 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "Esto incluye operaciones como VACUUM y CREATE INDEX." -#: utils/misc/guc_tables.c:2468 +#: utils/misc/guc_tables.c:2477 msgid "Sets the maximum memory to be used for logical decoding." msgstr "Establece el límite de memoria que se usará para decodificación lógica." -#: utils/misc/guc_tables.c:2469 +#: utils/misc/guc_tables.c:2478 msgid "This much memory can be used by each internal reorder buffer before spilling to disk." msgstr "Esta es la cantidad máxima de memoria que puede ser usada para cada búfer interno de ordenamiento, antes de comenzar a usar disco." -#: utils/misc/guc_tables.c:2485 +#: utils/misc/guc_tables.c:2494 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Establece el tamaño máximo del stack, en kilobytes." -#: utils/misc/guc_tables.c:2496 +#: utils/misc/guc_tables.c:2505 msgid "Limits the total size of all temporary files used by each process." msgstr "Limita el tamaño total de todos los archivos temporales usados en cada proceso." -#: utils/misc/guc_tables.c:2497 +#: utils/misc/guc_tables.c:2506 msgid "-1 means no limit." msgstr "-1 significa sin límite." -#: utils/misc/guc_tables.c:2507 +#: utils/misc/guc_tables.c:2516 msgid "Vacuum cost for a page found in the buffer cache." msgstr "Costo de Vacuum de una página encontrada en el buffer." -#: utils/misc/guc_tables.c:2517 +#: utils/misc/guc_tables.c:2526 msgid "Vacuum cost for a page not found in the buffer cache." msgstr "Costo de Vacuum de una página no encontrada en el cache." -#: utils/misc/guc_tables.c:2527 +#: utils/misc/guc_tables.c:2536 msgid "Vacuum cost for a page dirtied by vacuum." msgstr "Costo de Vacuum de una página ensuciada por vacuum." -#: utils/misc/guc_tables.c:2537 +#: utils/misc/guc_tables.c:2546 msgid "Vacuum cost amount available before napping." msgstr "Costo de Vacuum disponible antes de descansar." -#: utils/misc/guc_tables.c:2547 +#: utils/misc/guc_tables.c:2556 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "Costo de Vacuum disponible antes de descansar, para autovacuum." -#: utils/misc/guc_tables.c:2557 +#: utils/misc/guc_tables.c:2566 msgid "Sets the maximum number of simultaneously open files for each server process." msgstr "Define la cantidad máxima de archivos abiertos por cada subproceso." -#: utils/misc/guc_tables.c:2570 +#: utils/misc/guc_tables.c:2579 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "Define la cantidad máxima de transacciones preparadas simultáneas." -#: utils/misc/guc_tables.c:2581 +#: utils/misc/guc_tables.c:2590 msgid "Sets the minimum OID of tables for tracking locks." msgstr "Define el OID mínimo para hacer seguimiento de locks." -#: utils/misc/guc_tables.c:2582 +#: utils/misc/guc_tables.c:2591 msgid "Is used to avoid output on system tables." msgstr "Se usa para evitar salida excesiva por tablas de sistema." -#: utils/misc/guc_tables.c:2591 +#: utils/misc/guc_tables.c:2600 msgid "Sets the OID of the table with unconditionally lock tracing." msgstr "Define el OID de una tabla con trazado incondicional de locks." -#: utils/misc/guc_tables.c:2603 +#: utils/misc/guc_tables.c:2612 msgid "Sets the maximum allowed duration of any statement." msgstr "Define la duración máxima permitida de sentencias." -#: utils/misc/guc_tables.c:2604 utils/misc/guc_tables.c:2615 -#: utils/misc/guc_tables.c:2626 utils/misc/guc_tables.c:2637 -#: utils/misc/guc_tables.c:2648 +#: utils/misc/guc_tables.c:2613 utils/misc/guc_tables.c:2624 +#: utils/misc/guc_tables.c:2635 utils/misc/guc_tables.c:2646 +#: utils/misc/guc_tables.c:2657 msgid "A value of 0 turns off the timeout." msgstr "Un valor de 0 desactiva el máximo." -#: utils/misc/guc_tables.c:2614 +#: utils/misc/guc_tables.c:2623 msgid "Sets the maximum allowed duration of any wait for a lock." msgstr "Define la duración máxima permitida de cualquier espera por un lock." -#: utils/misc/guc_tables.c:2625 +#: utils/misc/guc_tables.c:2634 msgid "Sets the maximum allowed idle time between queries, when in a transaction." msgstr "Define el tiempo máximo permitido de inactividad entre consultas, cuando están dentro de una transacción." -#: utils/misc/guc_tables.c:2636 +#: utils/misc/guc_tables.c:2645 msgid "Sets the maximum allowed duration of any transaction within a session (not a prepared transaction)." msgstr "Define la duración máxima permitida cualquier transacción dentro de una sesión (no una transacción preparada)." -#: utils/misc/guc_tables.c:2647 +#: utils/misc/guc_tables.c:2656 msgid "Sets the maximum allowed idle time between queries, when not in a transaction." msgstr "Define el tiempo máximo permitido de inactividad entre consultas, cuando no están dentro de una transacción." -#: utils/misc/guc_tables.c:2658 +#: utils/misc/guc_tables.c:2667 msgid "Minimum age at which VACUUM should freeze a table row." msgstr "Mínima edad a la cual VACUUM debería congelar (freeze) una fila de una tabla." -#: utils/misc/guc_tables.c:2668 +#: utils/misc/guc_tables.c:2677 msgid "Age at which VACUUM should scan whole table to freeze tuples." msgstr "Edad a la cual VACUUM debería recorrer una tabla completa para congelar (freeze) las filas." -#: utils/misc/guc_tables.c:2678 +#: utils/misc/guc_tables.c:2687 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." msgstr "Mínima edad a la cual VACUUM debería congelar (freeze) el multixact en una fila." -#: utils/misc/guc_tables.c:2688 +#: utils/misc/guc_tables.c:2697 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." msgstr "Edad de multixact a la cual VACUUM debería recorrer una tabla completa para congelar (freeze) las filas." -#: utils/misc/guc_tables.c:2698 +#: utils/misc/guc_tables.c:2707 msgid "Age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Edad a la cual VACUUM debería activar el modo failsafe para evitar pérdida de servicio por ”wraparound”." -#: utils/misc/guc_tables.c:2707 +#: utils/misc/guc_tables.c:2716 msgid "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Edad de multixact a la cual VACUUM debería activar el modo failsafe para evitar pérdida de servicio por “wraparound”." -#: utils/misc/guc_tables.c:2720 +#: utils/misc/guc_tables.c:2729 msgid "Sets the maximum number of locks per transaction." msgstr "Cantidad máxima de “locks” por transacción." -#: utils/misc/guc_tables.c:2721 +#: utils/misc/guc_tables.c:2730 msgid "The shared lock table is sized on the assumption that at most \"max_locks_per_transaction\" objects per server process or prepared transaction will need to be locked at any one time." msgstr "La tabla compartida de “locks” se dimensiona bajo la suposoción que a lo más «max_locks_per_transaction» objetos por cada proceso servidor o transacción preparada necesitarán ser bloqueados en un momento dado." -#: utils/misc/guc_tables.c:2732 +#: utils/misc/guc_tables.c:2741 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Cantidad máxima de “locks” de predicado por transacción." -#: utils/misc/guc_tables.c:2733 +#: utils/misc/guc_tables.c:2742 msgid "The shared predicate lock table is sized on the assumption that at most \"max_pred_locks_per_transaction\" objects per server process or prepared transaction will need to be locked at any one time." msgstr "La tabla compartida de “locks” de predicados se dimensiona bajo la suposición de que a lo más «max_pred_locks_per_transaction» objetos por cada proceso servidor o transacción preparada necesitarán ser bloqueados en un momento dado." -#: utils/misc/guc_tables.c:2744 +#: utils/misc/guc_tables.c:2753 msgid "Sets the maximum number of predicate-locked pages and tuples per relation." msgstr "Cantidad máxima de páginas y tuplas bloqueadas por predicado." -#: utils/misc/guc_tables.c:2745 +#: utils/misc/guc_tables.c:2754 msgid "If more than this total of pages and tuples in the same relation are locked by a connection, those locks are replaced by a relation-level lock." msgstr "Si más que este total de páginas y tuplas en la misma relación están bloqueadas por una conexión, esos locks son reemplazados por un lock a nivel de relación." -#: utils/misc/guc_tables.c:2755 +#: utils/misc/guc_tables.c:2764 msgid "Sets the maximum number of predicate-locked tuples per page." msgstr "Cantidad máxima de locks de predicado por página." -#: utils/misc/guc_tables.c:2756 +#: utils/misc/guc_tables.c:2765 msgid "If more than this number of tuples on the same page are locked by a connection, those locks are replaced by a page-level lock." msgstr "Si más que este número de tuplas de la misma página están bloqueadas por una conexión, esos locks son reemplazados por un lock a nivel de página." -#: utils/misc/guc_tables.c:2766 +#: utils/misc/guc_tables.c:2775 msgid "Sets the maximum allowed time to complete client authentication." msgstr "Define el tiempo máximo para completar proceso de autentificación." -#: utils/misc/guc_tables.c:2778 +#: utils/misc/guc_tables.c:2787 msgid "Sets the amount of time to wait before authentication on connection startup." msgstr "Define el tiempo máximo a esperar antes de la autentificación al abrir una conexión." -#: utils/misc/guc_tables.c:2790 +#: utils/misc/guc_tables.c:2799 msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue." msgstr "Cantidad máxima de páginas dedicadas a la cola de NOTIFY / LISTEN." -#: utils/misc/guc_tables.c:2800 +#: utils/misc/guc_tables.c:2809 msgid "Buffer size for reading ahead in the WAL during recovery." msgstr "Tamaño de búfer para lectura adelantada de WAL durante la recuperación." -#: utils/misc/guc_tables.c:2801 +#: utils/misc/guc_tables.c:2810 msgid "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." msgstr "Máxima distancia que leer adelantado en el WAL para pre-cargar bloques de datos referenciados." -#: utils/misc/guc_tables.c:2811 +#: utils/misc/guc_tables.c:2820 msgid "Sets the size of WAL files held for standby servers." msgstr "Establece el tamaño de los archivos de WAL retenidos para los servidores standby." -#: utils/misc/guc_tables.c:2822 +#: utils/misc/guc_tables.c:2831 msgid "Sets the minimum size to shrink the WAL to." msgstr "Define el tamaño mínimo al cual reducir el WAL." -#: utils/misc/guc_tables.c:2834 +#: utils/misc/guc_tables.c:2843 msgid "Sets the WAL size that triggers a checkpoint." msgstr "Define el tamaño de WAL que desencadena un checkpoint." -#: utils/misc/guc_tables.c:2846 +#: utils/misc/guc_tables.c:2855 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "Define el tiempo máximo entre puntos de control de WAL automáticos." -#: utils/misc/guc_tables.c:2857 +#: utils/misc/guc_tables.c:2866 msgid "Sets the maximum time before warning if checkpoints triggered by WAL volume happen too frequently." msgstr "Define el máximo tiempo antes de emitir un advertencia si los checkpoints iniciados a causa del volumen de WAL ocurren con demasiada frecuencia." -#: utils/misc/guc_tables.c:2859 +#: utils/misc/guc_tables.c:2868 msgid "Write a message to the server log if checkpoints caused by the filling of WAL segment files happen more frequently than this amount of time. Zero turns off the warning." msgstr "Escribe una advertencia al log del servidor si los checkpoints causados por el llenado de segmentos de WAL occur más frecuentemente que esta cantidad de tiempo. Cero inhabilita la advertencia." -#: utils/misc/guc_tables.c:2872 utils/misc/guc_tables.c:3090 -#: utils/misc/guc_tables.c:3144 +#: utils/misc/guc_tables.c:2881 utils/misc/guc_tables.c:3099 +#: utils/misc/guc_tables.c:3153 msgid "Number of pages after which previously performed writes are flushed to disk." msgstr "Número de páginas después del cual las escrituras previamente ejecutadas se sincronizan a disco." -#: utils/misc/guc_tables.c:2883 +#: utils/misc/guc_tables.c:2892 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "Búfers en memoria compartida para páginas de WAL." -#: utils/misc/guc_tables.c:2884 +#: utils/misc/guc_tables.c:2893 msgid "Specify -1 to have this value determined as a fraction of shared_buffers." msgstr "Especifique -1 para que este valor sea determinado como fracción de shared_buffers." -#: utils/misc/guc_tables.c:2894 +#: utils/misc/guc_tables.c:2903 msgid "Time between WAL flushes performed in the WAL writer." msgstr "Tiempo entre sincronizaciones de WAL ejecutadas por el proceso escritor de WAL." -#: utils/misc/guc_tables.c:2905 +#: utils/misc/guc_tables.c:2914 msgid "Amount of WAL written out by WAL writer that triggers a flush." msgstr "Cantidad de WAL escrito por el proceso escritor de WAL que desencadena una sincronización (flush)." -#: utils/misc/guc_tables.c:2916 +#: utils/misc/guc_tables.c:2925 msgid "Minimum size of new file to fsync instead of writing WAL." msgstr "Tamaño mínimo del nuevo archivo para hacer fsync en lugar de escribir WAL." -#: utils/misc/guc_tables.c:2927 +#: utils/misc/guc_tables.c:2936 msgid "Sets the maximum number of simultaneously running WAL sender processes." msgstr "Define la cantidad máxima de procesos “WAL sender” simultáneos." -#: utils/misc/guc_tables.c:2938 +#: utils/misc/guc_tables.c:2947 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "Define la cantidad máxima de slots de replicación definidos simultáneamente." -#: utils/misc/guc_tables.c:2948 +#: utils/misc/guc_tables.c:2957 msgid "Sets the maximum WAL size that can be reserved by replication slots." msgstr "Define el tamaño máximo de WAL que puede ser reservado por slots de replicación." -#: utils/misc/guc_tables.c:2949 +#: utils/misc/guc_tables.c:2958 msgid "Replication slots will be marked as failed, and segments released for deletion or recycling, if this much space is occupied by WAL on disk." msgstr "Los slots de replicación serán invalidados, y los segmentos de WAL eliminados o reciclados, si se usa esta cantidad de espacio de disco en WAL." -#: utils/misc/guc_tables.c:2961 +#: utils/misc/guc_tables.c:2970 msgid "Sets the maximum time to wait for WAL replication." msgstr "Define el tiempo máximo a esperar la replicación de WAL." -#: utils/misc/guc_tables.c:2972 +#: utils/misc/guc_tables.c:2981 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk." msgstr "Retardo en microsegundos entre completar una transacción y escribir WAL a disco." -#: utils/misc/guc_tables.c:2984 +#: utils/misc/guc_tables.c:2993 msgid "Sets the minimum number of concurrent open transactions required before performing \"commit_delay\"." msgstr "Número mínimo de transacciones abiertas concurrentes antes de efectuar «commit_delay»." -#: utils/misc/guc_tables.c:2995 +#: utils/misc/guc_tables.c:3004 msgid "Sets the number of digits displayed for floating-point values." msgstr "Ajustar el número de dígitos mostrados para valores de coma flotante." -#: utils/misc/guc_tables.c:2996 +#: utils/misc/guc_tables.c:3005 msgid "This affects real, double precision, and geometric data types. A zero or negative parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate). Any value greater than zero selects precise output mode." msgstr "Esto afecta los tipos real, de doble precisión, y geométricos. Un valor del parámetro cero o negativo se agrega a la cantidad estándar de dígitos (FLT_DIG o DBL_DIG, según sea apropiado). Cualquier valor mayor que cero selecciona el modo de salida preciso." -#: utils/misc/guc_tables.c:3008 +#: utils/misc/guc_tables.c:3017 msgid "Sets the minimum execution time above which a sample of statements will be logged. Sampling is determined by log_statement_sample_rate." msgstr "Establece el tiempo mínimo de ejecución a partir del cual se registra una muestra de la sentencia. El muestreo es determinado por log_statement_sample_rate." -#: utils/misc/guc_tables.c:3011 +#: utils/misc/guc_tables.c:3020 msgid "Zero logs a sample of all queries. -1 turns this feature off." msgstr "Cero registra una muestra de todas las consultas. -1 desactiva esta funcionalidad." -#: utils/misc/guc_tables.c:3021 +#: utils/misc/guc_tables.c:3030 msgid "Sets the minimum execution time above which all statements will be logged." msgstr "Establece el tiempo mínimo de ejecución a partir del cual se registran todas las sentencias." -#: utils/misc/guc_tables.c:3023 +#: utils/misc/guc_tables.c:3032 msgid "Zero prints all queries. -1 turns this feature off." msgstr "Cero imprime todas las consultas. -1 desactiva esta funcionalidad." -#: utils/misc/guc_tables.c:3033 +#: utils/misc/guc_tables.c:3042 msgid "Sets the minimum execution time above which autovacuum actions will be logged." msgstr "Tiempo mínimo de ejecución a partir del cual se registran las acciones de autovacuum." -#: utils/misc/guc_tables.c:3035 +#: utils/misc/guc_tables.c:3044 msgid "Zero prints all actions. -1 turns autovacuum logging off." msgstr "Cero registra todas las acciones. -1 desactiva el registro de autovacuum." -#: utils/misc/guc_tables.c:3045 +#: utils/misc/guc_tables.c:3054 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements." msgstr "Define el largo máximo en bytes de valores de parámetros «bind» enviados al log al registrar sentencias." -#: utils/misc/guc_tables.c:3047 utils/misc/guc_tables.c:3059 +#: utils/misc/guc_tables.c:3056 utils/misc/guc_tables.c:3068 msgid "-1 to print values in full." msgstr "-1 para mostrar los valores completos." -#: utils/misc/guc_tables.c:3057 +#: utils/misc/guc_tables.c:3066 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements, on error." msgstr "Define el largo máximo en bytes de valores de parámetros «bind» enviados al log, en caso de error." -#: utils/misc/guc_tables.c:3069 +#: utils/misc/guc_tables.c:3078 msgid "Background writer sleep time between rounds." msgstr "Tiempo de descanso entre rondas del background writer" -#: utils/misc/guc_tables.c:3080 +#: utils/misc/guc_tables.c:3089 msgid "Background writer maximum number of LRU pages to flush per round." msgstr "Número máximo de páginas LRU a escribir en cada ronda del background writer" -#: utils/misc/guc_tables.c:3103 +#: utils/misc/guc_tables.c:3112 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem." msgstr "Cantidad máxima de peticiones simultáneas que pueden ser manejadas eficientemente por el sistema de disco." -#: utils/misc/guc_tables.c:3117 +#: utils/misc/guc_tables.c:3126 msgid "A variant of \"effective_io_concurrency\" that is used for maintenance work." msgstr "Una variante de «effective_io_concurrency» que se usa para tareas de mantención." -#: utils/misc/guc_tables.c:3132 +#: utils/misc/guc_tables.c:3141 msgid "Limit on the size of data reads and writes." msgstr "Límite del tamaño de lecturas y escrituras de datos." -#: utils/misc/guc_tables.c:3157 +#: utils/misc/guc_tables.c:3166 msgid "Maximum number of concurrent worker processes." msgstr "Número máximo de procesos ayudantes concurrentes." -#: utils/misc/guc_tables.c:3169 +#: utils/misc/guc_tables.c:3178 msgid "Maximum number of logical replication worker processes." msgstr "Número máximo de procesos ayudantes de replicación lógica." -#: utils/misc/guc_tables.c:3181 +#: utils/misc/guc_tables.c:3190 msgid "Maximum number of table synchronization workers per subscription." msgstr "Número máximo de procesos ayudantes de sincronización por suscripción." -#: utils/misc/guc_tables.c:3193 +#: utils/misc/guc_tables.c:3202 msgid "Maximum number of parallel apply workers per subscription." msgstr "Número máximo de procesos ayudantes de “apply” por suscripción." -#: utils/misc/guc_tables.c:3203 +#: utils/misc/guc_tables.c:3212 msgid "Sets the amount of time to wait before forcing log file rotation." msgstr "Define el tiempo a esperar antes de forzar la rotación del archivo de registro del servidor." -#: utils/misc/guc_tables.c:3215 +#: utils/misc/guc_tables.c:3224 msgid "Sets the maximum size a log file can reach before being rotated." msgstr "Define el tamaño máximo que un archivo de registro del servidor puede alcanzar antes de ser rotado." -#: utils/misc/guc_tables.c:3227 +#: utils/misc/guc_tables.c:3236 msgid "Shows the maximum number of function arguments." msgstr "Muestra la cantidad máxima de argumentos de funciones." -#: utils/misc/guc_tables.c:3238 +#: utils/misc/guc_tables.c:3247 msgid "Shows the maximum number of index keys." msgstr "Muestra la cantidad máxima de claves de índices." -#: utils/misc/guc_tables.c:3249 +#: utils/misc/guc_tables.c:3258 msgid "Shows the maximum identifier length." msgstr "Muestra el largo máximo de identificadores." -#: utils/misc/guc_tables.c:3260 +#: utils/misc/guc_tables.c:3269 msgid "Shows the size of a disk block." msgstr "Muestra el tamaño de un bloque de disco." -#: utils/misc/guc_tables.c:3271 +#: utils/misc/guc_tables.c:3280 msgid "Shows the number of pages per disk file." msgstr "Muestra el número de páginas por archivo en disco." -#: utils/misc/guc_tables.c:3282 +#: utils/misc/guc_tables.c:3291 msgid "Shows the block size in the write ahead log." msgstr "Muestra el tamaño de bloque en el write-ahead log." -#: utils/misc/guc_tables.c:3293 +#: utils/misc/guc_tables.c:3302 msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgstr "Define el tiempo a esperar antes de reintentar obtener WAL después de un intento fallido." -#: utils/misc/guc_tables.c:3305 +#: utils/misc/guc_tables.c:3314 msgid "Shows the size of write ahead log segments." msgstr "Muestra el tamaño de los segmentos de WAL." -#: utils/misc/guc_tables.c:3318 +#: utils/misc/guc_tables.c:3327 msgid "Time for which WAL summary files should be kept." msgstr "Período durante el cual se deberían conservar los archivos de sumarización de WAL." -#: utils/misc/guc_tables.c:3331 +#: utils/misc/guc_tables.c:3340 msgid "Time to sleep between autovacuum runs." msgstr "Tiempo de descanso entre ejecuciones de autovacuum." -#: utils/misc/guc_tables.c:3341 +#: utils/misc/guc_tables.c:3350 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "Número mínimo de updates o deletes antes de ejecutar vacuum." -#: utils/misc/guc_tables.c:3350 +#: utils/misc/guc_tables.c:3359 msgid "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums." msgstr "Número mínimo de inserciones de tuplas antes de ejecutar vacuum, o -1 para desactivar vacuums por inserciones." -#: utils/misc/guc_tables.c:3359 +#: utils/misc/guc_tables.c:3368 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." msgstr "Número mínimo de inserciones, actualizaciones y eliminaciones de tuplas antes de ejecutar analyze." -#: utils/misc/guc_tables.c:3369 +#: utils/misc/guc_tables.c:3378 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound." msgstr "Edad a la cual aplicar VACUUM automáticamente a una tabla para prevenir problemas por “wraparound” de ID de transacción." -#: utils/misc/guc_tables.c:3381 +#: utils/misc/guc_tables.c:3390 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound." msgstr "Edad de multixact a la cual aplicar VACUUM automáticamente a una tabla para prevenir problemas por “wraparound” de ID de multixacts." -#: utils/misc/guc_tables.c:3391 +#: utils/misc/guc_tables.c:3400 msgid "Sets the maximum number of simultaneously running autovacuum worker processes." msgstr "Define la cantidad máxima de procesos «autovacuum worker» simultáneos." -#: utils/misc/guc_tables.c:3401 +#: utils/misc/guc_tables.c:3410 msgid "Sets the maximum number of parallel processes per maintenance operation." msgstr "Cantidad máxima de procesos ayudantes paralelos por operación de mantención." -#: utils/misc/guc_tables.c:3411 +#: utils/misc/guc_tables.c:3420 msgid "Sets the maximum number of parallel processes per executor node." msgstr "Cantidad máxima de locks de predicado por nodo de ejecución." -#: utils/misc/guc_tables.c:3422 +#: utils/misc/guc_tables.c:3431 msgid "Sets the maximum number of parallel workers that can be active at one time." msgstr "Define la cantidad máxima de procesos ayudantes que pueden estar activos en un momento dado." -#: utils/misc/guc_tables.c:3433 +#: utils/misc/guc_tables.c:3442 msgid "Sets the maximum memory to be used by each autovacuum worker process." msgstr "Establece el límite de memoria que cada proceso «autovacuum worker» usará." -#: utils/misc/guc_tables.c:3444 +#: utils/misc/guc_tables.c:3453 msgid "Time between issuing TCP keepalives." msgstr "Tiempo entre cada emisión de TCP keepalive." -#: utils/misc/guc_tables.c:3445 utils/misc/guc_tables.c:3456 -#: utils/misc/guc_tables.c:3580 +#: utils/misc/guc_tables.c:3454 utils/misc/guc_tables.c:3465 +#: utils/misc/guc_tables.c:3589 msgid "A value of 0 uses the system default." msgstr "Un valor 0 usa el valor por omisión del sistema." -#: utils/misc/guc_tables.c:3455 +#: utils/misc/guc_tables.c:3464 msgid "Time between TCP keepalive retransmits." msgstr "Tiempo entre retransmisiones TCP keepalive." -#: utils/misc/guc_tables.c:3466 +#: utils/misc/guc_tables.c:3475 msgid "SSL renegotiation is no longer supported; this can only be 0." msgstr "La renegociación SSL ya no está soportada; esto sólo puede ser 0." -#: utils/misc/guc_tables.c:3477 +#: utils/misc/guc_tables.c:3486 msgid "Maximum number of TCP keepalive retransmits." msgstr "Cantidad máxima de retransmisiones TCP keepalive." -#: utils/misc/guc_tables.c:3478 +#: utils/misc/guc_tables.c:3487 msgid "Number of consecutive keepalive retransmits that can be lost before a connection is considered dead. A value of 0 uses the system default." msgstr "Número de retransmisiones consecutivas de keepalive que pueden ser perdidas antes que una conexión se considere muerta. Cero usa el valor por omisión del sistema." -#: utils/misc/guc_tables.c:3489 +#: utils/misc/guc_tables.c:3498 msgid "Sets the maximum allowed result for exact search by GIN." msgstr "Define el máximo de resultados permitidos por búsquedas exactas con GIN." -#: utils/misc/guc_tables.c:3500 +#: utils/misc/guc_tables.c:3509 msgid "Sets the planner's assumption about the total size of the data caches." msgstr "Define la suposición del optimizador sobre el tamaño total de los caches de datos." -#: utils/misc/guc_tables.c:3501 +#: utils/misc/guc_tables.c:3510 msgid "That is, the total size of the caches (kernel cache and shared buffers) used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each." msgstr "Esto es, el tamaño total de caches (cache del kernel y búfers compartidos) usados por archivos de datos de PostgreSQL. Esto se mide en páginas de disco, que normalmente son de 8 kB cada una." -#: utils/misc/guc_tables.c:3512 +#: utils/misc/guc_tables.c:3521 msgid "Sets the minimum amount of table data for a parallel scan." msgstr "Define la cantidad mínima de datos en una tabla para un recorrido paralelo." -#: utils/misc/guc_tables.c:3513 +#: utils/misc/guc_tables.c:3522 msgid "If the planner estimates that it will read a number of table pages too small to reach this limit, a parallel scan will not be considered." msgstr "Si el planificador estima que leerá un número de páginas de tabla demasiado pequeñas para alcanzar este límite, no se considerará una búsqueda paralela." -#: utils/misc/guc_tables.c:3523 +#: utils/misc/guc_tables.c:3532 msgid "Sets the minimum amount of index data for a parallel scan." msgstr "Define la cantidad mínima de datos en un índice para un recorrido paralelo." -#: utils/misc/guc_tables.c:3524 +#: utils/misc/guc_tables.c:3533 msgid "If the planner estimates that it will read a number of index pages too small to reach this limit, a parallel scan will not be considered." msgstr "Si el planificador estima que leerá un número de páginas de índice demasiado pequeñas para alcanzar este límite, no se considerará una búsqueda paralela." -#: utils/misc/guc_tables.c:3535 +#: utils/misc/guc_tables.c:3544 msgid "Shows the server version as an integer." msgstr "Muestra la versión del servidor como un número entero." -#: utils/misc/guc_tables.c:3546 +#: utils/misc/guc_tables.c:3555 msgid "Log the use of temporary files larger than this number of kilobytes." msgstr "Registra el uso de archivos temporales que crezcan más allá de este número de kilobytes." -#: utils/misc/guc_tables.c:3547 +#: utils/misc/guc_tables.c:3556 msgid "Zero logs all files. The default is -1 (turning this feature off)." msgstr "Cero registra todos los archivos. El valor por omisión es -1 (lo cual desactiva el registro)." -#: utils/misc/guc_tables.c:3557 +#: utils/misc/guc_tables.c:3566 msgid "Sets the size reserved for pg_stat_activity.query, in bytes." msgstr "Tamaño reservado para pg_stat_activity.query, en bytes." -#: utils/misc/guc_tables.c:3568 +#: utils/misc/guc_tables.c:3577 msgid "Sets the maximum size of the pending list for GIN index." msgstr "Define el tamaño máximo de la lista de pendientes de un índice GIN." -#: utils/misc/guc_tables.c:3579 +#: utils/misc/guc_tables.c:3588 msgid "TCP user timeout." msgstr "Tiempo de expiración de TCP." -#: utils/misc/guc_tables.c:3590 +#: utils/misc/guc_tables.c:3599 msgid "The size of huge page that should be requested." msgstr "El tamaño de huge page que se debería solicitar." -#: utils/misc/guc_tables.c:3601 +#: utils/misc/guc_tables.c:3610 msgid "Aggressively flush system caches for debugging purposes." msgstr "Escribir cachés de sistema de forma agresiva para propósitos de depuración." -#: utils/misc/guc_tables.c:3624 +#: utils/misc/guc_tables.c:3633 msgid "Sets the time interval between checks for disconnection while running queries." msgstr "Establece el intervalo entre revisiones de desconexión mientras se ejecutan consultas." -#: utils/misc/guc_tables.c:3635 +#: utils/misc/guc_tables.c:3644 msgid "Time between progress updates for long-running startup operations." msgstr "Tiempo a esperar entre actualizaciones para operaciones largas durante el inicio." -#: utils/misc/guc_tables.c:3637 +#: utils/misc/guc_tables.c:3646 msgid "0 turns this feature off." msgstr "Cero desactiva esta característica." -#: utils/misc/guc_tables.c:3647 +#: utils/misc/guc_tables.c:3656 msgid "Sets the iteration count for SCRAM secret generation." msgstr "Define la cantidad de iteraciones para generación de secretos SCRAM." -#: utils/misc/guc_tables.c:3667 +#: utils/misc/guc_tables.c:3676 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page." msgstr "Estimación del costo de una página leída secuencialmente." -#: utils/misc/guc_tables.c:3678 +#: utils/misc/guc_tables.c:3687 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page." msgstr "Estimación del costo de una página leída no secuencialmente." -#: utils/misc/guc_tables.c:3689 +#: utils/misc/guc_tables.c:3698 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "Estimación del costo de procesar cada tupla (fila)." -#: utils/misc/guc_tables.c:3700 +#: utils/misc/guc_tables.c:3709 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan." msgstr "Estimación del costo de procesar cada fila de índice durante un recorrido de índice." -#: utils/misc/guc_tables.c:3711 +#: utils/misc/guc_tables.c:3720 msgid "Sets the planner's estimate of the cost of processing each operator or function call." msgstr "Estimación del costo de procesar cada operador o llamada a función." -#: utils/misc/guc_tables.c:3722 +#: utils/misc/guc_tables.c:3731 msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to leader backend." msgstr "Estimación del costo de pasar cada tupla (fila) desde un proceso ayudante al proceso servidor principal." -#: utils/misc/guc_tables.c:3733 +#: utils/misc/guc_tables.c:3742 msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query." msgstr "Estimación del costo de lanzar procesos ayudantes para consultas en paralelo." -#: utils/misc/guc_tables.c:3745 +#: utils/misc/guc_tables.c:3754 msgid "Perform JIT compilation if query is more expensive." msgstr "Ejecutar compilación JIT si la consulta es más cara." -#: utils/misc/guc_tables.c:3746 +#: utils/misc/guc_tables.c:3755 msgid "-1 disables JIT compilation." msgstr "-1 inhabilita compilación JIT." -#: utils/misc/guc_tables.c:3756 +#: utils/misc/guc_tables.c:3765 msgid "Optimize JIT-compiled functions if query is more expensive." msgstr "Optimizar funciones compiladas en tiempo de ejecución (JIT) si la consulta es más cara." -#: utils/misc/guc_tables.c:3757 +#: utils/misc/guc_tables.c:3766 msgid "-1 disables optimization." msgstr "-1 inhabilita la optimización." -#: utils/misc/guc_tables.c:3767 +#: utils/misc/guc_tables.c:3776 msgid "Perform JIT inlining if query is more expensive." msgstr "Ejecutar «inlining» JIT si la consulta es más cara." -#: utils/misc/guc_tables.c:3768 +#: utils/misc/guc_tables.c:3777 msgid "-1 disables inlining." msgstr "-1 inhabilita el «inlining»." -#: utils/misc/guc_tables.c:3778 +#: utils/misc/guc_tables.c:3787 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved." msgstr "Estimación de la fracción de filas de un cursor que serán extraídas." -#: utils/misc/guc_tables.c:3790 +#: utils/misc/guc_tables.c:3799 msgid "Sets the planner's estimate of the average size of a recursive query's working table." msgstr "Estimación del tamaño promedio de la tabla de trabajo de una consulta recursiva." -#: utils/misc/guc_tables.c:3802 +#: utils/misc/guc_tables.c:3811 msgid "GEQO: selective pressure within the population." msgstr "GEQO: presión selectiva dentro de la población." -#: utils/misc/guc_tables.c:3813 +#: utils/misc/guc_tables.c:3822 msgid "GEQO: seed for random path selection." msgstr "GEQO: semilla para la selección aleatoria de caminos." -#: utils/misc/guc_tables.c:3824 +#: utils/misc/guc_tables.c:3833 msgid "Multiple of \"work_mem\" to use for hash tables." msgstr "Múltiplo de «work_mem» para el uso de tablas de hash." -#: utils/misc/guc_tables.c:3835 +#: utils/misc/guc_tables.c:3844 msgid "Multiple of the average buffer usage to free per round." msgstr "Múltiplo del uso promedio de búfers que liberar en cada ronda." -#: utils/misc/guc_tables.c:3845 +#: utils/misc/guc_tables.c:3854 msgid "Sets the seed for random-number generation." msgstr "Semilla para la generación de números aleatorios." -#: utils/misc/guc_tables.c:3856 +#: utils/misc/guc_tables.c:3865 msgid "Vacuum cost delay in milliseconds." msgstr "Tiempo de descanso de vacuum en milisegundos." -#: utils/misc/guc_tables.c:3867 +#: utils/misc/guc_tables.c:3876 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Tiempo de descanso de vacuum en milisegundos, para autovacuum." -#: utils/misc/guc_tables.c:3878 +#: utils/misc/guc_tables.c:3887 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples." msgstr "Número de updates o deletes de tuplas antes de ejecutar un vacuum, como fracción de reltuples." -#: utils/misc/guc_tables.c:3888 +#: utils/misc/guc_tables.c:3897 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." msgstr "Número de inserts de tuplas antes de ejecutar un vacuum, como fracción de reltuples." -#: utils/misc/guc_tables.c:3898 +#: utils/misc/guc_tables.c:3907 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples." msgstr "Número mínimo de inserciones, actualizaciones y eliminaciones de tuplas antes de ejecutar analyze, como fracción de reltuples." -#: utils/misc/guc_tables.c:3908 +#: utils/misc/guc_tables.c:3917 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval." msgstr "Tiempo utilizado en escribir páginas «sucias» durante los puntos de control, medido como fracción del intervalo del checkpoint." -#: utils/misc/guc_tables.c:3918 +#: utils/misc/guc_tables.c:3927 msgid "Fraction of statements exceeding \"log_min_duration_sample\" to be logged." msgstr "Fracción de sentencias que duren más de «log_min_duration_sample» a ser registradas." -#: utils/misc/guc_tables.c:3919 +#: utils/misc/guc_tables.c:3928 msgid "Use a value between 0.0 (never log) and 1.0 (always log)." msgstr "Use un valor entre 0.0 (no registrar nunca) y 1.0 (registrar siempre)." -#: utils/misc/guc_tables.c:3928 +#: utils/misc/guc_tables.c:3937 msgid "Sets the fraction of transactions from which to log all statements." msgstr "Define la fracción de transacciones desde la cual registrar en el log todas las sentencias." -#: utils/misc/guc_tables.c:3929 +#: utils/misc/guc_tables.c:3938 msgid "Use a value between 0.0 (never log) and 1.0 (log all statements for all transactions)." msgstr "Use un valor entre 0.0 (nunca registrar) y 1.0 (registrar todas las sentencias de todas las transacciones)." -#: utils/misc/guc_tables.c:3948 +#: utils/misc/guc_tables.c:3957 msgid "Sets the shell command that will be called to archive a WAL file." msgstr "Orden de shell que se invocará para archivar un archivo WAL." -#: utils/misc/guc_tables.c:3949 +#: utils/misc/guc_tables.c:3958 msgid "This is used only if \"archive_library\" is not set." msgstr "Esto sólo se utiliza si «archive_library» no está definido." -#: utils/misc/guc_tables.c:3958 +#: utils/misc/guc_tables.c:3967 msgid "Sets the library that will be called to archive a WAL file." msgstr "Biblioteca que se invocará para archivar un archivo WAL." -#: utils/misc/guc_tables.c:3959 +#: utils/misc/guc_tables.c:3968 msgid "An empty string indicates that \"archive_command\" should be used." msgstr "Una cadena vacía indica que «archive_command» debería usarse." -#: utils/misc/guc_tables.c:3968 +#: utils/misc/guc_tables.c:3977 msgid "Sets the shell command that will be called to retrieve an archived WAL file." msgstr "Orden de shell que se invocará para recuperar un archivo WAL archivado." -#: utils/misc/guc_tables.c:3978 +#: utils/misc/guc_tables.c:3987 msgid "Sets the shell command that will be executed at every restart point." msgstr "Orden de shell que se invocará en cada «restart point»." -#: utils/misc/guc_tables.c:3988 +#: utils/misc/guc_tables.c:3997 msgid "Sets the shell command that will be executed once at the end of recovery." msgstr "Orden de shell que se invocará una vez al terminar la recuperación." -#: utils/misc/guc_tables.c:3998 +#: utils/misc/guc_tables.c:4007 msgid "Specifies the timeline to recover into." msgstr "Especifica la línea de tiempo a la cual recuperar." -#: utils/misc/guc_tables.c:4008 +#: utils/misc/guc_tables.c:4017 msgid "Set to \"immediate\" to end recovery as soon as a consistent state is reached." msgstr "Defina a «immediate» para terminar la recuperación en cuando se alcance el estado consistente." -#: utils/misc/guc_tables.c:4017 +#: utils/misc/guc_tables.c:4026 msgid "Sets the transaction ID up to which recovery will proceed." msgstr "Define el ID de transacción hasta el cual se ejecutará la recuperación." -#: utils/misc/guc_tables.c:4026 +#: utils/misc/guc_tables.c:4035 msgid "Sets the time stamp up to which recovery will proceed." msgstr "Define la marca de tiempo hasta la cual se ejecutará la recuperación." -#: utils/misc/guc_tables.c:4035 +#: utils/misc/guc_tables.c:4044 msgid "Sets the named restore point up to which recovery will proceed." msgstr "Define el nombre del punto de restauración hasta el cual se ejecutará la recuperación." -#: utils/misc/guc_tables.c:4044 +#: utils/misc/guc_tables.c:4053 msgid "Sets the LSN of the write-ahead log location up to which recovery will proceed." msgstr "Define el LSN de la ubicación de WAL hasta la cual se ejecutará la recuperación." -#: utils/misc/guc_tables.c:4054 +#: utils/misc/guc_tables.c:4063 msgid "Sets the connection string to be used to connect to the sending server." msgstr "Define la cadena de conexión que se usará para conectarse al servidor de origen." -#: utils/misc/guc_tables.c:4065 +#: utils/misc/guc_tables.c:4074 msgid "Sets the name of the replication slot to use on the sending server." msgstr "Define el nombre del slot de replicación a utilizar en el servidor de origen." -#: utils/misc/guc_tables.c:4075 +#: utils/misc/guc_tables.c:4084 msgid "Sets the client's character set encoding." msgstr "Codificación del juego de caracteres del cliente." -#: utils/misc/guc_tables.c:4086 +#: utils/misc/guc_tables.c:4095 msgid "Controls information prefixed to each log line." msgstr "Controla el prefijo que antecede cada línea registrada." -#: utils/misc/guc_tables.c:4087 +#: utils/misc/guc_tables.c:4096 msgid "If blank, no prefix is used." msgstr "si está en blanco, no se usa prefijo." -#: utils/misc/guc_tables.c:4096 +#: utils/misc/guc_tables.c:4105 msgid "Sets the time zone to use in log messages." msgstr "Define el huso horario usando en los mensajes registrados." -#: utils/misc/guc_tables.c:4106 +#: utils/misc/guc_tables.c:4115 msgid "Sets the display format for date and time values." msgstr "Formato de salida para valores de horas y fechas." -#: utils/misc/guc_tables.c:4107 +#: utils/misc/guc_tables.c:4116 msgid "Also controls interpretation of ambiguous date inputs." msgstr "También controla la interpretación de entradas ambiguas de fechas" -#: utils/misc/guc_tables.c:4118 +#: utils/misc/guc_tables.c:4127 msgid "Sets the default table access method for new tables." msgstr "Define el método de acceso a tablas por omisión para nuevas tablas." -#: utils/misc/guc_tables.c:4129 +#: utils/misc/guc_tables.c:4138 msgid "Sets the default tablespace to create tables and indexes in." msgstr "Define el tablespace en el cual crear tablas e índices." -#: utils/misc/guc_tables.c:4130 +#: utils/misc/guc_tables.c:4139 msgid "An empty string selects the database's default tablespace." msgstr "Una cadena vacía especifica el tablespace por omisión de la base de datos." -#: utils/misc/guc_tables.c:4140 +#: utils/misc/guc_tables.c:4149 msgid "Sets the tablespace(s) to use for temporary tables and sort files." msgstr "Define el/los tablespace/s en el cual crear tablas temporales y archivos de ordenamiento." -#: utils/misc/guc_tables.c:4151 +#: utils/misc/guc_tables.c:4160 msgid "Sets whether a CREATEROLE user automatically grants the role to themselves, and with which options." msgstr "define si un rol con CREATEROLE automáticamente se otorga ese rol a si mismo, y con qué opciones." -#: utils/misc/guc_tables.c:4163 +#: utils/misc/guc_tables.c:4172 msgid "Sets the path for dynamically loadable modules." msgstr "Ruta para módulos dinámicos." -#: utils/misc/guc_tables.c:4164 +#: utils/misc/guc_tables.c:4173 msgid "If a dynamically loadable module needs to be opened and the specified name does not have a directory component (i.e., the name does not contain a slash), the system will search this path for the specified file." msgstr "Si se necesita abrir un módulo dinámico y el nombre especificado no tiene un componente de directorio (es decir, no contiene un slash), el sistema buscará el archivo especificado en esta ruta." -#: utils/misc/guc_tables.c:4177 +#: utils/misc/guc_tables.c:4186 msgid "Sets the location of the Kerberos server key file." msgstr "Ubicación del archivo de llave del servidor Kerberos." -#: utils/misc/guc_tables.c:4188 +#: utils/misc/guc_tables.c:4197 msgid "Sets the Bonjour service name." msgstr "Nombre del servicio Bonjour." -#: utils/misc/guc_tables.c:4198 +#: utils/misc/guc_tables.c:4207 msgid "Sets the language in which messages are displayed." msgstr "Idioma en el que se despliegan los mensajes." -#: utils/misc/guc_tables.c:4208 +#: utils/misc/guc_tables.c:4217 msgid "Sets the locale for formatting monetary amounts." msgstr "Configuración regional para formatos de moneda." -#: utils/misc/guc_tables.c:4218 +#: utils/misc/guc_tables.c:4227 msgid "Sets the locale for formatting numbers." msgstr "Configuración regional para formatos de números." -#: utils/misc/guc_tables.c:4228 +#: utils/misc/guc_tables.c:4237 msgid "Sets the locale for formatting date and time values." msgstr "Configuración regional para formatos de horas y fechas." -#: utils/misc/guc_tables.c:4238 +#: utils/misc/guc_tables.c:4247 msgid "Lists shared libraries to preload into each backend." msgstr "Bibliotecas compartidas a precargar en cada proceso." -#: utils/misc/guc_tables.c:4249 +#: utils/misc/guc_tables.c:4258 msgid "Lists shared libraries to preload into server." msgstr "Bibliotecas compartidas a precargar en el servidor." -#: utils/misc/guc_tables.c:4260 +#: utils/misc/guc_tables.c:4269 msgid "Lists unprivileged shared libraries to preload into each backend." msgstr "Bibliotecas compartidas no privilegiadas a precargar en cada proceso." -#: utils/misc/guc_tables.c:4271 +#: utils/misc/guc_tables.c:4280 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "Orden de búsqueda en schemas para nombres que no especifican schema." -#: utils/misc/guc_tables.c:4283 +#: utils/misc/guc_tables.c:4292 msgid "Shows the server (database) character set encoding." msgstr "Muestra la codificación de caracteres del servidor (base de datos)." -#: utils/misc/guc_tables.c:4295 +#: utils/misc/guc_tables.c:4304 msgid "Shows the server version." msgstr "Versión del servidor." -#: utils/misc/guc_tables.c:4307 +#: utils/misc/guc_tables.c:4316 msgid "Sets the current role." msgstr "Define el rol actual." -#: utils/misc/guc_tables.c:4319 +#: utils/misc/guc_tables.c:4328 msgid "Sets the session user name." msgstr "Define el nombre del usuario de sesión." -#: utils/misc/guc_tables.c:4330 +#: utils/misc/guc_tables.c:4339 msgid "Sets the destination for server log output." msgstr "Define el destino de la salida del registro del servidor." -#: utils/misc/guc_tables.c:4331 +#: utils/misc/guc_tables.c:4340 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\", and \"eventlog\", depending on the platform." msgstr "Son aceptables combinaciones de «stderr», «syslog», «csvlog», «jsonlog» y «eventlog», dependendiendo de la plataforma." -#: utils/misc/guc_tables.c:4342 +#: utils/misc/guc_tables.c:4351 msgid "Sets the destination directory for log files." msgstr "Define el directorio de destino de los archivos del registro del servidor." -#: utils/misc/guc_tables.c:4343 +#: utils/misc/guc_tables.c:4352 msgid "Can be specified as relative to the data directory or as absolute path." msgstr "Puede ser una ruta relativa al directorio de datos o una ruta absoluta." -#: utils/misc/guc_tables.c:4353 +#: utils/misc/guc_tables.c:4362 msgid "Sets the file name pattern for log files." msgstr "Define el patrón para los nombres de archivo del registro del servidor." -#: utils/misc/guc_tables.c:4364 +#: utils/misc/guc_tables.c:4373 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "Nombre de programa para identificar PostgreSQL en mensajes de syslog." -#: utils/misc/guc_tables.c:4375 +#: utils/misc/guc_tables.c:4384 msgid "Sets the application name used to identify PostgreSQL messages in the event log." msgstr "Nombre de programa para identificar PostgreSQL en mensajes del log de eventos." -#: utils/misc/guc_tables.c:4386 +#: utils/misc/guc_tables.c:4395 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "Huso horario para desplegar e interpretar valores de tiempo." -#: utils/misc/guc_tables.c:4396 +#: utils/misc/guc_tables.c:4405 msgid "Selects a file of time zone abbreviations." msgstr "Selecciona un archivo de abreviaciones de huso horario." -#: utils/misc/guc_tables.c:4406 +#: utils/misc/guc_tables.c:4415 msgid "Sets the owning group of the Unix-domain socket." msgstr "Grupo dueño del socket de dominio Unix." -#: utils/misc/guc_tables.c:4407 +#: utils/misc/guc_tables.c:4416 msgid "The owning user of the socket is always the user that starts the server." msgstr "El usuario dueño del socket siempre es el usuario que inicia el servidor." -#: utils/misc/guc_tables.c:4417 +#: utils/misc/guc_tables.c:4426 msgid "Sets the directories where Unix-domain sockets will be created." msgstr "Directorios donde se crearán los sockets de dominio Unix." -#: utils/misc/guc_tables.c:4428 +#: utils/misc/guc_tables.c:4437 msgid "Sets the host name or IP address(es) to listen to." msgstr "Define el nombre de anfitrión o dirección IP en la cual escuchar." -#: utils/misc/guc_tables.c:4443 +#: utils/misc/guc_tables.c:4452 msgid "Sets the server's data directory." msgstr "Define la ubicación del directorio de datos." -#: utils/misc/guc_tables.c:4454 +#: utils/misc/guc_tables.c:4463 msgid "Sets the server's main configuration file." msgstr "Define la ubicación del archivo principal de configuración del servidor." -#: utils/misc/guc_tables.c:4465 +#: utils/misc/guc_tables.c:4474 msgid "Sets the server's \"hba\" configuration file." msgstr "Define la ubicación del archivo de configuración «hba» del servidor." -#: utils/misc/guc_tables.c:4476 +#: utils/misc/guc_tables.c:4485 msgid "Sets the server's \"ident\" configuration file." msgstr "Define la ubicación del archivo de configuración «ident» del servidor." -#: utils/misc/guc_tables.c:4487 +#: utils/misc/guc_tables.c:4496 msgid "Writes the postmaster PID to the specified file." msgstr "Registra el PID de postmaster en el archivo especificado." -#: utils/misc/guc_tables.c:4498 +#: utils/misc/guc_tables.c:4507 msgid "Shows the name of the SSL library." msgstr "Muestra el nombre de la biblioteca SSL." -#: utils/misc/guc_tables.c:4513 +#: utils/misc/guc_tables.c:4522 msgid "Location of the SSL server certificate file." msgstr "Ubicación del archivo de certificado SSL del servidor." -#: utils/misc/guc_tables.c:4523 +#: utils/misc/guc_tables.c:4532 msgid "Location of the SSL server private key file." msgstr "Ubicación del archivo de la llave SSL privada del servidor." -#: utils/misc/guc_tables.c:4533 +#: utils/misc/guc_tables.c:4542 msgid "Location of the SSL certificate authority file." msgstr "Ubicación del archivo de autoridad certificadora SSL." -#: utils/misc/guc_tables.c:4543 +#: utils/misc/guc_tables.c:4552 msgid "Location of the SSL certificate revocation list file." msgstr "Ubicación del archivo de lista de revocación de certificados SSL" -#: utils/misc/guc_tables.c:4553 +#: utils/misc/guc_tables.c:4562 msgid "Location of the SSL certificate revocation list directory." msgstr "Ubicación del directorio de lista de revocación de certificados SSL" -#: utils/misc/guc_tables.c:4563 +#: utils/misc/guc_tables.c:4572 msgid "Number of synchronous standbys and list of names of potential synchronous ones." msgstr "Número de standbys sincrónicos y lista de nombres de los potenciales sincrónicos." -#: utils/misc/guc_tables.c:4574 +#: utils/misc/guc_tables.c:4583 msgid "Sets default text search configuration." msgstr "Define la configuración de búsqueda en texto por omisión." -#: utils/misc/guc_tables.c:4584 +#: utils/misc/guc_tables.c:4593 msgid "Sets the list of allowed SSL ciphers." msgstr "Define la lista de cifrados SSL permitidos." -#: utils/misc/guc_tables.c:4599 +#: utils/misc/guc_tables.c:4608 msgid "Sets the curve to use for ECDH." msgstr "Define la curva a usar para ECDH." -#: utils/misc/guc_tables.c:4614 +#: utils/misc/guc_tables.c:4623 msgid "Location of the SSL DH parameters file." msgstr "Ubicación del archivo de parámetros DH para SSL." -#: utils/misc/guc_tables.c:4625 +#: utils/misc/guc_tables.c:4634 msgid "Command to obtain passphrases for SSL." msgstr "Orden para obtener frases clave para SSL." -#: utils/misc/guc_tables.c:4636 +#: utils/misc/guc_tables.c:4645 msgid "Sets the application name to be reported in statistics and logs." msgstr "Define el nombre de aplicación a reportarse en estadísticas y logs." -#: utils/misc/guc_tables.c:4647 +#: utils/misc/guc_tables.c:4656 msgid "Sets the name of the cluster, which is included in the process title." msgstr "Define el nombre del clúster, el cual se incluye en el título de proceso." -#: utils/misc/guc_tables.c:4658 +#: utils/misc/guc_tables.c:4667 msgid "Sets the WAL resource managers for which WAL consistency checks are done." msgstr "Define los gestores de recursos WAL para los cuales hacer verificaciones de consistencia WAL." -#: utils/misc/guc_tables.c:4659 +#: utils/misc/guc_tables.c:4668 msgid "Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay." msgstr "Se registrarán imágenes de página completa para todos los bloques de datos, y comparados con los resultados de la aplicación de WAL." -#: utils/misc/guc_tables.c:4669 +#: utils/misc/guc_tables.c:4678 msgid "JIT provider to use." msgstr "Proveedor JIT a usar." -#: utils/misc/guc_tables.c:4680 +#: utils/misc/guc_tables.c:4689 msgid "Log backtrace for errors in these functions." msgstr "Registrar el backtrace para errores que se produzcan en estas funciones." -#: utils/misc/guc_tables.c:4691 +#: utils/misc/guc_tables.c:4700 msgid "Use direct I/O for file access." msgstr "Usar I/O directo para accesos a archivos." -#: utils/misc/guc_tables.c:4702 +#: utils/misc/guc_tables.c:4711 msgid "Lists streaming replication standby server replication slot names that logical WAL sender processes will wait for." msgstr "Lista los nombres de slots de replicación de servidores standby a los que los procesos “WAL sender” esperarán." -#: utils/misc/guc_tables.c:4704 +#: utils/misc/guc_tables.c:4713 msgid "Logical WAL sender processes will send decoded changes to output plugins only after the specified replication slots have confirmed receiving WAL." msgstr "Los procesos “WAL sender” lógicos enviarán cambios decodificados a los “plugins” de salida sólo después de que los slots de replicación especificados han confirmado recibir el WAL." -#: utils/misc/guc_tables.c:4716 +#: utils/misc/guc_tables.c:4725 msgid "Prohibits access to non-system relations of specified kinds." msgstr "Prohibir acceso a las relaciones no de sistema de los tipos especificados." -#: utils/misc/guc_tables.c:4736 +#: utils/misc/guc_tables.c:4745 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Define si «\\'» está permitido en literales de cadena." -#: utils/misc/guc_tables.c:4746 +#: utils/misc/guc_tables.c:4755 msgid "Sets the output format for bytea." msgstr "Formato de salida para bytea." -#: utils/misc/guc_tables.c:4756 +#: utils/misc/guc_tables.c:4765 msgid "Sets the message levels that are sent to the client." msgstr "Nivel de mensajes enviados al cliente." -#: utils/misc/guc_tables.c:4757 utils/misc/guc_tables.c:4853 -#: utils/misc/guc_tables.c:4864 +#: utils/misc/guc_tables.c:4766 utils/misc/guc_tables.c:4862 +#: utils/misc/guc_tables.c:4873 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent." msgstr "Cada nivel incluye todos los niveles que lo siguen. Mientras más posterior el nivel, menos mensajes se enviarán." -#: utils/misc/guc_tables.c:4767 +#: utils/misc/guc_tables.c:4776 msgid "Enables in-core computation of query identifiers." msgstr "Habilita el cálculo de identificadores de consulta." -#: utils/misc/guc_tables.c:4777 +#: utils/misc/guc_tables.c:4786 msgid "Enables the planner to use constraints to optimize queries." msgstr "Permitir el uso de restricciones para limitar los accesos a tablas." -#: utils/misc/guc_tables.c:4778 +#: utils/misc/guc_tables.c:4787 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query." msgstr "Las tablas no serán recorridas si sus restricciones garantizan que ninguna fila coincidirá con la consulta." -#: utils/misc/guc_tables.c:4789 +#: utils/misc/guc_tables.c:4798 msgid "Sets the default compression method for compressible values." msgstr "Define el método de compresión por omisión para valores comprimibles." -#: utils/misc/guc_tables.c:4800 +#: utils/misc/guc_tables.c:4809 msgid "Sets the transaction isolation level of each new transaction." msgstr "Nivel de aislación (isolation level) de transacciones nuevas." -#: utils/misc/guc_tables.c:4810 +#: utils/misc/guc_tables.c:4819 msgid "Sets the current transaction's isolation level." msgstr "Define el nivel de aislación de la transacción en curso." -#: utils/misc/guc_tables.c:4821 +#: utils/misc/guc_tables.c:4830 msgid "Sets the display format for interval values." msgstr "Formato de salida para valores de intervalos." -#: utils/misc/guc_tables.c:4832 +#: utils/misc/guc_tables.c:4841 msgid "Log level for reporting invalid ICU locale strings." msgstr "Nivel de log a usar para reportar cadenas de configuración ICU no válidas." -#: utils/misc/guc_tables.c:4842 +#: utils/misc/guc_tables.c:4851 msgid "Sets the verbosity of logged messages." msgstr "Verbosidad de los mensajes registrados." -#: utils/misc/guc_tables.c:4852 +#: utils/misc/guc_tables.c:4861 msgid "Sets the message levels that are logged." msgstr "Nivel de mensajes registrados." -#: utils/misc/guc_tables.c:4863 +#: utils/misc/guc_tables.c:4872 msgid "Causes all statements generating error at or above this level to be logged." msgstr "Registrar sentencias que generan error de nivel superior o igual a éste." -#: utils/misc/guc_tables.c:4874 +#: utils/misc/guc_tables.c:4883 msgid "Sets the type of statements logged." msgstr "Define el tipo de sentencias que se registran." -#: utils/misc/guc_tables.c:4884 +#: utils/misc/guc_tables.c:4893 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "«Facility» de syslog que se usará cuando syslog esté habilitado." -#: utils/misc/guc_tables.c:4895 +#: utils/misc/guc_tables.c:4904 msgid "Sets the session's behavior for triggers and rewrite rules." msgstr "Define el comportamiento de la sesión con respecto a “triggers” y reglas de reescritura." -#: utils/misc/guc_tables.c:4905 +#: utils/misc/guc_tables.c:4914 msgid "Sets the current transaction's synchronization level." msgstr "Define el nivel de sincronización de la transacción en curso." -#: utils/misc/guc_tables.c:4915 +#: utils/misc/guc_tables.c:4924 msgid "Allows archiving of WAL files using \"archive_command\"." msgstr "Permite el archivado de WAL usando «archive_command»." -#: utils/misc/guc_tables.c:4925 +#: utils/misc/guc_tables.c:4934 msgid "Sets the action to perform upon reaching the recovery target." msgstr "Acción a ejecutar al alcanzar el destino de recuperación." -#: utils/misc/guc_tables.c:4935 +#: utils/misc/guc_tables.c:4944 msgid "Collects function-level statistics on database activity." msgstr "Recolectar estadísticas de actividad de funciones en la base de datos." -#: utils/misc/guc_tables.c:4946 +#: utils/misc/guc_tables.c:4955 msgid "Sets the consistency of accesses to statistics data." msgstr "Definir la consistencia de accesos a los datos de estadísticas." -#: utils/misc/guc_tables.c:4956 +#: utils/misc/guc_tables.c:4965 msgid "Compresses full-page writes written in WAL file with specified method." msgstr "Comprime las páginas completas escritas a WAL (FPI) con el método especificado." -#: utils/misc/guc_tables.c:4966 +#: utils/misc/guc_tables.c:4975 msgid "Sets the level of information written to the WAL." msgstr "Establece el nivel de información escrita al WAL." -#: utils/misc/guc_tables.c:4976 +#: utils/misc/guc_tables.c:4985 msgid "Selects the dynamic shared memory implementation used." msgstr "Escoge la implementación de memoria compartida dinámica que se usará." -#: utils/misc/guc_tables.c:4986 +#: utils/misc/guc_tables.c:4995 msgid "Selects the shared memory implementation used for the main shared memory region." msgstr "Escoge la implementación de memoria compartida dinámica que se usará para la región principal de memoria compartida." -#: utils/misc/guc_tables.c:4996 +#: utils/misc/guc_tables.c:5005 +msgid "Selects the method used for extending data files." +msgstr "Selecciona el método usado para extender archivos de datos." + +#: utils/misc/guc_tables.c:5015 msgid "Selects the method used for forcing WAL updates to disk." msgstr "Selecciona el método usado para forzar escritura de WAL a disco." -#: utils/misc/guc_tables.c:5006 +#: utils/misc/guc_tables.c:5025 msgid "Sets how binary values are to be encoded in XML." msgstr "Define cómo se codificarán los valores binarios en XML." -#: utils/misc/guc_tables.c:5016 +#: utils/misc/guc_tables.c:5035 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments." msgstr "Define si los datos XML implícitos en operaciones de análisis y serialización serán considerados documentos o fragmentos de contenido." -#: utils/misc/guc_tables.c:5027 +#: utils/misc/guc_tables.c:5046 msgid "Use of huge pages on Linux or Windows." msgstr "Usar páginas grandes (huge) en Linux o Windows." -#: utils/misc/guc_tables.c:5037 +#: utils/misc/guc_tables.c:5056 msgid "Indicates the status of huge pages." msgstr "Indica el estado de las “huge pages”." -#: utils/misc/guc_tables.c:5048 +#: utils/misc/guc_tables.c:5067 msgid "Prefetch referenced blocks during recovery." msgstr "Pre-cargar bloques referenciados durante la recuperación." -#: utils/misc/guc_tables.c:5049 +#: utils/misc/guc_tables.c:5068 msgid "Look ahead in the WAL to find references to uncached data." msgstr "Busca adelantadamente en el WAL para encontrar referencias a datos que no están en cache." -#: utils/misc/guc_tables.c:5058 +#: utils/misc/guc_tables.c:5077 msgid "Forces the planner's use parallel query nodes." msgstr "Fuerza al optimizador a usar planes paralelos." -#: utils/misc/guc_tables.c:5059 +#: utils/misc/guc_tables.c:5078 msgid "This can be useful for testing the parallel query infrastructure by forcing the planner to generate plans that contain nodes that perform tuple communication between workers and the main process." msgstr "Esto puede usarse para verificar la infrastructura de consultas paralelas forzando al optimizar a generar planes que contienen nodos que utilizan la comunicación entre procesos hijos y el principal." -#: utils/misc/guc_tables.c:5071 +#: utils/misc/guc_tables.c:5090 msgid "Chooses the algorithm for encrypting passwords." msgstr "Escoge el algoritmo para cifrar contraseñas." -#: utils/misc/guc_tables.c:5081 +#: utils/misc/guc_tables.c:5100 msgid "Controls the planner's selection of custom or generic plan." msgstr "Controla la selección del optimizador de planes genéricos o «custom»." -#: utils/misc/guc_tables.c:5082 +#: utils/misc/guc_tables.c:5101 msgid "Prepared statements can have custom and generic plans, and the planner will attempt to choose which is better. This can be set to override the default behavior." msgstr "Las sentencias preparadas pueden tener planes genéricos y «custom», y el optimizador intentará escoger cuál es mejor. Esto puede usarse para controlar manualmente el comportamiento." -#: utils/misc/guc_tables.c:5094 +#: utils/misc/guc_tables.c:5113 msgid "Sets the minimum SSL/TLS protocol version to use." msgstr "Define la versión mínima del protocolo SSL/TLS a usar." -#: utils/misc/guc_tables.c:5106 +#: utils/misc/guc_tables.c:5125 msgid "Sets the maximum SSL/TLS protocol version to use." msgstr "Define la versión máxima del protocolo SSL/TLS a usar." -#: utils/misc/guc_tables.c:5118 +#: utils/misc/guc_tables.c:5137 msgid "Sets the method for synchronizing the data directory before crash recovery." msgstr "Establece el método para sincronizar el directorio de datos antes de la recuperación ante una caída." -#: utils/misc/guc_tables.c:5127 +#: utils/misc/guc_tables.c:5146 msgid "Forces immediate streaming or serialization of changes in large transactions." msgstr "Fuerza el flujo o serialización inmediatos de los cambios en transacciones grandes." -#: utils/misc/guc_tables.c:5128 +#: utils/misc/guc_tables.c:5147 msgid "On the publisher, it allows streaming or serializing each change in logical decoding. On the subscriber, it allows serialization of all changes to files and notifies the parallel apply workers to read and apply them at the end of the transaction." msgstr "En el publicador, permite serializar o transmitir en flujo cada cambio en la decodificación lógica. En el suscriptor, permite la serialización de todos los cambios a archivos y notifica a los procesos paralelos de “apply” para leerlos y aplicarlos al término de la transacción." @@ -30442,12 +30459,12 @@ msgid "could not attach to dynamic shared area" msgstr "no se pudo adjuntar al segmento de memoria compartida dinámica" -#: utils/mmgr/mcxt.c:1155 +#: utils/mmgr/mcxt.c:1158 #, c-format msgid "Failed on request of size %zu in memory context \"%s\"." msgstr "Falló una petición de tamaño %zu en el contexto de memoria «%s»." -#: utils/mmgr/mcxt.c:1299 +#: utils/mmgr/mcxt.c:1314 #, c-format msgid "logging memory contexts of PID %d" msgstr "registrando contextos de memoria del PID %d" @@ -30492,12 +30509,12 @@ msgid "could not seek to block %lld of temporary file" msgstr "no se pudo posicionar (seek) en el bloque %lld del archivo temporal" -#: utils/sort/sharedtuplestore.c:466 +#: utils/sort/sharedtuplestore.c:467 #, c-format msgid "unexpected chunk in shared tuplestore temporary file" msgstr "trozo inesperado en archivo temporal del tuplestore compartido" -#: utils/sort/sharedtuplestore.c:548 +#: utils/sort/sharedtuplestore.c:549 #, c-format msgid "could not seek to block %u in shared tuplestore temporary file" msgstr "no se pudo posicionar (seek) en el bloque %u en el archivo temporal del tuplestore compartido" @@ -30762,7 +30779,6 @@ #: gram.y:14098 #, c-format -#| msgid "block label \"%s\" cannot be used in CONTINUE" msgid "option name \"%s\" cannot be used in XMLTABLE" msgstr "el nombre de opción «%s» no puede usarse en XMLTABLE" diff -Nru postgresql-17-17.7/src/backend/po/ja.po postgresql-17-17.8/src/backend/po/ja.po --- postgresql-17-17.7/src/backend/po/ja.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/po/ja.po 2026-02-09 21:51:54.000000000 +0000 @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: postgres (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-05 10:29+0900\n" -"PO-Revision-Date: 2025-11-05 11:21+0900\n" +"POT-Creation-Date: 2025-12-10 10:28+0900\n" +"PO-Revision-Date: 2025-12-10 10:50+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: jpug-doc \n" "Language: ja\n" @@ -695,25 +695,25 @@ msgid "could not get junction for \"%s\": %s\n" msgstr "\"%s\"のジャンクションを取得できませんでした: %s\n" -#: ../port/open.c:115 +#: ../port/open.c:125 #, c-format msgid "could not open file \"%s\": %s" msgstr "ファイル\"%s\"をオープンできませんでした: %s" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "lock violation" msgstr "ロック違反" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "sharing violation" msgstr "共有違反" -#: ../port/open.c:117 +#: ../port/open.c:127 #, c-format msgid "Continuing to retry for 30 seconds." msgstr "再試行を30秒間続けます。" -#: ../port/open.c:118 +#: ../port/open.c:128 #, c-format msgid "You might have antivirus, backup, or similar software interfering with the database system." msgstr "データベースシステムに干渉するアンチウィルス、バックアップといったソフトウェアが存在する可能性があります。" @@ -1610,12 +1610,12 @@ msgid "Make sure the configuration parameter \"%s\" is set." msgstr "設定パラメータ\"%s\"が設定されていることを確認してください。" -#: access/transam/multixact.c:1091 +#: access/transam/multixact.c:1173 #, c-format msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database \"%s\"" msgstr "データベース\"%s\"はMultiXactIds周回によるデータ損失を防ぐために、新規のMultiXactIdsを割り当てるコマンドを受け付けていません" -#: access/transam/multixact.c:1093 access/transam/multixact.c:1100 access/transam/multixact.c:1124 access/transam/multixact.c:1133 access/transam/varsup.c:158 access/transam/varsup.c:165 +#: access/transam/multixact.c:1175 access/transam/multixact.c:1182 access/transam/multixact.c:1206 access/transam/multixact.c:1215 access/transam/varsup.c:158 access/transam/varsup.c:165 #, c-format msgid "" "Execute a database-wide VACUUM in that database.\n" @@ -1624,61 +1624,66 @@ "そのデータベース全体の VACUUM を実行してください。\n" "古い準備済みトランザクションのコミットまたはロールバック、もしくは古いレプリケーションスロットの削除も必要かもしれません。" -#: access/transam/multixact.c:1098 +#: access/transam/multixact.c:1180 #, c-format msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database with OID %u" msgstr "OID %u のデータベースは周回によるデータ損失を防ぐために、新規のMultiXactIdsを割り当てるコマンドを受け付けていません" -#: access/transam/multixact.c:1119 access/transam/multixact.c:2474 +#: access/transam/multixact.c:1201 access/transam/multixact.c:2543 #, 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] "データベース\"%s\"はあと%u個のMultiXactIdが使われる前にVACUUMする必要があります" -#: access/transam/multixact.c:1128 access/transam/multixact.c:2483 +#: access/transam/multixact.c:1210 access/transam/multixact.c:2552 #, 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] "OID %u のデータベースはあと%u個のMultiXactIdが使われる前にVACUUMする必要があります" -#: access/transam/multixact.c:1189 +#: access/transam/multixact.c:1274 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "マルチトランザクションの\"メンバ\"が制限を超えました" -#: access/transam/multixact.c:1190 +#: access/transam/multixact.c:1275 #, 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 個のメンバ分しかありません。" -#: access/transam/multixact.c:1195 +#: access/transam/multixact.c:1280 #, 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_multixact_freeze_min_age\"と\"vacuum_multixact_freeze_table_age\"をより小さな値に設定してOID %u のデータベースでデータベース全体にVACUUMを実行してください。" -#: access/transam/multixact.c:1226 +#: access/transam/multixact.c:1311 #, c-format msgid "database with OID %u must be vacuumed before %d more multixact member is used" msgid_plural "database with OID %u must be vacuumed before %d more multixact members are used" msgstr[0] "OID %u のデータベースは更に%d個のマルチトランザクションメンバが使用される前にVACUUMを実行する必要があります" -#: access/transam/multixact.c:1231 +#: access/transam/multixact.c:1316 #, 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_multixact_freeze_min_age\"'と\"vacuum_multixact_freeze_table_age\"をより小さな値に設定した上で、そのデータベースでVACUUMを実行してください。" -#: access/transam/multixact.c:1371 +#: access/transam/multixact.c:1455 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "MultiXactId %uはもう存在しません: 周回しているようです" -#: access/transam/multixact.c:1377 +#: access/transam/multixact.c:1461 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %uを作成できませんでした: 周回している様子" -#: access/transam/multixact.c:2479 access/transam/multixact.c:2488 +#: access/transam/multixact.c:1554 +#, c-format +msgid "MultiXact %u has invalid next offset" +msgstr "MultiXact %u の次のオフセットが不正です" + +#: access/transam/multixact.c:2548 access/transam/multixact.c:2557 #, c-format msgid "" "To avoid MultiXactId assignment failures, execute a database-wide VACUUM in that database.\n" @@ -1687,27 +1692,27 @@ "MultiXactIdの割り当て失敗を防ぐために、このデータベースでデータベース全体に対するVACUUMを実行してください。\n" "古い準備済みトランザクションのコミットまたはロールバック、もしくは古いレプリケーションスロットの削除も必要かもしれません。" -#: access/transam/multixact.c:2767 +#: access/transam/multixact.c:2836 #, 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:2789 +#: access/transam/multixact.c:2858 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "マルチトランザクションメンバーの周回防止機能が有効になりました" -#: access/transam/multixact.c:3180 +#: access/transam/multixact.c:3249 #, c-format msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" msgstr "最古のマルチトランザクション%uが見つかりません、アクセス可能な最古のものは%u、切り詰めをスキップします" -#: access/transam/multixact.c:3198 +#: access/transam/multixact.c:3267 #, c-format msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation" msgstr "マルチトランザクション%uがディスク上に存在しないため、そこまでの切り詰めができません、切り詰めをスキップします" -#: access/transam/multixact.c:3517 +#: access/transam/multixact.c:3612 #, c-format msgid "invalid MultiXactId: %u" msgstr "不正なMultiXactId: %u" @@ -3406,7 +3411,7 @@ msgid "You can restart the server after making the necessary configuration changes." msgstr "必要な設定変更を行うことでサーバーを再起動できます。" -#: access/transam/xlogrecovery.c:4763 access/transam/xlogrecovery.c:4765 catalog/dependency.c:1153 catalog/dependency.c:1160 catalog/dependency.c:1171 commands/tablecmds.c:1459 commands/tablecmds.c:15152 commands/tablespace.c:460 commands/user.c:1302 commands/vacuum.c:212 commands/view.c:441 executor/execExprInterp.c:4655 executor/execExprInterp.c:4663 libpq/auth.c:332 replication/logical/applyparallelworker.c:1048 replication/slot.c:261 replication/slot.c:2470 +#: access/transam/xlogrecovery.c:4763 access/transam/xlogrecovery.c:4765 catalog/dependency.c:1153 catalog/dependency.c:1160 catalog/dependency.c:1171 commands/tablecmds.c:1459 commands/tablecmds.c:15152 commands/tablespace.c:460 commands/user.c:1302 commands/vacuum.c:213 commands/view.c:441 executor/execExprInterp.c:4655 executor/execExprInterp.c:4663 libpq/auth.c:332 replication/logical/applyparallelworker.c:1048 replication/slot.c:261 replication/slot.c:2470 #: replication/slot.c:2472 replication/syncrep.c:1078 storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1432 utils/misc/guc.c:3169 utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6836 utils/misc/guc.c:6870 utils/misc/guc.c:6904 utils/misc/guc.c:6947 utils/misc/guc.c:6989 #, c-format msgid "%s" @@ -3949,7 +3954,7 @@ msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "GRANT/REVOKE ON SCHEMAS を使っている時には IN SCHEMA 句は指定できません" -#: catalog/aclchk.c:1617 catalog/catalog.c:659 catalog/objectaddress.c:1523 catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:951 commands/sequence.c:1655 commands/tablecmds.c:7574 commands/tablecmds.c:7728 commands/tablecmds.c:7778 commands/tablecmds.c:7852 commands/tablecmds.c:7922 commands/tablecmds.c:8052 commands/tablecmds.c:8181 commands/tablecmds.c:8275 commands/tablecmds.c:8376 commands/tablecmds.c:8503 commands/tablecmds.c:8533 +#: catalog/aclchk.c:1617 catalog/catalog.c:659 catalog/objectaddress.c:1523 catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:988 commands/sequence.c:1655 commands/tablecmds.c:7574 commands/tablecmds.c:7728 commands/tablecmds.c:7778 commands/tablecmds.c:7852 commands/tablecmds.c:7922 commands/tablecmds.c:8052 commands/tablecmds.c:8181 commands/tablecmds.c:8275 commands/tablecmds.c:8376 commands/tablecmds.c:8503 commands/tablecmds.c:8533 #: commands/tablecmds.c:8675 commands/tablecmds.c:8768 commands/tablecmds.c:8902 commands/tablecmds.c:9014 commands/tablecmds.c:12838 commands/tablecmds.c:13030 commands/tablecmds.c:13191 commands/tablecmds.c:14403 commands/tablecmds.c:17030 commands/trigger.c:943 parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067 parser/parse_type.c:144 parser/parse_utilcmd.c:3409 parser/parse_utilcmd.c:3449 parser/parse_utilcmd.c:3491 utils/adt/acl.c:2940 #: utils/adt/ruleutils.c:2812 #, c-format @@ -4653,12 +4658,12 @@ msgid "generation expression is not immutable" msgstr "生成式は不変ではありません" -#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1276 +#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1279 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "列\"%s\"の型は%sですが、デフォルト式の型は%sです" -#: catalog/heap.c:2864 commands/prepare.c:331 parser/analyze.c:2758 parser/parse_target.c:592 parser/parse_target.c:882 parser/parse_target.c:892 rewrite/rewriteHandler.c:1281 +#: catalog/heap.c:2864 commands/prepare.c:331 parser/analyze.c:2758 parser/parse_target.c:592 parser/parse_target.c:882 parser/parse_target.c:892 rewrite/rewriteHandler.c:1284 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "式を書き換えるかキャストする必要があります。" @@ -6322,27 +6327,27 @@ msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "継承ツリー\"%s.%s\"のANALYZEをスキップします --- このツリーにはアナライズ可能な子テーブルがありません" -#: commands/async.c:612 +#: commands/async.c:611 #, c-format msgid "channel name cannot be empty" msgstr "チャネル名が空であることはできません" -#: commands/async.c:618 +#: commands/async.c:617 #, c-format msgid "channel name too long" msgstr "チャネル名が長すぎます" -#: commands/async.c:623 +#: commands/async.c:622 #, c-format msgid "payload string too long" msgstr "ペイロード文字列が長すぎます" -#: commands/async.c:842 +#: commands/async.c:841 #, c-format msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" msgstr "LISTEN / UNLISTEN / NOTIFY を実行しているトランザクションは PREPARE できません" -#: commands/async.c:946 +#: commands/async.c:945 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "NOTIFY キューで発生した通知イベントが多すぎます" @@ -6646,149 +6651,159 @@ msgid "Only roles with privileges of the \"%s\" role may COPY to a file." msgstr "\"%s\"ロールの権限を持つロールのみがCOPYによるファイルへの出力を行うことができます。" -#: commands/copy.c:193 +#: commands/copy.c:180 +#, c-format +msgid "generated columns are not supported in COPY FROM WHERE conditions" +msgstr "生成列は COPY FROM の WHERE 条件ではサポートされていません" + +#: commands/copy.c:181 commands/tablecmds.c:12858 commands/tablecmds.c:18092 commands/tablecmds.c:18171 commands/trigger.c:657 rewrite/rewriteHandler.c:944 rewrite/rewriteHandler.c:979 +#, c-format +msgid "Column \"%s\" is a generated column." +msgstr "列\"%s\"は生成カラムです。" + +#: commands/copy.c:230 #, c-format msgid "COPY FROM not supported with row-level security" msgstr "COPY FROM で行レベルセキュリティはサポートされていません" -#: commands/copy.c:194 +#: commands/copy.c:231 #, c-format msgid "Use INSERT statements instead." msgstr "代わりにINSERTを文使用してください。" -#: commands/copy.c:375 +#: commands/copy.c:412 #, c-format msgid "cannot use \"%s\" with HEADER in COPY TO" msgstr "COPY TO の HEADERで\"%s\"は使用できません" -#: commands/copy.c:384 +#: commands/copy.c:421 #, c-format msgid "%s requires a Boolean value or \"match\"" msgstr "パラメータ\"%s\"はBoolean値または\"match\"のみを取ります" #. translator: first %s is the name of a COPY option, e.g. ON_ERROR, #. second %s is a COPY with direction, e.g. COPY TO -#: commands/copy.c:402 commands/copy.c:782 commands/copy.c:798 commands/copy.c:815 commands/copy.c:841 commands/copy.c:851 +#: commands/copy.c:439 commands/copy.c:819 commands/copy.c:835 commands/copy.c:852 commands/copy.c:878 commands/copy.c:888 #, c-format msgid "COPY %s cannot be used with %s" msgstr "COPY %s は %s と同時には使えません" #. translator: first %s is the name of a COPY option, e.g. ON_ERROR -#: commands/copy.c:416 commands/copy.c:441 +#: commands/copy.c:453 commands/copy.c:478 #, c-format msgid "COPY %s \"%s\" not recognized" msgstr "COPY %s \"%s\"を認識できません" -#: commands/copy.c:502 +#: commands/copy.c:539 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "COPY フォーマット\"%s\"を認識できません" -#: commands/copy.c:560 commands/copy.c:575 commands/copy.c:590 commands/copy.c:609 +#: commands/copy.c:597 commands/copy.c:612 commands/copy.c:627 commands/copy.c:646 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "オプション\"%s\"の引数は列名のリストでなければなりません" -#: commands/copy.c:621 +#: commands/copy.c:658 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "オプション\"%s\"の引数は有効なエンコーディング名でなければなりません" -#: commands/copy.c:642 commands/dbcommands.c:866 commands/dbcommands.c:2381 +#: commands/copy.c:679 commands/dbcommands.c:866 commands/dbcommands.c:2381 #, c-format msgid "option \"%s\" not recognized" msgstr "タイムゾーン\"%s\"を認識できません" #. translator: %s is the name of a COPY option, e.g. ON_ERROR -#: commands/copy.c:655 commands/copy.c:660 commands/copy.c:665 commands/copy.c:740 +#: commands/copy.c:692 commands/copy.c:697 commands/copy.c:702 commands/copy.c:777 #, c-format msgid "cannot specify %s in BINARY mode" msgstr "BINARYモードでは%sを指定できません" -#: commands/copy.c:670 +#: commands/copy.c:707 #, c-format msgid "only ON_ERROR STOP is allowed in BINARY mode" msgstr "BINARYモードではN_ERROR STOPのみ使用可能です" -#: commands/copy.c:692 +#: commands/copy.c:729 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "COPYの区切り文字は単一の1バイト文字でなければなりません" -#: commands/copy.c:699 +#: commands/copy.c:736 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "COPYの区切り文字は改行や復帰記号とすることができません" -#: commands/copy.c:705 +#: commands/copy.c:742 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "COPYのNULL表現には改行や復帰記号を使用することはできません" -#: commands/copy.c:715 +#: commands/copy.c:752 #, c-format msgid "COPY default representation cannot use newline or carriage return" msgstr "COPYのデフォルト表現には改行や復帰記号を使用することはできません" -#: commands/copy.c:733 +#: commands/copy.c:770 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "COPYの区切り文字を\"%s\"とすることはできません" #. translator: %s is the name of a COPY option, e.g. ON_ERROR -#: commands/copy.c:747 commands/copy.c:764 commands/copy.c:776 commands/copy.c:791 commands/copy.c:807 +#: commands/copy.c:784 commands/copy.c:801 commands/copy.c:813 commands/copy.c:828 commands/copy.c:844 #, c-format msgid "COPY %s requires CSV mode" msgstr "COPY %s はCSVモードを要求します" -#: commands/copy.c:752 +#: commands/copy.c:789 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "COPYの引用符は単一の1バイト文字でなければなりません" -#: commands/copy.c:757 +#: commands/copy.c:794 #, c-format msgid "COPY delimiter and quote must be different" msgstr "COPYの区切り文字と引用符は異なる文字でなければなりません" -#: commands/copy.c:769 +#: commands/copy.c:806 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "COPYのエスケープは単一の1バイト文字でなければなりません" #. translator: %s is the name of a COPY option, e.g. NULL -#: commands/copy.c:823 commands/copy.c:859 +#: commands/copy.c:860 commands/copy.c:896 #, c-format msgid "COPY delimiter character must not appear in the %s specification" msgstr "COPYの区切り文字は%s指定では使用できません" #. translator: %s is the name of a COPY option, e.g. NULL -#: commands/copy.c:832 commands/copy.c:868 +#: commands/copy.c:869 commands/copy.c:905 #, c-format msgid "CSV quote character must not appear in the %s specification" msgstr "COPYの引用符は%s指定では使用できません" -#: commands/copy.c:877 +#: commands/copy.c:914 #, c-format msgid "NULL specification and DEFAULT specification cannot be the same" msgstr "NULL指定とDEFAULT指定は同じにはできません" -#: commands/copy.c:939 +#: commands/copy.c:976 #, c-format msgid "column \"%s\" is a generated column" msgstr "列\"%s\"は生成カラムです" -#: commands/copy.c:941 +#: commands/copy.c:978 #, c-format msgid "Generated columns cannot be used in COPY." msgstr "生成カラムはCOPYでは使えません。" -#: commands/copy.c:956 commands/indexcmds.c:1890 commands/statscmds.c:239 commands/tablecmds.c:2526 commands/tablecmds.c:2997 commands/tablecmds.c:3808 parser/parse_relation.c:3692 parser/parse_relation.c:3702 parser/parse_relation.c:3720 parser/parse_relation.c:3727 parser/parse_relation.c:3741 utils/adt/tsvector_op.c:2853 +#: commands/copy.c:993 commands/indexcmds.c:1890 commands/statscmds.c:260 commands/tablecmds.c:2526 commands/tablecmds.c:2997 commands/tablecmds.c:3808 parser/parse_relation.c:3692 parser/parse_relation.c:3702 parser/parse_relation.c:3720 parser/parse_relation.c:3727 parser/parse_relation.c:3741 utils/adt/tsvector_op.c:2853 #, c-format msgid "column \"%s\" does not exist" msgstr "列\"%s\"は存在しません" -#: commands/copy.c:963 commands/tablecmds.c:2552 commands/trigger.c:952 parser/parse_target.c:1083 parser/parse_target.c:1094 +#: commands/copy.c:1000 commands/tablecmds.c:2552 commands/trigger.c:952 parser/parse_target.c:1083 parser/parse_target.c:1094 #, c-format msgid "column \"%s\" specified more than once" msgstr "列\"%s\"が複数指定されました" @@ -7630,7 +7645,7 @@ msgid "conversion \"%s\" does not exist, skipping" msgstr "変換\"%sは存在しません、スキップします" -#: commands/dropcmds.c:288 commands/statscmds.c:664 +#: commands/dropcmds.c:288 commands/statscmds.c:685 #, c-format msgid "statistics object \"%s\" does not exist, skipping" msgstr "統計情報オブジェクト\"%s\"は存在しません、スキップします" @@ -9222,7 +9237,7 @@ msgid "operator attribute \"%s\" cannot be changed if it has already been set" msgstr "演算子の属性\"%s\"は、すでに設定されている場合には変更できません" -#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146 commands/tablecmds.c:1740 commands/tablecmds.c:2340 commands/tablecmds.c:3702 commands/tablecmds.c:6605 commands/tablecmds.c:9670 commands/tablecmds.c:17836 commands/tablecmds.c:17871 commands/trigger.c:317 commands/trigger.c:1333 commands/trigger.c:1443 rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74 +#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:152 commands/tablecmds.c:1740 commands/tablecmds.c:2340 commands/tablecmds.c:3702 commands/tablecmds.c:6605 commands/tablecmds.c:9670 commands/tablecmds.c:17836 commands/tablecmds.c:17871 commands/trigger.c:317 commands/trigger.c:1333 commands/trigger.c:1443 rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74 #, c-format msgid "permission denied: \"%s\" is a system catalog" msgstr "権限がありません: \"%s\"はシステムカタログです" @@ -9682,72 +9697,72 @@ msgid "cannot define statistics for relation \"%s\"" msgstr "リレーション\"%s\"に対して統計情報を定義できません" -#: commands/statscmds.c:187 +#: commands/statscmds.c:208 #, c-format msgid "statistics object \"%s\" already exists, skipping" msgstr "統計情報オブジェクト\"%s\"はすでに存在します、スキップします" -#: commands/statscmds.c:195 +#: commands/statscmds.c:216 #, c-format msgid "statistics object \"%s\" already exists" msgstr "統計情報オブジェクト\"%s\"はすでに存在します" -#: commands/statscmds.c:206 +#: commands/statscmds.c:227 #, c-format msgid "cannot have more than %d columns in statistics" msgstr "統計情報は%dを超える列を使用できません" -#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304 +#: commands/statscmds.c:268 commands/statscmds.c:291 commands/statscmds.c:325 #, c-format msgid "statistics creation on system columns is not supported" msgstr "システム列に対する統計情報の作成はサポートされていません" -#: commands/statscmds.c:254 commands/statscmds.c:277 +#: commands/statscmds.c:275 commands/statscmds.c:298 #, c-format msgid "column \"%s\" cannot be used in statistics because its type %s has no default btree operator class" msgstr "列\"%s\"の型%sはデフォルトのbtreeオペレータクラスを持たないため統計情報では利用できません" -#: commands/statscmds.c:321 +#: commands/statscmds.c:342 #, c-format msgid "expression cannot be used in multivariate statistics because its type %s has no default btree operator class" msgstr "式の型%sがデフォルトbtree演算子クラスを持たないためこの式は多値統計情報では使用できません" -#: commands/statscmds.c:342 +#: commands/statscmds.c:363 #, c-format msgid "when building statistics on a single expression, statistics kinds may not be specified" msgstr "単一式上の統計情報の構築時には、統計種別は指定できません" -#: commands/statscmds.c:371 +#: commands/statscmds.c:392 #, c-format msgid "unrecognized statistics kind \"%s\"" msgstr "認識できない統計情報種別\"%s\"" -#: commands/statscmds.c:400 +#: commands/statscmds.c:421 #, c-format msgid "extended statistics require at least 2 columns" msgstr "拡張統計情報には最低でも2つの列が必要です" -#: commands/statscmds.c:418 +#: commands/statscmds.c:439 #, c-format msgid "duplicate column name in statistics definition" msgstr "定形情報定義中の列名が重複しています" -#: commands/statscmds.c:453 +#: commands/statscmds.c:474 #, c-format msgid "duplicate expression in statistics definition" msgstr "統計情報定義内に重複した式" -#: commands/statscmds.c:628 commands/tablecmds.c:8653 +#: commands/statscmds.c:649 commands/tablecmds.c:8653 #, c-format msgid "statistics target %d is too low" msgstr "統計情報目標%dは小さすぎます" -#: commands/statscmds.c:636 commands/tablecmds.c:8661 +#: commands/statscmds.c:657 commands/tablecmds.c:8661 #, c-format msgid "lowering statistics target to %d" msgstr "統計情報目標を%dに減らします" -#: commands/statscmds.c:660 +#: commands/statscmds.c:681 #, c-format msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "統計情報オブジェクト\"%s.%s\"は存在しません、スキップします" @@ -10266,7 +10281,7 @@ msgid "column \"%s\" has a collation conflict" msgstr "列\"%s\"の照合順序が競合しています" -#: commands/tablecmds.c:3164 commands/tablecmds.c:3326 commands/tablecmds.c:7080 parser/parse_expr.c:4764 +#: commands/tablecmds.c:3164 commands/tablecmds.c:3326 commands/tablecmds.c:7080 parser/parse_expr.c:4771 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\"対\"%s\"" @@ -10859,11 +10874,6 @@ msgid "cannot specify USING when altering type of generated column" msgstr "生成列の型変更の際にはUSINGを指定することはできません" -#: commands/tablecmds.c:12858 commands/tablecmds.c:18092 commands/tablecmds.c:18171 commands/trigger.c:657 rewrite/rewriteHandler.c:941 rewrite/rewriteHandler.c:976 -#, c-format -msgid "Column \"%s\" is a generated column." -msgstr "列\"%s\"は生成カラムです。" - #: commands/tablecmds.c:12868 #, c-format msgid "cannot alter inherited column \"%s\"" @@ -11805,7 +11815,7 @@ msgid "cannot collect transition tuples from child foreign tables" msgstr "外部子テーブルからは遷移タプルを収集できません" -#: commands/trigger.c:3428 executor/nodeModifyTable.c:1563 executor/nodeModifyTable.c:1637 executor/nodeModifyTable.c:2400 executor/nodeModifyTable.c:2491 executor/nodeModifyTable.c:3155 executor/nodeModifyTable.c:3326 +#: commands/trigger.c:3428 executor/nodeModifyTable.c:1563 executor/nodeModifyTable.c:1637 executor/nodeModifyTable.c:2400 executor/nodeModifyTable.c:2491 executor/nodeModifyTable.c:3155 executor/nodeModifyTable.c:3347 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "他の行への変更を伝搬させるためにBEFOREトリガではなくAFTERトリガの使用を検討してください" @@ -12584,112 +12594,112 @@ msgid "Use CASCADE to revoke them too." msgstr "これらも剥奪するにはCASCADEを使用してください" -#: commands/vacuum.c:135 +#: commands/vacuum.c:136 #, c-format msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" msgstr "\"vacuum_buffer_usage_limit\"は0または%d kBと%d kBの間でなければなりません" -#: commands/vacuum.c:210 +#: commands/vacuum.c:211 #, c-format msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB" msgstr "BUFFER_USAGE_LIMITオプションは0または%d kBと%d kBの間でなければなりません" -#: commands/vacuum.c:220 +#: commands/vacuum.c:221 #, c-format msgid "unrecognized ANALYZE option \"%s\"" msgstr "ANALYZEオプション\"%s\"が認識できません" -#: commands/vacuum.c:260 +#: commands/vacuum.c:261 #, c-format msgid "parallel option requires a value between 0 and %d" msgstr "パラレルオプションには0から%dまでの値である必要があります" -#: commands/vacuum.c:272 +#: commands/vacuum.c:273 #, c-format msgid "parallel workers for vacuum must be between 0 and %d" msgstr "VACUUMの並列ワーカーの数はは0から%dまでの値でなければなりません" -#: commands/vacuum.c:293 +#: commands/vacuum.c:294 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "認識できないVACUUMオプション \"%s\"" -#: commands/vacuum.c:319 +#: commands/vacuum.c:320 #, c-format msgid "VACUUM FULL cannot be performed in parallel" msgstr "VACUUM FULLは並列実行できません" -#: commands/vacuum.c:330 +#: commands/vacuum.c:331 #, c-format msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL" msgstr "BUFFER_USAGE_LIMITはVACUUM FULLに対しては指定できません" -#: commands/vacuum.c:344 +#: commands/vacuum.c:345 #, c-format msgid "ANALYZE option must be specified when a column list is provided" msgstr "ANALYZE オプションは列リストが与えられているときのみ指定できます" -#: commands/vacuum.c:356 +#: commands/vacuum.c:357 #, c-format msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL" msgstr "VACUUM のオプションDISABLE_PAGE_SKIPPINGはFULLと同時には指定できません" -#: commands/vacuum.c:363 +#: commands/vacuum.c:364 #, c-format msgid "PROCESS_TOAST required with VACUUM FULL" msgstr "VACUUM FULLではPROCESS_TOASTの指定が必須です" -#: commands/vacuum.c:372 +#: commands/vacuum.c:373 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables" msgstr "ONLY_DATABASE_STATSはテーブルのリストと一緒に指定することはできません" -#: commands/vacuum.c:381 +#: commands/vacuum.c:382 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" msgstr "ONLY_DATABASE_STATSは他のVACUUMオプションと一緒に指定することはできません" -#: commands/vacuum.c:516 +#: commands/vacuum.c:517 #, c-format msgid "%s cannot be executed from VACUUM or ANALYZE" msgstr "%sはVACUUMやANALYZEからは実行できません" -#: commands/vacuum.c:741 +#: commands/vacuum.c:742 #, c-format msgid "permission denied to vacuum \"%s\", skipping it" msgstr "列%sのVACUUMを行う権限がありません、スキップします" -#: commands/vacuum.c:754 +#: commands/vacuum.c:755 #, c-format msgid "permission denied to analyze \"%s\", skipping it" msgstr "列%sのANALYZEを行う権限がありません、スキップします" -#: commands/vacuum.c:832 commands/vacuum.c:929 +#: commands/vacuum.c:833 commands/vacuum.c:930 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "\"%s\"のVACUUM処理をスキップしています -- ロックを獲得できませんでした" -#: commands/vacuum.c:837 +#: commands/vacuum.c:838 #, c-format msgid "skipping vacuum of \"%s\" --- relation no longer exists" msgstr "\"%s\"のVACUUM処理をスキップしています -- リレーションはすでに存在しません" -#: commands/vacuum.c:853 commands/vacuum.c:934 +#: commands/vacuum.c:854 commands/vacuum.c:935 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "\"%s\"のANALYZEをスキップしています --- ロック獲得できませんでした" -#: commands/vacuum.c:858 +#: commands/vacuum.c:859 #, c-format msgid "skipping analyze of \"%s\" --- relation no longer exists" msgstr "\"%s\"のANALYZEをスキップします --- リレーションはすでに存在しません" -#: commands/vacuum.c:1150 +#: commands/vacuum.c:1151 #, c-format msgid "cutoff for removing and freezing tuples is far in the past" msgstr "タプルの削除およびフリーズのカットオフ値が古すぎます" -#: commands/vacuum.c:1151 commands/vacuum.c:1156 +#: commands/vacuum.c:1152 commands/vacuum.c:1157 #, c-format msgid "" "Close open transactions soon to avoid wraparound problems.\n" @@ -12698,37 +12708,37 @@ "周回問題を回避するためにすぐに実行中のトランザクションを終了してください。\n" "古い準備済みトランザクションのコミットまたはロールバック、もしくは古いレプリケーションスロットの削除が必要な場合もあります。" -#: commands/vacuum.c:1155 +#: commands/vacuum.c:1156 #, c-format msgid "cutoff for freezing multixacts is far in the past" msgstr "マルチトランザクションのフリーズのカットオフ値が古すぎます" -#: commands/vacuum.c:1911 +#: commands/vacuum.c:1912 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "データベースの一部は20億トランザクション以上の間にVACUUMを実行されていませんでした" -#: commands/vacuum.c:1912 +#: commands/vacuum.c:1913 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "トランザクションの周回によるデータ損失が発生している可能性があります" -#: commands/vacuum.c:2098 +#: commands/vacuum.c:2105 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "\"%s\"をスキップしています --- テーブルではないものや、特別なシステムテーブルに対してはVACUUMを実行できません" -#: commands/vacuum.c:2545 +#: commands/vacuum.c:2552 #, c-format msgid "scanned index \"%s\" to remove %lld row versions" msgstr "インデックス\"%s\"をスキャンして%lldの行バージョンを削除しました" -#: commands/vacuum.c:2564 +#: commands/vacuum.c:2571 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "現在インデックス\"%s\"は%.0f行バージョンを%uページで含んでいます" -#: commands/vacuum.c:2568 +#: commands/vacuum.c:2575 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -12996,7 +13006,7 @@ msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "テーブルでは %2$d 番目の型は %1$s ですが、問い合わせでは %3$s を想定しています。" -#: executor/execExpr.c:1104 parser/parse_agg.c:864 +#: executor/execExpr.c:1104 parser/parse_agg.c:891 #, c-format msgid "window function calls cannot be nested" msgstr "ウィンドウ関数の呼び出しを入れ子にすることはできません" @@ -13518,7 +13528,7 @@ msgid "aggregate %u needs to have compatible input type and transition type" msgstr "集約%uは入力データ型と遷移用の型間で互換性が必要です" -#: executor/nodeAgg.c:3966 parser/parse_agg.c:680 parser/parse_agg.c:708 +#: executor/nodeAgg.c:3966 parser/parse_agg.c:687 parser/parse_agg.c:730 #, c-format msgid "aggregate function calls cannot be nested" msgstr "集約関数の呼び出しを入れ子にすることはできません" @@ -13599,7 +13609,7 @@ msgstr "テーブル\"%s\"上に外部キー制約を定義することを検討してください。" #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2619 executor/nodeModifyTable.c:3161 executor/nodeModifyTable.c:3332 +#: executor/nodeModifyTable.c:2619 executor/nodeModifyTable.c:3161 executor/nodeModifyTable.c:3353 #, c-format msgid "%s command cannot affect row a second time" msgstr "%sコマンドは単一の行に2度は適用できません" @@ -13609,12 +13619,12 @@ msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "同じコマンドでの挿入候補の行が同じ制約値を持つことがないようにしてください" -#: executor/nodeModifyTable.c:3154 executor/nodeModifyTable.c:3325 +#: executor/nodeModifyTable.c:3154 executor/nodeModifyTable.c:3346 #, c-format msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" msgstr "更新または削除対象のタプルは、現在のコマンドによって発火した操作トリガーによってすでに更新されています" -#: executor/nodeModifyTable.c:3163 executor/nodeModifyTable.c:3334 +#: executor/nodeModifyTable.c:3163 executor/nodeModifyTable.c:3355 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "ソース行が2行以上ターゲット行に合致しないようにしてください。" @@ -16244,7 +16254,7 @@ msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN はマージ結合可能もしくはハッシュ結合可能な場合のみサポートされています" -#: optimizer/plan/createplan.c:7177 parser/parse_merge.c:203 rewrite/rewriteHandler.c:1680 +#: optimizer/plan/createplan.c:7177 parser/parse_merge.c:203 rewrite/rewriteHandler.c:1683 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "リレーション\"%s\"に対してMERGEは実行できません" @@ -16561,330 +16571,340 @@ msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "%2$s句のリレーション\"%1$s\"はFROM句にありません" -#: parser/parse_agg.c:210 parser/parse_oper.c:215 +#: parser/parse_agg.c:213 parser/parse_oper.c:215 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "型%sの順序演算子を特定できませんでした" -#: parser/parse_agg.c:212 +#: parser/parse_agg.c:215 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "DISTINCT 付きの集約関数は、入力がソート可能である必要があります。" -#: parser/parse_agg.c:270 +#: parser/parse_agg.c:273 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "GROUPINGの引数は32より少くなければなりません" -#: parser/parse_agg.c:373 +#: parser/parse_agg.c:377 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "JOIN条件で集約関数を使用できません" -#: parser/parse_agg.c:375 +#: parser/parse_agg.c:379 msgid "grouping operations are not allowed in JOIN conditions" msgstr "グルーピング演算はJOIN条件の中では使用できません" -#: parser/parse_agg.c:385 +#: parser/parse_agg.c:389 msgid "aggregate functions are not allowed in FROM clause of their own query level" msgstr "集約関数は自身の問い合わせレベルのFROM句の中では使用できません" -#: parser/parse_agg.c:387 +#: parser/parse_agg.c:391 msgid "grouping operations are not allowed in FROM clause of their own query level" msgstr "グルーピング演算は自身のクエリレベルのFROM句の中では使用できません" -#: parser/parse_agg.c:392 +#: parser/parse_agg.c:396 msgid "aggregate functions are not allowed in functions in FROM" msgstr "集約関数はFROM句内の関数では使用できません" -#: parser/parse_agg.c:394 +#: parser/parse_agg.c:398 msgid "grouping operations are not allowed in functions in FROM" msgstr "グルーピング演算はFROM句内の関数では使用できません" -#: parser/parse_agg.c:402 +#: parser/parse_agg.c:406 msgid "aggregate functions are not allowed in policy expressions" msgstr "集約関数はポリシ式では使用できません" -#: parser/parse_agg.c:404 +#: parser/parse_agg.c:408 msgid "grouping operations are not allowed in policy expressions" msgstr "グルーピング演算はポリシ式では使用できません" -#: parser/parse_agg.c:421 +#: parser/parse_agg.c:425 msgid "aggregate functions are not allowed in window RANGE" msgstr "集約関数はウィンドウRANGEの中では集約関数を使用できません" -#: parser/parse_agg.c:423 +#: parser/parse_agg.c:427 msgid "grouping operations are not allowed in window RANGE" msgstr "ウィンドウ定義のRANGE句の中ではグルーピング演算は使用できません" -#: parser/parse_agg.c:428 +#: parser/parse_agg.c:432 msgid "aggregate functions are not allowed in window ROWS" msgstr "ウィンドウ定義のROWS句では集約関数は使用できません" -#: parser/parse_agg.c:430 +#: parser/parse_agg.c:434 msgid "grouping operations are not allowed in window ROWS" msgstr "ウィンドウ定義のROWS句ではグルーピング演算は使用できません" -#: parser/parse_agg.c:435 +#: parser/parse_agg.c:439 msgid "aggregate functions are not allowed in window GROUPS" msgstr "ウィンドウ定義のGROUPS句では集約関数は使用できません" -#: parser/parse_agg.c:437 +#: parser/parse_agg.c:441 msgid "grouping operations are not allowed in window GROUPS" msgstr "ウィンドウ定義のGROUPS句ではグルーピング演算は使用できません" -#: parser/parse_agg.c:450 +#: parser/parse_agg.c:454 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "MERGE WHEN条件では集約関数を使用できません" -#: parser/parse_agg.c:452 +#: parser/parse_agg.c:456 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "MERGE WHEN条件ではグルーピング演算を使用できません" -#: parser/parse_agg.c:479 +#: parser/parse_agg.c:483 msgid "aggregate functions are not allowed in check constraints" msgstr "検査制約では集約関数を使用できません" -#: parser/parse_agg.c:481 +#: parser/parse_agg.c:485 msgid "grouping operations are not allowed in check constraints" msgstr "検査制約ではグルーピング演算を使用できません" -#: parser/parse_agg.c:488 +#: parser/parse_agg.c:492 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "DEFAULT式では集約関数を使用できません" -#: parser/parse_agg.c:490 +#: parser/parse_agg.c:494 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "DEFAULT式ではグルーピング演算を使用できません" -#: parser/parse_agg.c:495 +#: parser/parse_agg.c:499 msgid "aggregate functions are not allowed in index expressions" msgstr "インデックス式では集約関数を使用できません" -#: parser/parse_agg.c:497 +#: parser/parse_agg.c:501 msgid "grouping operations are not allowed in index expressions" msgstr "インデックス式ではグルーピング演算を使用できません" -#: parser/parse_agg.c:502 +#: parser/parse_agg.c:506 msgid "aggregate functions are not allowed in index predicates" msgstr "インデックス述語では集約関数を使用できません" -#: parser/parse_agg.c:504 +#: parser/parse_agg.c:508 msgid "grouping operations are not allowed in index predicates" msgstr "インデックス述語ではグルーピング演算を使用できません" -#: parser/parse_agg.c:509 +#: parser/parse_agg.c:513 msgid "aggregate functions are not allowed in statistics expressions" msgstr "統計情報式では集約関数を使用できません" -#: parser/parse_agg.c:511 +#: parser/parse_agg.c:515 msgid "grouping operations are not allowed in statistics expressions" msgstr "統計情報式ではグルーピング演算使用できません" -#: parser/parse_agg.c:516 +#: parser/parse_agg.c:520 msgid "aggregate functions are not allowed in transform expressions" msgstr "変換式では集約関数を使用できません" -#: parser/parse_agg.c:518 +#: parser/parse_agg.c:522 msgid "grouping operations are not allowed in transform expressions" msgstr "変換式ではグルーピング演算を使用できません" -#: parser/parse_agg.c:523 +#: parser/parse_agg.c:527 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "EXECUTEのパラメータでは集約関数を使用できません" -#: parser/parse_agg.c:525 +#: parser/parse_agg.c:529 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "EXECUTEのパラメータではグルーピング演算を使用できません" -#: parser/parse_agg.c:530 +#: parser/parse_agg.c:534 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "トリガのWHEN条件では集約関数を使用できません" -#: parser/parse_agg.c:532 +#: parser/parse_agg.c:536 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "トリガのWHEN条件ではグルーピング演算を使用できません" -#: parser/parse_agg.c:537 +#: parser/parse_agg.c:541 msgid "aggregate functions are not allowed in partition bound" msgstr "集約関数はパーティション境界では使用できません" -#: parser/parse_agg.c:539 +#: parser/parse_agg.c:543 msgid "grouping operations are not allowed in partition bound" msgstr "グルーピング演算はパーティション境界では使用できません" -#: parser/parse_agg.c:544 +#: parser/parse_agg.c:548 msgid "aggregate functions are not allowed in partition key expressions" msgstr "パーティションキー式では集約関数は使用できません" -#: parser/parse_agg.c:546 +#: parser/parse_agg.c:550 msgid "grouping operations are not allowed in partition key expressions" msgstr "パーティションキー式ではグルーピング演算は使用できません" -#: parser/parse_agg.c:552 +#: parser/parse_agg.c:556 msgid "aggregate functions are not allowed in column generation expressions" msgstr "集約関数はカラム生成式では使用できません" -#: parser/parse_agg.c:554 +#: parser/parse_agg.c:558 msgid "grouping operations are not allowed in column generation expressions" msgstr "グルーピング演算はカラム生成式では使用できません" -#: parser/parse_agg.c:560 +#: parser/parse_agg.c:564 msgid "aggregate functions are not allowed in CALL arguments" msgstr "CALLの引数では集約関数を使用できません" -#: parser/parse_agg.c:562 +#: parser/parse_agg.c:566 msgid "grouping operations are not allowed in CALL arguments" msgstr "CALLの引数ではグルーピング演算を使用できません" -#: parser/parse_agg.c:568 +#: parser/parse_agg.c:572 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" msgstr "集約関数は COPY FROM の WHERE 条件では使用できません" -#: parser/parse_agg.c:570 +#: parser/parse_agg.c:574 msgid "grouping operations are not allowed in COPY FROM WHERE conditions" msgstr "グルーピング演算は COPY FROM の WHERE 条件の中では使用できません" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:597 parser/parse_clause.c:1962 +#: parser/parse_agg.c:601 parser/parse_clause.c:1962 #, c-format msgid "aggregate functions are not allowed in %s" msgstr "%sでは集約関数を使用できません" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:600 +#: parser/parse_agg.c:604 #, c-format msgid "grouping operations are not allowed in %s" msgstr "%sではグルーピング演算を使用できません" -#: parser/parse_agg.c:701 +#: parser/parse_agg.c:700 parser/parse_agg.c:737 +#, c-format +msgid "outer-level aggregate cannot use a nested CTE" +msgstr "上位レベルの集約では、下位レベルのCTEを使用することはできません" + +#: parser/parse_agg.c:701 parser/parse_agg.c:738 +#, c-format +msgid "CTE \"%s\" is below the aggregate's semantic level." +msgstr "CTE \"%s\" は、この集約のクエリレベルよりも下位にあります。" + +#: parser/parse_agg.c:723 #, c-format msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments" msgstr "アウタレベルの集約は直接引数に低位の変数を含むことができません" -#: parser/parse_agg.c:779 +#: parser/parse_agg.c:808 #, c-format msgid "aggregate function calls cannot contain set-returning function calls" msgstr "集合返却関数の呼び出しに集約関数の呼び出しを含むことはできません" -#: parser/parse_agg.c:780 parser/parse_expr.c:1763 parser/parse_expr.c:2254 parser/parse_func.c:885 +#: parser/parse_agg.c:809 parser/parse_expr.c:1763 parser/parse_expr.c:2254 parser/parse_func.c:885 #, c-format msgid "You might be able to move the set-returning function into a LATERAL FROM item." msgstr "この集合返却関数をLATERAL FROM項目に移動できるかもしれません。" -#: parser/parse_agg.c:785 +#: parser/parse_agg.c:814 #, c-format msgid "aggregate function calls cannot contain window function calls" msgstr "集約関数の呼び出しにウィンドウ関数の呼び出しを含むことはできません" -#: parser/parse_agg.c:890 +#: parser/parse_agg.c:917 msgid "window functions are not allowed in JOIN conditions" msgstr "JOIN条件ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:897 +#: parser/parse_agg.c:924 msgid "window functions are not allowed in functions in FROM" msgstr "FROM句内の関数ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:903 +#: parser/parse_agg.c:930 msgid "window functions are not allowed in policy expressions" msgstr "ポリシ式ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:916 +#: parser/parse_agg.c:943 msgid "window functions are not allowed in window definitions" msgstr "ウィンドウ定義ではウィンドウ関数は使用できません" -#: parser/parse_agg.c:927 +#: parser/parse_agg.c:954 msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "MERGE WHEN条件ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:952 +#: parser/parse_agg.c:979 msgid "window functions are not allowed in check constraints" msgstr "検査制約の中ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:956 +#: parser/parse_agg.c:983 msgid "window functions are not allowed in DEFAULT expressions" msgstr "DEFAULT式の中ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:959 +#: parser/parse_agg.c:986 msgid "window functions are not allowed in index expressions" msgstr "インデックス式ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:962 +#: parser/parse_agg.c:989 msgid "window functions are not allowed in statistics expressions" msgstr "統計情報式ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:965 +#: parser/parse_agg.c:992 msgid "window functions are not allowed in index predicates" msgstr "インデックス述語ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:968 +#: parser/parse_agg.c:995 msgid "window functions are not allowed in transform expressions" msgstr "変換式ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:971 +#: parser/parse_agg.c:998 msgid "window functions are not allowed in EXECUTE parameters" msgstr "EXECUTEパラメータではウィンドウ関数を使用できません" -#: parser/parse_agg.c:974 +#: parser/parse_agg.c:1001 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "トリガのWHEN条件ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:977 +#: parser/parse_agg.c:1004 msgid "window functions are not allowed in partition bound" msgstr "ウィンドウ関数はパーティション境界では使用できません" -#: parser/parse_agg.c:980 +#: parser/parse_agg.c:1007 msgid "window functions are not allowed in partition key expressions" msgstr "パーティションキー式ではウィンドウ関数は使用できません" -#: parser/parse_agg.c:983 +#: parser/parse_agg.c:1010 msgid "window functions are not allowed in CALL arguments" msgstr "CALLの引数ではウィンドウ関数は使用できません" -#: parser/parse_agg.c:986 +#: parser/parse_agg.c:1013 msgid "window functions are not allowed in COPY FROM WHERE conditions" msgstr "ウィンドウ関数は COPY FROM の WHERE 条件では使用できません" -#: parser/parse_agg.c:989 +#: parser/parse_agg.c:1016 msgid "window functions are not allowed in column generation expressions" msgstr "ウィンドウ関数はカラム生成式では使用できません" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:1012 parser/parse_clause.c:1971 +#: parser/parse_agg.c:1039 parser/parse_clause.c:1971 #, c-format msgid "window functions are not allowed in %s" msgstr "%sの中ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:1046 parser/parse_clause.c:2804 +#: parser/parse_agg.c:1073 parser/parse_clause.c:2804 #, c-format msgid "window \"%s\" does not exist" msgstr "ウィンドウ\"%s\"は存在しません" -#: parser/parse_agg.c:1134 +#: parser/parse_agg.c:1161 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "グルーピングセットの数が多すぎます (最大4096)" -#: parser/parse_agg.c:1274 +#: parser/parse_agg.c:1301 #, c-format msgid "aggregate functions are not allowed in a recursive query's recursive term" msgstr "再帰問い合わせの再帰項では集約関数を使用できません" -#: parser/parse_agg.c:1467 +#: parser/parse_agg.c:1494 #, c-format msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function" msgstr "列\"%s.%s\"はGROUP BY句で指定するか、集約関数内で使用しなければなりません" -#: parser/parse_agg.c:1470 +#: parser/parse_agg.c:1497 #, c-format msgid "Direct arguments of an ordered-set aggregate must use only grouped columns." msgstr "順序集合集約の直接引数はグルーピングされた列のみを使用しなければなりません。" -#: parser/parse_agg.c:1475 +#: parser/parse_agg.c:1502 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "外部問い合わせから副問い合わせがグループ化されていない列\"%s.%s\"を使用しています" -#: parser/parse_agg.c:1639 +#: parser/parse_agg.c:1666 #, c-format msgid "arguments to GROUPING must be grouping expressions of the associated query level" msgstr "GROUPINGの引数は関連するクエリレベルのグルーピング式でなければなりません" @@ -17792,25 +17812,25 @@ msgid "Try returning a string type or bytea." msgstr "文字列型またはBYTEA型での返却を試してください。" -#: parser/parse_expr.c:4316 +#: parser/parse_expr.c:4319 #, c-format msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" msgstr "%s()のRETURNING節ではFORMAT JSONは指定できません" -#: parser/parse_expr.c:4329 +#: parser/parse_expr.c:4332 #, c-format msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" msgstr "WITH WRAPPERが使われてるときにはSQL/JSONのQUOTESの挙動は指定できまえん" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4343 parser/parse_expr.c:4372 parser/parse_expr.c:4403 parser/parse_expr.c:4429 parser/parse_expr.c:4455 parser/parse_jsontable.c:94 +#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 parser/parse_expr.c:4406 parser/parse_expr.c:4432 parser/parse_expr.c:4458 parser/parse_jsontable.c:94 #, c-format msgid "invalid %s behavior" msgstr "不正な%s挙動指定" #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 +#: parser/parse_expr.c:4349 parser/parse_expr.c:4378 #, c-format msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for %s." msgstr "%2$sに対する%1$s句ではERROR, NULL, EMPTY ARRAY, EMPTY OBJECTまたはDEFAULT式のみが使用可能です。" @@ -17818,72 +17838,72 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4353 parser/parse_expr.c:4382 parser/parse_expr.c:4411 parser/parse_expr.c:4439 parser/parse_expr.c:4465 +#: parser/parse_expr.c:4356 parser/parse_expr.c:4385 parser/parse_expr.c:4414 parser/parse_expr.c:4442 parser/parse_expr.c:4468 #, c-format msgid "invalid %s behavior for column \"%s\"" msgstr "列\"%s\"に対する不正な%s挙動指定" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4356 parser/parse_expr.c:4385 +#: parser/parse_expr.c:4359 parser/parse_expr.c:4388 #, c-format msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for formatted columns." msgstr "フォーマット化対象列に対する%s句ではERROR, NULL, EMPTY ARRAY, EMPTY OBJECTまたはDEFAULT式のみが使用可能です。" -#: parser/parse_expr.c:4404 +#: parser/parse_expr.c:4407 #, c-format msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s." msgstr "%2$sに対する%1$s句ではERROR, TRUE, FALSEまたはUNKNOWNのみが使用可能です。" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4414 +#: parser/parse_expr.c:4417 #, c-format msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns." msgstr "EXIST列に対する%s句ではERROR, TRUE, FALSEまたはUNKNOWNのみが使用可能です。" #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 +#: parser/parse_expr.c:4435 parser/parse_expr.c:4461 #, c-format msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s." msgstr "%2$sに対する%1$s句ではERROR, NULLまたはDEFAULT式のみが使用可能です。" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4442 parser/parse_expr.c:4468 +#: parser/parse_expr.c:4445 parser/parse_expr.c:4471 #, c-format msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns." msgstr "スカラー列に対する%s句ではERROR, NULLまたはDEFAULT式のみが使用可能です。" -#: parser/parse_expr.c:4498 +#: parser/parse_expr.c:4505 #, c-format msgid "JSON path expression must be of type %s, not of type %s" msgstr "JSONパス式は型%2$sではなく%1$s型でなければなりません" -#: parser/parse_expr.c:4738 +#: parser/parse_expr.c:4745 #, c-format msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT" msgstr "DEFAULTには定数、非集約関数、および演算子式のみ指定可能です" -#: parser/parse_expr.c:4743 +#: parser/parse_expr.c:4750 #, c-format msgid "DEFAULT expression must not contain column references" msgstr "DEFAULT式は列参照を含むことができません" -#: parser/parse_expr.c:4748 +#: parser/parse_expr.c:4755 #, c-format msgid "DEFAULT expression must not return a set" msgstr "DEFAULT式は集合を返してはなりません" -#: parser/parse_expr.c:4763 +#: parser/parse_expr.c:4770 #, c-format msgid "collation of DEFAULT expression conflicts with RETURNING clause" msgstr "DEFAULT式の照合順序がRETURNING句と競合しています" -#: parser/parse_expr.c:4842 parser/parse_expr.c:4851 +#: parser/parse_expr.c:4849 parser/parse_expr.c:4858 #, c-format msgid "cannot cast behavior expression of type %s to %s" msgstr "型%sの挙動式の%sへの型変換はできません" -#: parser/parse_expr.c:4845 +#: parser/parse_expr.c:4852 #, c-format msgid "You will need to explicitly cast the expression to type %s." msgstr "式を%s型に明示的にキャストする必要があります。" @@ -20486,8 +20506,8 @@ #: replication/logical/slotsync.c:1162 #, c-format -msgid "replication slot synchronization worker is shutting down on receiving SIGINT" -msgstr "SIGINTを受信したためレプリケーションスロット同期ワーカーがシャットダウンします" +msgid "replication slot synchronization worker is shutting down because promotion is triggered" +msgstr "昇格がトリガーされたため、レプリケーションスロット同期ワーカーがシャットダウンします" #: replication/logical/slotsync.c:1287 #, c-format @@ -21571,265 +21591,265 @@ msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten" msgstr "WITH の問い合わせ名\"%s\"が、ルールのアクションと書き換えられようとしている問い合わせの両方に現れています" -#: rewrite/rewriteHandler.c:615 +#: rewrite/rewriteHandler.c:618 #, c-format msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH" msgstr "INSERT ... SELECTルールのアクションはWITHにデータ更新文を持つ問い合わせに対してはサポートされません" -#: rewrite/rewriteHandler.c:668 +#: rewrite/rewriteHandler.c:671 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "複数ルールではRETURNINGリストを持つことはできません" -#: rewrite/rewriteHandler.c:900 rewrite/rewriteHandler.c:939 +#: rewrite/rewriteHandler.c:903 rewrite/rewriteHandler.c:942 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "列\"%s\"への非デフォルト値の挿入はできません" -#: rewrite/rewriteHandler.c:902 rewrite/rewriteHandler.c:968 +#: rewrite/rewriteHandler.c:905 rewrite/rewriteHandler.c:971 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "列\"%s\"は GENERATED ALWAYS として定義されています。" -#: rewrite/rewriteHandler.c:904 +#: rewrite/rewriteHandler.c:907 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "OVERRIDING SYSTEM VALUE を指定することで挿入を強制できます。" -#: rewrite/rewriteHandler.c:966 rewrite/rewriteHandler.c:974 +#: rewrite/rewriteHandler.c:969 rewrite/rewriteHandler.c:977 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "列\"%s\"はDEFAULTにのみ更新可能です" -#: rewrite/rewriteHandler.c:1109 rewrite/rewriteHandler.c:1127 +#: rewrite/rewriteHandler.c:1112 rewrite/rewriteHandler.c:1130 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "同じ列\"%s\"に複数の代入があります" -#: rewrite/rewriteHandler.c:1682 +#: rewrite/rewriteHandler.c:1685 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGEはルールを持つリレーションに対してはサポートされません。" -#: rewrite/rewriteHandler.c:1722 rewrite/rewriteHandler.c:3262 +#: rewrite/rewriteHandler.c:1725 rewrite/rewriteHandler.c:3265 #, c-format msgid "access to non-system view \"%s\" is restricted" msgstr "非システムのビュー\"%s\"へのアクセスは制限されています" -#: rewrite/rewriteHandler.c:2122 rewrite/rewriteHandler.c:4254 +#: rewrite/rewriteHandler.c:2125 rewrite/rewriteHandler.c:4274 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "リレーション\"%s\"のルールで無限再帰を検出しました" -#: rewrite/rewriteHandler.c:2227 +#: rewrite/rewriteHandler.c:2230 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "リレーション\"%s\"のポリシで無限再帰を検出しました" -#: rewrite/rewriteHandler.c:2589 +#: rewrite/rewriteHandler.c:2592 msgid "Junk view columns are not updatable." msgstr "ジャンクビュー列は更新不可です。" -#: rewrite/rewriteHandler.c:2594 +#: rewrite/rewriteHandler.c:2597 msgid "View columns that are not columns of their base relation are not updatable." msgstr "基底リレーションの列ではないビュー列は更新不可です。" -#: rewrite/rewriteHandler.c:2597 +#: rewrite/rewriteHandler.c:2600 msgid "View columns that refer to system columns are not updatable." msgstr "システム列を参照するビュー列は更新不可です。" -#: rewrite/rewriteHandler.c:2600 +#: rewrite/rewriteHandler.c:2603 msgid "View columns that return whole-row references are not updatable." msgstr "行全体参照を返すビュー列は更新不可です。" -#: rewrite/rewriteHandler.c:2661 +#: rewrite/rewriteHandler.c:2664 msgid "Views containing DISTINCT are not automatically updatable." msgstr "DISTINCTを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2664 +#: rewrite/rewriteHandler.c:2667 msgid "Views containing GROUP BY are not automatically updatable." msgstr "GROUP BYを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2667 +#: rewrite/rewriteHandler.c:2670 msgid "Views containing HAVING are not automatically updatable." msgstr "HAVINGを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2670 +#: rewrite/rewriteHandler.c:2673 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "UNION、INTERSECT、EXCEPTを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2673 +#: rewrite/rewriteHandler.c:2676 msgid "Views containing WITH are not automatically updatable." msgstr "WITHを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2676 +#: rewrite/rewriteHandler.c:2679 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "LIMIT、OFFSETを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2688 +#: rewrite/rewriteHandler.c:2691 msgid "Views that return aggregate functions are not automatically updatable." msgstr "集約関数を返すビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2691 +#: rewrite/rewriteHandler.c:2694 msgid "Views that return window functions are not automatically updatable." msgstr "ウィンドウ関数を返すビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2694 +#: rewrite/rewriteHandler.c:2697 msgid "Views that return set-returning functions are not automatically updatable." msgstr "集合返却関数を返すビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2701 rewrite/rewriteHandler.c:2705 rewrite/rewriteHandler.c:2713 +#: rewrite/rewriteHandler.c:2704 rewrite/rewriteHandler.c:2708 rewrite/rewriteHandler.c:2716 msgid "Views that do not select from a single table or view are not automatically updatable." msgstr "単一のテーブルまたはビューからselectしていないビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2716 +#: rewrite/rewriteHandler.c:2719 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "TABLESAMPLEを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2740 +#: rewrite/rewriteHandler.c:2743 msgid "Views that have no updatable columns are not automatically updatable." msgstr "更新可能な列を持たないビューは自動更新できません。" -#: rewrite/rewriteHandler.c:3121 rewrite/rewriteHandler.c:3156 +#: rewrite/rewriteHandler.c:3124 rewrite/rewriteHandler.c:3159 #, c-format msgid "cannot insert into view \"%s\"" msgstr "ビュー\"%s\"へは挿入(INSERT)できません" -#: rewrite/rewriteHandler.c:3124 +#: rewrite/rewriteHandler.c:3127 #, c-format msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." msgstr "ビューへの挿入を可能にするために、INSTEAD OF INSERTトリガまたは無条件のON INSERT DO INSTEADルールを作成してください。" -#: rewrite/rewriteHandler.c:3129 rewrite/rewriteHandler.c:3165 +#: rewrite/rewriteHandler.c:3132 rewrite/rewriteHandler.c:3168 #, c-format msgid "cannot update view \"%s\"" msgstr "ビュー\"%s\"は更新できません" -#: rewrite/rewriteHandler.c:3132 +#: rewrite/rewriteHandler.c:3135 #, c-format msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule." msgstr "ビューへの更新を可能にするために、INSTEAD OF UPDATEトリガまたは無条件のON UPDATE DO INSTEADルールを作成してください。" -#: rewrite/rewriteHandler.c:3137 rewrite/rewriteHandler.c:3174 +#: rewrite/rewriteHandler.c:3140 rewrite/rewriteHandler.c:3177 #, c-format msgid "cannot delete from view \"%s\"" msgstr "ビュー\"%s\"からは削除できません" -#: rewrite/rewriteHandler.c:3140 +#: rewrite/rewriteHandler.c:3143 #, c-format msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule." msgstr "ビューからの削除を可能にするために、INSTEAD OF DELETEトリガまたは無条件のON DELETE DO INSTEADルールを作成してください。" -#: rewrite/rewriteHandler.c:3159 +#: rewrite/rewriteHandler.c:3162 #, c-format msgid "To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT trigger." msgstr "MERGEを用いたビューへの挿入を可能にするには、INSTEAD OF INSERTトリガーを作成してください。" -#: rewrite/rewriteHandler.c:3168 +#: rewrite/rewriteHandler.c:3171 #, c-format msgid "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE trigger." msgstr "MERGEを用いたビューの更新を可能にするには、INSTEAD OF UPDATEトリガーを作成してください。" -#: rewrite/rewriteHandler.c:3177 +#: rewrite/rewriteHandler.c:3180 #, c-format msgid "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE trigger." msgstr "MERGEを用いたビューからの削除を可能にするためには、INSTEAD OF DELETEトリガーを作成してください。" -#: rewrite/rewriteHandler.c:3352 +#: rewrite/rewriteHandler.c:3355 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "ビュー\"%2$s\"の列\"%1$s\"への挿入はできません" -#: rewrite/rewriteHandler.c:3360 +#: rewrite/rewriteHandler.c:3363 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "ビュー\"%2$s\"の列\"%1$s\"は更新できません" -#: rewrite/rewriteHandler.c:3368 +#: rewrite/rewriteHandler.c:3371 #, c-format msgid "cannot merge into column \"%s\" of view \"%s\"" msgstr "ビュー\"%2$s\"の列\"%1$s\"への統合はできません" -#: rewrite/rewriteHandler.c:3396 +#: rewrite/rewriteHandler.c:3399 #, c-format msgid "cannot merge into view \"%s\"" msgstr "ビュー\"%s\"への統合はできません" -#: rewrite/rewriteHandler.c:3398 +#: rewrite/rewriteHandler.c:3401 #, c-format msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions but not all." msgstr "MERGEはINSTEAD OFトリガーが全てではなく一部のアクションに対してのみ設定されてるビューではサポートされません。" -#: rewrite/rewriteHandler.c:3399 +#: rewrite/rewriteHandler.c:3402 #, c-format msgid "To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers." msgstr "ビューへの統合を可能にするためには、完全なINSTEAD OF INSERTトリガーを作成するか、または既存のINSTEAD OFトリガーを削除してください。" -#: rewrite/rewriteHandler.c:3912 +#: rewrite/rewriteHandler.c:3931 #, c-format msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" msgstr "DO INSTEAD NOTIFYルールはWITH内のデータ更新文に対してはサポートされません" -#: rewrite/rewriteHandler.c:3923 +#: rewrite/rewriteHandler.c:3942 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合は DO INSTEAD NOTHING ルールはサポートされません" -#: rewrite/rewriteHandler.c:3937 +#: rewrite/rewriteHandler.c:3956 #, c-format msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合は、条件付き DO INSTEAD ルールはサポートされません" -#: rewrite/rewriteHandler.c:3941 +#: rewrite/rewriteHandler.c:3960 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合は DO ALSO ルールはサポートされません" -#: rewrite/rewriteHandler.c:3946 +#: rewrite/rewriteHandler.c:3965 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合はマルチステートメントの DO INSTEAD ルールはサポートされません" -#: rewrite/rewriteHandler.c:4206 +#: rewrite/rewriteHandler.c:4226 msgid "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "条件付きDO INSTEADルールを持つビューは自動更新できません。" -#: rewrite/rewriteHandler.c:4303 +#: rewrite/rewriteHandler.c:4324 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "リレーション\"%s\"へのINSERT RETURNINGを行うことはできません" -#: rewrite/rewriteHandler.c:4305 +#: rewrite/rewriteHandler.c:4326 #, c-format msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." msgstr "RETURNING句を持つ無条件のON INSERT DO INSTEADルールが必要です。" -#: rewrite/rewriteHandler.c:4310 +#: rewrite/rewriteHandler.c:4331 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "リレーション\"%s\"へのUPDATE RETURNINGを行うことはできません" -#: rewrite/rewriteHandler.c:4312 +#: rewrite/rewriteHandler.c:4333 #, c-format msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." msgstr "RETURNING句を持つ無条件のON UPDATE DO INSTEADルールが必要です。" -#: rewrite/rewriteHandler.c:4317 +#: rewrite/rewriteHandler.c:4338 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "リレーション\"%s\"へのDELETE RETURNINGを行うことはできません" -#: rewrite/rewriteHandler.c:4319 +#: rewrite/rewriteHandler.c:4340 #, c-format msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." msgstr "RETURNING句を持つ無条件のON DELETE DO INSTEADルールが必要です。" -#: rewrite/rewriteHandler.c:4337 +#: rewrite/rewriteHandler.c:4358 #, c-format msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules" msgstr "ON CONFLICT句を伴うINSERTは、INSERTまたはUPDATEルールを持つテーブルでは使えません" -#: rewrite/rewriteHandler.c:4394 +#: rewrite/rewriteHandler.c:4415 #, c-format msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" msgstr "複数問い合わせに対するルールにより書き換えられた問い合わせでは WITH を使用できません" @@ -22304,25 +22324,25 @@ msgid "could not duplicate handle for \"%s\": %m" msgstr "\"%s\"のハンドルの複製ができませんでした: %m" -#: storage/ipc/dsm_registry.c:142 +#: storage/ipc/dsm_registry.c:144 #, c-format msgid "DSM segment name cannot be empty" msgstr "DSMセグメント名は空文字列にはできません" -#: storage/ipc/dsm_registry.c:146 +#: storage/ipc/dsm_registry.c:148 #, c-format msgid "DSM segment name too long" msgstr "DSMセグメント名が長すぎます" -#: storage/ipc/dsm_registry.c:150 +#: storage/ipc/dsm_registry.c:152 #, c-format msgid "DSM segment size must be nonzero" msgstr "DSMセグメントサイズは0以外の値である必要があります" -#: storage/ipc/dsm_registry.c:176 +#: storage/ipc/dsm_registry.c:168 #, c-format msgid "requested DSM segment size does not match size of existing segment" -msgstr "要求されたDSMセグメントサイズが既存のセグメントのサイズと異なっています" +msgstr "要求されたDSMセグメントのサイズが既存のセグメントのサイズと一致しません" #: storage/ipc/procarray.c:488 storage/lmgr/proc.c:357 tcop/backend_startup.c:304 #, c-format @@ -30204,3 +30224,9 @@ #~ msgid "cannot create statistics on the specified relation" #~ msgstr "指定されたリレーションでは統計情報を生成できません" + +#~ msgid "replication slot synchronization worker is shutting down on receiving SIGINT" +#~ msgstr "SIGINTを受信したためレプリケーションスロット同期ワーカーがシャットダウンします" + +#~ msgid "requested DSM segment \"%s\" failed initialization" +#~ msgstr "要求されたDSMセグメント\"%s\"の初期化に失敗しました" diff -Nru postgresql-17-17.7/src/backend/po/ru.po postgresql-17-17.8/src/backend/po/ru.po --- postgresql-17-17.7/src/backend/po/ru.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/po/ru.po 2026-02-09 21:51:54.000000000 +0000 @@ -4,14 +4,14 @@ # Serguei A. Mokhov , 2001-2005. # Oleg Bartunov , 2004-2005. # Dmitriy Olshevskiy , 2014. -# SPDX-FileCopyrightText: 2012-2025 Alexander Lakhin +# SPDX-FileCopyrightText: 2012-2025, 2026 Alexander Lakhin # Maxim Yablokov , 2021, 2022, 2024. msgid "" msgstr "" "Project-Id-Version: postgres (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-09 06:28+0200\n" -"PO-Revision-Date: 2025-11-09 08:27+0200\n" +"POT-Creation-Date: 2026-02-07 11:39+0200\n" +"PO-Revision-Date: 2026-02-07 10:42+0200\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -96,15 +96,15 @@ #: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1353 access/transam/xlog.c:3459 -#: access/transam/xlog.c:4323 access/transam/xlogrecovery.c:1238 -#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373 -#: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123 +#: access/transam/twophase.c:1353 access/transam/xlog.c:3458 +#: access/transam/xlog.c:4322 access/transam/xlogrecovery.c:1248 +#: access/transam/xlogrecovery.c:1346 access/transam/xlogrecovery.c:1383 +#: access/transam/xlogrecovery.c:1450 backup/basebackup.c:2123 #: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764 #: replication/logical/origin.c:745 replication/logical/origin.c:781 #: replication/logical/reorderbuffer.c:5243 -#: replication/logical/snapbuild.c:2099 replication/slot.c:2249 -#: replication/slot.c:2290 replication/walsender.c:673 +#: replication/logical/snapbuild.c:2099 replication/slot.c:2281 +#: replication/slot.c:2322 replication/walsender.c:673 #: storage/file/buffile.c:470 storage/file/copydir.c:185 #: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829 #, c-format @@ -112,10 +112,10 @@ msgstr "не удалось прочитать файл \"%s\": %m" #: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 -#: access/transam/xlog.c:3464 access/transam/xlog.c:4328 +#: access/transam/xlog.c:3463 access/transam/xlog.c:4327 #: replication/logical/origin.c:750 replication/logical/origin.c:789 -#: replication/logical/snapbuild.c:2104 replication/slot.c:2253 -#: replication/slot.c:2294 replication/walsender.c:678 +#: replication/logical/snapbuild.c:2104 replication/slot.c:2285 +#: replication/slot.c:2326 replication/walsender.c:678 #: utils/cache/relmapper.c:833 #, c-format msgid "could not read file \"%s\": read %d of %zu" @@ -126,17 +126,17 @@ #: access/heap/rewriteheap.c:1141 access/heap/rewriteheap.c:1246 #: access/transam/timeline.c:392 access/transam/timeline.c:438 #: access/transam/timeline.c:512 access/transam/twophase.c:1365 -#: access/transam/twophase.c:1784 access/transam/xlog.c:3305 -#: access/transam/xlog.c:3499 access/transam/xlog.c:3504 -#: access/transam/xlog.c:3640 access/transam/xlog.c:4293 -#: access/transam/xlog.c:5228 commands/copyfrom.c:1799 commands/copyto.c:325 +#: access/transam/twophase.c:1784 access/transam/xlog.c:3304 +#: access/transam/xlog.c:3498 access/transam/xlog.c:3503 +#: access/transam/xlog.c:3639 access/transam/xlog.c:4292 +#: access/transam/xlog.c:5227 commands/copyfrom.c:1799 commands/copyto.c:325 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540 #: replication/logical/origin.c:683 replication/logical/origin.c:822 #: replication/logical/reorderbuffer.c:5295 #: replication/logical/snapbuild.c:1866 replication/logical/snapbuild.c:1990 -#: replication/slot.c:2137 replication/slot.c:2301 replication/walsender.c:688 -#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:825 -#: storage/file/fd.c:3750 storage/file/fd.c:3856 utils/cache/relmapper.c:841 +#: replication/slot.c:2169 replication/slot.c:2333 replication/walsender.c:688 +#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828 +#: storage/file/fd.c:3753 storage/file/fd.c:3859 utils/cache/relmapper.c:841 #: utils/cache/relmapper.c:956 #, c-format msgid "could not close file \"%s\": %m" @@ -165,10 +165,10 @@ #: ../common/file_utils.c:406 ../common/file_utils.c:480 #: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111 #: access/transam/timeline.c:251 access/transam/timeline.c:348 -#: access/transam/twophase.c:1309 access/transam/xlog.c:3212 -#: access/transam/xlog.c:3375 access/transam/xlog.c:3414 -#: access/transam/xlog.c:3607 access/transam/xlog.c:4313 -#: access/transam/xlogrecovery.c:4275 access/transam/xlogrecovery.c:4378 +#: access/transam/twophase.c:1309 access/transam/xlog.c:3211 +#: access/transam/xlog.c:3374 access/transam/xlog.c:3413 +#: access/transam/xlog.c:3606 access/transam/xlog.c:4312 +#: access/transam/xlogrecovery.c:4285 access/transam/xlogrecovery.c:4388 #: access/transam/xlogutils.c:836 backup/basebackup.c:547 #: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624 #: postmaster/syslogger.c:1511 replication/logical/origin.c:735 @@ -176,10 +176,10 @@ #: replication/logical/reorderbuffer.c:4450 #: replication/logical/reorderbuffer.c:5223 #: replication/logical/snapbuild.c:1821 replication/logical/snapbuild.c:1931 -#: replication/slot.c:2221 replication/walsender.c:646 +#: replication/slot.c:2253 replication/walsender.c:646 #: replication/walsender.c:3099 storage/file/copydir.c:151 -#: storage/file/fd.c:800 storage/file/fd.c:3507 storage/file/fd.c:3737 -#: storage/file/fd.c:3827 storage/smgr/md.c:661 utils/cache/relmapper.c:818 +#: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740 +#: storage/file/fd.c:3830 storage/smgr/md.c:672 utils/cache/relmapper.c:818 #: utils/cache/relmapper.c:935 utils/error/elog.c:2124 #: utils/init/miscinit.c:1581 utils/init/miscinit.c:1715 #: utils/init/miscinit.c:1792 utils/misc/guc.c:4782 utils/misc/guc.c:4832 @@ -189,7 +189,7 @@ #: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249 #: access/transam/twophase.c:1757 access/transam/twophase.c:1766 -#: access/transam/xlog.c:9320 access/transam/xlogfuncs.c:698 +#: access/transam/xlog.c:9346 access/transam/xlogfuncs.c:698 #: backup/basebackup_server.c:173 backup/basebackup_server.c:266 #: backup/walsummary.c:304 postmaster/postmaster.c:4129 #: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535 @@ -203,12 +203,12 @@ #: access/heap/rewriteheap.c:925 access/heap/rewriteheap.c:1135 #: access/heap/rewriteheap.c:1240 access/transam/timeline.c:432 #: access/transam/timeline.c:506 access/transam/twophase.c:1778 -#: access/transam/xlog.c:3298 access/transam/xlog.c:3493 -#: access/transam/xlog.c:4286 access/transam/xlog.c:8695 -#: access/transam/xlog.c:8740 backup/basebackup_server.c:207 +#: access/transam/xlog.c:3297 access/transam/xlog.c:3492 +#: access/transam/xlog.c:4285 access/transam/xlog.c:8721 +#: access/transam/xlog.c:8766 backup/basebackup_server.c:207 #: commands/dbcommands.c:514 replication/logical/snapbuild.c:1859 -#: replication/slot.c:2121 replication/slot.c:2231 storage/file/fd.c:817 -#: storage/file/fd.c:3848 storage/smgr/md.c:1331 storage/smgr/md.c:1376 +#: replication/slot.c:2153 replication/slot.c:2263 storage/file/fd.c:820 +#: storage/file/fd.c:3851 storage/smgr/md.c:1345 storage/smgr/md.c:1390 #: storage/sync/sync.c:446 utils/misc/guc.c:4530 #, c-format msgid "could not fsync file \"%s\": %m" @@ -228,22 +228,22 @@ #: postmaster/bgworker.c:945 postmaster/postmaster.c:3562 #: postmaster/postmaster.c:4023 postmaster/postmaster.c:4385 #: postmaster/walsummarizer.c:935 -#: replication/libpqwalreceiver/libpqwalreceiver.c:387 +#: replication/libpqwalreceiver/libpqwalreceiver.c:400 #: replication/logical/logical.c:212 replication/walsender.c:853 -#: storage/buffer/localbuf.c:606 storage/file/fd.c:909 storage/file/fd.c:1440 -#: storage/file/fd.c:1601 storage/file/fd.c:2528 storage/ipc/procarray.c:1465 +#: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443 +#: storage/file/fd.c:1604 storage/file/fd.c:2531 storage/ipc/procarray.c:1465 #: storage/ipc/procarray.c:2219 storage/ipc/procarray.c:2226 #: storage/ipc/procarray.c:2731 storage/ipc/procarray.c:3435 #: utils/activity/pgstat_shmem.c:508 utils/adt/formatting.c:1725 #: utils/adt/formatting.c:1873 utils/adt/formatting.c:2075 -#: utils/adt/pg_locale.c:532 utils/adt/pg_locale.c:696 utils/fmgr/dfmgr.c:229 +#: utils/adt/pg_locale.c:533 utils/adt/pg_locale.c:697 utils/fmgr/dfmgr.c:229 #: utils/hash/dynahash.c:517 utils/hash/dynahash.c:617 -#: utils/hash/dynahash.c:1100 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429 -#: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:649 +#: utils/hash/dynahash.c:1100 utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 +#: utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 utils/misc/guc.c:649 #: utils/misc/guc.c:674 utils/misc/guc.c:1062 utils/misc/guc.c:4508 #: utils/misc/tzparser.c:477 utils/mmgr/aset.c:451 utils/mmgr/bump.c:183 #: utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729 utils/mmgr/dsa.c:810 -#: utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1154 utils/mmgr/slab.c:370 +#: utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1157 utils/mmgr/slab.c:370 #, c-format msgid "out of memory" msgstr "нехватка памяти" @@ -321,7 +321,7 @@ msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" -#: ../common/file_utils.c:76 storage/file/fd.c:3513 +#: ../common/file_utils.c:76 storage/file/fd.c:3516 #, c-format msgid "could not synchronize file system for file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" @@ -330,11 +330,11 @@ #: ../common/file_utils.c:570 access/transam/twophase.c:1321 #: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:235 #: backup/basebackup.c:355 backup/basebackup.c:553 backup/basebackup.c:624 -#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1749 -#: commands/copyto.c:700 commands/extension.c:3527 commands/tablespace.c:804 +#: backup/walsummary.c:247 commands/copyfrom.c:1749 commands/copyto.c:700 +#: commands/extension.c:3527 commands/tablespace.c:804 #: commands/tablespace.c:893 postmaster/pgarch.c:680 #: replication/logical/snapbuild.c:1717 replication/logical/snapbuild.c:2220 -#: storage/file/fd.c:1965 storage/file/fd.c:2051 storage/file/fd.c:3561 +#: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564 #: utils/adt/dbsize.c:105 utils/adt/dbsize.c:257 utils/adt/dbsize.c:337 #: utils/adt/genfile.c:437 utils/adt/genfile.c:612 utils/adt/misc.c:340 #, c-format @@ -349,14 +349,14 @@ #: ../common/file_utils.c:151 ../common/file_utils.c:281 #: ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:728 #: commands/tablespace.c:738 postmaster/postmaster.c:1472 -#: storage/file/fd.c:2930 storage/file/reinit.c:126 utils/adt/misc.c:256 +#: storage/file/fd.c:2933 storage/file/reinit.c:126 utils/adt/misc.c:256 #: utils/misc/tzparser.c:339 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" #: ../common/file_utils.c:169 ../common/file_utils.c:315 -#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2942 +#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2945 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не удалось прочитать каталог \"%s\": %m" @@ -364,7 +364,7 @@ #: ../common/file_utils.c:498 access/transam/xlogarchive.c:389 #: postmaster/pgarch.c:834 postmaster/syslogger.c:1559 #: replication/logical/snapbuild.c:1878 replication/slot.c:965 -#: replication/slot.c:2004 replication/slot.c:2153 storage/file/fd.c:835 +#: replication/slot.c:2036 replication/slot.c:2185 storage/file/fd.c:838 #: utils/time/snapmgr.c:1255 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" @@ -729,12 +729,12 @@ #: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 #: access/transam/twophase.c:1717 access/transam/xlogarchive.c:119 -#: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1050 -#: postmaster/syslogger.c:1488 replication/logical/origin.c:591 -#: replication/logical/reorderbuffer.c:4719 +#: access/transam/xlogarchive.c:399 backup/walsummary.c:254 +#: postmaster/postmaster.c:1050 postmaster/syslogger.c:1488 +#: replication/logical/origin.c:591 replication/logical/reorderbuffer.c:4719 #: replication/logical/snapbuild.c:1759 replication/logical/snapbuild.c:2193 -#: replication/slot.c:2205 storage/file/fd.c:875 storage/file/fd.c:3375 -#: storage/file/fd.c:3437 storage/file/reinit.c:261 storage/ipc/dsm.c:343 +#: replication/slot.c:2237 storage/file/fd.c:878 storage/file/fd.c:3378 +#: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343 #: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243 #: utils/time/snapmgr.c:1591 #, c-format @@ -742,8 +742,8 @@ msgstr "не удалось стереть файл \"%s\": %m" #: ../common/rmtree.c:124 commands/tablespace.c:767 commands/tablespace.c:780 -#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3367 -#: storage/file/fd.c:3776 +#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3370 +#: storage/file/fd.c:3779 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "ошибка при удалении каталога \"%s\": %m" @@ -853,25 +853,25 @@ msgid "could not get junction for \"%s\": %s\n" msgstr "не удалось получить связь для каталога \"%s\": %s\n" -#: ../port/open.c:115 +#: ../port/open.c:125 #, c-format msgid "could not open file \"%s\": %s" msgstr "не удалось открыть файл \"%s\": %s" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "lock violation" msgstr "нарушение блокировки" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "sharing violation" msgstr "нарушение совместного доступа" -#: ../port/open.c:117 +#: ../port/open.c:127 #, c-format msgid "Continuing to retry for 30 seconds." msgstr "Попытки будут продолжены в течение 30 секунд." -#: ../port/open.c:118 +#: ../port/open.c:128 #, c-format msgid "" "You might have antivirus, backup, or similar software interfering with the " @@ -1442,38 +1442,38 @@ msgstr "" "в семействе операторов \"%s\" метода доступа %s нет межтипового оператора(ов)" -#: access/heap/heapam.c:2241 +#: access/heap/heapam.c:2244 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "вставлять кортежи в параллельном исполнителе нельзя" -#: access/heap/heapam.c:2764 +#: access/heap/heapam.c:2767 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "удалять кортежи во время параллельных операций нельзя" -#: access/heap/heapam.c:2811 +#: access/heap/heapam.c:2814 #, c-format msgid "attempted to delete invisible tuple" msgstr "попытка удаления невидимого кортежа" -#: access/heap/heapam.c:3261 access/heap/heapam.c:6542 access/index/genam.c:818 +#: access/heap/heapam.c:3264 access/heap/heapam.c:6632 access/index/genam.c:818 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "изменять кортежи во время параллельных операций нельзя" -#: access/heap/heapam.c:3438 +#: access/heap/heapam.c:3441 #, c-format msgid "attempted to update invisible tuple" msgstr "попытка изменения невидимого кортежа" -#: access/heap/heapam.c:4949 access/heap/heapam.c:4987 -#: access/heap/heapam.c:5252 access/heap/heapam_handler.c:468 +#: access/heap/heapam.c:4954 access/heap/heapam.c:4992 +#: access/heap/heapam.c:5259 access/heap/heapam_handler.c:468 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "не удалось получить блокировку строки в таблице \"%s\"" -#: access/heap/heapam.c:6355 commands/trigger.c:3427 +#: access/heap/heapam.c:6386 commands/trigger.c:3427 #: executor/nodeModifyTable.c:2399 executor/nodeModifyTable.c:2490 #, c-format msgid "" @@ -1504,13 +1504,13 @@ #: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 #: access/transam/timeline.c:329 access/transam/timeline.c:481 -#: access/transam/xlog.c:3237 access/transam/xlog.c:3428 -#: access/transam/xlog.c:4265 access/transam/xlog.c:9309 +#: access/transam/xlog.c:3236 access/transam/xlog.c:3427 +#: access/transam/xlog.c:4264 access/transam/xlog.c:9335 #: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149 #: backup/basebackup_server.c:242 commands/dbcommands.c:494 #: postmaster/launch_backend.c:340 postmaster/postmaster.c:4116 #: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603 -#: replication/slot.c:2065 storage/file/copydir.c:157 storage/smgr/md.c:230 +#: replication/slot.c:2097 storage/file/copydir.c:157 storage/smgr/md.c:230 #: utils/time/snapmgr.c:1234 #, c-format msgid "could not create file \"%s\": %m" @@ -1523,12 +1523,12 @@ #: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 #: access/transam/timeline.c:424 access/transam/timeline.c:498 -#: access/transam/xlog.c:3287 access/transam/xlog.c:3484 -#: access/transam/xlog.c:4277 commands/dbcommands.c:506 +#: access/transam/xlog.c:3286 access/transam/xlog.c:3483 +#: access/transam/xlog.c:4276 commands/dbcommands.c:506 #: postmaster/launch_backend.c:351 postmaster/launch_backend.c:363 #: replication/logical/origin.c:615 replication/logical/origin.c:657 #: replication/logical/origin.c:676 replication/logical/snapbuild.c:1835 -#: replication/slot.c:2101 storage/file/buffile.c:545 +#: replication/slot.c:2133 storage/file/buffile.c:545 #: storage/file/copydir.c:197 utils/init/miscinit.c:1656 #: utils/init/miscinit.c:1667 utils/init/miscinit.c:1675 utils/misc/guc.c:4491 #: utils/misc/guc.c:4522 utils/misc/guc.c:5680 utils/misc/guc.c:5698 @@ -1965,7 +1965,7 @@ msgstr "Значение \"%s\" не может быть пустым." # well-spelled: симв -#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4881 +#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4891 #, c-format msgid "\"%s\" is too long (maximum %d characters)." msgstr "Длина \"%s\" превышает предел (%d симв.)." @@ -2007,7 +2007,7 @@ msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Убедитесь, что в конфигурации установлен параметр \"%s\"." -#: access/transam/multixact.c:1091 +#: access/transam/multixact.c:1173 #, c-format msgid "" "database is not accepting commands that assign new MultiXactIds to avoid " @@ -2016,8 +2016,8 @@ "база данных не принимает команды, назначающие новые MultiXactId, во " "избежание потери данных из-за зацикливания в базе данных \"%s\"" -#: access/transam/multixact.c:1093 access/transam/multixact.c:1100 -#: access/transam/multixact.c:1124 access/transam/multixact.c:1133 +#: access/transam/multixact.c:1175 access/transam/multixact.c:1182 +#: access/transam/multixact.c:1206 access/transam/multixact.c:1215 #: access/transam/varsup.c:158 access/transam/varsup.c:165 #, c-format msgid "" @@ -2029,7 +2029,7 @@ "Возможно, вам также придётся зафиксировать или откатить старые " "подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: access/transam/multixact.c:1098 +#: access/transam/multixact.c:1180 #, c-format msgid "" "database is not accepting commands that assign new MultiXactIds to avoid " @@ -2038,7 +2038,7 @@ "база данных не принимает команды, назначающие новые MultiXactId, во " "избежание потери данных из-за зацикливания в базе данных с OID %u" -#: access/transam/multixact.c:1119 access/transam/multixact.c:2474 +#: access/transam/multixact.c:1201 access/transam/multixact.c:2546 #, c-format msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used" msgid_plural "" @@ -2053,7 +2053,7 @@ "база данных \"%s\" должна быть очищена, прежде чем будут использованы " "оставшиеся MultiXactId (%u)" -#: access/transam/multixact.c:1128 access/transam/multixact.c:2483 +#: access/transam/multixact.c:1210 access/transam/multixact.c:2555 #, c-format msgid "" "database with OID %u must be vacuumed before %u more MultiXactId is used" @@ -2069,12 +2069,12 @@ "база данных с OID %u должна быть очищена, прежде чем будут использованы " "оставшиеся MultiXactId (%u)" -#: access/transam/multixact.c:1189 +#: access/transam/multixact.c:1274 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "слишком много членов мультитранзакции" -#: access/transam/multixact.c:1190 +#: access/transam/multixact.c:1275 #, c-format msgid "" "This command would create a multixact with %u members, but the remaining " @@ -2092,7 +2092,7 @@ "Мультитранзакция, создаваемая этой командой, должна включать членов: %u, но " "оставшегося места хватает только для %u." -#: access/transam/multixact.c:1195 +#: access/transam/multixact.c:1280 #, c-format msgid "" "Execute a database-wide VACUUM in database with OID %u with reduced " @@ -2102,7 +2102,7 @@ "Выполните очистку (VACUUM) всей базы данных с OID %u, уменьшив значения " "\"vacuum_multixact_freeze_min_age\" и \"vacuum_multixact_freeze_table_age\"." -#: access/transam/multixact.c:1226 +#: access/transam/multixact.c:1311 #, c-format msgid "" "database with OID %u must be vacuumed before %d more multixact member is used" @@ -2119,7 +2119,7 @@ "база данных с OID %u должна быть очищена, пока не использованы оставшиеся " "члены мультитранзакций (%d)" -#: access/transam/multixact.c:1231 +#: access/transam/multixact.c:1316 #, c-format msgid "" "Execute a database-wide VACUUM in that database with reduced " @@ -2129,17 +2129,22 @@ "Выполните очистку (VACUUM) всей этой базы данных, уменьшив значения " "\"vacuum_multixact_freeze_min_age\" и \"vacuum_multixact_freeze_table_age\"." -#: access/transam/multixact.c:1371 +#: access/transam/multixact.c:1455 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "MultiXactId %u прекратил существование: видимо, произошло зацикливание" -#: access/transam/multixact.c:1377 +#: access/transam/multixact.c:1461 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %u ещё не был создан: видимо, произошло зацикливание" -#: access/transam/multixact.c:2479 access/transam/multixact.c:2488 +#: access/transam/multixact.c:1554 +#, c-format +msgid "MultiXact %u has invalid next offset" +msgstr "для мультитранзакции %u получено некорректное следующее смещение" + +#: access/transam/multixact.c:2551 access/transam/multixact.c:2560 #, c-format msgid "" "To avoid MultiXactId assignment failures, execute a database-wide VACUUM in " @@ -2152,7 +2157,7 @@ "Возможно, вам также придётся зафиксировать или откатить старые " "подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: access/transam/multixact.c:2767 +#: access/transam/multixact.c:2839 #, c-format msgid "" "MultiXact member wraparound protections are disabled because oldest " @@ -2161,12 +2166,12 @@ "Защита от зацикливания членов мультитранзакций отключена, так как старейшая " "отмеченная мультитранзакция %u не найдена на диске" -#: access/transam/multixact.c:2789 +#: access/transam/multixact.c:2861 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "Защита от зацикливания мультитранзакций сейчас включена" -#: access/transam/multixact.c:3180 +#: access/transam/multixact.c:3252 #, c-format msgid "" "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" @@ -2174,7 +2179,7 @@ "старейшая мультитранзакция %u не найдена, новейшая мультитранзакция: %u, " "усечение пропускается" -#: access/transam/multixact.c:3198 +#: access/transam/multixact.c:3270 #, c-format msgid "" "cannot truncate up to MultiXact %u because it does not exist on disk, " @@ -2183,41 +2188,50 @@ "выполнить усечение до мультитранзакции %u нельзя ввиду её отсутствия на " "диске, усечение пропускается" -#: access/transam/multixact.c:3517 +#: access/transam/multixact.c:3287 +#, c-format +msgid "" +"cannot truncate up to MultiXact %u because it has invalid offset, skipping " +"truncation" +msgstr "" +"выполнить усечение до мультитранзакции %u нельзя из-за некорректного " +"смещения, усечение пропускается" + +#: access/transam/multixact.c:3632 #, c-format msgid "invalid MultiXactId: %u" msgstr "неверный MultiXactId: %u" -#: access/transam/parallel.c:748 access/transam/parallel.c:867 +#: access/transam/parallel.c:755 access/transam/parallel.c:874 #, c-format msgid "parallel worker failed to initialize" msgstr "не удалось инициализировать параллельный исполнитель" -#: access/transam/parallel.c:749 access/transam/parallel.c:868 +#: access/transam/parallel.c:756 access/transam/parallel.c:875 #, c-format msgid "More details may be available in the server log." msgstr "Дополнительная информация может быть в журнале сервера." -#: access/transam/parallel.c:929 +#: access/transam/parallel.c:936 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "postmaster завершился в процессе параллельной транзакции" -#: access/transam/parallel.c:1116 +#: access/transam/parallel.c:1123 #, c-format msgid "lost connection to parallel worker" msgstr "потеряно подключение к параллельному исполнителю" -#: access/transam/parallel.c:1172 access/transam/parallel.c:1174 +#: access/transam/parallel.c:1179 access/transam/parallel.c:1181 msgid "parallel worker" msgstr "параллельный исполнитель" -#: access/transam/parallel.c:1344 replication/logical/applyparallelworker.c:897 +#: access/transam/parallel.c:1351 replication/logical/applyparallelworker.c:897 #, c-format msgid "could not map dynamic shared memory segment" msgstr "не удалось отобразить динамический сегмент разделяемой памяти" -#: access/transam/parallel.c:1349 replication/logical/applyparallelworker.c:903 +#: access/transam/parallel.c:1356 replication/logical/applyparallelworker.c:903 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "неверное магическое число в динамическом сегменте разделяемой памяти" @@ -2592,7 +2606,7 @@ "Для WAL-записи %X/%X найден файл состояния двухфазной фиксации, но эта " "транзакция уже была восстановлена с диска." -#: access/transam/twophase.c:2524 storage/file/fd.c:511 utils/fmgr/dfmgr.c:209 +#: access/transam/twophase.c:2524 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209 #, c-format msgid "could not access file \"%s\": %m" msgstr "ошибка при обращении к файлу \"%s\": %m" @@ -2677,109 +2691,109 @@ msgid "cannot have more than 2^32-2 commands in a transaction" msgstr "в одной транзакции не может быть больше 2^32-2 команд" -#: access/transam/xact.c:1664 +#: access/transam/xact.c:1674 #, c-format msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "превышен предел числа зафиксированных подтранзакций (%d)" -#: access/transam/xact.c:2561 +#: access/transam/xact.c:2571 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary objects" msgstr "" "нельзя выполнить PREPARE для транзакции, оперирующей с временными объектами" -#: access/transam/xact.c:2571 +#: access/transam/xact.c:2581 #, c-format msgid "cannot PREPARE a transaction that has exported snapshots" msgstr "нельзя выполнить PREPARE для транзакции, снимки которой экспортированы" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3593 +#: access/transam/xact.c:3603 #, c-format msgid "%s cannot run inside a transaction block" msgstr "%s не может выполняться внутри блока транзакции" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3603 +#: access/transam/xact.c:3613 #, c-format msgid "%s cannot run inside a subtransaction" msgstr "%s не может выполняться внутри подтранзакции" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3613 +#: access/transam/xact.c:3623 #, c-format msgid "%s cannot be executed within a pipeline" msgstr "%s нельзя выполнять в конвейере" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3623 +#: access/transam/xact.c:3633 #, c-format msgid "%s cannot be executed from a function" msgstr "%s нельзя выполнять внутри функции" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3694 access/transam/xact.c:4019 -#: access/transam/xact.c:4098 access/transam/xact.c:4221 -#: access/transam/xact.c:4372 access/transam/xact.c:4441 -#: access/transam/xact.c:4552 +#: access/transam/xact.c:3704 access/transam/xact.c:4029 +#: access/transam/xact.c:4108 access/transam/xact.c:4231 +#: access/transam/xact.c:4382 access/transam/xact.c:4451 +#: access/transam/xact.c:4562 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%s может выполняться только внутри блоков транзакций" -#: access/transam/xact.c:3905 +#: access/transam/xact.c:3915 #, c-format msgid "there is already a transaction in progress" msgstr "транзакция уже выполняется" -#: access/transam/xact.c:4024 access/transam/xact.c:4103 -#: access/transam/xact.c:4226 +#: access/transam/xact.c:4034 access/transam/xact.c:4113 +#: access/transam/xact.c:4236 #, c-format msgid "there is no transaction in progress" msgstr "нет незавершённой транзакции" -#: access/transam/xact.c:4114 +#: access/transam/xact.c:4124 #, c-format msgid "cannot commit during a parallel operation" msgstr "фиксировать транзакции во время параллельных операций нельзя" -#: access/transam/xact.c:4237 +#: access/transam/xact.c:4247 #, c-format msgid "cannot abort during a parallel operation" msgstr "прерывание во время параллельных операций невозможно" -#: access/transam/xact.c:4336 +#: access/transam/xact.c:4346 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "определять точки сохранения во время параллельных операций нельзя" -#: access/transam/xact.c:4423 +#: access/transam/xact.c:4433 #, c-format msgid "cannot release savepoints during a parallel operation" msgstr "высвобождать точки сохранения во время параллельных операций нельзя" -#: access/transam/xact.c:4433 access/transam/xact.c:4484 -#: access/transam/xact.c:4544 access/transam/xact.c:4593 +#: access/transam/xact.c:4443 access/transam/xact.c:4494 +#: access/transam/xact.c:4554 access/transam/xact.c:4603 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "точка сохранения \"%s\" не существует" -#: access/transam/xact.c:4490 access/transam/xact.c:4599 +#: access/transam/xact.c:4500 access/transam/xact.c:4609 #, c-format msgid "savepoint \"%s\" does not exist within current savepoint level" msgstr "" "точка сохранения \"%s\" на текущем уровне точек сохранения не существует" -#: access/transam/xact.c:4532 +#: access/transam/xact.c:4542 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "откатиться к точке сохранения во время параллельных операций нельзя" -#: access/transam/xact.c:5376 +#: access/transam/xact.c:5386 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "в одной транзакции не может быть больше 2^32-1 подтранзакций" -#: access/transam/xlog.c:1543 +#: access/transam/xlog.c:1542 #, c-format msgid "" "request to flush past end of generated WAL; request %X/%X, current position " @@ -2788,7 +2802,7 @@ "запрос на сброс данных за концом сгенерированного WAL; запрошена позиция %X/" "%X, текущая позиция %X/%X" -#: access/transam/xlog.c:1770 +#: access/transam/xlog.c:1769 #, c-format msgid "" "cannot read past end of generated WAL: requested %X/%X, current position %X/" @@ -2797,64 +2811,64 @@ "чтение за концом сгенерированного WAL невозможно: запрошена позиция %X/%X, " "текущая позиция %X/%X" -#: access/transam/xlog.c:2211 access/transam/xlog.c:4483 +#: access/transam/xlog.c:2210 access/transam/xlog.c:4482 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "" "Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 ГБ." -#: access/transam/xlog.c:2459 +#: access/transam/xlog.c:2458 #, 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:3721 access/transam/xlogutils.c:831 +#: access/transam/xlog.c:3720 access/transam/xlogutils.c:831 #: replication/walsender.c:3093 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "запрошенный сегмент WAL %s уже удалён" -#: access/transam/xlog.c:4043 +#: access/transam/xlog.c:4042 #, c-format msgid "could not rename file \"%s\": %m" msgstr "не удалось переименовать файл \"%s\": %m" -#: access/transam/xlog.c:4086 access/transam/xlog.c:4097 -#: access/transam/xlog.c:4118 +#: access/transam/xlog.c:4085 access/transam/xlog.c:4096 +#: access/transam/xlog.c:4117 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "требуемый каталог WAL \"%s\" не существует" -#: access/transam/xlog.c:4103 access/transam/xlog.c:4124 +#: access/transam/xlog.c:4102 access/transam/xlog.c:4123 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "создаётся отсутствующий каталог WAL \"%s\"" -#: access/transam/xlog.c:4107 access/transam/xlog.c:4127 +#: access/transam/xlog.c:4106 access/transam/xlog.c:4126 #: commands/dbcommands.c:3262 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "не удалось создать отсутствующий каталог \"%s\": %m" -#: access/transam/xlog.c:4194 +#: access/transam/xlog.c:4193 #, c-format msgid "could not generate secret authorization token" msgstr "не удалось сгенерировать случайное число для аутентификации" -#: access/transam/xlog.c:4345 access/transam/xlog.c:4355 -#: access/transam/xlog.c:4381 access/transam/xlog.c:4389 -#: access/transam/xlog.c:4397 access/transam/xlog.c:4403 -#: access/transam/xlog.c:4411 access/transam/xlog.c:4419 -#: access/transam/xlog.c:4427 access/transam/xlog.c:4435 -#: access/transam/xlog.c:4443 access/transam/xlog.c:4451 -#: access/transam/xlog.c:4461 access/transam/xlog.c:4469 +#: access/transam/xlog.c:4344 access/transam/xlog.c:4354 +#: access/transam/xlog.c:4380 access/transam/xlog.c:4388 +#: access/transam/xlog.c:4396 access/transam/xlog.c:4402 +#: access/transam/xlog.c:4410 access/transam/xlog.c:4418 +#: access/transam/xlog.c:4426 access/transam/xlog.c:4434 +#: access/transam/xlog.c:4442 access/transam/xlog.c:4450 +#: access/transam/xlog.c:4460 access/transam/xlog.c:4468 #: utils/init/miscinit.c:1813 #, c-format msgid "database files are incompatible with server" msgstr "файлы базы данных несовместимы с сервером" -#: access/transam/xlog.c:4346 +#: access/transam/xlog.c:4345 #, c-format msgid "" "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), " @@ -2863,7 +2877,7 @@ "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d (0x%08x), но " "сервер скомпилирован с PG_CONTROL_VERSION %d (0x%08x)." -#: access/transam/xlog.c:4350 +#: access/transam/xlog.c:4349 #, c-format msgid "" "This could be a problem of mismatched byte ordering. It looks like you need " @@ -2872,7 +2886,7 @@ "Возможно, проблема вызвана разным порядком байт. Кажется, вам надо выполнить " "initdb." -#: access/transam/xlog.c:4356 +#: access/transam/xlog.c:4355 #, c-format msgid "" "The database cluster was initialized with PG_CONTROL_VERSION %d, but the " @@ -2881,18 +2895,18 @@ "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d, но сервер " "скомпилирован с PG_CONTROL_VERSION %d." -#: access/transam/xlog.c:4359 access/transam/xlog.c:4385 -#: access/transam/xlog.c:4393 access/transam/xlog.c:4399 +#: access/transam/xlog.c:4358 access/transam/xlog.c:4384 +#: access/transam/xlog.c:4392 access/transam/xlog.c:4398 #, c-format msgid "It looks like you need to initdb." msgstr "Кажется, вам надо выполнить initdb." -#: access/transam/xlog.c:4371 +#: access/transam/xlog.c:4370 #, c-format msgid "incorrect checksum in control file" msgstr "ошибка контрольной суммы в файле pg_control" -#: access/transam/xlog.c:4382 +#: access/transam/xlog.c:4381 #, c-format msgid "" "The database cluster was initialized with CATALOG_VERSION_NO %d, but the " @@ -2901,7 +2915,7 @@ "Кластер баз данных был инициализирован с CATALOG_VERSION_NO %d, но сервер " "скомпилирован с CATALOG_VERSION_NO %d." -#: access/transam/xlog.c:4390 +#: access/transam/xlog.c:4389 #, c-format msgid "" "The database cluster was initialized with MAXALIGN %d, but the server was " @@ -2910,7 +2924,7 @@ "Кластер баз данных был инициализирован с MAXALIGN %d, но сервер " "скомпилирован с MAXALIGN %d." -#: access/transam/xlog.c:4398 +#: access/transam/xlog.c:4397 #, c-format msgid "" "The database cluster appears to use a different floating-point number format " @@ -2919,7 +2933,7 @@ "Кажется, в кластере баз данных и в программе сервера используются разные " "форматы чисел с плавающей точкой." -#: access/transam/xlog.c:4404 +#: access/transam/xlog.c:4403 #, c-format msgid "" "The database cluster was initialized with BLCKSZ %d, but the server was " @@ -2928,16 +2942,16 @@ "Кластер баз данных был инициализирован с BLCKSZ %d, но сервер скомпилирован " "с BLCKSZ %d." -#: access/transam/xlog.c:4407 access/transam/xlog.c:4415 -#: access/transam/xlog.c:4423 access/transam/xlog.c:4431 -#: access/transam/xlog.c:4439 access/transam/xlog.c:4447 -#: access/transam/xlog.c:4455 access/transam/xlog.c:4464 -#: access/transam/xlog.c:4472 +#: access/transam/xlog.c:4406 access/transam/xlog.c:4414 +#: access/transam/xlog.c:4422 access/transam/xlog.c:4430 +#: access/transam/xlog.c:4438 access/transam/xlog.c:4446 +#: access/transam/xlog.c:4454 access/transam/xlog.c:4463 +#: access/transam/xlog.c:4471 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "Кажется, вам надо перекомпилировать сервер или выполнить initdb." -#: access/transam/xlog.c:4412 +#: access/transam/xlog.c:4411 #, c-format msgid "" "The database cluster was initialized with RELSEG_SIZE %d, but the server was " @@ -2946,7 +2960,7 @@ "Кластер баз данных был инициализирован с RELSEG_SIZE %d, но сервер " "скомпилирован с RELSEG_SIZE %d." -#: access/transam/xlog.c:4420 +#: access/transam/xlog.c:4419 #, c-format msgid "" "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was " @@ -2955,7 +2969,7 @@ "Кластер баз данных был инициализирован с XLOG_BLCKSZ %d, но сервер " "скомпилирован с XLOG_BLCKSZ %d." -#: access/transam/xlog.c:4428 +#: access/transam/xlog.c:4427 #, c-format msgid "" "The database cluster was initialized with NAMEDATALEN %d, but the server was " @@ -2964,7 +2978,7 @@ "Кластер баз данных был инициализирован с NAMEDATALEN %d, но сервер " "скомпилирован с NAMEDATALEN %d." -#: access/transam/xlog.c:4436 +#: access/transam/xlog.c:4435 #, c-format msgid "" "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server " @@ -2973,7 +2987,7 @@ "Кластер баз данных был инициализирован с INDEX_MAX_KEYS %d, но сервер " "скомпилирован с INDEX_MAX_KEYS %d." -#: access/transam/xlog.c:4444 +#: access/transam/xlog.c:4443 #, c-format msgid "" "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the " @@ -2982,7 +2996,7 @@ "Кластер баз данных был инициализирован с TOAST_MAX_CHUNK_SIZE %d, но сервер " "скомпилирован с TOAST_MAX_CHUNK_SIZE %d." -#: access/transam/xlog.c:4452 +#: access/transam/xlog.c:4451 #, c-format msgid "" "The database cluster was initialized with LOBLKSIZE %d, but the server was " @@ -2991,7 +3005,7 @@ "Кластер баз данных был инициализирован с LOBLKSIZE %d, но сервер " "скомпилирован с LOBLKSIZE %d." -#: access/transam/xlog.c:4462 +#: access/transam/xlog.c:4461 #, c-format msgid "" "The database cluster was initialized without USE_FLOAT8_BYVAL but the server " @@ -3000,7 +3014,7 @@ "Кластер баз данных был инициализирован без USE_FLOAT8_BYVAL, но сервер " "скомпилирован с USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4470 +#: access/transam/xlog.c:4469 #, c-format msgid "" "The database cluster was initialized with USE_FLOAT8_BYVAL but the server " @@ -3009,7 +3023,7 @@ "Кластер баз данных был инициализирован с USE_FLOAT8_BYVAL, но сервер был " "скомпилирован без USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4479 +#: access/transam/xlog.c:4478 #, c-format msgid "invalid WAL segment size in control file (%d byte)" msgid_plural "invalid WAL segment size in control file (%d bytes)" @@ -3017,45 +3031,45 @@ msgstr[1] "управляющий файл содержит неверный размер сегмента WAL (%d Б)" msgstr[2] "управляющий файл содержит неверный размер сегмента WAL (%d Б)" -#: access/transam/xlog.c:4492 +#: access/transam/xlog.c:4491 #, c-format msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "\"min_wal_size\" должен быть минимум вдвое больше \"wal_segment_size\"" -#: access/transam/xlog.c:4496 +#: access/transam/xlog.c:4495 #, c-format msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "\"max_wal_size\" должен быть минимум вдвое больше \"wal_segment_size\"" -#: access/transam/xlog.c:4644 catalog/namespace.c:4699 +#: access/transam/xlog.c:4643 catalog/namespace.c:4699 #: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 -#: replication/slot.c:2455 tcop/postgres.c:3715 utils/error/elog.c:2247 +#: replication/slot.c:2487 tcop/postgres.c:3715 utils/error/elog.c:2247 #, c-format msgid "List syntax is invalid." msgstr "Ошибка синтаксиса в списке." -#: access/transam/xlog.c:4690 commands/user.c:2545 commands/variable.c:173 +#: access/transam/xlog.c:4689 commands/user.c:2545 commands/variable.c:173 #: tcop/postgres.c:3731 utils/error/elog.c:2273 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "нераспознанное ключевое слово: \"%s\"." -#: access/transam/xlog.c:5111 +#: access/transam/xlog.c:5110 #, c-format msgid "could not write bootstrap write-ahead log file: %m" msgstr "не удалось записать начальный файл журнала предзаписи: %m" -#: access/transam/xlog.c:5119 +#: access/transam/xlog.c:5118 #, c-format msgid "could not fsync bootstrap write-ahead log file: %m" msgstr "не удалось сбросить на диск начальный файл журнала предзаписи: %m" -#: access/transam/xlog.c:5125 +#: access/transam/xlog.c:5124 #, c-format msgid "could not close bootstrap write-ahead log file: %m" msgstr "не удалось закрыть начальный файл журнала предзаписи: %m" -#: access/transam/xlog.c:5350 +#: access/transam/xlog.c:5349 #, c-format msgid "" "WAL was generated with \"wal_level=minimal\", cannot continue recovering" @@ -3063,13 +3077,13 @@ "WAL был создан с параметром \"wal_level=minimal\", продолжение " "восстановления невозможно" -#: access/transam/xlog.c:5351 +#: access/transam/xlog.c:5350 #, c-format msgid "" "This happens if you temporarily set \"wal_level=minimal\" on the server." msgstr "Это происходит, если вы на время устанавливали \"wal_level=minimal\"." -#: access/transam/xlog.c:5352 +#: access/transam/xlog.c:5351 #, c-format msgid "" "Use a backup taken after setting \"wal_level\" to higher than \"minimal\"." @@ -3077,32 +3091,32 @@ "Используйте резервную копию, сделанную после переключения \"wal_level\" на " "любой уровень выше \"minimal\"." -#: access/transam/xlog.c:5417 +#: access/transam/xlog.c:5416 #, c-format msgid "control file contains invalid checkpoint location" msgstr "файл pg_control содержит неправильную позицию контрольной точки" -#: access/transam/xlog.c:5428 +#: access/transam/xlog.c:5427 #, c-format msgid "database system was shut down at %s" msgstr "система БД была выключена: %s" -#: access/transam/xlog.c:5434 +#: access/transam/xlog.c:5433 #, c-format msgid "database system was shut down in recovery at %s" msgstr "система БД была выключена в процессе восстановления: %s" -#: access/transam/xlog.c:5440 +#: access/transam/xlog.c:5439 #, c-format msgid "database system shutdown was interrupted; last known up at %s" msgstr "выключение системы БД было прервано; последний момент работы: %s" -#: access/transam/xlog.c:5446 +#: access/transam/xlog.c:5445 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "работа системы БД была прервана во время восстановления: %s" -#: access/transam/xlog.c:5448 +#: access/transam/xlog.c:5447 #, c-format msgid "" "This probably means that some data is corrupted and you will have to use the " @@ -3111,14 +3125,14 @@ "Это скорее всего означает, что некоторые данные повреждены и вам придётся " "восстановить БД из последней резервной копии." -#: access/transam/xlog.c:5454 +#: access/transam/xlog.c:5453 #, c-format msgid "database system was interrupted while in recovery at log time %s" msgstr "" "работа системы БД была прервана в процессе восстановления, время в журнале: " "%s" -#: access/transam/xlog.c:5456 +#: access/transam/xlog.c:5455 #, c-format msgid "" "If this has occurred more than once some data might be corrupted and you " @@ -3127,22 +3141,22 @@ "Если это происходит постоянно, возможно, какие-то данные были испорчены и " "для восстановления стоит выбрать более раннюю точку." -#: access/transam/xlog.c:5462 +#: access/transam/xlog.c:5461 #, c-format msgid "database system was interrupted; last known up at %s" msgstr "работа системы БД была прервана; последний момент работы: %s" -#: access/transam/xlog.c:5469 +#: access/transam/xlog.c:5468 #, c-format msgid "control file contains invalid database cluster state" msgstr "файл pg_control содержит неверный код состояния кластера" -#: access/transam/xlog.c:5857 +#: access/transam/xlog.c:5856 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL закончился без признака окончания копирования" -#: access/transam/xlog.c:5858 +#: access/transam/xlog.c:5857 #, c-format msgid "" "All WAL generated while online backup was taken must be available at " @@ -3151,40 +3165,40 @@ "Все журналы WAL, созданные во время резервного копирования \"на ходу\", " "должны быть в наличии для восстановления." -#: access/transam/xlog.c:5862 +#: access/transam/xlog.c:5861 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL закончился до согласованной точки восстановления" -#: access/transam/xlog.c:5908 +#: access/transam/xlog.c:5907 #, c-format msgid "selected new timeline ID: %u" msgstr "выбранный ID новой линии времени: %u" -#: access/transam/xlog.c:5941 +#: access/transam/xlog.c:5940 #, c-format msgid "archive recovery complete" msgstr "восстановление архива завершено" -#: access/transam/xlog.c:6594 +#: access/transam/xlog.c:6593 #, c-format msgid "shutting down" msgstr "выключение" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6633 +#: access/transam/xlog.c:6632 #, c-format msgid "restartpoint starting:%s%s%s%s%s%s%s%s" msgstr "начата точка перезапуска:%s%s%s%s%s%s%s%s" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6645 +#: access/transam/xlog.c:6644 #, c-format msgid "checkpoint starting:%s%s%s%s%s%s%s%s" msgstr "начата контрольная точка:%s%s%s%s%s%s%s%s" # well-spelled: синхр -#: access/transam/xlog.c:6710 +#: access/transam/xlog.c:6709 #, c-format msgid "" "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d " @@ -3199,7 +3213,7 @@ "lsn=%X/%X, lsn redo=%X/%X" # well-spelled: синхр -#: access/transam/xlog.c:6733 +#: access/transam/xlog.c:6732 #, c-format msgid "" "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d " @@ -3213,7 +3227,7 @@ "=%ld.%03d сек., средняя=%ld.%03d сек.; расстояние=%d КБ, ожидалось=%d КБ; " "lsn=%X/%X, lsn redo=%X/%X" -#: access/transam/xlog.c:7225 +#: access/transam/xlog.c:7234 #, c-format msgid "" "concurrent write-ahead log activity while database system is shutting down" @@ -3221,64 +3235,64 @@ "во время выключения системы баз данных отмечена активность в журнале " "предзаписи" -#: access/transam/xlog.c:7838 +#: access/transam/xlog.c:7864 #, c-format msgid "recovery restart point at %X/%X" msgstr "точка перезапуска восстановления в позиции %X/%X" -#: access/transam/xlog.c:7840 +#: access/transam/xlog.c:7866 #, c-format msgid "Last completed transaction was at log time %s." msgstr "Последняя завершённая транзакция была выполнена в %s." -#: access/transam/xlog.c:8106 +#: access/transam/xlog.c:8132 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "точка восстановления \"%s\" создана в позиции %X/%X" -#: access/transam/xlog.c:8313 +#: access/transam/xlog.c:8339 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "" "резервное копирование \"на ходу\" было отменено, продолжить восстановление " "нельзя" -#: access/transam/xlog.c:8371 +#: access/transam/xlog.c:8397 #, c-format msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" msgstr "" "неожиданный ID линии времени %u (должен быть %u) в записи точки выключения" -#: access/transam/xlog.c:8437 +#: access/transam/xlog.c:8463 #, c-format msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" msgstr "" "неожиданный ID линии времени %u (должен быть %u) в записи точки активности" -#: access/transam/xlog.c:8474 +#: access/transam/xlog.c:8500 #, c-format msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" msgstr "" "неожиданный ID линии времени %u (должен быть %u) в записи конец-" "восстановления" -#: access/transam/xlog.c:8745 +#: access/transam/xlog.c:8771 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл сквозной записи %s: %m" -#: access/transam/xlog.c:8750 +#: access/transam/xlog.c:8776 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "не удалось синхронизировать с ФС данные (fdatasync) файла \"%s\": %m" -#: access/transam/xlog.c:8837 access/transam/xlog.c:9173 +#: access/transam/xlog.c:8863 access/transam/xlog.c:9199 #, c-format msgid "WAL level not sufficient for making an online backup" msgstr "" "Выбранный уровень WAL недостаточен для резервного копирования \"на ходу\"" -#: access/transam/xlog.c:8838 access/transam/xlogfuncs.c:248 +#: access/transam/xlog.c:8864 access/transam/xlogfuncs.c:248 #, c-format msgid "" "\"wal_level\" must be set to \"replica\" or \"logical\" at server start." @@ -3286,12 +3300,12 @@ "Параметр \"wal_level\" должен иметь значение \"replica\" или \"logical\" при " "запуске сервера." -#: access/transam/xlog.c:8843 +#: access/transam/xlog.c:8869 #, c-format msgid "backup label too long (max %d bytes)" msgstr "длина метки резервной копии превышает предел (%d байт)" -#: access/transam/xlog.c:8964 +#: access/transam/xlog.c:8990 #, c-format msgid "" "WAL generated with \"full_page_writes=off\" was replayed since last " @@ -3300,7 +3314,7 @@ "после последней точки перезапуска был воспроизведён WAL, созданный в режиме " "\"full_page_writes=off\"" -#: access/transam/xlog.c:8966 access/transam/xlog.c:9262 +#: access/transam/xlog.c:8992 access/transam/xlog.c:9288 #, c-format msgid "" "This means that the backup being taken on the standby is corrupt and should " @@ -3312,28 +3326,28 @@ "CHECKPOINT на ведущем сервере, а затем попробуйте резервное копирование \"на " "ходу\" ещё раз." -#: access/transam/xlog.c:9046 backup/basebackup.c:1417 utils/adt/misc.c:354 +#: access/transam/xlog.c:9072 backup/basebackup.c:1417 utils/adt/misc.c:354 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "не удалось прочитать символическую ссылку \"%s\": %m" -#: access/transam/xlog.c:9053 backup/basebackup.c:1422 utils/adt/misc.c:359 +#: access/transam/xlog.c:9079 backup/basebackup.c:1422 utils/adt/misc.c:359 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "целевой путь символической ссылки \"%s\" слишком длинный" -#: access/transam/xlog.c:9174 +#: access/transam/xlog.c:9200 #, c-format msgid "wal_level must be set to \"replica\" or \"logical\" at server start." msgstr "Установите wal_level \"replica\" или \"logical\" при запуске сервера." -#: access/transam/xlog.c:9212 backup/basebackup.c:1281 +#: access/transam/xlog.c:9238 backup/basebackup.c:1281 #, c-format msgid "the standby was promoted during online backup" msgstr "" "ведомый сервер был повышен в процессе резервного копирования \"на ходу\"" -#: access/transam/xlog.c:9213 backup/basebackup.c:1282 +#: access/transam/xlog.c:9239 backup/basebackup.c:1282 #, c-format msgid "" "This means that the backup being taken is corrupt and should not be used. " @@ -3342,7 +3356,7 @@ "Это означает, что создаваемая резервная копия испорчена и использовать её не " "следует. Попробуйте резервное копирование \"на ходу\" ещё раз." -#: access/transam/xlog.c:9260 +#: access/transam/xlog.c:9286 #, c-format msgid "" "WAL generated with \"full_page_writes=off\" was replayed during online backup" @@ -3350,13 +3364,13 @@ "в процессе резервного копирования \"на ходу\" был воспроизведён WAL, " "созданный в режиме \"full_page_writes=off\"" -#: access/transam/xlog.c:9376 +#: access/transam/xlog.c:9402 #, c-format msgid "base backup done, waiting for required WAL segments to be archived" msgstr "" "базовое копирование выполнено, ожидается архивация нужных сегментов WAL" -#: access/transam/xlog.c:9390 +#: access/transam/xlog.c:9416 #, c-format msgid "" "still waiting for all required WAL segments to be archived (%d seconds " @@ -3364,7 +3378,7 @@ msgstr "" "продолжается ожидание архивации всех нужных сегментов WAL (прошло %d сек.)" -#: access/transam/xlog.c:9392 +#: access/transam/xlog.c:9418 #, c-format msgid "" "Check that your \"archive_command\" is executing properly. You can safely " @@ -3375,12 +3389,12 @@ "копирования можно отменить безопасно, но резервная копия базы будет " "непригодна без всех сегментов WAL." -#: access/transam/xlog.c:9399 +#: access/transam/xlog.c:9425 #, c-format msgid "all required WAL segments have been archived" msgstr "все нужные сегменты WAL заархивированы" -#: access/transam/xlog.c:9403 +#: access/transam/xlog.c:9429 #, c-format msgid "" "WAL archiving is not enabled; you must ensure that all required WAL segments " @@ -3389,7 +3403,7 @@ "архивация WAL не настроена; вы должны обеспечить копирование всех требуемых " "сегментов WAL другими средствами для получения резервной копии" -#: access/transam/xlog.c:9442 +#: access/transam/xlog.c:9468 #, c-format msgid "aborting backup due to backend exiting before pg_backup_stop was called" msgstr "" @@ -3820,49 +3834,58 @@ msgid "could not locate a valid checkpoint record at %X/%X" msgstr "не удалось найти корректную запись контрольной точки в %X/%X" -#: access/transam/xlogrecovery.c:806 +#: access/transam/xlogrecovery.c:807 +#, c-format +msgid "" +"could not find redo location %X/%08X referenced by checkpoint record at %X/" +"%08X" +msgstr "" +"не удалось найти положение REDO %X/%08X, указанное в записи контрольной " +"точки в %X/%08X" + +#: access/transam/xlogrecovery.c:816 #, c-format msgid "entering standby mode" msgstr "переход в режим резервного сервера" -#: access/transam/xlogrecovery.c:809 +#: access/transam/xlogrecovery.c:819 #, c-format msgid "starting point-in-time recovery to XID %u" msgstr "начинается восстановление точки во времени до XID %u" -#: access/transam/xlogrecovery.c:813 +#: access/transam/xlogrecovery.c:823 #, c-format msgid "starting point-in-time recovery to %s" msgstr "начинается восстановление точки во времени до %s" -#: access/transam/xlogrecovery.c:817 +#: access/transam/xlogrecovery.c:827 #, c-format msgid "starting point-in-time recovery to \"%s\"" msgstr "начинается восстановление точки во времени до \"%s\"" -#: access/transam/xlogrecovery.c:821 +#: access/transam/xlogrecovery.c:831 #, c-format msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" msgstr "" "начинается восстановление точки во времени до позиции в WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:825 +#: access/transam/xlogrecovery.c:835 #, c-format msgid "starting point-in-time recovery to earliest consistent point" msgstr "" "начинается восстановление точки во времени до первой точки согласованности" -#: access/transam/xlogrecovery.c:828 +#: access/transam/xlogrecovery.c:838 #, c-format msgid "starting archive recovery" msgstr "начинается восстановление архива" -#: access/transam/xlogrecovery.c:849 +#: access/transam/xlogrecovery.c:859 #, c-format msgid "requested timeline %u is not a child of this server's history" msgstr "в истории сервера нет ответвления запрошенной линии времени %u" -#: access/transam/xlogrecovery.c:851 +#: access/transam/xlogrecovery.c:861 #, c-format msgid "" "Latest checkpoint is at %X/%X on timeline %u, but in the history of the " @@ -3871,7 +3894,7 @@ "Последняя контрольная точка: %X/%X на линии времени %u, но в истории " "запрошенной линии времени сервер ответвился с этой линии в %X/%X." -#: access/transam/xlogrecovery.c:865 +#: access/transam/xlogrecovery.c:875 #, c-format msgid "" "requested timeline %u does not contain minimum recovery point %X/%X on " @@ -3880,22 +3903,22 @@ "запрошенная линия времени %u не содержит минимальную точку восстановления %X/" "%X на линии времени %u" -#: access/transam/xlogrecovery.c:893 +#: access/transam/xlogrecovery.c:903 #, c-format msgid "invalid next transaction ID" msgstr "неверный ID следующей транзакции" -#: access/transam/xlogrecovery.c:898 +#: access/transam/xlogrecovery.c:908 #, c-format msgid "invalid redo in checkpoint record" msgstr "неверная запись REDO в контрольной точке" -#: access/transam/xlogrecovery.c:909 +#: access/transam/xlogrecovery.c:919 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "неверная запись REDO в контрольной точке выключения" -#: access/transam/xlogrecovery.c:938 +#: access/transam/xlogrecovery.c:948 #, c-format msgid "" "database system was not properly shut down; automatic recovery in progress" @@ -3903,19 +3926,19 @@ "система БД была остановлена нештатно; производится автоматическое " "восстановление" -#: access/transam/xlogrecovery.c:942 +#: access/transam/xlogrecovery.c:952 #, c-format msgid "crash recovery starts in timeline %u and has target timeline %u" msgstr "" "восстановление после сбоя начинается на линии времени %u, целевая линия " "времени: %u" -#: access/transam/xlogrecovery.c:985 +#: access/transam/xlogrecovery.c:995 #, c-format msgid "backup_label contains data inconsistent with control file" msgstr "backup_label содержит данные, не согласованные с файлом pg_control" -#: access/transam/xlogrecovery.c:986 +#: access/transam/xlogrecovery.c:996 #, c-format msgid "" "This means that the backup is corrupted and you will have to use another " @@ -3924,24 +3947,24 @@ "Это означает, что резервная копия повреждена и для восстановления БД " "придётся использовать другую копию." -#: access/transam/xlogrecovery.c:1040 +#: access/transam/xlogrecovery.c:1050 #, c-format msgid "using recovery command file \"%s\" is not supported" msgstr "" "использование файла с конфигурацией восстановления \"%s\" не поддерживается" -#: access/transam/xlogrecovery.c:1105 +#: access/transam/xlogrecovery.c:1115 #, c-format msgid "standby mode is not supported by single-user servers" msgstr "" "режим резервного сервера не поддерживается однопользовательским сервером" -#: access/transam/xlogrecovery.c:1122 +#: access/transam/xlogrecovery.c:1132 #, c-format msgid "specified neither \"primary_conninfo\" nor \"restore_command\"" msgstr "не указано ни \"primary_conninfo\", ни \"restore_command\"" -#: access/transam/xlogrecovery.c:1123 +#: access/transam/xlogrecovery.c:1133 #, c-format msgid "" "The database server will regularly poll the pg_wal subdirectory to check for " @@ -3950,103 +3973,103 @@ "Сервер БД будет регулярно опрашивать подкаталог pg_wal и проверять " "содержащиеся в нём файлы." -#: access/transam/xlogrecovery.c:1131 +#: access/transam/xlogrecovery.c:1141 #, c-format msgid "must specify \"restore_command\" when standby mode is not enabled" msgstr "" "необходимо задать \"restore_command\", если не выбран режим резервного " "сервера" -#: access/transam/xlogrecovery.c:1169 +#: access/transam/xlogrecovery.c:1179 #, c-format msgid "recovery target timeline %u does not exist" msgstr "целевая линия времени для восстановления %u не существует" -#: access/transam/xlogrecovery.c:1252 access/transam/xlogrecovery.c:1259 -#: access/transam/xlogrecovery.c:1318 access/transam/xlogrecovery.c:1406 -#: access/transam/xlogrecovery.c:1415 access/transam/xlogrecovery.c:1435 +#: access/transam/xlogrecovery.c:1262 access/transam/xlogrecovery.c:1269 +#: access/transam/xlogrecovery.c:1328 access/transam/xlogrecovery.c:1416 +#: access/transam/xlogrecovery.c:1425 access/transam/xlogrecovery.c:1445 #, c-format msgid "invalid data in file \"%s\"" msgstr "неверные данные в файле \"%s\"" -#: access/transam/xlogrecovery.c:1319 +#: access/transam/xlogrecovery.c:1329 #, c-format msgid "Timeline ID parsed is %u, but expected %u." msgstr "Получен идентификатор линии времени %u, но ожидался %u." -#: access/transam/xlogrecovery.c:1330 +#: access/transam/xlogrecovery.c:1340 #, c-format msgid "this is an incremental backup, not a data directory" msgstr "это каталог инкрементальной копии, не каталог данных" -#: access/transam/xlogrecovery.c:1331 +#: access/transam/xlogrecovery.c:1341 #, c-format msgid "Use pg_combinebackup to reconstruct a valid data directory." msgstr "" "Реконструируйте полноценный каталог данных, используя pg_combinebackup." -#: access/transam/xlogrecovery.c:1717 +#: access/transam/xlogrecovery.c:1727 #, c-format msgid "unexpected record type found at redo point %X/%X" msgstr "в точке redo %X/%X обнаружена запись неожиданного типа" -#: access/transam/xlogrecovery.c:1740 +#: access/transam/xlogrecovery.c:1750 #, c-format msgid "redo starts at %X/%X" msgstr "запись REDO начинается со смещения %X/%X" -#: access/transam/xlogrecovery.c:1753 +#: access/transam/xlogrecovery.c:1763 #, c-format msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X" msgstr "" "выполняется воспроизведение, прошло времени: %ld.%02d с, текущий LSN: %X/%X" -#: access/transam/xlogrecovery.c:1843 +#: access/transam/xlogrecovery.c:1853 #, c-format msgid "requested recovery stop point is before consistent recovery point" msgstr "" "запрошенная точка остановки восстановления предшествует согласованной точке " "восстановления" -#: access/transam/xlogrecovery.c:1875 +#: access/transam/xlogrecovery.c:1885 #, c-format msgid "redo done at %X/%X system usage: %s" msgstr "записи REDO обработаны до смещения %X/%X, нагрузка системы: %s" -#: access/transam/xlogrecovery.c:1881 +#: access/transam/xlogrecovery.c:1891 #, c-format msgid "last completed transaction was at log time %s" msgstr "последняя завершённая транзакция была выполнена в %s" -#: access/transam/xlogrecovery.c:1890 +#: access/transam/xlogrecovery.c:1900 #, c-format msgid "redo is not required" msgstr "данные REDO не требуются" -#: access/transam/xlogrecovery.c:1901 +#: access/transam/xlogrecovery.c:1911 #, c-format msgid "recovery ended before configured recovery target was reached" msgstr "восстановление окончилось до достижения заданной цели восстановления" -#: access/transam/xlogrecovery.c:2095 +#: access/transam/xlogrecovery.c:2105 #, c-format msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" msgstr "" "успешно пропущена отсутствующая запись contrecord в %X/%X, перезаписанная в " "%s" -#: access/transam/xlogrecovery.c:2162 +#: access/transam/xlogrecovery.c:2172 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "в %2$s обнаружен недопустимый элемент-каталог \"%1$s\"" -#: access/transam/xlogrecovery.c:2164 +#: access/transam/xlogrecovery.c:2174 #, c-format msgid "All directory entries in pg_tblspc/ should be symbolic links." msgstr "" "Все элементы-каталоги в pg_tblspc/ должны быть символическими ссылками." -#: access/transam/xlogrecovery.c:2165 +#: access/transam/xlogrecovery.c:2175 #, c-format msgid "" "Remove those directories, or set \"allow_in_place_tablespaces\" to ON " @@ -4055,23 +4078,23 @@ "Удалите эти каталоги или на время установите в " "\"allow_in_place_tablespaces\" значение ON, чтобы восстановление завершилось." -#: access/transam/xlogrecovery.c:2217 +#: access/transam/xlogrecovery.c:2227 #, c-format msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X" msgstr "завершено восстановление копии с LSN redo %X/%X и конечным LSN %X/%X" -#: access/transam/xlogrecovery.c:2247 +#: access/transam/xlogrecovery.c:2257 #, c-format msgid "consistent recovery state reached at %X/%X" msgstr "согласованное состояние восстановления достигнуто в позиции %X/%X" #. translator: %s is a WAL record description -#: access/transam/xlogrecovery.c:2285 +#: access/transam/xlogrecovery.c:2295 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "запись REDO в WAL в позиции %X/%X для %s" -#: access/transam/xlogrecovery.c:2383 +#: access/transam/xlogrecovery.c:2393 #, c-format msgid "" "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint " @@ -4080,13 +4103,13 @@ "неожиданный ID предыдущей линии времени %u (ID текущей линии времени %u) в " "записи контрольной точки" -#: access/transam/xlogrecovery.c:2392 +#: access/transam/xlogrecovery.c:2402 #, c-format msgid "unexpected timeline ID %u (after %u) in checkpoint record" msgstr "неожиданный ID линии времени %u (после %u) в записи контрольной точки" # skip-rule: capital-letter-first -#: access/transam/xlogrecovery.c:2408 +#: access/transam/xlogrecovery.c:2418 #, c-format msgid "" "unexpected timeline ID %u in checkpoint record, before reaching minimum " @@ -4095,83 +4118,83 @@ "неожиданный ID линии времени %u в записи контрольной точки, до достижения " "минимальной к. т. %X/%X на линии времени %u" -#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868 +#: access/transam/xlogrecovery.c:2602 access/transam/xlogrecovery.c:2878 #, c-format msgid "recovery stopping after reaching consistency" msgstr "" "восстановление останавливается после достижения согласованного состояния" -#: access/transam/xlogrecovery.c:2613 +#: access/transam/xlogrecovery.c:2623 #, c-format msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" msgstr "восстановление останавливается перед позицией в WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2703 +#: access/transam/xlogrecovery.c:2713 #, c-format msgid "recovery stopping before commit of transaction %u, time %s" msgstr "" "восстановление останавливается перед фиксированием транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2710 +#: access/transam/xlogrecovery.c:2720 #, c-format msgid "recovery stopping before abort of transaction %u, time %s" msgstr "" "восстановление останавливается перед прерыванием транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2763 +#: access/transam/xlogrecovery.c:2773 #, c-format msgid "recovery stopping at restore point \"%s\", time %s" msgstr "восстановление останавливается в точке восстановления \"%s\", время %s" -#: access/transam/xlogrecovery.c:2781 +#: access/transam/xlogrecovery.c:2791 #, c-format msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" msgstr "восстановление останавливается после позиции в WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2848 +#: access/transam/xlogrecovery.c:2858 #, c-format msgid "recovery stopping after commit of transaction %u, time %s" msgstr "" "восстановление останавливается после фиксирования транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2856 +#: access/transam/xlogrecovery.c:2866 #, c-format msgid "recovery stopping after abort of transaction %u, time %s" msgstr "" "восстановление останавливается после прерывания транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2937 +#: access/transam/xlogrecovery.c:2947 #, c-format msgid "pausing at the end of recovery" msgstr "остановка в конце восстановления" -#: access/transam/xlogrecovery.c:2938 +#: access/transam/xlogrecovery.c:2948 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "Выполните pg_wal_replay_resume() для повышения." -#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4690 +#: access/transam/xlogrecovery.c:2951 access/transam/xlogrecovery.c:4700 #, c-format msgid "recovery has paused" msgstr "восстановление приостановлено" -#: access/transam/xlogrecovery.c:2942 +#: access/transam/xlogrecovery.c:2952 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "Выполните pg_wal_replay_resume() для продолжения." -#: access/transam/xlogrecovery.c:3205 +#: access/transam/xlogrecovery.c:3215 #, c-format msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u" msgstr "" "неожиданный ID линии времени %u в сегменте WAL %s, LSN %X/%X, смещение %u" -#: access/transam/xlogrecovery.c:3413 +#: access/transam/xlogrecovery.c:3423 #, c-format msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m" msgstr "не удалось прочитать сегмент WAL %s, LSN %X/%X, смещение %u: %m" -#: access/transam/xlogrecovery.c:3420 +#: access/transam/xlogrecovery.c:3430 #, c-format msgid "" "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu" @@ -4179,38 +4202,38 @@ "не удалось прочитать сегмент WAL %s, LSN %X/%X, смещение %u (прочитано байт: " "%d из %zu)" -#: access/transam/xlogrecovery.c:4072 +#: access/transam/xlogrecovery.c:4082 #, c-format msgid "invalid checkpoint location" msgstr "неверное положение контрольной точки" -#: access/transam/xlogrecovery.c:4082 +#: access/transam/xlogrecovery.c:4092 #, c-format msgid "invalid checkpoint record" msgstr "неверная запись контрольной точки" -#: access/transam/xlogrecovery.c:4088 +#: access/transam/xlogrecovery.c:4098 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "неверный ID менеджера ресурсов в записи контрольной точки" -#: access/transam/xlogrecovery.c:4096 +#: access/transam/xlogrecovery.c:4106 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "неверные флаги xl_info в записи контрольной точки" -#: access/transam/xlogrecovery.c:4102 +#: access/transam/xlogrecovery.c:4112 #, c-format msgid "invalid length of checkpoint record" msgstr "неверная длина записи контрольной точки" -#: access/transam/xlogrecovery.c:4156 +#: access/transam/xlogrecovery.c:4166 #, c-format msgid "new timeline %u is not a child of database system timeline %u" msgstr "" "новая линия времени %u не является ответвлением линии времени системы БД %u" -#: access/transam/xlogrecovery.c:4170 +#: access/transam/xlogrecovery.c:4180 #, c-format msgid "" "new timeline %u forked off current database system timeline %u before " @@ -4219,30 +4242,30 @@ "новая линия времени %u ответвилась от текущей линии времени базы данных %u " "до текущей точки восстановления %X/%X" -#: access/transam/xlogrecovery.c:4189 +#: access/transam/xlogrecovery.c:4199 #, c-format msgid "new target timeline is %u" msgstr "новая целевая линия времени %u" -#: access/transam/xlogrecovery.c:4392 +#: access/transam/xlogrecovery.c:4402 #, c-format msgid "WAL receiver process shutdown requested" msgstr "получен запрос на выключение процесса приёмника WAL" -#: access/transam/xlogrecovery.c:4452 +#: access/transam/xlogrecovery.c:4462 #, c-format msgid "received promote request" msgstr "получен запрос повышения статуса" -#: access/transam/xlogrecovery.c:4681 +#: access/transam/xlogrecovery.c:4691 #, c-format msgid "hot standby is not possible because of insufficient parameter settings" msgstr "" "режим горячего резерва невозможен из-за отсутствия достаточных значений " "параметров" -#: access/transam/xlogrecovery.c:4682 access/transam/xlogrecovery.c:4709 -#: access/transam/xlogrecovery.c:4739 +#: access/transam/xlogrecovery.c:4692 access/transam/xlogrecovery.c:4719 +#: access/transam/xlogrecovery.c:4749 #, c-format msgid "" "%s = %d is a lower setting than on the primary server, where its value was " @@ -4250,12 +4273,12 @@ msgstr "" "Параметр %s = %d меньше, чем на ведущем сервере, где его значение было %d." -#: access/transam/xlogrecovery.c:4691 +#: access/transam/xlogrecovery.c:4701 #, c-format msgid "If recovery is unpaused, the server will shut down." msgstr "В случае возобновления восстановления сервер отключится." -#: access/transam/xlogrecovery.c:4692 +#: access/transam/xlogrecovery.c:4702 #, c-format msgid "" "You can then restart the server after making the necessary configuration " @@ -4264,24 +4287,24 @@ "Затем вы можете перезапустить сервер после внесения необходимых изменений " "конфигурации." -#: access/transam/xlogrecovery.c:4703 +#: access/transam/xlogrecovery.c:4713 #, c-format msgid "promotion is not possible because of insufficient parameter settings" msgstr "повышение невозможно из-за отсутствия достаточных значений параметров" -#: access/transam/xlogrecovery.c:4713 +#: access/transam/xlogrecovery.c:4723 #, c-format msgid "Restart the server after making the necessary configuration changes." msgstr "" "Перезапустите сервер после внесения необходимых изменений конфигурации." -#: access/transam/xlogrecovery.c:4737 +#: access/transam/xlogrecovery.c:4747 #, c-format msgid "recovery aborted because of insufficient parameter settings" msgstr "" "восстановление прервано из-за отсутствия достаточных значений параметров" -#: access/transam/xlogrecovery.c:4743 +#: access/transam/xlogrecovery.c:4753 #, c-format msgid "" "You can restart the server after making the necessary configuration changes." @@ -4289,14 +4312,14 @@ "Вы можете перезапустить сервер после внесения необходимых изменений " "конфигурации." -#: access/transam/xlogrecovery.c:4763 access/transam/xlogrecovery.c:4765 +#: access/transam/xlogrecovery.c:4773 access/transam/xlogrecovery.c:4775 #: catalog/dependency.c:1153 catalog/dependency.c:1160 #: catalog/dependency.c:1171 commands/tablecmds.c:1459 #: commands/tablecmds.c:15152 commands/tablespace.c:460 commands/user.c:1302 -#: commands/vacuum.c:212 commands/view.c:441 executor/execExprInterp.c:4655 +#: commands/vacuum.c:213 commands/view.c:441 executor/execExprInterp.c:4655 #: executor/execExprInterp.c:4663 libpq/auth.c:332 #: replication/logical/applyparallelworker.c:1048 replication/slot.c:261 -#: replication/slot.c:2470 replication/slot.c:2472 replication/syncrep.c:1078 +#: replication/slot.c:2502 replication/slot.c:2504 replication/syncrep.c:1078 #: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1432 utils/misc/guc.c:3169 #: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6836 #: utils/misc/guc.c:6870 utils/misc/guc.c:6904 utils/misc/guc.c:6947 @@ -4305,12 +4328,12 @@ msgid "%s" msgstr "%s" -#: access/transam/xlogrecovery.c:4796 +#: access/transam/xlogrecovery.c:4806 #, c-format msgid "multiple recovery targets specified" msgstr "указано несколько целей восстановления" -#: access/transam/xlogrecovery.c:4797 +#: access/transam/xlogrecovery.c:4807 #, c-format msgid "" "At most one of \"recovery_target\", \"recovery_target_lsn\", " @@ -4321,18 +4344,18 @@ "\"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\", " "\"recovery_target_xid\"." -#: access/transam/xlogrecovery.c:4808 +#: access/transam/xlogrecovery.c:4818 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "Единственное допустимое значение: \"immediate\"." -#: access/transam/xlogrecovery.c:4960 utils/adt/timestamp.c:202 +#: access/transam/xlogrecovery.c:4970 utils/adt/timestamp.c:202 #: utils/adt/timestamp.c:455 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "timestamp вне диапазона: \"%s\"" -#: access/transam/xlogrecovery.c:5005 +#: access/transam/xlogrecovery.c:5015 #, c-format msgid "\"recovery_target_timeline\" is not a valid number." msgstr "Значение \"recovery_target_timeline\" не является допустимым числом." @@ -4653,13 +4676,13 @@ msgid "The first unsummarized LSN in this range is %X/%X." msgstr "Первый необобщённый LSN в этом диапазоне: %X/%X." -#: backup/basebackup_incremental.c:938 +#: backup/basebackup_incremental.c:952 #, c-format msgid "backup manifest version 1 does not support incremental backup" msgstr "" "с версией 1 манифеста копии инкрементальное копирование не поддерживается" -#: backup/basebackup_incremental.c:956 +#: backup/basebackup_incremental.c:970 #, c-format msgid "" "system identifier in backup manifest is %llu, but database system identifier " @@ -4696,7 +4719,7 @@ #: backup/basebackup_server.c:102 commands/dbcommands.c:477 #: commands/tablespace.c:157 commands/tablespace.c:173 -#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:1992 +#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:2024 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" @@ -4715,7 +4738,7 @@ #: backup/basebackup_server.c:175 backup/basebackup_server.c:182 #: backup/basebackup_server.c:268 backup/basebackup_server.c:275 #: backup/walsummary.c:312 storage/smgr/md.c:502 storage/smgr/md.c:509 -#: storage/smgr/md.c:591 storage/smgr/md.c:613 storage/smgr/md.c:999 +#: storage/smgr/md.c:602 storage/smgr/md.c:624 storage/smgr/md.c:1010 #, c-format msgid "Check free disk space." msgstr "Проверьте, есть ли место на диске." @@ -5394,7 +5417,7 @@ msgstr "ACL параметра с OID %u не существует" #: catalog/aclchk.c:3723 commands/collationcmds.c:853 -#: commands/publicationcmds.c:1739 +#: commands/publicationcmds.c:1744 #, c-format msgid "schema with OID %u does not exist" msgstr "схема с OID %u не существует" @@ -5717,14 +5740,14 @@ msgid "generation expression is not immutable" msgstr "генерирующее выражение не является постоянным" -#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1276 +#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1279 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "столбец \"%s\" имеет тип %s, но тип выражения по умолчанию %s" #: catalog/heap.c:2864 commands/prepare.c:331 parser/analyze.c:2758 #: parser/parse_target.c:592 parser/parse_target.c:882 -#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1281 +#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1284 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Перепишите выражение или преобразуйте его тип." @@ -5826,7 +5849,7 @@ msgstr "" "значение OID индекса в pg_class не задано в режиме двоичного обновления" -#: catalog/index.c:951 utils/cache/relcache.c:3791 +#: catalog/index.c:951 utils/cache/relcache.c:3807 #, c-format msgid "index relfilenumber value not set when in binary upgrade mode" msgstr "" @@ -5837,28 +5860,28 @@ msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLY должен быть первым действием в транзакции" -#: catalog/index.c:3668 +#: catalog/index.c:3675 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "переиндексировать временные таблицы других сеансов нельзя" -#: catalog/index.c:3679 commands/indexcmds.c:3660 +#: catalog/index.c:3686 commands/indexcmds.c:3660 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "перестроить нерабочий индекс в таблице TOAST нельзя" -#: catalog/index.c:3695 commands/indexcmds.c:3538 commands/indexcmds.c:3684 +#: catalog/index.c:3702 commands/indexcmds.c:3538 commands/indexcmds.c:3684 #: commands/tablecmds.c:3581 #, c-format msgid "cannot move system relation \"%s\"" msgstr "переместить системную таблицу \"%s\" нельзя" -#: catalog/index.c:3832 +#: catalog/index.c:3839 #, c-format msgid "index \"%s\" was reindexed" msgstr "индекс \"%s\" был перестроен" -#: catalog/index.c:3998 +#: catalog/index.c:4005 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "" @@ -5866,7 +5889,7 @@ "пропускается" #: catalog/namespace.c:462 catalog/namespace.c:666 catalog/namespace.c:758 -#: commands/trigger.c:5817 +#: commands/trigger.c:5838 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "ссылки между базами не реализованы: \"%s.%s.%s\"" @@ -7274,7 +7297,7 @@ "Имя мультидиапазонного типа можно указать вручную, воспользовавшись " "атрибутом \"multirange_type_name\"." -#: catalog/storage.c:533 storage/buffer/bufmgr.c:1540 +#: catalog/storage.c:533 storage/buffer/bufmgr.c:1547 #, c-format msgid "invalid page in block %u of relation %s" msgstr "некорректная страница в блоке %u отношения %s" @@ -7397,7 +7420,7 @@ msgid "language \"%s\" already exists" msgstr "язык \"%s\" уже существует" -#: commands/alter.c:95 commands/publicationcmds.c:764 +#: commands/alter.c:95 commands/publicationcmds.c:769 #, c-format msgid "publication \"%s\" already exists" msgstr "публикация \"%s\" уже существует" @@ -7558,22 +7581,22 @@ "пропускается анализ дерева наследования \"%s.%s\" --- это дерево " "наследования не содержит анализируемых дочерних таблиц" -#: commands/async.c:612 +#: commands/async.c:611 #, c-format msgid "channel name cannot be empty" msgstr "имя канала не может быть пустым" -#: commands/async.c:618 +#: commands/async.c:617 #, c-format msgid "channel name too long" msgstr "слишком длинное имя канала" -#: commands/async.c:623 +#: commands/async.c:622 #, c-format msgid "payload string too long" msgstr "слишком длинная строка сообщения-нагрузки" -#: commands/async.c:842 +#: commands/async.c:841 #, c-format msgid "" "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" @@ -7581,7 +7604,7 @@ "выполнить PREPARE для транзакции с командами LISTEN, UNLISTEN или NOTIFY " "нельзя" -#: commands/async.c:946 +#: commands/async.c:945 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "слишком много уведомлений в очереди NOTIFY" @@ -7712,9 +7735,9 @@ #: commands/collationcmds.c:123 commands/collationcmds.c:129 #: commands/define.c:388 commands/tablecmds.c:8162 #: replication/pgoutput/pgoutput.c:315 replication/pgoutput/pgoutput.c:338 -#: replication/pgoutput/pgoutput.c:352 replication/pgoutput/pgoutput.c:362 -#: replication/pgoutput/pgoutput.c:372 replication/pgoutput/pgoutput.c:382 -#: replication/pgoutput/pgoutput.c:394 replication/walsender.c:1164 +#: replication/pgoutput/pgoutput.c:356 replication/pgoutput/pgoutput.c:366 +#: replication/pgoutput/pgoutput.c:376 replication/pgoutput/pgoutput.c:386 +#: replication/pgoutput/pgoutput.c:398 replication/walsender.c:1164 #: replication/walsender.c:1186 replication/walsender.c:1196 #: replication/walsender.c:1205 replication/walsender.c:1444 #, c-format @@ -7936,7 +7959,7 @@ #: commands/copy.c:181 commands/tablecmds.c:12858 commands/tablecmds.c:18092 #: commands/tablecmds.c:18171 commands/trigger.c:657 -#: rewrite/rewriteHandler.c:941 rewrite/rewriteHandler.c:976 +#: rewrite/rewriteHandler.c:944 rewrite/rewriteHandler.c:979 #, c-format msgid "Column \"%s\" is a generated column." msgstr "Столбец \"%s\" является генерируемым." @@ -8087,7 +8110,7 @@ msgid "Generated columns cannot be used in COPY." msgstr "Генерируемые столбцы нельзя использовать в COPY." -#: commands/copy.c:993 commands/indexcmds.c:1890 commands/statscmds.c:239 +#: commands/copy.c:993 commands/indexcmds.c:1890 commands/statscmds.c:260 #: commands/tablecmds.c:2526 commands/tablecmds.c:2997 #: commands/tablecmds.c:3808 parser/parse_relation.c:3692 #: parser/parse_relation.c:3702 parser/parse_relation.c:3720 @@ -8194,7 +8217,7 @@ msgid "%s column \"%s\" not referenced by COPY" msgstr "столбец %s \"%s\" не входит в список столбцов COPY" -#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385 +#: commands/copyfrom.c:1544 utils/mb/mbutils.c:386 #, c-format msgid "" "default conversion function for encoding \"%s\" to \"%s\" does not exist" @@ -8833,7 +8856,7 @@ msgstr "каталог данных с указанным OID %u уже существует" #: commands/dbcommands.c:1571 commands/dbcommands.c:1586 -#: utils/adt/pg_locale.c:2588 +#: utils/adt/pg_locale.c:2591 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "кодировка \"%s\" не соответствует локали \"%s\"" @@ -9074,7 +9097,7 @@ msgid "conversion \"%s\" does not exist, skipping" msgstr "преобразование \"%s\" не существует, пропускается" -#: commands/dropcmds.c:288 commands/statscmds.c:664 +#: commands/dropcmds.c:288 commands/statscmds.c:685 #, c-format msgid "statistics object \"%s\" does not exist, skipping" msgstr "объект статистики \"%s\" не существует, пропускается" @@ -9255,17 +9278,17 @@ msgid "The owner of an event trigger must be a superuser." msgstr "Владельцем событийного триггера должен быть суперпользователь." -#: commands/event_trigger.c:1541 +#: commands/event_trigger.c:1536 #, c-format msgid "%s can only be called in a sql_drop event trigger function" msgstr "%s можно вызывать только в событийной триггерной функции sql_drop" -#: commands/event_trigger.c:1634 commands/event_trigger.c:1655 +#: commands/event_trigger.c:1629 commands/event_trigger.c:1650 #, c-format msgid "%s can only be called in a table_rewrite event trigger function" msgstr "%s можно вызывать только в событийной триггерной функции table_rewrite" -#: commands/event_trigger.c:2068 +#: commands/event_trigger.c:2063 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%s можно вызывать только в событийной триггерной функции" @@ -10833,7 +10856,7 @@ msgid "operator attribute \"%s\" cannot be changed if it has already been set" msgstr "атрибут оператора \"%s\" нельзя изменить, если он уже установлен" -#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146 +#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:152 #: commands/tablecmds.c:1740 commands/tablecmds.c:2340 #: commands/tablecmds.c:3702 commands/tablecmds.c:6605 #: commands/tablecmds.c:9670 commands/tablecmds.c:17836 @@ -10941,37 +10964,37 @@ msgstr "" "для создания дополнительного процедурного языка нужно быть суперпользователем" -#: commands/publicationcmds.c:124 postmaster/postmaster.c:1110 +#: commands/publicationcmds.c:129 postmaster/postmaster.c:1110 #: postmaster/postmaster.c:1212 utils/init/miscinit.c:1866 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "неверный формат списка в параметре \"%s\"" -#: commands/publicationcmds.c:143 +#: commands/publicationcmds.c:148 #, c-format msgid "unrecognized value for publication option \"%s\": \"%s\"" msgstr "нераспознанное значение параметра публикации \"%s\": \"%s\"" -#: commands/publicationcmds.c:157 +#: commands/publicationcmds.c:162 #, c-format msgid "unrecognized publication parameter: \"%s\"" msgstr "нераспознанный параметр репликации: \"%s\"" -#: commands/publicationcmds.c:198 +#: commands/publicationcmds.c:203 #, c-format msgid "no schema has been selected for CURRENT_SCHEMA" msgstr "для CURRENT_SCHEMA требуется, чтобы была выбрана схема" -#: commands/publicationcmds.c:495 +#: commands/publicationcmds.c:500 msgid "System columns are not allowed." msgstr "Системные столбцы не допускаются." -#: commands/publicationcmds.c:502 commands/publicationcmds.c:507 -#: commands/publicationcmds.c:524 +#: commands/publicationcmds.c:507 commands/publicationcmds.c:512 +#: commands/publicationcmds.c:529 msgid "User-defined operators are not allowed." msgstr "Пользовательские операторы не допускаются." -#: commands/publicationcmds.c:548 +#: commands/publicationcmds.c:553 msgid "" "Only columns, constants, built-in operators, built-in data types, built-in " "collations, and immutable built-in functions are allowed." @@ -10979,43 +11002,43 @@ "Допускаются только столбцы, константы, встроенные операторы, встроенные типы " "данных, встроенные правила сортировки и встроенные постоянные функции." -#: commands/publicationcmds.c:560 +#: commands/publicationcmds.c:565 msgid "User-defined types are not allowed." msgstr "Пользовательские типы не допускаются." -#: commands/publicationcmds.c:563 +#: commands/publicationcmds.c:568 msgid "User-defined or built-in mutable functions are not allowed." msgstr "Пользовательские или встроенные непостоянные функции не допускаются." -#: commands/publicationcmds.c:566 +#: commands/publicationcmds.c:571 msgid "User-defined collations are not allowed." msgstr "Пользовательские правила сортировки не допускаются." -#: commands/publicationcmds.c:576 +#: commands/publicationcmds.c:581 #, c-format msgid "invalid publication WHERE expression" msgstr "неверное выражение в предложении WHERE публикации" -#: commands/publicationcmds.c:629 +#: commands/publicationcmds.c:634 #, c-format msgid "cannot use publication WHERE clause for relation \"%s\"" msgstr "" "использовать в публикации предложение WHERE для отношения \"%s\" нельзя" -#: commands/publicationcmds.c:631 +#: commands/publicationcmds.c:636 #, c-format msgid "WHERE clause cannot be used for a partitioned table when %s is false." msgstr "" "Предложение WHERE нельзя использовать для секционированной таблицы, когда %s " "равен false." -#: commands/publicationcmds.c:702 commands/publicationcmds.c:716 +#: commands/publicationcmds.c:707 commands/publicationcmds.c:721 #, c-format msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\"" msgstr "" "использовать список столбцов отношения \"%s.%s\" в публикации \"%s\" нельзя" -#: commands/publicationcmds.c:705 +#: commands/publicationcmds.c:710 #, c-format msgid "" "Column lists cannot be specified in publications containing FOR TABLES IN " @@ -11024,7 +11047,7 @@ "Списки столбцов нельзя задавать в публикациях, содержащих элементы FOR " "TABLES IN SCHEMA." -#: commands/publicationcmds.c:719 +#: commands/publicationcmds.c:724 #, c-format msgid "" "Column lists cannot be specified for partitioned tables when %s is false." @@ -11032,34 +11055,34 @@ "Списки столбцов нельзя задавать для секционированных таблиц, когда %s равен " "false." -#: commands/publicationcmds.c:754 +#: commands/publicationcmds.c:759 #, c-format msgid "must be superuser to create FOR ALL TABLES publication" msgstr "для создания публикации всех таблиц нужно быть суперпользователем" -#: commands/publicationcmds.c:825 +#: commands/publicationcmds.c:830 #, c-format msgid "must be superuser to create FOR TABLES IN SCHEMA publication" msgstr "" "для создания публикации вида FOR ALL TABLES IN SCHEMA нужно быть " "суперпользователем" -#: commands/publicationcmds.c:861 +#: commands/publicationcmds.c:866 #, c-format msgid "\"wal_level\" is insufficient to publish logical changes" msgstr "уровень \"wal_level\" недостаточен для публикации логических изменений" -#: commands/publicationcmds.c:862 +#: commands/publicationcmds.c:867 #, c-format msgid "Set \"wal_level\" to \"logical\" before creating subscriptions." msgstr "Задайте для \"wal_level\" значение \"logical\" до создания подписок." -#: commands/publicationcmds.c:958 commands/publicationcmds.c:966 +#: commands/publicationcmds.c:963 commands/publicationcmds.c:971 #, c-format msgid "cannot set parameter \"%s\" to false for publication \"%s\"" msgstr "параметру \"%s\" публикации \"%s\" нельзя присвоить false" -#: commands/publicationcmds.c:961 +#: commands/publicationcmds.c:966 #, c-format msgid "" "The publication contains a WHERE clause for partitioned table \"%s\", which " @@ -11068,7 +11091,7 @@ "Публикация содержит предложение WHERE для секционированной таблицы \"%s\", " "что не допускается, когда \"%s\" равен false." -#: commands/publicationcmds.c:969 +#: commands/publicationcmds.c:974 #, c-format msgid "" "The publication contains a column list for partitioned table \"%s\", which " @@ -11077,12 +11100,12 @@ "Публикация содержит список столбцов для секционированной таблицы \"%s\", что " "не допускается, когда \"%s\" равен false." -#: commands/publicationcmds.c:1292 +#: commands/publicationcmds.c:1297 #, c-format msgid "cannot add schema to publication \"%s\"" msgstr "добавить схему в публикацию \"%s\" нельзя" -#: commands/publicationcmds.c:1294 +#: commands/publicationcmds.c:1299 #, c-format msgid "" "Schemas cannot be added if any tables that specify a column list are already " @@ -11091,82 +11114,82 @@ "Схемы нельзя добавлять в публикацию, если в неё уже добавлены таблицы, для " "которых задан список столбцов." -#: commands/publicationcmds.c:1342 +#: commands/publicationcmds.c:1347 #, c-format msgid "must be superuser to add or set schemas" msgstr "для добавления или замены схем нужно быть суперпользователем" -#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359 +#: commands/publicationcmds.c:1356 commands/publicationcmds.c:1364 #, c-format msgid "publication \"%s\" is defined as FOR ALL TABLES" msgstr "публикация \"%s\" определена для всех таблиц (FOR ALL TABLES)" -#: commands/publicationcmds.c:1353 +#: commands/publicationcmds.c:1358 #, c-format msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications." msgstr "В публикации вида FOR ALL TABLES нельзя добавлять или удалять таблицы." -#: commands/publicationcmds.c:1361 +#: commands/publicationcmds.c:1366 #, c-format msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications." msgstr "В публикации всех таблиц нельзя добавлять или удалять таблицы." -#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424 -#: commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634 +#: commands/publicationcmds.c:1390 commands/publicationcmds.c:1429 +#: commands/publicationcmds.c:1966 utils/cache/lsyscache.c:3634 #, c-format msgid "publication \"%s\" does not exist" msgstr "публикация \"%s\" не существует" -#: commands/publicationcmds.c:1587 commands/publicationcmds.c:1650 +#: commands/publicationcmds.c:1592 commands/publicationcmds.c:1655 #, c-format msgid "conflicting or redundant WHERE clauses for table \"%s\"" msgstr "конфликтующие или избыточные предложения WHERE для таблицы \"%s\"" -#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662 +#: commands/publicationcmds.c:1599 commands/publicationcmds.c:1667 #, c-format msgid "conflicting or redundant column lists for table \"%s\"" msgstr "конфликтующие или избыточные списки столбцов для таблицы \"%s\"" -#: commands/publicationcmds.c:1796 +#: commands/publicationcmds.c:1801 #, c-format msgid "column list must not be specified in ALTER PUBLICATION ... DROP" msgstr "в ALTER PUBLICATION ... DROP не должен задаваться список столбцов" -#: commands/publicationcmds.c:1808 +#: commands/publicationcmds.c:1813 #, c-format msgid "relation \"%s\" is not part of the publication" msgstr "отношение \"%s\" не включено в публикацию" -#: commands/publicationcmds.c:1815 +#: commands/publicationcmds.c:1820 #, c-format msgid "cannot use a WHERE clause when removing a table from a publication" msgstr "использовать WHERE при удалении таблицы из публикации нельзя" -#: commands/publicationcmds.c:1875 +#: commands/publicationcmds.c:1880 #, c-format msgid "tables from schema \"%s\" are not part of the publication" msgstr "таблицы из схемы \"%s\" не являются частью публикации" -#: commands/publicationcmds.c:1918 commands/publicationcmds.c:1925 +#: commands/publicationcmds.c:1923 commands/publicationcmds.c:1930 #, c-format msgid "permission denied to change owner of publication \"%s\"" msgstr "нет прав для изменения владельца публикации \"%s\"" -#: commands/publicationcmds.c:1920 +#: commands/publicationcmds.c:1925 #, c-format msgid "The owner of a FOR ALL TABLES publication must be a superuser." msgstr "" "Владельцем публикации всех таблиц (FOR ALL TABLES) должен быть " "суперпользователь." -#: commands/publicationcmds.c:1927 +#: commands/publicationcmds.c:1932 #, c-format msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser." msgstr "" "Владельцем публикации вида FOR TABLES IN SCHEMA должен быть " "суперпользователь." -#: commands/publicationcmds.c:1993 +#: commands/publicationcmds.c:1998 #, c-format msgid "publication with OID %u does not exist" msgstr "публикация с OID %u не существует" @@ -11357,27 +11380,27 @@ msgid "cannot define statistics for relation \"%s\"" msgstr "для отношения \"%s\" нельзя определить объект статистики" -#: commands/statscmds.c:187 +#: commands/statscmds.c:208 #, c-format msgid "statistics object \"%s\" already exists, skipping" msgstr "объект статистики \"%s\" уже существует, пропускается" -#: commands/statscmds.c:195 +#: commands/statscmds.c:216 #, c-format msgid "statistics object \"%s\" already exists" msgstr "объект статистики \"%s\" уже существует" -#: commands/statscmds.c:206 +#: commands/statscmds.c:227 #, c-format msgid "cannot have more than %d columns in statistics" msgstr "в статистике не может быть больше %d столбцов" -#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304 +#: commands/statscmds.c:268 commands/statscmds.c:291 commands/statscmds.c:325 #, c-format msgid "statistics creation on system columns is not supported" msgstr "создание статистики для системных столбцов не поддерживается" -#: commands/statscmds.c:254 commands/statscmds.c:277 +#: commands/statscmds.c:275 commands/statscmds.c:298 #, c-format msgid "" "column \"%s\" cannot be used in statistics because its type %s has no " @@ -11386,7 +11409,7 @@ "столбец \"%s\" нельзя использовать в статистике, так как для его типа %s не " "определён класс операторов B-дерева по умолчанию" -#: commands/statscmds.c:321 +#: commands/statscmds.c:342 #, c-format msgid "" "expression cannot be used in multivariate statistics because its type %s has " @@ -11395,7 +11418,7 @@ "выражение нельзя использовать в многовариантной статистике, так как для его " "типа %s не определён класс операторов btree по умолчанию" -#: commands/statscmds.c:342 +#: commands/statscmds.c:363 #, c-format msgid "" "when building statistics on a single expression, statistics kinds may not be " @@ -11404,37 +11427,37 @@ "при построении статистики по единственному выражению указывать виды " "статистики нельзя" -#: commands/statscmds.c:371 +#: commands/statscmds.c:392 #, c-format msgid "unrecognized statistics kind \"%s\"" msgstr "нераспознанный вид статистики \"%s\"" -#: commands/statscmds.c:400 +#: commands/statscmds.c:421 #, c-format msgid "extended statistics require at least 2 columns" msgstr "для расширенной статистики требуются минимум 2 столбца" -#: commands/statscmds.c:418 +#: commands/statscmds.c:439 #, c-format msgid "duplicate column name in statistics definition" msgstr "повторяющееся имя столбца в определении статистики" -#: commands/statscmds.c:453 +#: commands/statscmds.c:474 #, c-format msgid "duplicate expression in statistics definition" msgstr "повторяющееся выражение в определении статистики" -#: commands/statscmds.c:628 commands/tablecmds.c:8653 +#: commands/statscmds.c:649 commands/tablecmds.c:8653 #, c-format msgid "statistics target %d is too low" msgstr "ориентир статистики слишком мал (%d)" -#: commands/statscmds.c:636 commands/tablecmds.c:8661 +#: commands/statscmds.c:657 commands/tablecmds.c:8661 #, c-format msgid "lowering statistics target to %d" msgstr "ориентир статистики снижается до %d" -#: commands/statscmds.c:660 +#: commands/statscmds.c:681 #, c-format msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "объект статистики \"%s.%s\" не существует, пропускается" @@ -11444,7 +11467,7 @@ msgid "unrecognized subscription parameter: \"%s\"" msgstr "нераспознанный параметр подписки: \"%s\"" -#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:405 +#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:409 #, c-format msgid "unrecognized origin value: \"%s\"" msgstr "нераспознанное значение origin: \"%s\"" @@ -11674,7 +11697,7 @@ "поступили не из других источников." #: commands/subscriptioncmds.c:2228 replication/logical/tablesync.c:932 -#: replication/pgoutput/pgoutput.c:1155 +#: replication/pgoutput/pgoutput.c:1159 #, c-format msgid "" "cannot use different column lists for table \"%s.%s\" in different " @@ -12068,7 +12091,7 @@ msgstr "конфликт правил сортировки в столбце \"%s\"" #: commands/tablecmds.c:3164 commands/tablecmds.c:3326 -#: commands/tablecmds.c:7080 parser/parse_expr.c:4764 +#: commands/tablecmds.c:7080 parser/parse_expr.c:4771 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\" и \"%s\"" @@ -13838,8 +13861,8 @@ #: commands/trigger.c:3428 executor/nodeModifyTable.c:1563 #: executor/nodeModifyTable.c:1637 executor/nodeModifyTable.c:2400 -#: executor/nodeModifyTable.c:2491 executor/nodeModifyTable.c:3155 -#: executor/nodeModifyTable.c:3326 +#: executor/nodeModifyTable.c:2491 executor/nodeModifyTable.c:3146 +#: executor/nodeModifyTable.c:3338 #, c-format msgid "" "Consider using an AFTER trigger instead of a BEFORE trigger to propagate " @@ -13857,25 +13880,25 @@ msgstr "не удалось сериализовать доступ из-за параллельного изменения" #: commands/trigger.c:3478 executor/nodeModifyTable.c:1669 -#: executor/nodeModifyTable.c:2508 executor/nodeModifyTable.c:2665 -#: executor/nodeModifyTable.c:3173 +#: executor/nodeModifyTable.c:2508 executor/nodeModifyTable.c:2657 +#: executor/nodeModifyTable.c:3164 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "не удалось сериализовать доступ из-за параллельного удаления" -#: commands/trigger.c:4687 +#: commands/trigger.c:4671 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "" "в рамках операции с ограничениями по безопасности нельзя вызвать отложенный " "триггер" -#: commands/trigger.c:5868 +#: commands/trigger.c:5889 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "ограничение \"%s\" не является откладываемым" -#: commands/trigger.c:5891 +#: commands/trigger.c:5912 #, c-format msgid "constraint \"%s\" does not exist" msgstr "ограничение \"%s\" не существует" @@ -14722,117 +14745,117 @@ msgid "Use CASCADE to revoke them too." msgstr "Используйте CASCADE, чтобы отозвать и их." -#: commands/vacuum.c:135 +#: commands/vacuum.c:136 #, c-format msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" msgstr "" "значение \"vacuum_buffer_usage_limit\" должно быть нулевым или лежать в " "диапазоне от %d КБ до %d КБ" -#: commands/vacuum.c:210 +#: commands/vacuum.c:211 #, c-format msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB" msgstr "" "параметр BUFFER_USAGE_LIMIT должен быть нулевым или лежать в диапазоне от %d " "КБ до %d КБ" -#: commands/vacuum.c:220 +#: commands/vacuum.c:221 #, c-format msgid "unrecognized ANALYZE option \"%s\"" msgstr "нераспознанный параметр ANALYZE: \"%s\"" -#: commands/vacuum.c:260 +#: commands/vacuum.c:261 #, c-format msgid "parallel option requires a value between 0 and %d" msgstr "для параметра parallel требуется значение от 0 до %d" -#: commands/vacuum.c:272 +#: commands/vacuum.c:273 #, c-format msgid "parallel workers for vacuum must be between 0 and %d" msgstr "" "число параллельных исполнителей для выполнения очистки должно быть от 0 до %d" -#: commands/vacuum.c:293 +#: commands/vacuum.c:294 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "нераспознанный параметр VACUUM: \"%s\"" -#: commands/vacuum.c:319 +#: commands/vacuum.c:320 #, c-format msgid "VACUUM FULL cannot be performed in parallel" msgstr "VACUUM FULL нельзя выполнять в параллельном режиме" -#: commands/vacuum.c:330 +#: commands/vacuum.c:331 #, c-format msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL" msgstr "параметр BUFFER_USAGE_LIMIT нельзя задавать для VACUUM FULL" -#: commands/vacuum.c:344 +#: commands/vacuum.c:345 #, c-format msgid "ANALYZE option must be specified when a column list is provided" msgstr "если задаётся список столбцов, необходимо указать ANALYZE" -#: commands/vacuum.c:356 +#: commands/vacuum.c:357 #, c-format msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL" msgstr "Параметр VACUUM DISABLE_PAGE_SKIPPING нельзя использовать с FULL" -#: commands/vacuum.c:363 +#: commands/vacuum.c:364 #, c-format msgid "PROCESS_TOAST required with VACUUM FULL" msgstr "VACUUM FULL работает только с PROCESS_TOAST" -#: commands/vacuum.c:372 +#: commands/vacuum.c:373 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables" msgstr "ONLY_DATABASE_STATS нельзя задавать со списком таблиц" -#: commands/vacuum.c:381 +#: commands/vacuum.c:382 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" msgstr "ONLY_DATABASE_STATS нельзя задавать с другими параметрами VACUUM" -#: commands/vacuum.c:516 +#: commands/vacuum.c:517 #, c-format msgid "%s cannot be executed from VACUUM or ANALYZE" msgstr "%s нельзя выполнить в ходе VACUUM или ANALYZE" -#: commands/vacuum.c:741 +#: commands/vacuum.c:742 #, c-format msgid "permission denied to vacuum \"%s\", skipping it" msgstr "нет доступа для очистки отношения \"%s\", оно пропускается" -#: commands/vacuum.c:754 +#: commands/vacuum.c:755 #, c-format msgid "permission denied to analyze \"%s\", skipping it" msgstr "нет доступа для анализа отношения \"%s\", оно пропускается" -#: commands/vacuum.c:832 commands/vacuum.c:929 +#: commands/vacuum.c:833 commands/vacuum.c:930 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "очистка \"%s\" пропускается --- блокировка недоступна" -#: commands/vacuum.c:837 +#: commands/vacuum.c:838 #, c-format msgid "skipping vacuum of \"%s\" --- relation no longer exists" msgstr "очистка \"%s\" пропускается --- это отношение более не существует" -#: commands/vacuum.c:853 commands/vacuum.c:934 +#: commands/vacuum.c:854 commands/vacuum.c:935 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "анализ \"%s\" пропускается --- блокировка недоступна" -#: commands/vacuum.c:858 +#: commands/vacuum.c:859 #, c-format msgid "skipping analyze of \"%s\" --- relation no longer exists" msgstr "анализ \"%s\" пропускается --- это отношение более не существует" -#: commands/vacuum.c:1150 +#: commands/vacuum.c:1151 #, c-format msgid "cutoff for removing and freezing tuples is far in the past" msgstr "момент отсечки для удаления и замораживания кортежей далеко в прошлом" -#: commands/vacuum.c:1151 commands/vacuum.c:1156 +#: commands/vacuum.c:1152 commands/vacuum.c:1157 #, c-format msgid "" "Close open transactions soon to avoid wraparound problems.\n" @@ -14844,42 +14867,42 @@ "Возможно, вам также придётся зафиксировать или откатить старые " "подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: commands/vacuum.c:1155 +#: commands/vacuum.c:1156 #, c-format msgid "cutoff for freezing multixacts is far in the past" msgstr "момент отсечки для замораживания мультитранзакций далеко в прошлом" -#: commands/vacuum.c:1911 +#: commands/vacuum.c:1912 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "" "есть базы данных, которые не очищались на протяжении более чем 2 миллиардов " "транзакций" -#: commands/vacuum.c:1912 +#: commands/vacuum.c:1913 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "" "Возможно, вы уже потеряли данные в результате зацикливания ID транзакций." -#: commands/vacuum.c:2098 +#: commands/vacuum.c:2105 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "" "\"%s\" пропускается --- очищать не таблицы или специальные системные таблицы " "нельзя" -#: commands/vacuum.c:2545 +#: commands/vacuum.c:2552 #, c-format msgid "scanned index \"%s\" to remove %lld row versions" msgstr "просканирован индекс \"%s\", удалено версий строк: %lld" -#: commands/vacuum.c:2564 +#: commands/vacuum.c:2571 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "индекс \"%s\" теперь содержит версий строк: %.0f, в страницах: %u" -#: commands/vacuum.c:2568 +#: commands/vacuum.c:2575 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -15207,7 +15230,7 @@ "В таблице определён тип %s (номер столбца: %d), а в запросе предполагается " "%s." -#: executor/execExpr.c:1104 parser/parse_agg.c:864 +#: executor/execExpr.c:1104 parser/parse_agg.c:891 #, c-format msgid "window function calls cannot be nested" msgstr "вложенные вызовы оконных функций недопустимы" @@ -15838,7 +15861,7 @@ msgstr "" "агрегатная функция %u должна иметь совместимые входной и переходный типы" -#: executor/nodeAgg.c:3966 parser/parse_agg.c:680 parser/parse_agg.c:708 +#: executor/nodeAgg.c:3966 parser/parse_agg.c:687 parser/parse_agg.c:730 #, c-format msgid "aggregate function calls cannot be nested" msgstr "вложенные вызовы агрегатных функций недопустимы" @@ -15939,8 +15962,8 @@ msgstr "Возможно, имеет смысл перенацелить внешний ключ на таблицу \"%s\"." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2619 executor/nodeModifyTable.c:3161 -#: executor/nodeModifyTable.c:3332 +#: executor/nodeModifyTable.c:2619 executor/nodeModifyTable.c:3152 +#: executor/nodeModifyTable.c:3344 #, c-format msgid "%s command cannot affect row a second time" msgstr "команда %s не может подействовать на строку дважды" @@ -15954,7 +15977,7 @@ "Проверьте, не содержат ли строки, которые должна добавить команда, " "дублирующиеся значения, подпадающие под ограничения." -#: executor/nodeModifyTable.c:3154 executor/nodeModifyTable.c:3325 +#: executor/nodeModifyTable.c:3145 executor/nodeModifyTable.c:3337 #, c-format msgid "" "tuple to be updated or deleted was already modified by an operation " @@ -15963,14 +15986,14 @@ "кортеж, который должен быть изменён или удалён, уже модифицирован в " "операции, вызванной текущей командой" -#: executor/nodeModifyTable.c:3163 executor/nodeModifyTable.c:3334 +#: executor/nodeModifyTable.c:3154 executor/nodeModifyTable.c:3346 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "" "Проверьте, не может ли какой-либо целевой строке соответствовать более одной " "исходной строки." -#: executor/nodeModifyTable.c:3232 +#: executor/nodeModifyTable.c:3223 #, c-format msgid "" "tuple to be merged was already moved to another partition due to concurrent " @@ -18283,7 +18306,7 @@ "слиянием или хеш-соединение" #: optimizer/plan/createplan.c:7177 parser/parse_merge.c:203 -#: rewrite/rewriteHandler.c:1680 +#: rewrite/rewriteHandler.c:1683 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "выполнить MERGE для отношения \"%s\" нельзя" @@ -18321,22 +18344,22 @@ msgid "could not implement DISTINCT" msgstr "не удалось реализовать DISTINCT" -#: optimizer/plan/planner.c:6210 +#: optimizer/plan/planner.c:6245 #, c-format msgid "could not implement window PARTITION BY" msgstr "не удалось реализовать PARTITION BY для окна" -#: optimizer/plan/planner.c:6211 +#: optimizer/plan/planner.c:6246 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "Столбцы, разбивающие окна, должны иметь сортируемые типы данных." -#: optimizer/plan/planner.c:6215 +#: optimizer/plan/planner.c:6250 #, c-format msgid "could not implement window ORDER BY" msgstr "не удалось реализовать ORDER BY для окна" -#: optimizer/plan/planner.c:6216 +#: optimizer/plan/planner.c:6251 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "Столбцы, сортирующие окна, должны иметь сортируемые типы данных." @@ -18357,7 +18380,7 @@ msgid "could not implement %s" msgstr "не удалось реализовать %s" -#: optimizer/util/clauses.c:4965 +#: optimizer/util/clauses.c:4962 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "внедрённая в код SQL-функция \"%s\"" @@ -18635,208 +18658,218 @@ msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "отношение \"%s\" в определении %s отсутствует в предложении FROM" -#: parser/parse_agg.c:210 parser/parse_oper.c:215 +#: parser/parse_agg.c:213 parser/parse_oper.c:215 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "для типа %s не удалось найти оператор сортировки" -#: parser/parse_agg.c:212 +#: parser/parse_agg.c:215 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "Агрегатным функциям с DISTINCT необходимо сортировать входные данные." -#: parser/parse_agg.c:270 +#: parser/parse_agg.c:273 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "у GROUPING должно быть меньше 32 аргументов" -#: parser/parse_agg.c:373 +#: parser/parse_agg.c:377 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "агрегатные функции нельзя применять в условиях JOIN" -#: parser/parse_agg.c:375 +#: parser/parse_agg.c:379 msgid "grouping operations are not allowed in JOIN conditions" msgstr "операции группировки нельзя применять в условиях JOIN" -#: parser/parse_agg.c:385 +#: parser/parse_agg.c:389 msgid "" "aggregate functions are not allowed in FROM clause of their own query level" msgstr "" "агрегатные функции нельзя применять в предложении FROM их уровня запроса" -#: parser/parse_agg.c:387 +#: parser/parse_agg.c:391 msgid "" "grouping operations are not allowed in FROM clause of their own query level" msgstr "" "операции группировки нельзя применять в предложении FROM их уровня запроса" -#: parser/parse_agg.c:392 +#: parser/parse_agg.c:396 msgid "aggregate functions are not allowed in functions in FROM" msgstr "агрегатные функции нельзя применять в функциях во FROM" -#: parser/parse_agg.c:394 +#: parser/parse_agg.c:398 msgid "grouping operations are not allowed in functions in FROM" msgstr "операции группировки нельзя применять в функциях во FROM" -#: parser/parse_agg.c:402 +#: parser/parse_agg.c:406 msgid "aggregate functions are not allowed in policy expressions" msgstr "агрегатные функции нельзя применять в выражениях политик" -#: parser/parse_agg.c:404 +#: parser/parse_agg.c:408 msgid "grouping operations are not allowed in policy expressions" msgstr "операции группировки нельзя применять в выражениях политик" -#: parser/parse_agg.c:421 +#: parser/parse_agg.c:425 msgid "aggregate functions are not allowed in window RANGE" msgstr "агрегатные функции нельзя применять в указании RANGE для окна" -#: parser/parse_agg.c:423 +#: parser/parse_agg.c:427 msgid "grouping operations are not allowed in window RANGE" msgstr "операции группировки нельзя применять в указании RANGE для окна" -#: parser/parse_agg.c:428 +#: parser/parse_agg.c:432 msgid "aggregate functions are not allowed in window ROWS" msgstr "агрегатные функции нельзя применять в указании ROWS для окна" -#: parser/parse_agg.c:430 +#: parser/parse_agg.c:434 msgid "grouping operations are not allowed in window ROWS" msgstr "операции группировки нельзя применять в указании ROWS для окна" -#: parser/parse_agg.c:435 +#: parser/parse_agg.c:439 msgid "aggregate functions are not allowed in window GROUPS" msgstr "агрегатные функции нельзя применять в указании GROUPS для окна" -#: parser/parse_agg.c:437 +#: parser/parse_agg.c:441 msgid "grouping operations are not allowed in window GROUPS" msgstr "операции группировки нельзя применять в указании GROUPS для окна" -#: parser/parse_agg.c:450 +#: parser/parse_agg.c:454 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "агрегатные функции нельзя применять в условиях MERGE WHEN" -#: parser/parse_agg.c:452 +#: parser/parse_agg.c:456 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "операции группировки нельзя применять в условиях MERGE WHEN" -#: parser/parse_agg.c:479 +#: parser/parse_agg.c:483 msgid "aggregate functions are not allowed in check constraints" msgstr "агрегатные функции нельзя применять в ограничениях-проверках" -#: parser/parse_agg.c:481 +#: parser/parse_agg.c:485 msgid "grouping operations are not allowed in check constraints" msgstr "операции группировки нельзя применять в ограничениях-проверках" -#: parser/parse_agg.c:488 +#: parser/parse_agg.c:492 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "агрегатные функции нельзя применять в выражениях DEFAULT" -#: parser/parse_agg.c:490 +#: parser/parse_agg.c:494 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "операции группировки нельзя применять в выражениях DEFAULT" -#: parser/parse_agg.c:495 +#: parser/parse_agg.c:499 msgid "aggregate functions are not allowed in index expressions" msgstr "агрегатные функции нельзя применять в выражениях индексов" -#: parser/parse_agg.c:497 +#: parser/parse_agg.c:501 msgid "grouping operations are not allowed in index expressions" msgstr "операции группировки нельзя применять в выражениях индексов" -#: parser/parse_agg.c:502 +#: parser/parse_agg.c:506 msgid "aggregate functions are not allowed in index predicates" msgstr "агрегатные функции нельзя применять в предикатах индексов" -#: parser/parse_agg.c:504 +#: parser/parse_agg.c:508 msgid "grouping operations are not allowed in index predicates" msgstr "операции группировки нельзя применять в предикатах индексов" -#: parser/parse_agg.c:509 +#: parser/parse_agg.c:513 msgid "aggregate functions are not allowed in statistics expressions" msgstr "агрегатные функции нельзя применять в выражениях статистики" -#: parser/parse_agg.c:511 +#: parser/parse_agg.c:515 msgid "grouping operations are not allowed in statistics expressions" msgstr "операции группировки нельзя применять в выражениях статистики" -#: parser/parse_agg.c:516 +#: parser/parse_agg.c:520 msgid "aggregate functions are not allowed in transform expressions" msgstr "агрегатные функции нельзя применять в выражениях преобразований" -#: parser/parse_agg.c:518 +#: parser/parse_agg.c:522 msgid "grouping operations are not allowed in transform expressions" msgstr "операции группировки нельзя применять в выражениях преобразований" -#: parser/parse_agg.c:523 +#: parser/parse_agg.c:527 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "агрегатные функции нельзя применять в параметрах EXECUTE" -#: parser/parse_agg.c:525 +#: parser/parse_agg.c:529 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "операции группировки нельзя применять в параметрах EXECUTE" -#: parser/parse_agg.c:530 +#: parser/parse_agg.c:534 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "агрегатные функции нельзя применять в условиях WHEN для триггеров" -#: parser/parse_agg.c:532 +#: parser/parse_agg.c:536 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "операции группировки нельзя применять в условиях WHEN для триггеров" -#: parser/parse_agg.c:537 +#: parser/parse_agg.c:541 msgid "aggregate functions are not allowed in partition bound" msgstr "агрегатные функции нельзя применять в выражении границы секции" -#: parser/parse_agg.c:539 +#: parser/parse_agg.c:543 msgid "grouping operations are not allowed in partition bound" msgstr "операции группировки нельзя применять в выражении границы секции" -#: parser/parse_agg.c:544 +#: parser/parse_agg.c:548 msgid "aggregate functions are not allowed in partition key expressions" msgstr "агрегатные функции нельзя применять в выражениях ключа секционирования" -#: parser/parse_agg.c:546 +#: parser/parse_agg.c:550 msgid "grouping operations are not allowed in partition key expressions" msgstr "" "операции группировки нельзя применять в выражениях ключа секционирования" -#: parser/parse_agg.c:552 +#: parser/parse_agg.c:556 msgid "aggregate functions are not allowed in column generation expressions" msgstr "агрегатные функции нельзя применять в выражениях генерируемых столбцов" -#: parser/parse_agg.c:554 +#: parser/parse_agg.c:558 msgid "grouping operations are not allowed in column generation expressions" msgstr "" "операции группировки нельзя применять в выражениях генерируемых столбцов" -#: parser/parse_agg.c:560 +#: parser/parse_agg.c:564 msgid "aggregate functions are not allowed in CALL arguments" msgstr "агрегатные функции нельзя применять в аргументах CALL" -#: parser/parse_agg.c:562 +#: parser/parse_agg.c:566 msgid "grouping operations are not allowed in CALL arguments" msgstr "операции группировки нельзя применять в аргументах CALL" -#: parser/parse_agg.c:568 +#: parser/parse_agg.c:572 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" msgstr "агрегатные функции нельзя применять в условиях COPY FROM WHERE" -#: parser/parse_agg.c:570 +#: parser/parse_agg.c:574 msgid "grouping operations are not allowed in COPY FROM WHERE conditions" msgstr "операции группировки нельзя применять в условиях COPY FROM WHERE" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:597 parser/parse_clause.c:1962 +#: parser/parse_agg.c:601 parser/parse_clause.c:1962 #, c-format msgid "aggregate functions are not allowed in %s" msgstr "агрегатные функции нельзя применять в конструкции %s" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:600 +#: parser/parse_agg.c:604 #, c-format msgid "grouping operations are not allowed in %s" msgstr "операции группировки нельзя применять в конструкции %s" -#: parser/parse_agg.c:701 +#: parser/parse_agg.c:700 parser/parse_agg.c:737 +#, c-format +msgid "outer-level aggregate cannot use a nested CTE" +msgstr "агрегатная функция внешнего уровня не может использовать вложенное CTE" + +#: parser/parse_agg.c:701 parser/parse_agg.c:738 +#, c-format +msgid "CTE \"%s\" is below the aggregate's semantic level." +msgstr "CTE \"%s\" находится ниже семантического уровня агрегатной функции." + +#: parser/parse_agg.c:723 #, c-format msgid "" "outer-level aggregate cannot contain a lower-level variable in its direct " @@ -18845,14 +18878,14 @@ "агрегатная функция внешнего уровня не может содержать в своих аргументах " "переменные нижнего уровня" -#: parser/parse_agg.c:779 +#: parser/parse_agg.c:808 #, c-format msgid "aggregate function calls cannot contain set-returning function calls" msgstr "" "вызовы агрегатных функций не могут включать вызовы функций, возвращающих " "множества" -#: parser/parse_agg.c:780 parser/parse_expr.c:1763 parser/parse_expr.c:2254 +#: parser/parse_agg.c:809 parser/parse_expr.c:1763 parser/parse_expr.c:2254 #: parser/parse_func.c:885 #, c-format msgid "" @@ -18862,107 +18895,107 @@ "Исправить ситуацию можно, переместив функцию, возвращающую множество, в " "элемент LATERAL FROM." -#: parser/parse_agg.c:785 +#: parser/parse_agg.c:814 #, c-format msgid "aggregate function calls cannot contain window function calls" msgstr "вызовы агрегатных функций не могут включать вызовы оконных функции" -#: parser/parse_agg.c:890 +#: parser/parse_agg.c:917 msgid "window functions are not allowed in JOIN conditions" msgstr "оконные функции нельзя применять в условиях JOIN" -#: parser/parse_agg.c:897 +#: parser/parse_agg.c:924 msgid "window functions are not allowed in functions in FROM" msgstr "оконные функции нельзя применять в функциях во FROM" -#: parser/parse_agg.c:903 +#: parser/parse_agg.c:930 msgid "window functions are not allowed in policy expressions" msgstr "оконные функции нельзя применять в выражениях политик" -#: parser/parse_agg.c:916 +#: parser/parse_agg.c:943 msgid "window functions are not allowed in window definitions" msgstr "оконные функции нельзя применять в определении окна" -#: parser/parse_agg.c:927 +#: parser/parse_agg.c:954 msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "оконные функции нельзя применять в условиях MERGE WHEN" -#: parser/parse_agg.c:952 +#: parser/parse_agg.c:979 msgid "window functions are not allowed in check constraints" msgstr "оконные функции нельзя применять в ограничениях-проверках" -#: parser/parse_agg.c:956 +#: parser/parse_agg.c:983 msgid "window functions are not allowed in DEFAULT expressions" msgstr "оконные функции нельзя применять в выражениях DEFAULT" -#: parser/parse_agg.c:959 +#: parser/parse_agg.c:986 msgid "window functions are not allowed in index expressions" msgstr "оконные функции нельзя применять в выражениях индексов" -#: parser/parse_agg.c:962 +#: parser/parse_agg.c:989 msgid "window functions are not allowed in statistics expressions" msgstr "оконные функции нельзя применять в выражениях статистики" -#: parser/parse_agg.c:965 +#: parser/parse_agg.c:992 msgid "window functions are not allowed in index predicates" msgstr "оконные функции нельзя применять в предикатах индексов" -#: parser/parse_agg.c:968 +#: parser/parse_agg.c:995 msgid "window functions are not allowed in transform expressions" msgstr "оконные функции нельзя применять в выражениях преобразований" -#: parser/parse_agg.c:971 +#: parser/parse_agg.c:998 msgid "window functions are not allowed in EXECUTE parameters" msgstr "оконные функции нельзя применять в параметрах EXECUTE" -#: parser/parse_agg.c:974 +#: parser/parse_agg.c:1001 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "оконные функции нельзя применять в условиях WHEN для триггеров" -#: parser/parse_agg.c:977 +#: parser/parse_agg.c:1004 msgid "window functions are not allowed in partition bound" msgstr "оконные функции нельзя применять в выражении границы секции" -#: parser/parse_agg.c:980 +#: parser/parse_agg.c:1007 msgid "window functions are not allowed in partition key expressions" msgstr "оконные функции нельзя применять в выражениях ключа секционирования" -#: parser/parse_agg.c:983 +#: parser/parse_agg.c:1010 msgid "window functions are not allowed in CALL arguments" msgstr "оконные функции нельзя применять в аргументах CALL" -#: parser/parse_agg.c:986 +#: parser/parse_agg.c:1013 msgid "window functions are not allowed in COPY FROM WHERE conditions" msgstr "оконные функции нельзя применять в условиях COPY FROM WHERE" -#: parser/parse_agg.c:989 +#: parser/parse_agg.c:1016 msgid "window functions are not allowed in column generation expressions" msgstr "оконные функции нельзя применять в выражениях генерируемых столбцов" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:1012 parser/parse_clause.c:1971 +#: parser/parse_agg.c:1039 parser/parse_clause.c:1971 #, c-format msgid "window functions are not allowed in %s" msgstr "оконные функции нельзя применять в конструкции %s" -#: parser/parse_agg.c:1046 parser/parse_clause.c:2804 +#: parser/parse_agg.c:1073 parser/parse_clause.c:2804 #, c-format msgid "window \"%s\" does not exist" msgstr "окно \"%s\" не существует" -#: parser/parse_agg.c:1134 +#: parser/parse_agg.c:1161 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "слишком много наборов группирования (при максимуме 4096)" -#: parser/parse_agg.c:1274 +#: parser/parse_agg.c:1301 #, c-format msgid "" "aggregate functions are not allowed in a recursive query's recursive term" msgstr "" "в рекурсивной части рекурсивного запроса агрегатные функции недопустимы" -#: parser/parse_agg.c:1467 +#: parser/parse_agg.c:1494 #, c-format msgid "" "column \"%s.%s\" must appear in the GROUP BY clause or be used in an " @@ -18971,7 +19004,7 @@ "столбец \"%s.%s\" должен фигурировать в предложении GROUP BY или " "использоваться в агрегатной функции" -#: parser/parse_agg.c:1470 +#: parser/parse_agg.c:1497 #, c-format msgid "" "Direct arguments of an ordered-set aggregate must use only grouped columns." @@ -18979,13 +19012,13 @@ "Прямые аргументы сортирующей агрегатной функции могут включать только " "группируемые столбцы." -#: parser/parse_agg.c:1475 +#: parser/parse_agg.c:1502 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "" "подзапрос использует негруппированный столбец \"%s.%s\" из внешнего запроса" -#: parser/parse_agg.c:1639 +#: parser/parse_agg.c:1666 #, c-format msgid "" "arguments to GROUPING must be grouping expressions of the associated query " @@ -20053,12 +20086,12 @@ msgid "Try returning a string type or bytea." msgstr "Попробуйте возвратить строковый тип или bytea." -#: parser/parse_expr.c:4316 +#: parser/parse_expr.c:4319 #, c-format msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" msgstr "FORMAT JSON не может указываться в предложении RETURNING %s()" -#: parser/parse_expr.c:4329 +#: parser/parse_expr.c:4332 #, c-format msgid "" "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" @@ -20066,8 +20099,8 @@ "когда используется WITH WRAPPER, поведение QUOTES в SQL/JSON задать нельзя" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4343 parser/parse_expr.c:4372 parser/parse_expr.c:4403 -#: parser/parse_expr.c:4429 parser/parse_expr.c:4455 +#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 parser/parse_expr.c:4406 +#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 #: parser/parse_jsontable.c:94 #, c-format msgid "invalid %s behavior" @@ -20075,7 +20108,7 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 +#: parser/parse_expr.c:4349 parser/parse_expr.c:4378 #, c-format msgid "" "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is " @@ -20087,14 +20120,14 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4353 parser/parse_expr.c:4382 parser/parse_expr.c:4411 -#: parser/parse_expr.c:4439 parser/parse_expr.c:4465 +#: parser/parse_expr.c:4356 parser/parse_expr.c:4385 parser/parse_expr.c:4414 +#: parser/parse_expr.c:4442 parser/parse_expr.c:4468 #, c-format msgid "invalid %s behavior for column \"%s\"" msgstr "неверное поведение %s для столбца \"%s\"" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4356 parser/parse_expr.c:4385 +#: parser/parse_expr.c:4359 parser/parse_expr.c:4388 #, c-format msgid "" "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is " @@ -20103,13 +20136,13 @@ "В %s для форматируемых столбцов допускается только ERROR, NULL, EMPTY ARRAY, " "EMPTY OBJECT или выражение DEFAULT." -#: parser/parse_expr.c:4404 +#: parser/parse_expr.c:4407 #, c-format msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s." msgstr "В %s для %s допускается только ERROR, TRUE, FALSE или UNKNOWN." #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4414 +#: parser/parse_expr.c:4417 #, c-format msgid "" "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns." @@ -20118,13 +20151,13 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 +#: parser/parse_expr.c:4435 parser/parse_expr.c:4461 #, c-format msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s." msgstr "В %s для %s допускается только ERROR, NULL или выражение DEFAULT." #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4442 parser/parse_expr.c:4468 +#: parser/parse_expr.c:4445 parser/parse_expr.c:4471 #, c-format msgid "" "Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns." @@ -20132,12 +20165,12 @@ "В %s для скалярных столбцов допускается только ERROR, NULL или выражение " "DEFAULT." -#: parser/parse_expr.c:4498 +#: parser/parse_expr.c:4505 #, c-format msgid "JSON path expression must be of type %s, not of type %s" msgstr "выражение пути JSON должно быть типа %s, а не типа %s" -#: parser/parse_expr.c:4738 +#: parser/parse_expr.c:4745 #, c-format msgid "" "can only specify a constant, non-aggregate function, or operator expression " @@ -20146,28 +20179,28 @@ "в DEFAULT может задаваться только константа, вызов не агрегатной функции или " "выражение с оператором" -#: parser/parse_expr.c:4743 +#: parser/parse_expr.c:4750 #, c-format msgid "DEFAULT expression must not contain column references" msgstr "выражения в DEFAULT не могут содержать ссылки на столбцы" -#: parser/parse_expr.c:4748 +#: parser/parse_expr.c:4755 #, c-format msgid "DEFAULT expression must not return a set" msgstr "выражение в DEFAULT не может возвращать множество" -#: parser/parse_expr.c:4763 +#: parser/parse_expr.c:4770 #, c-format msgid "collation of DEFAULT expression conflicts with RETURNING clause" msgstr "" "правило сортировки выражения DEFAULT конфликтует с предложением RETURNING" -#: parser/parse_expr.c:4842 parser/parse_expr.c:4851 +#: parser/parse_expr.c:4849 parser/parse_expr.c:4858 #, c-format msgid "cannot cast behavior expression of type %s to %s" msgstr "привести выражение поведения, имеющее тип %s, к типу %s нельзя" -#: parser/parse_expr.c:4845 +#: parser/parse_expr.c:4852 #, c-format msgid "You will need to explicitly cast the expression to type %s." msgstr "Приведите выражение к типу %s явно." @@ -21332,22 +21365,22 @@ msgstr "" "в TO должно указываться ровно одно значение для секционирующего столбца" -#: parser/parse_utilcmd.c:4228 +#: parser/parse_utilcmd.c:4230 #, c-format msgid "cannot specify NULL in range bound" msgstr "указать NULL в диапазонном ограничении нельзя" -#: parser/parse_utilcmd.c:4277 +#: parser/parse_utilcmd.c:4278 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "за границей MAXVALUE могут следовать только границы MAXVALUE" -#: parser/parse_utilcmd.c:4284 +#: parser/parse_utilcmd.c:4285 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "за границей MINVALUE могут следовать только границы MINVALUE" -#: parser/parse_utilcmd.c:4327 +#: parser/parse_utilcmd.c:4328 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "указанное значение нельзя привести к типу %s столбца \"%s\"" @@ -22566,19 +22599,19 @@ "недетерминированные правила сортировки не поддерживаются для регулярных " "выражений" -#: replication/libpqwalreceiver/libpqwalreceiver.c:267 -#: replication/libpqwalreceiver/libpqwalreceiver.c:358 +#: replication/libpqwalreceiver/libpqwalreceiver.c:280 +#: replication/libpqwalreceiver/libpqwalreceiver.c:371 #, c-format msgid "password is required" msgstr "требуется пароль" -#: replication/libpqwalreceiver/libpqwalreceiver.c:268 +#: replication/libpqwalreceiver/libpqwalreceiver.c:281 #, c-format msgid "Non-superuser cannot connect if the server does not request a password." msgstr "" "Только суперпользователи могут подключаться к серверу, не требующему пароль." -#: replication/libpqwalreceiver/libpqwalreceiver.c:269 +#: replication/libpqwalreceiver/libpqwalreceiver.c:282 #, c-format msgid "" "Target server's authentication method must be changed, or set " @@ -22587,30 +22620,30 @@ "Необходимо сменить метод аутентификации на целевом сервере или задать " "password_required=false в параметрах подписки." -#: replication/libpqwalreceiver/libpqwalreceiver.c:285 +#: replication/libpqwalreceiver/libpqwalreceiver.c:298 #, c-format msgid "could not clear search path: %s" msgstr "не удалось очистить путь поиска: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:331 -#: replication/libpqwalreceiver/libpqwalreceiver.c:517 +#: replication/libpqwalreceiver/libpqwalreceiver.c:344 +#: replication/libpqwalreceiver/libpqwalreceiver.c:542 #, c-format msgid "invalid connection string syntax: %s" msgstr "ошибочный синтаксис строки подключения: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:359 +#: replication/libpqwalreceiver/libpqwalreceiver.c:372 #, c-format msgid "Non-superusers must provide a password in the connection string." msgstr "" "Пользователи, не являющиеся суперпользователями, должны задавать пароль в " "строке соединения." -#: replication/libpqwalreceiver/libpqwalreceiver.c:386 +#: replication/libpqwalreceiver/libpqwalreceiver.c:399 #, c-format msgid "could not parse connection string: %s" msgstr "не удалось разобрать строку подключения: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:459 +#: replication/libpqwalreceiver/libpqwalreceiver.c:472 #, c-format msgid "" "could not receive database system identifier and timeline ID from the " @@ -22619,13 +22652,13 @@ "не удалось получить идентификатор СУБД и код линии времени с главного " "сервера: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:476 -#: replication/libpqwalreceiver/libpqwalreceiver.c:763 +#: replication/libpqwalreceiver/libpqwalreceiver.c:489 +#: replication/libpqwalreceiver/libpqwalreceiver.c:788 #, c-format msgid "invalid response from primary server" msgstr "неверный ответ главного сервера" -#: replication/libpqwalreceiver/libpqwalreceiver.c:477 +#: replication/libpqwalreceiver/libpqwalreceiver.c:490 #, c-format msgid "" "Could not identify system: got %d rows and %d fields, expected %d rows and " @@ -22634,91 +22667,91 @@ "Не удалось идентифицировать систему, получено строк: %d, полей: %d " "(ожидалось: %d и %d (или более))." -#: replication/libpqwalreceiver/libpqwalreceiver.c:606 -#: replication/libpqwalreceiver/libpqwalreceiver.c:613 -#: replication/libpqwalreceiver/libpqwalreceiver.c:643 +#: replication/libpqwalreceiver/libpqwalreceiver.c:631 +#: replication/libpqwalreceiver/libpqwalreceiver.c:638 +#: replication/libpqwalreceiver/libpqwalreceiver.c:668 #, c-format msgid "could not start WAL streaming: %s" msgstr "не удалось начать трансляцию WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:667 +#: replication/libpqwalreceiver/libpqwalreceiver.c:692 #, c-format msgid "could not send end-of-streaming message to primary: %s" msgstr "не удалось отправить главному серверу сообщение о конце передачи: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:690 +#: replication/libpqwalreceiver/libpqwalreceiver.c:715 #, c-format msgid "unexpected result set after end-of-streaming" msgstr "неожиданный набор данных после конца передачи" -#: replication/libpqwalreceiver/libpqwalreceiver.c:705 +#: replication/libpqwalreceiver/libpqwalreceiver.c:730 #, c-format msgid "error while shutting down streaming COPY: %s" msgstr "ошибка при остановке потоковой операции COPY: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:715 +#: replication/libpqwalreceiver/libpqwalreceiver.c:740 #, c-format msgid "error reading result of streaming command: %s" msgstr "ошибка при чтении результата команды передачи: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:724 -#: replication/libpqwalreceiver/libpqwalreceiver.c:957 +#: replication/libpqwalreceiver/libpqwalreceiver.c:749 +#: replication/libpqwalreceiver/libpqwalreceiver.c:982 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "неожиданный результат после CommandComplete: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:751 +#: replication/libpqwalreceiver/libpqwalreceiver.c:776 #, c-format msgid "could not receive timeline history file from the primary server: %s" msgstr "не удалось получить файл истории линии времени с главного сервера: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:764 +#: replication/libpqwalreceiver/libpqwalreceiver.c:789 #, c-format msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields." msgstr "Ожидался 1 кортеж с 2 полями, однако получено кортежей: %d, полей: %d." -#: replication/libpqwalreceiver/libpqwalreceiver.c:920 -#: replication/libpqwalreceiver/libpqwalreceiver.c:973 -#: replication/libpqwalreceiver/libpqwalreceiver.c:980 +#: replication/libpqwalreceiver/libpqwalreceiver.c:945 +#: replication/libpqwalreceiver/libpqwalreceiver.c:998 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1005 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "не удалось получить данные из потока WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1000 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1025 #, c-format msgid "could not send data to WAL stream: %s" msgstr "не удалось отправить данные в поток WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1101 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1126 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "не удалось создать слот репликации \"%s\": %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1140 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1165 #, c-format msgid "could not alter replication slot \"%s\": %s" msgstr "не удалось изменить свойства слота репликации \"%s\": %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1174 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1199 #, c-format msgid "invalid query response" msgstr "неверный ответ на запрос" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1175 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1200 #, c-format msgid "Expected %d fields, got %d fields." msgstr "Ожидалось полей: %d, получено: %d." -#: replication/libpqwalreceiver/libpqwalreceiver.c:1245 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1270 #, c-format msgid "the query interface requires a database connection" msgstr "для интерфейса запросов требуется подключение к БД" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1277 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1302 msgid "empty query" msgstr "пустой запрос" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1283 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1308 msgid "unexpected pipeline mode" msgstr "неожиданный режим канала" @@ -22790,7 +22823,7 @@ msgstr "недостаточно слотов для процессов логической репликации" #: replication/logical/launcher.c:441 replication/logical/launcher.c:527 -#: replication/slot.c:1553 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 +#: replication/slot.c:1585 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 #: storage/lmgr/lock.c:2836 storage/lmgr/lock.c:4221 storage/lmgr/lock.c:4286 #: storage/lmgr/lock.c:4636 storage/lmgr/predicate.c:2469 #: storage/lmgr/predicate.c:2484 storage/lmgr/predicate.c:3881 @@ -22828,13 +22861,13 @@ msgid "logical decoding requires a database connection" msgstr "для логического декодирования требуется подключение к БД" -#: replication/logical/logical.c:367 replication/logical/logical.c:521 +#: replication/logical/logical.c:367 replication/logical/logical.c:523 #, c-format msgid "cannot use physical replication slot for logical decoding" msgstr "" "физический слот репликации нельзя использовать для логического декодирования" -#: replication/logical/logical.c:372 replication/logical/logical.c:531 +#: replication/logical/logical.c:372 replication/logical/logical.c:533 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "слот репликации \"%s\" создан не в этой базе данных" @@ -22847,29 +22880,29 @@ msgstr "" "нельзя создать слот логической репликации в транзакции, осуществляющей запись" -#: replication/logical/logical.c:542 +#: replication/logical/logical.c:544 #, c-format msgid "cannot use replication slot \"%s\" for logical decoding" msgstr "" "слот репликации \"%s\" нельзя использовать для логического декодирования" -#: replication/logical/logical.c:544 replication/slot.c:827 +#: replication/logical/logical.c:546 replication/slot.c:827 #: replication/slot.c:858 #, c-format msgid "This replication slot is being synchronized from the primary server." msgstr "Этот слот репликации синхронизируется с ведущего сервера." -#: replication/logical/logical.c:545 +#: replication/logical/logical.c:547 #, c-format msgid "Specify another replication slot." msgstr "Укажите другой слот репликации." -#: replication/logical/logical.c:556 replication/logical/logical.c:563 +#: replication/logical/logical.c:558 replication/logical/logical.c:565 #, c-format msgid "can no longer get changes from replication slot \"%s\"" msgstr "из слота репликации \"%s\" больше нельзя получать изменения" -#: replication/logical/logical.c:558 +#: replication/logical/logical.c:560 #, c-format msgid "" "This slot has been invalidated because it exceeded the maximum reserved size." @@ -22877,48 +22910,48 @@ "Этот слот был аннулирован из-за превышения максимального зарезервированного " "размера." -#: replication/logical/logical.c:565 +#: replication/logical/logical.c:567 #, c-format msgid "" "This slot has been invalidated because it was conflicting with recovery." msgstr "Этот слот был аннулирован из-за конфликта с восстановлением." -#: replication/logical/logical.c:630 +#: replication/logical/logical.c:632 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "начинается логическое декодирование для слота \"%s\"" -#: replication/logical/logical.c:632 +#: replication/logical/logical.c:634 #, c-format msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X." msgstr "Передача транзакций, фиксируемых после %X/%X, чтение WAL с %X/%X." -#: replication/logical/logical.c:780 +#: replication/logical/logical.c:782 #, c-format msgid "" "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X" msgstr "" "слот \"%s\", модуль вывода \"%s\", в обработчике %s, связанный LSN: %X/%X" -#: replication/logical/logical.c:786 +#: replication/logical/logical.c:788 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback" msgstr "слот \"%s\", модуль вывода \"%s\", в обработчике %s" -#: replication/logical/logical.c:957 replication/logical/logical.c:1002 -#: replication/logical/logical.c:1047 replication/logical/logical.c:1093 +#: replication/logical/logical.c:959 replication/logical/logical.c:1004 +#: replication/logical/logical.c:1049 replication/logical/logical.c:1095 #, c-format msgid "logical replication at prepare time requires a %s callback" msgstr "для логической репликации во время подготовки требуется обработчик %s" -#: replication/logical/logical.c:1325 replication/logical/logical.c:1374 -#: replication/logical/logical.c:1415 replication/logical/logical.c:1501 -#: replication/logical/logical.c:1550 +#: replication/logical/logical.c:1327 replication/logical/logical.c:1376 +#: replication/logical/logical.c:1417 replication/logical/logical.c:1503 +#: replication/logical/logical.c:1552 #, c-format msgid "logical streaming requires a %s callback" msgstr "для логической потоковой репликации требуется обработчик %s" -#: replication/logical/logical.c:1460 +#: replication/logical/logical.c:1462 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "" @@ -23036,7 +23069,7 @@ "репликации с ID %d" #: replication/logical/origin.c:957 replication/logical/origin.c:1158 -#: replication/slot.c:2414 +#: replication/slot.c:2446 #, c-format msgid "Increase \"max_replication_slots\" and try again." msgstr "Увеличьте параметр \"max_replication_slots\" и повторите попытку." @@ -23138,7 +23171,7 @@ msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d, требовалось: %d)" -#: replication/logical/slotsync.c:215 replication/logical/slotsync.c:579 +#: replication/logical/slotsync.c:215 replication/logical/slotsync.c:580 #, c-format msgid "could not synchronize replication slot \"%s\"" msgstr "не удалось синхронизировать слот репликации \"%s\"" @@ -23159,7 +23192,7 @@ msgid "dropped replication slot \"%s\" of database with OID %u" msgstr "слот репликации \"%s\" базы данных с OID %u удалён" -#: replication/logical/slotsync.c:580 +#: replication/logical/slotsync.c:581 #, c-format msgid "" "Synchronization could lead to data loss, because the standby could not build " @@ -23168,12 +23201,12 @@ "Синхронизация могла привести к потере данных, так как резервный сервер не " "смог получить согласованный снимок для декодирования WAL в позиции LSN %X/%X." -#: replication/logical/slotsync.c:589 +#: replication/logical/slotsync.c:590 #, c-format msgid "newly created replication slot \"%s\" is sync-ready now" msgstr "созданный слот репликации \"%s\" сейчас готов к синхронизации" -#: replication/logical/slotsync.c:628 +#: replication/logical/slotsync.c:629 #, c-format msgid "" "skipping slot synchronization because the received slot sync LSN %X/%X for " @@ -23182,7 +23215,7 @@ "синхронизация слота пропускается, потому что полученная позиция LSN %X/%X " "для слота \"%s\" предшествует позиции %X/%X на резервном сервере" -#: replication/logical/slotsync.c:650 +#: replication/logical/slotsync.c:651 #, c-format msgid "" "exiting from slot synchronization because same name slot \"%s\" already " @@ -23191,32 +23224,32 @@ "синхронизация слота отменяется, потому что слот с таким же именем \"%s\" уже " "существует на резервном сервере" -#: replication/logical/slotsync.c:819 +#: replication/logical/slotsync.c:822 #, c-format msgid "could not fetch failover logical slots info from the primary server: %s" msgstr "" "не удалось получить информацию о переносимых логических слотах с главного " "сервера: %s" -#: replication/logical/slotsync.c:965 +#: replication/logical/slotsync.c:968 #, c-format msgid "" "could not fetch primary_slot_name \"%s\" info from the primary server: %s" msgstr "не удалось получить информацию о слоте \"%s\" с главного сервера: %s" # skip-rule: nastroy1 -#: replication/logical/slotsync.c:967 +#: replication/logical/slotsync.c:970 #, c-format msgid "Check if primary_slot_name is configured correctly." msgstr "Проверьте правильность настройки primary_slot_name." -#: replication/logical/slotsync.c:987 +#: replication/logical/slotsync.c:990 #, c-format msgid "cannot synchronize replication slots from a standby server" msgstr "синхронизировать слоты репликации с резервного сервера нельзя" #. translator: second %s is a GUC variable name -#: replication/logical/slotsync.c:996 +#: replication/logical/slotsync.c:999 #, c-format msgid "" "replication slot \"%s\" specified by \"%s\" does not exist on primary server" @@ -23226,32 +23259,32 @@ #. translator: first %s is a connection option; second %s is a GUC #. variable name #. -#: replication/logical/slotsync.c:1029 +#: replication/logical/slotsync.c:1032 #, c-format msgid "" "replication slot synchronization requires \"%s\" to be specified in \"%s\"" msgstr "для синхронизации слотов репликации требуется указание \"%s\" в \"%s\"" -#: replication/logical/slotsync.c:1048 +#: replication/logical/slotsync.c:1051 #, c-format msgid "replication slot synchronization requires \"wal_level\" >= \"logical\"" msgstr "" "для синхронизации слотов репликации требуется \"wal_level\" >= \"logical\"" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1063 replication/logical/slotsync.c:1091 +#: replication/logical/slotsync.c:1066 replication/logical/slotsync.c:1094 #, c-format msgid "replication slot synchronization requires \"%s\" to be set" msgstr "для синхронизации слотов репликации требуется установить \"%s\"" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1077 +#: replication/logical/slotsync.c:1080 #, c-format msgid "replication slot synchronization requires \"%s\" to be enabled" msgstr "для синхронизации слотов репликации требуется включить \"%s\"" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1129 +#: replication/logical/slotsync.c:1132 #, c-format msgid "" "replication slot synchronization worker will shut down because \"%s\" is " @@ -23260,7 +23293,7 @@ "процесс синхронизации слотов репликации будет остановлен, так как \"%s\" " "отключён" -#: replication/logical/slotsync.c:1138 +#: replication/logical/slotsync.c:1141 #, c-format msgid "" "replication slot synchronization worker will restart because of a parameter " @@ -23269,32 +23302,33 @@ "процесс синхронизации слотов репликации будет перезапущен вследствие " "изменения параметров" -#: replication/logical/slotsync.c:1162 +#: replication/logical/slotsync.c:1165 #, c-format msgid "" -"replication slot synchronization worker is shutting down on receiving SIGINT" +"replication slot synchronization worker is shutting down because promotion " +"is triggered" msgstr "" -"процесс синхронизации слотов репликации останавливается, получив сигнал " -"SIGINT" +"процесс синхронизации слотов репликации останавливается, так как вызвана " +"процедура повышения сервера" -#: replication/logical/slotsync.c:1287 +#: replication/logical/slotsync.c:1290 #, c-format msgid "cannot synchronize replication slots when standby promotion is ongoing" msgstr "" "синхронизировать слоты репликации, когда выполняется повышение резервного " "сервера, нельзя" -#: replication/logical/slotsync.c:1295 +#: replication/logical/slotsync.c:1298 #, c-format msgid "cannot synchronize replication slots concurrently" msgstr "многопоточная синхронизация слотов репликации не поддерживается" -#: replication/logical/slotsync.c:1403 +#: replication/logical/slotsync.c:1406 #, c-format msgid "slot sync worker started" msgstr "рабочий процесс синхронизации слотов запущен" -#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:926 +#: replication/logical/slotsync.c:1469 replication/slotfuncs.c:926 #: replication/walreceiver.c:307 #, c-format msgid "could not connect to the primary server: %s" @@ -23430,19 +23464,14 @@ msgstr "" "не удалось начать копирование начального содержимого таблицы \"%s.%s\": %s" -#: replication/logical/tablesync.c:1455 +#: replication/logical/tablesync.c:1469 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "" "при копировании таблицы не удалось начать транзакцию на сервере публикации: " "%s" -#: replication/logical/tablesync.c:1498 -#, c-format -msgid "replication origin \"%s\" already exists" -msgstr "источник репликации \"%s\" уже существует" - -#: replication/logical/tablesync.c:1531 replication/logical/worker.c:2363 +#: replication/logical/tablesync.c:1529 replication/logical/worker.c:2363 #, c-format msgid "" "user \"%s\" cannot replicate into relation with row-level security enabled: " @@ -23451,7 +23480,7 @@ "пользователь \"%s\" не может реплицировать данные в отношение с включённой " "защитой на уровне строк: \"%s\"" -#: replication/logical/tablesync.c:1544 +#: replication/logical/tablesync.c:1542 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "" @@ -23610,29 +23639,29 @@ msgstr "" "запускается применяющий процесс логической репликации для подписки \"%s\"" -#: replication/logical/worker.c:4802 +#: replication/logical/worker.c:4806 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "подписка \"%s\" была отключена из-за ошибки" -#: replication/logical/worker.c:4850 +#: replication/logical/worker.c:4854 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "" "обработчик логической репликации начинает пропускать транзакцию с LSN %X/%X" -#: replication/logical/worker.c:4864 +#: replication/logical/worker.c:4868 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "" "обработчик логической репликации завершил пропуск транзакции с LSN %X/%X" -#: replication/logical/worker.c:4952 +#: replication/logical/worker.c:4956 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "значение skip-LSN для подписки \"%s\" очищено" -#: replication/logical/worker.c:4953 +#: replication/logical/worker.c:4957 #, c-format msgid "" "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN " @@ -23641,7 +23670,7 @@ "Позиция завершения удалённой транзакции в WAL (LSN) %X/%X не совпала со " "значением skip-LSN %X/%X." -#: replication/logical/worker.c:4981 +#: replication/logical/worker.c:4985 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -23650,7 +23679,7 @@ "обработка внешних данных для источника репликации \"%s\" в контексте " "сообщения типа \"%s\"" -#: replication/logical/worker.c:4985 +#: replication/logical/worker.c:4989 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -23659,7 +23688,7 @@ "обработка внешних данных из источника репликации \"%s\" в контексте " "сообщения типа \"%s\" в транзакции %u" -#: replication/logical/worker.c:4990 +#: replication/logical/worker.c:4994 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -23668,7 +23697,7 @@ "обработка внешних данных для источника репликации \"%s\" в контексте " "сообщения типа \"%s\" в транзакции %u, конечная позиция %X/%X" -#: replication/logical/worker.c:5001 +#: replication/logical/worker.c:5005 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -23678,7 +23707,7 @@ "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\" в " "транзакции %u" -#: replication/logical/worker.c:5008 +#: replication/logical/worker.c:5012 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -23689,7 +23718,7 @@ "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\" в " "транзакции %u, конечная позиция %X/%X" -#: replication/logical/worker.c:5019 +#: replication/logical/worker.c:5023 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -23700,7 +23729,7 @@ "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\", столбца " "\"%s\", в транзакции %u" -#: replication/logical/worker.c:5027 +#: replication/logical/worker.c:5031 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -23721,17 +23750,17 @@ msgid "proto_version \"%s\" out of range" msgstr "значение proto_verson \"%s\" вне диапазона" -#: replication/pgoutput/pgoutput.c:345 +#: replication/pgoutput/pgoutput.c:349 #, c-format msgid "invalid publication_names syntax" msgstr "неверный синтаксис publication_names" -#: replication/pgoutput/pgoutput.c:415 replication/pgoutput/pgoutput.c:419 +#: replication/pgoutput/pgoutput.c:419 replication/pgoutput/pgoutput.c:423 #, c-format msgid "option \"%s\" missing" msgstr "параметр \"%s\" отсутствует" -#: replication/pgoutput/pgoutput.c:490 +#: replication/pgoutput/pgoutput.c:494 #, c-format msgid "" "client sent proto_version=%d but server only supports protocol %d or lower" @@ -23739,7 +23768,7 @@ "клиент передал proto_version=%d, но сервер поддерживает только протокол %d и " "ниже" -#: replication/pgoutput/pgoutput.c:496 +#: replication/pgoutput/pgoutput.c:500 #, c-format msgid "" "client sent proto_version=%d but server only supports protocol %d or higher" @@ -23747,7 +23776,7 @@ "клиент передал proto_version=%d, но сервер поддерживает только протокол %d и " "выше" -#: replication/pgoutput/pgoutput.c:511 +#: replication/pgoutput/pgoutput.c:515 #, c-format msgid "" "requested proto_version=%d does not support streaming, need %d or higher" @@ -23755,7 +23784,7 @@ "запрошенная версия proto_version=%d не поддерживает потоковую передачу, " "требуется версия %d или выше" -#: replication/pgoutput/pgoutput.c:517 +#: replication/pgoutput/pgoutput.c:521 #, c-format msgid "" "requested proto_version=%d does not support parallel streaming, need %d or " @@ -23764,12 +23793,12 @@ "запрошенная версия proto_version=%d не поддерживает параллельную потоковую " "передачу, требуется версия %d или выше" -#: replication/pgoutput/pgoutput.c:522 +#: replication/pgoutput/pgoutput.c:526 #, c-format msgid "streaming requested, but not supported by output plugin" msgstr "запрошена потоковая передача, но она не поддерживается модулем вывода" -#: replication/pgoutput/pgoutput.c:536 +#: replication/pgoutput/pgoutput.c:540 #, c-format msgid "" "requested proto_version=%d does not support two-phase commit, need %d or " @@ -23778,7 +23807,7 @@ "запрошенная версия proto_version=%d не поддерживает двухфазную фиксацию, " "требуется версия %d или выше" -#: replication/pgoutput/pgoutput.c:541 +#: replication/pgoutput/pgoutput.c:545 #, c-format msgid "two-phase commit requested, but not supported by output plugin" msgstr "запрошена двухфазная фиксация, но она не поддерживается модулем вывода" @@ -23838,7 +23867,7 @@ msgid "replication slot \"%s\" does not exist" msgstr "слот репликации \"%s\" не существует" -#: replication/slot.c:635 replication/slot.c:1366 +#: replication/slot.c:635 replication/slot.c:1395 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "слот репликации \"%s\" занят процессом с PID %d" @@ -23883,35 +23912,35 @@ msgid "cannot enable failover for a replication slot on the standby" msgstr "сделать переносимым слот репликации на ведомом сервере нельзя" -#: replication/slot.c:998 replication/slot.c:1933 replication/slot.c:2324 +#: replication/slot.c:998 replication/slot.c:1965 replication/slot.c:2356 #, c-format msgid "could not remove directory \"%s\"" msgstr "ошибка при удалении каталога \"%s\"" -#: replication/slot.c:1401 +#: replication/slot.c:1430 #, c-format msgid "replication slots can only be used if \"max_replication_slots\" > 0" msgstr "" "слоты репликации можно использовать, только если \"max_replication_slots\" > " "0" -#: replication/slot.c:1406 +#: replication/slot.c:1435 #, c-format msgid "replication slots can only be used if \"wal_level\" >= \"replica\"" msgstr "" "слоты репликации можно использовать, только если \"wal_level\" >= \"replica\"" -#: replication/slot.c:1418 +#: replication/slot.c:1447 #, c-format msgid "permission denied to use replication slots" msgstr "нет прав для использования слотов репликации" -#: replication/slot.c:1419 +#: replication/slot.c:1448 #, c-format msgid "Only roles with the %s attribute may use replication slots." msgstr "Использовать слоты репликации могут только роли с атрибутом %s." -#: replication/slot.c:1527 +#: replication/slot.c:1559 #, c-format msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte." msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." @@ -23919,12 +23948,12 @@ msgstr[1] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б." msgstr[2] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б." -#: replication/slot.c:1535 +#: replication/slot.c:1567 #, c-format msgid "The slot conflicted with xid horizon %u." msgstr "Слот конфликтует с горизонтом xid %u." -#: replication/slot.c:1540 +#: replication/slot.c:1572 msgid "" "Logical decoding on standby requires \"wal_level\" >= \"logical\" on the " "primary server." @@ -23932,50 +23961,50 @@ "Для логического декодирования на ведомом сервере требуется \"wal_level\" >= " "\"logical\" на ведущем." -#: replication/slot.c:1548 +#: replication/slot.c:1580 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "завершение процесса %d для освобождения слота репликации \"%s\"" -#: replication/slot.c:1550 +#: replication/slot.c:1582 #, c-format msgid "invalidating obsolete replication slot \"%s\"" msgstr "аннулирование устаревшего слота репликации \"%s\"" -#: replication/slot.c:2262 +#: replication/slot.c:2294 #, c-format msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" msgstr "" "файл слота репликации \"%s\" имеет неправильную сигнатуру (%u вместо %u)" -#: replication/slot.c:2269 +#: replication/slot.c:2301 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "файл состояния snapbuild \"%s\" имеет неподдерживаемую версию %u" -#: replication/slot.c:2276 +#: replication/slot.c:2308 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "у файла слота репликации \"%s\" неверная длина: %u" -#: replication/slot.c:2312 +#: replication/slot.c:2344 #, c-format msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" msgstr "" "в файле слота репликации \"%s\" неверная контрольная сумма (%u вместо %u)" -#: replication/slot.c:2348 +#: replication/slot.c:2380 #, c-format msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\"" msgstr "" "существует слот логической репликации \"%s\", но \"wal_level\" < \"logical\"" -#: replication/slot.c:2350 +#: replication/slot.c:2382 #, c-format msgid "Change \"wal_level\" to be \"logical\" or higher." msgstr "Смените \"wal_level\" на \"logical\" или более высокий уровень." -#: replication/slot.c:2362 +#: replication/slot.c:2394 #, c-format msgid "" "logical replication slot \"%s\" exists on the standby, but \"hot_standby\" = " @@ -23984,34 +24013,34 @@ "на ведомом сервере существует слот логической репликации \"%s\", но " "\"hot_standby\" = \"off\"" -#: replication/slot.c:2364 +#: replication/slot.c:2396 #, c-format msgid "Change \"hot_standby\" to be \"on\"." msgstr "Смените значение \"hot_standby\" на \"on\"." -#: replication/slot.c:2369 +#: replication/slot.c:2401 #, c-format msgid "" "physical replication slot \"%s\" exists, but \"wal_level\" < \"replica\"" msgstr "" "существует слот физической репликации \"%s\", но \"wal_level\" < \"replica\"" -#: replication/slot.c:2371 +#: replication/slot.c:2403 #, c-format msgid "Change \"wal_level\" to be \"replica\" or higher." msgstr "Смените \"wal_level\" на \"replica\" или более высокий уровень." -#: replication/slot.c:2413 +#: replication/slot.c:2445 #, c-format msgid "too many replication slots active before shutdown" msgstr "перед завершением активно слишком много слотов репликации" -#: replication/slot.c:2640 +#: replication/slot.c:2672 #, c-format msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist" msgstr "слот репликации \"%s\", указанный в параметре \"%s\", не существует" -#: replication/slot.c:2642 replication/slot.c:2676 replication/slot.c:2691 +#: replication/slot.c:2674 replication/slot.c:2708 replication/slot.c:2723 #, c-format msgid "" "Logical replication is waiting on the standby associated with replication " @@ -24020,30 +24049,30 @@ "Логическая репликация ожидает резервного сервера, связанного со слотом " "репликации \"%s\"." -#: replication/slot.c:2644 +#: replication/slot.c:2676 #, c-format msgid "Create the replication slot \"%s\" or amend parameter \"%s\"." msgstr "Создайте слот репликации \"%s\" или опустите параметр \"%s\"." -#: replication/slot.c:2654 +#: replication/slot.c:2686 #, c-format msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\"" msgstr "" "слот логической репликации \"%s\" не может быть указан в параметре \"%s\"" -#: replication/slot.c:2656 +#: replication/slot.c:2688 #, c-format msgid "" "Logical replication is waiting for correction on replication slot \"%s\"." msgstr "Логическая репликация ожидает исправления слота репликации \"%s\"." -#: replication/slot.c:2658 +#: replication/slot.c:2690 #, c-format msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"." msgstr "" "Удалите указание слота логической репликации \"%s\" из параметра \"%s\"." -#: replication/slot.c:2674 +#: replication/slot.c:2706 #, c-format msgid "" "physical replication slot \"%s\" specified in parameter \"%s\" has been " @@ -24052,14 +24081,14 @@ "слот физической репликации \"%s\", указанный в параметре \"%s\", был " "аннулирован" -#: replication/slot.c:2678 +#: replication/slot.c:2710 #, c-format msgid "" "Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"." msgstr "" "Удалите и пересоздайте слот репликации \"%s\" или опустите параметр \"%s\"." -#: replication/slot.c:2689 +#: replication/slot.c:2721 #, c-format msgid "" "replication slot \"%s\" specified in parameter \"%s\" does not have " @@ -24068,7 +24097,7 @@ "у слота репликации \"%s\", указанного в параметре \"%s\", нулевое значение " "active_pid" -#: replication/slot.c:2693 +#: replication/slot.c:2725 #, c-format msgid "" "Start the standby associated with the replication slot \"%s\", or amend " @@ -24293,7 +24322,7 @@ msgid "cannot use %s with a logical replication slot" msgstr "использовать %s со слотом логической репликации нельзя" -#: replication/walsender.c:653 storage/smgr/md.c:1735 +#: replication/walsender.c:653 storage/smgr/md.c:1749 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "не удалось перейти к концу файла \"%s\": %m" @@ -24623,7 +24652,7 @@ "имя запроса WITH \"%s\" оказалось и в действии правила, и в переписываемом " "запросе" -#: rewrite/rewriteHandler.c:615 +#: rewrite/rewriteHandler.c:618 #, c-format msgid "" "INSERT ... SELECT rule actions are not supported for queries having data-" @@ -24632,123 +24661,123 @@ "правила INSERT ... SELECT не поддерживаются для запросов с операторами, " "изменяющими данные, в WITH" -#: rewrite/rewriteHandler.c:668 +#: rewrite/rewriteHandler.c:671 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "RETURNING можно определить только для одного правила" -#: rewrite/rewriteHandler.c:900 rewrite/rewriteHandler.c:939 +#: rewrite/rewriteHandler.c:903 rewrite/rewriteHandler.c:942 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "в столбец \"%s\" можно вставить только значение по умолчанию" -#: rewrite/rewriteHandler.c:902 rewrite/rewriteHandler.c:968 +#: rewrite/rewriteHandler.c:905 rewrite/rewriteHandler.c:971 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "" "Столбец \"%s\" является столбцом идентификации со свойством GENERATED ALWAYS." -#: rewrite/rewriteHandler.c:904 +#: rewrite/rewriteHandler.c:907 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Для переопределения укажите OVERRIDING SYSTEM VALUE." -#: rewrite/rewriteHandler.c:966 rewrite/rewriteHandler.c:974 +#: rewrite/rewriteHandler.c:969 rewrite/rewriteHandler.c:977 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "столбцу \"%s\" можно присвоить только значение DEFAULT" -#: rewrite/rewriteHandler.c:1109 rewrite/rewriteHandler.c:1127 +#: rewrite/rewriteHandler.c:1112 rewrite/rewriteHandler.c:1130 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "многочисленные присвоения одному столбцу \"%s\"" -#: rewrite/rewriteHandler.c:1682 +#: rewrite/rewriteHandler.c:1685 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGE не поддерживается для отношений с правилами." -#: rewrite/rewriteHandler.c:1722 rewrite/rewriteHandler.c:3262 +#: rewrite/rewriteHandler.c:1725 rewrite/rewriteHandler.c:3265 #, c-format msgid "access to non-system view \"%s\" is restricted" msgstr "доступ к несистемному представлению \"%s\" ограничен" -#: rewrite/rewriteHandler.c:2122 rewrite/rewriteHandler.c:4254 +#: rewrite/rewriteHandler.c:2125 rewrite/rewriteHandler.c:4274 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "обнаружена бесконечная рекурсия в правилах для отношения \"%s\"" -#: rewrite/rewriteHandler.c:2227 +#: rewrite/rewriteHandler.c:2230 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "обнаружена бесконечная рекурсия в политике для отношения \"%s\"" -#: rewrite/rewriteHandler.c:2589 +#: rewrite/rewriteHandler.c:2592 msgid "Junk view columns are not updatable." msgstr "Утилизируемые столбцы представлений не обновляются." -#: rewrite/rewriteHandler.c:2594 +#: rewrite/rewriteHandler.c:2597 msgid "" "View columns that are not columns of their base relation are not updatable." msgstr "" "Столбцы представлений, не являющиеся столбцами базовых отношений, не " "обновляются." -#: rewrite/rewriteHandler.c:2597 +#: rewrite/rewriteHandler.c:2600 msgid "View columns that refer to system columns are not updatable." msgstr "" "Столбцы представлений, ссылающиеся на системные столбцы, не обновляются." -#: rewrite/rewriteHandler.c:2600 +#: rewrite/rewriteHandler.c:2603 msgid "View columns that return whole-row references are not updatable." msgstr "" "Столбцы представлений, возвращающие ссылки на всю строку, не обновляются." -#: rewrite/rewriteHandler.c:2661 +#: rewrite/rewriteHandler.c:2664 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Представления с DISTINCT не обновляются автоматически." -#: rewrite/rewriteHandler.c:2664 +#: rewrite/rewriteHandler.c:2667 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Представления с GROUP BY не обновляются автоматически." -#: rewrite/rewriteHandler.c:2667 +#: rewrite/rewriteHandler.c:2670 msgid "Views containing HAVING are not automatically updatable." msgstr "Представления с HAVING не обновляются автоматически." -#: rewrite/rewriteHandler.c:2670 +#: rewrite/rewriteHandler.c:2673 msgid "" "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "" "Представления с UNION, INTERSECT или EXCEPT не обновляются автоматически." -#: rewrite/rewriteHandler.c:2673 +#: rewrite/rewriteHandler.c:2676 msgid "Views containing WITH are not automatically updatable." msgstr "Представления с WITH не обновляются автоматически." -#: rewrite/rewriteHandler.c:2676 +#: rewrite/rewriteHandler.c:2679 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Представления с LIMIT или OFFSET не обновляются автоматически." -#: rewrite/rewriteHandler.c:2688 +#: rewrite/rewriteHandler.c:2691 msgid "Views that return aggregate functions are not automatically updatable." msgstr "" "Представления, возвращающие агрегатные функции, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2691 +#: rewrite/rewriteHandler.c:2694 msgid "Views that return window functions are not automatically updatable." msgstr "" "Представления, возвращающие оконные функции, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2694 +#: rewrite/rewriteHandler.c:2697 msgid "" "Views that return set-returning functions are not automatically updatable." msgstr "" "Представления, возвращающие функции с результатом-множеством, не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:2701 rewrite/rewriteHandler.c:2705 -#: rewrite/rewriteHandler.c:2713 +#: rewrite/rewriteHandler.c:2704 rewrite/rewriteHandler.c:2708 +#: rewrite/rewriteHandler.c:2716 msgid "" "Views that do not select from a single table or view are not automatically " "updatable." @@ -24756,22 +24785,22 @@ "Представления, выбирающие данные не из одной таблицы или представления, не " "обновляются автоматически." -#: rewrite/rewriteHandler.c:2716 +#: rewrite/rewriteHandler.c:2719 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Представления, содержащие TABLESAMPLE, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2740 +#: rewrite/rewriteHandler.c:2743 msgid "Views that have no updatable columns are not automatically updatable." msgstr "" "Представления, не содержащие обновляемых столбцов, не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:3121 rewrite/rewriteHandler.c:3156 +#: rewrite/rewriteHandler.c:3124 rewrite/rewriteHandler.c:3159 #, c-format msgid "cannot insert into view \"%s\"" msgstr "вставить данные в представление \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3124 +#: rewrite/rewriteHandler.c:3127 #, c-format msgid "" "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or " @@ -24780,12 +24809,12 @@ "Чтобы представление допускало добавление данных, установите триггер INSTEAD " "OF INSERT или безусловное правило ON INSERT DO INSTEAD." -#: rewrite/rewriteHandler.c:3129 rewrite/rewriteHandler.c:3165 +#: rewrite/rewriteHandler.c:3132 rewrite/rewriteHandler.c:3168 #, c-format msgid "cannot update view \"%s\"" msgstr "изменить данные в представлении \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3132 +#: rewrite/rewriteHandler.c:3135 #, c-format msgid "" "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an " @@ -24794,12 +24823,12 @@ "Чтобы представление допускало изменение данных, установите триггер INSTEAD " "OF UPDATE или безусловное правило ON UPDATE DO INSTEAD." -#: rewrite/rewriteHandler.c:3137 rewrite/rewriteHandler.c:3174 +#: rewrite/rewriteHandler.c:3140 rewrite/rewriteHandler.c:3177 #, c-format msgid "cannot delete from view \"%s\"" msgstr "удалить данные из представления \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3140 +#: rewrite/rewriteHandler.c:3143 #, c-format msgid "" "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an " @@ -24808,7 +24837,7 @@ "Чтобы представление допускало удаление данных, установите триггер INSTEAD OF " "DELETE или безусловное правило ON DELETE DO INSTEAD." -#: rewrite/rewriteHandler.c:3159 +#: rewrite/rewriteHandler.c:3162 #, c-format msgid "" "To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT " @@ -24817,7 +24846,7 @@ "Чтобы представление допускало добавление данных посредством MERGE, создайте " "триггер INSTEAD OF INSERT." -#: rewrite/rewriteHandler.c:3168 +#: rewrite/rewriteHandler.c:3171 #, c-format msgid "" "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE " @@ -24826,7 +24855,7 @@ "Чтобы представление допускало изменение данных посредством MERGE, создайте " "триггер INSTEAD OF UPDATE." -#: rewrite/rewriteHandler.c:3177 +#: rewrite/rewriteHandler.c:3180 #, c-format msgid "" "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE " @@ -24835,27 +24864,27 @@ "Чтобы представление допускало удаление данных посредством MERGE, создайте " "триггер INSTEAD OF DELETE." -#: rewrite/rewriteHandler.c:3352 +#: rewrite/rewriteHandler.c:3355 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "вставить данные в столбец \"%s\" представления \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3360 +#: rewrite/rewriteHandler.c:3363 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "изменить данные в столбце \"%s\" представления \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3368 +#: rewrite/rewriteHandler.c:3371 #, c-format msgid "cannot merge into column \"%s\" of view \"%s\"" msgstr "столбец \"%s\" представления \"%s\" не допускает объединение данных" -#: rewrite/rewriteHandler.c:3396 +#: rewrite/rewriteHandler.c:3399 #, c-format msgid "cannot merge into view \"%s\"" msgstr "представление \"%s\" не допускает объединение данных" -#: rewrite/rewriteHandler.c:3398 +#: rewrite/rewriteHandler.c:3401 #, c-format msgid "" "MERGE is not supported for views with INSTEAD OF triggers for some actions " @@ -24864,7 +24893,7 @@ "MERGE не поддерживается для представлений, имеющих триггеры INSTEAD OF для " "некоторых, но не всех действий." -#: rewrite/rewriteHandler.c:3399 +#: rewrite/rewriteHandler.c:3402 #, c-format msgid "" "To enable merging into the view, either provide a full set of INSTEAD OF " @@ -24873,7 +24902,7 @@ "Чтобы представление допускало объединение данных, или предоставьте полный " "набор триггеров INSTEAD OF, или удалите существующие триггеры INSTEAD OF." -#: rewrite/rewriteHandler.c:3912 +#: rewrite/rewriteHandler.c:3931 #, c-format msgid "" "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in " @@ -24882,7 +24911,7 @@ "правила DO INSTEAD NOTIFY не поддерживаются в операторах, изменяющих данные, " "в WITH" -#: rewrite/rewriteHandler.c:3923 +#: rewrite/rewriteHandler.c:3942 #, c-format msgid "" "DO INSTEAD NOTHING rules are not supported for data-modifying statements in " @@ -24891,7 +24920,7 @@ "правила DO INSTEAD NOTHING не поддерживаются в операторах, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3937 +#: rewrite/rewriteHandler.c:3956 #, c-format msgid "" "conditional DO INSTEAD rules are not supported for data-modifying statements " @@ -24900,13 +24929,13 @@ "условные правила DO INSTEAD не поддерживаются для операторов, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3941 +#: rewrite/rewriteHandler.c:3960 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "" "правила DO ALSO не поддерживаются для операторов, изменяющих данные, в WITH" -#: rewrite/rewriteHandler.c:3946 +#: rewrite/rewriteHandler.c:3965 #, c-format msgid "" "multi-statement DO INSTEAD rules are not supported for data-modifying " @@ -24915,50 +24944,50 @@ "составные правила DO INSTEAD не поддерживаются для операторов, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:4206 +#: rewrite/rewriteHandler.c:4226 msgid "" "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "" "Представления в сочетании с правилами DO INSTEAD с условиями не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:4303 +#: rewrite/rewriteHandler.c:4324 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "выполнить INSERT RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4305 +#: rewrite/rewriteHandler.c:4326 #, c-format msgid "" "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." msgstr "" "Необходимо безусловное правило ON INSERT DO INSTEAD с предложением RETURNING." -#: rewrite/rewriteHandler.c:4310 +#: rewrite/rewriteHandler.c:4331 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "выполнить UPDATE RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4312 +#: rewrite/rewriteHandler.c:4333 #, c-format msgid "" "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." msgstr "" "Необходимо безусловное правило ON UPDATE DO INSTEAD с предложением RETURNING." -#: rewrite/rewriteHandler.c:4317 +#: rewrite/rewriteHandler.c:4338 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "выполнить DELETE RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4319 +#: rewrite/rewriteHandler.c:4340 #, c-format msgid "" "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." msgstr "" "Необходимо безусловное правило ON DELETE DO INSTEAD с предложением RETURNING." -#: rewrite/rewriteHandler.c:4337 +#: rewrite/rewriteHandler.c:4358 #, c-format msgid "" "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or " @@ -24967,7 +24996,7 @@ "INSERT c предложением ON CONFLICT нельзя использовать с таблицей, для " "которой заданы правила INSERT или UPDATE" -#: rewrite/rewriteHandler.c:4394 +#: rewrite/rewriteHandler.c:4415 #, c-format msgid "" "WITH cannot be used in a query that is rewritten by rules into multiple " @@ -25044,27 +25073,27 @@ msgstr "" "функция, возвращающая запись, вызвана в контексте, не допускающем этот тип" -#: storage/buffer/bufmgr.c:649 storage/buffer/bufmgr.c:805 +#: storage/buffer/bufmgr.c:656 storage/buffer/bufmgr.c:812 #, c-format msgid "cannot access temporary tables of other sessions" msgstr "обращаться к временным таблицам других сеансов нельзя" -#: storage/buffer/bufmgr.c:1532 +#: storage/buffer/bufmgr.c:1539 #, c-format msgid "invalid page in block %u of relation %s; zeroing out page" msgstr "некорректная страница в блоке %u отношения %s; страница обнуляется" -#: storage/buffer/bufmgr.c:2277 storage/buffer/localbuf.c:361 +#: storage/buffer/bufmgr.c:2284 storage/buffer/localbuf.c:361 #, c-format msgid "cannot extend relation %s beyond %u blocks" msgstr "не удалось увеличить отношение \"%s\" до блока %u" -#: storage/buffer/bufmgr.c:2348 +#: storage/buffer/bufmgr.c:2355 #, c-format msgid "unexpected data beyond EOF in block %u of relation %s" msgstr "неожиданные данные после EOF в блоке %u отношения %s" -#: storage/buffer/bufmgr.c:2350 +#: storage/buffer/bufmgr.c:2357 #, c-format msgid "" "This has been seen to occur with buggy kernels; consider updating your " @@ -25073,17 +25102,17 @@ "Эта ситуация может возникать из-за ошибок в ядре; возможно, вам следует " "обновить ОС." -#: storage/buffer/bufmgr.c:5654 +#: storage/buffer/bufmgr.c:5721 #, c-format msgid "could not write block %u of %s" msgstr "не удалось запись блок %u файла %s" -#: storage/buffer/bufmgr.c:5656 +#: storage/buffer/bufmgr.c:5723 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "Множественные сбои - возможно, постоянная ошибка записи." -#: storage/buffer/bufmgr.c:5678 storage/buffer/bufmgr.c:5698 +#: storage/buffer/bufmgr.c:5745 storage/buffer/bufmgr.c:5765 #, c-format msgid "writing block %u of relation %s" msgstr "запись блока %u отношения %s" @@ -25137,110 +25166,110 @@ msgid "could not delete fileset \"%s\": %m" msgstr "ошибка удаления набора файлов \"%s\": %m" -#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1194 +#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1208 #, c-format msgid "could not truncate file \"%s\": %m" msgstr "не удалось обрезать файл \"%s\": %m" -#: storage/file/fd.c:580 storage/file/fd.c:652 storage/file/fd.c:688 +#: storage/file/fd.c:583 storage/file/fd.c:655 storage/file/fd.c:691 #, c-format msgid "could not flush dirty data: %m" msgstr "не удалось сбросить грязные данные: %m" -#: storage/file/fd.c:610 +#: storage/file/fd.c:613 #, c-format msgid "could not determine dirty data size: %m" msgstr "не удалось определить размер грязных данных: %m" -#: storage/file/fd.c:662 +#: storage/file/fd.c:665 #, c-format msgid "could not munmap() while flushing data: %m" msgstr "ошибка в munmap() при сбросе данных на диск: %m" -#: storage/file/fd.c:980 +#: storage/file/fd.c:983 #, c-format msgid "getrlimit failed: %m" msgstr "ошибка в getrlimit(): %m" -#: storage/file/fd.c:1070 +#: storage/file/fd.c:1073 #, c-format msgid "insufficient file descriptors available to start server process" msgstr "недостаточно дескрипторов файлов для запуска серверного процесса" -#: storage/file/fd.c:1071 +#: storage/file/fd.c:1074 #, c-format msgid "System allows %d, server needs at least %d." msgstr "Система может выделить: %d, серверу требуется минимум: %d." -#: storage/file/fd.c:1159 storage/file/fd.c:2615 storage/file/fd.c:2724 -#: storage/file/fd.c:2875 +#: storage/file/fd.c:1162 storage/file/fd.c:2618 storage/file/fd.c:2727 +#: storage/file/fd.c:2878 #, c-format msgid "out of file descriptors: %m; release and retry" msgstr "нехватка дескрипторов файлов: %m; освободите их и повторите попытку" -#: storage/file/fd.c:1533 +#: storage/file/fd.c:1536 #, c-format msgid "temporary file: path \"%s\", size %lu" msgstr "временный файл: путь \"%s\", размер %lu" -#: storage/file/fd.c:1672 +#: storage/file/fd.c:1675 #, c-format msgid "cannot create temporary directory \"%s\": %m" msgstr "не удалось создать временный каталог \"%s\": %m" -#: storage/file/fd.c:1679 +#: storage/file/fd.c:1682 #, c-format msgid "cannot create temporary subdirectory \"%s\": %m" msgstr "не удалось создать временный подкаталог \"%s\": %m" -#: storage/file/fd.c:1876 +#: storage/file/fd.c:1879 #, c-format msgid "could not create temporary file \"%s\": %m" msgstr "не удалось создать временный файл \"%s\": %m" -#: storage/file/fd.c:1912 +#: storage/file/fd.c:1915 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "не удалось открыть временный файл \"%s\": %m" -#: storage/file/fd.c:1953 +#: storage/file/fd.c:1956 #, c-format msgid "could not unlink temporary file \"%s\": %m" msgstr "ошибка удаления временного файла \"%s\": %m" -#: storage/file/fd.c:2041 +#: storage/file/fd.c:2044 #, c-format msgid "could not delete file \"%s\": %m" msgstr "ошибка удаления файла \"%s\": %m" -#: storage/file/fd.c:2231 +#: storage/file/fd.c:2234 #, c-format msgid "temporary file size exceeds temp_file_limit (%dkB)" msgstr "размер временного файла превышает предел temp_file_limit (%d КБ)" -#: storage/file/fd.c:2591 storage/file/fd.c:2650 +#: storage/file/fd.c:2594 storage/file/fd.c:2653 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\"" msgstr "превышен предел maxAllocatedDescs (%d) при попытке открыть файл \"%s\"" -#: storage/file/fd.c:2695 +#: storage/file/fd.c:2698 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\"" msgstr "" "превышен предел maxAllocatedDescs (%d) при попытке выполнить команду \"%s\"" -#: storage/file/fd.c:2851 +#: storage/file/fd.c:2854 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\"" msgstr "" "превышен предел maxAllocatedDescs (%d) при попытке открыть каталог \"%s\"" -#: storage/file/fd.c:3381 +#: storage/file/fd.c:3384 #, c-format msgid "unexpected file found in temporary-files directory: \"%s\"" msgstr "в каталоге временных файлов обнаружен неуместный файл: \"%s\"" -#: storage/file/fd.c:3499 +#: storage/file/fd.c:3502 #, c-format msgid "" "syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s" @@ -25248,7 +25277,7 @@ "синхронизация каталога данных (syncfs), прошло времени: %ld.%02d с, текущий " "путь: %s" -#: storage/file/fd.c:3726 +#: storage/file/fd.c:3729 #, c-format msgid "" "syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: " @@ -25257,7 +25286,7 @@ "синхронизация каталога данных (подготовка к fsync), прошло времени: %ld.%02d " "с, текущий путь: %s" -#: storage/file/fd.c:3758 +#: storage/file/fd.c:3761 #, c-format msgid "" "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s" @@ -25265,22 +25294,22 @@ "синхронизация каталога данных (fsync), прошло времени: %ld.%02d с, текущий " "путь: %s" -#: storage/file/fd.c:3947 +#: storage/file/fd.c:3950 #, c-format msgid "\"debug_io_direct\" is not supported on this platform." msgstr "Параметр \"debug_io_direct\" не поддерживается в этой ОС." -#: storage/file/fd.c:3961 +#: storage/file/fd.c:3964 #, c-format msgid "Invalid list syntax in parameter \"%s\"" msgstr "Неверный формат списка в параметре \"%s\"." -#: storage/file/fd.c:3981 +#: storage/file/fd.c:3984 #, c-format msgid "Invalid option \"%s\"" msgstr "Неверный параметр \"%s\"." -#: storage/file/fd.c:3994 +#: storage/file/fd.c:3997 #, c-format msgid "" "\"debug_io_direct\" is not supported for WAL because XLOG_BLCKSZ is too small" @@ -25288,7 +25317,7 @@ "режим \"debug_io_direct\" не поддерживается для WAL из-за слишком маленького " "размера XLOG_BLCKSZ" -#: storage/file/fd.c:4001 +#: storage/file/fd.c:4004 #, c-format msgid "" "\"debug_io_direct\" is not supported for data because BLCKSZ is too small" @@ -25390,22 +25419,22 @@ msgid "could not duplicate handle for \"%s\": %m" msgstr "не удалось продублировать указатель для \"%s\": %m" -#: storage/ipc/dsm_registry.c:142 +#: storage/ipc/dsm_registry.c:144 #, c-format msgid "DSM segment name cannot be empty" msgstr "имя DSM-сегмента не может быть пустым" -#: storage/ipc/dsm_registry.c:146 +#: storage/ipc/dsm_registry.c:148 #, c-format msgid "DSM segment name too long" msgstr "имя DSM-сегмента слишком длинное" -#: storage/ipc/dsm_registry.c:150 +#: storage/ipc/dsm_registry.c:152 #, c-format msgid "DSM segment size must be nonzero" msgstr "размер DSM-сегмента должен быть ненулевым" -#: storage/ipc/dsm_registry.c:176 +#: storage/ipc/dsm_registry.c:168 #, c-format msgid "requested DSM segment size does not match size of existing segment" msgstr "" @@ -25954,7 +25983,7 @@ msgid "cannot extend file \"%s\" beyond %u blocks" msgstr "не удалось увеличить файл \"%s\" до блока %u" -#: storage/smgr/md.c:500 storage/smgr/md.c:611 +#: storage/smgr/md.c:500 storage/smgr/md.c:622 #, c-format msgid "could not extend file \"%s\": %m" msgstr "не удалось увеличить файл \"%s\": %m" @@ -25964,40 +25993,40 @@ msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u" msgstr "не удалось увеличить файл \"%s\" (записано байт: %d из %d) в блоке %u" -#: storage/smgr/md.c:589 +#: storage/smgr/md.c:600 #, c-format msgid "could not extend file \"%s\" with FileFallocate(): %m" msgstr "не удалось увеличить файл \"%s\" посредством FileFallocate(): %m" -#: storage/smgr/md.c:869 +#: storage/smgr/md.c:880 #, c-format msgid "could not read blocks %u..%u in file \"%s\": %m" msgstr "не удалось прочитать блоки %u..%u в файле \"%s\": %m" -#: storage/smgr/md.c:895 +#: storage/smgr/md.c:906 #, c-format msgid "could not read blocks %u..%u in file \"%s\": read only %zu of %zu bytes" msgstr "" "не удалось прочитать блоки %u..%u в файле \"%s\" (прочитано байт: %zu из %zu)" -#: storage/smgr/md.c:995 +#: storage/smgr/md.c:1006 #, c-format msgid "could not write blocks %u..%u in file \"%s\": %m" msgstr "не удалось записать блоки %u..%u в файл \"%s\": %m" -#: storage/smgr/md.c:1165 +#: storage/smgr/md.c:1179 #, c-format msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now" msgstr "" "не удалось обрезать файл \"%s\" (требуемая длина в блоках: %u, но сейчас он " "содержит %u)" -#: storage/smgr/md.c:1220 +#: storage/smgr/md.c:1234 #, c-format msgid "could not truncate file \"%s\" to %u blocks: %m" msgstr "не удалось обрезать файл \"%s\" до нужного числа блоков (%u): %m" -#: storage/smgr/md.c:1700 +#: storage/smgr/md.c:1714 #, c-format msgid "" "could not open file \"%s\" (target block %u): previous segment is only %u " @@ -26006,7 +26035,7 @@ "не удалось открыть файл file \"%s\" (целевой блок %u): недостаточно блоков в " "предыдущем сегменте (всего %u)" -#: storage/smgr/md.c:1714 +#: storage/smgr/md.c:1728 #, c-format msgid "could not open file \"%s\" (target block %u): %m" msgstr "не удалось открыть файл file \"%s\" (целевой блок %u): %m" @@ -27347,8 +27376,8 @@ msgid "cannot compare arrays of different element types" msgstr "нельзя сравнивать массивы с элементами разных типов" -#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2805 -#: utils/adt/multirangetypes.c:2877 utils/adt/rangetypes.c:1361 +#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2806 +#: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1361 #: utils/adt/rangetypes.c:1425 utils/adt/rowtypes.c:1875 #, c-format msgid "could not identify a hash function for type %s" @@ -29123,12 +29152,12 @@ msgid "Expected comma or end of multirange." msgstr "Ожидалась запятая или конец мультидиапазона." -#: utils/adt/multirangetypes.c:981 +#: utils/adt/multirangetypes.c:982 #, c-format msgid "multiranges cannot be constructed from multidimensional arrays" msgstr "мультидиапазоны нельзя получить из массивов мультидиапазонов" -#: utils/adt/multirangetypes.c:1007 +#: utils/adt/multirangetypes.c:1008 #, c-format msgid "multirange values cannot contain null members" msgstr "мультидиапазоны не могут содержать элементы NULL" @@ -29379,36 +29408,36 @@ msgid "percentile value %g is not between 0 and 1" msgstr "значение перцентиля %g лежит не в диапазоне 0..1" -#: utils/adt/pg_locale.c:326 utils/adt/pg_locale.c:358 +#: utils/adt/pg_locale.c:327 utils/adt/pg_locale.c:359 #, c-format msgid "locale name \"%s\" contains non-ASCII characters" msgstr "имя локали \"%s\" содержит не-ASCII символы" -#: utils/adt/pg_locale.c:1507 +#: utils/adt/pg_locale.c:1510 #, c-format msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" msgstr "" "не удалось открыть сортировщик для локали \"%s\" с правилами \"%s\": %s" -#: utils/adt/pg_locale.c:1518 utils/adt/pg_locale.c:2992 -#: utils/adt/pg_locale.c:3065 +#: utils/adt/pg_locale.c:1521 utils/adt/pg_locale.c:2995 +#: utils/adt/pg_locale.c:3068 #, c-format msgid "ICU is not supported in this build" msgstr "ICU не поддерживается в данной сборке" -#: utils/adt/pg_locale.c:1546 +#: utils/adt/pg_locale.c:1549 #, c-format msgid "could not create locale \"%s\": %m" msgstr "не удалось создать локаль \"%s\": %m" -#: utils/adt/pg_locale.c:1549 +#: utils/adt/pg_locale.c:1552 #, c-format msgid "" "The operating system could not find any locale data for the locale name " "\"%s\"." msgstr "Операционная система не может найти данные локали с именем \"%s\"." -#: utils/adt/pg_locale.c:1670 +#: utils/adt/pg_locale.c:1673 #, c-format msgid "" "collations with different collate and ctype values are not supported on this " @@ -29417,17 +29446,17 @@ "правила сортировки с разными значениями collate и ctype не поддерживаются на " "этой платформе" -#: utils/adt/pg_locale.c:1717 +#: utils/adt/pg_locale.c:1720 #, c-format msgid "collation \"%s\" has no actual version, but a version was recorded" msgstr "для правила сортировки \"%s\", лишённого версии, была записана версия" -#: utils/adt/pg_locale.c:1723 +#: utils/adt/pg_locale.c:1726 #, c-format msgid "collation \"%s\" has version mismatch" msgstr "несовпадение версии для правила сортировки \"%s\"" -#: utils/adt/pg_locale.c:1725 +#: utils/adt/pg_locale.c:1728 #, c-format msgid "" "The collation in the database was created using version %s, but the " @@ -29436,7 +29465,7 @@ "Правило сортировки в базе данных было создано с версией %s, но операционная " "система предоставляет версию %s." -#: utils/adt/pg_locale.c:1728 +#: utils/adt/pg_locale.c:1731 #, c-format msgid "" "Rebuild all objects affected by this collation and run ALTER COLLATION %s " @@ -29446,98 +29475,98 @@ "ALTER COLLATION %s REFRESH VERSION либо соберите PostgreSQL с правильной " "версией библиотеки." -#: utils/adt/pg_locale.c:1772 utils/adt/pg_locale.c:2556 -#: utils/adt/pg_locale.c:2581 +#: utils/adt/pg_locale.c:1775 utils/adt/pg_locale.c:2559 +#: utils/adt/pg_locale.c:2584 #, c-format msgid "invalid locale name \"%s\" for builtin provider" msgstr "неверное имя локали \"%s\" для встроенного провайдера" -#: utils/adt/pg_locale.c:1814 +#: utils/adt/pg_locale.c:1817 #, c-format msgid "could not load locale \"%s\"" msgstr "не удалось загрузить локаль \"%s\"" -#: utils/adt/pg_locale.c:1839 +#: utils/adt/pg_locale.c:1842 #, c-format msgid "could not get collation version for locale \"%s\": error code %lu" msgstr "" "не удалось получить версию правила сортировки для локали \"%s\" (код ошибки: " "%lu)" -#: utils/adt/pg_locale.c:1895 utils/adt/pg_locale.c:1908 +#: utils/adt/pg_locale.c:1898 utils/adt/pg_locale.c:1911 #, c-format msgid "could not convert string to UTF-16: error code %lu" msgstr "не удалось преобразовать строку в UTF-16 (код ошибки: %lu)" -#: utils/adt/pg_locale.c:1920 +#: utils/adt/pg_locale.c:1923 #, c-format msgid "could not compare Unicode strings: %m" msgstr "не удалось сравнить строки в Unicode: %m" -#: utils/adt/pg_locale.c:2094 +#: utils/adt/pg_locale.c:2097 #, c-format msgid "collation failed: %s" msgstr "ошибка в библиотеке сортировки: %s" -#: utils/adt/pg_locale.c:2313 utils/adt/pg_locale.c:2345 +#: utils/adt/pg_locale.c:2316 utils/adt/pg_locale.c:2348 #, c-format msgid "sort key generation failed: %s" msgstr "не удалось сгенерировать ключ сортировки: %s" -#: utils/adt/pg_locale.c:2635 +#: utils/adt/pg_locale.c:2638 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "не удалось определить язык для локали \"%s\": %s" -#: utils/adt/pg_locale.c:2656 utils/adt/pg_locale.c:2672 +#: utils/adt/pg_locale.c:2659 utils/adt/pg_locale.c:2675 #, c-format msgid "could not open collator for locale \"%s\": %s" msgstr "не удалось открыть сортировщик для локали \"%s\": %s" -#: utils/adt/pg_locale.c:2697 +#: utils/adt/pg_locale.c:2700 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "ICU не поддерживает кодировку \"%s\"" -#: utils/adt/pg_locale.c:2704 +#: utils/adt/pg_locale.c:2707 #, c-format msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "не удалось открыть преобразователь ICU для кодировки \"%s\": %s" -#: utils/adt/pg_locale.c:2722 utils/adt/pg_locale.c:2741 -#: utils/adt/pg_locale.c:2797 utils/adt/pg_locale.c:2808 +#: utils/adt/pg_locale.c:2725 utils/adt/pg_locale.c:2744 +#: utils/adt/pg_locale.c:2800 utils/adt/pg_locale.c:2811 #, c-format msgid "%s failed: %s" msgstr "ошибка %s: %s" -#: utils/adt/pg_locale.c:2983 +#: utils/adt/pg_locale.c:2986 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "не удалось получить из названия локали \"%s\" метку языка: %s" -#: utils/adt/pg_locale.c:3024 +#: utils/adt/pg_locale.c:3027 #, c-format msgid "could not get language from ICU locale \"%s\": %s" msgstr "не удалось определить язык для локали ICU \"%s\": %s" -#: utils/adt/pg_locale.c:3026 utils/adt/pg_locale.c:3055 +#: utils/adt/pg_locale.c:3029 utils/adt/pg_locale.c:3058 #, c-format msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." msgstr "" "Чтобы отключить проверку локалей ICU, установите для параметра \"%s\" " "значение \"%s\"." -#: utils/adt/pg_locale.c:3053 +#: utils/adt/pg_locale.c:3056 #, c-format msgid "ICU locale \"%s\" has unknown language \"%s\"" msgstr "для локали ICU \"%s\" получен неизвестный язык \"%s\"" -#: utils/adt/pg_locale.c:3204 +#: utils/adt/pg_locale.c:3207 #, c-format msgid "invalid multibyte character for locale" msgstr "неверный многобайтный символ для локали" -#: utils/adt/pg_locale.c:3205 +#: utils/adt/pg_locale.c:3208 #, c-format msgid "" "The server's LC_CTYPE locale is probably incompatible with the database " @@ -30477,7 +30506,7 @@ msgid "This functionality requires the server to be built with libxml support." msgstr "Для этой функциональности в сервере не хватает поддержки libxml." -#: utils/adt/xml.c:258 utils/mb/mbutils.c:627 +#: utils/adt/xml.c:258 utils/mb/mbutils.c:628 #, c-format msgid "invalid encoding name \"%s\"" msgstr "неверное имя кодировки: \"%s\"" @@ -30671,30 +30700,30 @@ msgid "cached plan must not change result type" msgstr "в кешированном плане не должен изменяться тип результата" -#: utils/cache/relcache.c:3801 +#: utils/cache/relcache.c:3817 #, c-format msgid "heap relfilenumber value not set when in binary upgrade mode" msgstr "" "значение relfilenumber для кучи не задано в режиме двоичного обновления" -#: utils/cache/relcache.c:3809 +#: utils/cache/relcache.c:3825 #, c-format msgid "unexpected request for new relfilenumber in binary upgrade mode" msgstr "" "неожиданный запрос нового значения relfilenumber в режиме двоичного " "обновления" -#: utils/cache/relcache.c:6539 +#: utils/cache/relcache.c:6555 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "создать файл инициализации для кеша отношений \"%s\" не удалось: %m" -#: utils/cache/relcache.c:6541 +#: utils/cache/relcache.c:6557 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Продолжаем всё равно, хотя что-то не так." -#: utils/cache/relcache.c:6871 +#: utils/cache/relcache.c:6887 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "не удалось стереть файл кеша \"%s\": %m" @@ -31400,48 +31429,48 @@ msgid "unexpected encoding ID %d for WIN character sets" msgstr "неожиданный ID кодировки %d для наборов символов WIN" -#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:900 +#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901 #, c-format msgid "conversion between %s and %s is not supported" msgstr "преобразование %s <-> %s не поддерживается" -#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 -#: utils/mb/mbutils.c:842 +#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 +#: utils/mb/mbutils.c:843 #, c-format msgid "String of %d bytes is too long for encoding conversion." msgstr "Строка из %d байт слишком длинна для преобразования кодировки." -#: utils/mb/mbutils.c:568 +#: utils/mb/mbutils.c:569 #, c-format msgid "invalid source encoding name \"%s\"" msgstr "неверное имя исходной кодировки: \"%s\"" -#: utils/mb/mbutils.c:573 +#: utils/mb/mbutils.c:574 #, c-format msgid "invalid destination encoding name \"%s\"" msgstr "неверное имя кодировки результата: \"%s\"" -#: utils/mb/mbutils.c:713 +#: utils/mb/mbutils.c:714 #, c-format msgid "invalid byte value for encoding \"%s\": 0x%02x" msgstr "недопустимое байтовое значение для кодировки \"%s\": 0x%02x" -#: utils/mb/mbutils.c:877 +#: utils/mb/mbutils.c:878 #, c-format msgid "invalid Unicode code point" msgstr "неверный код Unicode" -#: utils/mb/mbutils.c:1201 +#: utils/mb/mbutils.c:1202 #, c-format msgid "bind_textdomain_codeset failed" msgstr "ошибка в bind_textdomain_codeset" -#: utils/mb/mbutils.c:1718 +#: utils/mb/mbutils.c:1719 #, c-format msgid "invalid byte sequence for encoding \"%s\": %s" msgstr "неверная последовательность байт для кодировки \"%s\": %s" -#: utils/mb/mbutils.c:1759 +#: utils/mb/mbutils.c:1760 #, c-format msgid "" "character with byte sequence %s in encoding \"%s\" has no equivalent in " @@ -31750,274 +31779,274 @@ msgid "SET requires parameter name" msgstr "SET требует имя параметра" -#: utils/misc/guc_tables.c:676 +#: utils/misc/guc_tables.c:685 msgid "Ungrouped" msgstr "Разное" -#: utils/misc/guc_tables.c:677 +#: utils/misc/guc_tables.c:686 msgid "File Locations" msgstr "Расположения файлов" -#: utils/misc/guc_tables.c:678 +#: utils/misc/guc_tables.c:687 msgid "Connections and Authentication / Connection Settings" msgstr "Подключения и аутентификация / Параметры подключений" -#: utils/misc/guc_tables.c:679 +#: utils/misc/guc_tables.c:688 msgid "Connections and Authentication / TCP Settings" msgstr "Подключения и аутентификация / Параметры TCP" -#: utils/misc/guc_tables.c:680 +#: utils/misc/guc_tables.c:689 msgid "Connections and Authentication / Authentication" msgstr "Подключения и аутентификация / Аутентификация" -#: utils/misc/guc_tables.c:681 +#: utils/misc/guc_tables.c:690 msgid "Connections and Authentication / SSL" msgstr "Подключения и аутентификация / SSL" -#: utils/misc/guc_tables.c:682 +#: utils/misc/guc_tables.c:691 msgid "Resource Usage / Memory" msgstr "Использование ресурсов / Память" -#: utils/misc/guc_tables.c:683 +#: utils/misc/guc_tables.c:692 msgid "Resource Usage / Disk" msgstr "Использование ресурсов / Диск" -#: utils/misc/guc_tables.c:684 +#: utils/misc/guc_tables.c:693 msgid "Resource Usage / Kernel Resources" msgstr "Использование ресурсов / Ресурсы ядра" -#: utils/misc/guc_tables.c:685 +#: utils/misc/guc_tables.c:694 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Использование ресурсов / Задержка очистки по стоимости" -#: utils/misc/guc_tables.c:686 +#: utils/misc/guc_tables.c:695 msgid "Resource Usage / Background Writer" msgstr "Использование ресурсов / Фоновая запись" -#: utils/misc/guc_tables.c:687 +#: utils/misc/guc_tables.c:696 msgid "Resource Usage / Asynchronous Behavior" msgstr "Использование ресурсов / Асинхронное поведение" -#: utils/misc/guc_tables.c:688 +#: utils/misc/guc_tables.c:697 msgid "Write-Ahead Log / Settings" msgstr "Журнал WAL / Параметры" -#: utils/misc/guc_tables.c:689 +#: utils/misc/guc_tables.c:698 msgid "Write-Ahead Log / Checkpoints" msgstr "Журнал WAL / Контрольные точки" -#: utils/misc/guc_tables.c:690 +#: utils/misc/guc_tables.c:699 msgid "Write-Ahead Log / Archiving" msgstr "Журнал WAL / Архивация" -#: utils/misc/guc_tables.c:691 +#: utils/misc/guc_tables.c:700 msgid "Write-Ahead Log / Recovery" msgstr "Журнал WAL / Восстановление" -#: utils/misc/guc_tables.c:692 +#: utils/misc/guc_tables.c:701 msgid "Write-Ahead Log / Archive Recovery" msgstr "Журнал WAL / Восстановление из архива" -#: utils/misc/guc_tables.c:693 +#: utils/misc/guc_tables.c:702 msgid "Write-Ahead Log / Recovery Target" msgstr "Журнал WAL / Цель восстановления" -#: utils/misc/guc_tables.c:694 +#: utils/misc/guc_tables.c:703 msgid "Write-Ahead Log / Summarization" msgstr "Журнал WAL / Обобщение" -#: utils/misc/guc_tables.c:695 +#: utils/misc/guc_tables.c:704 msgid "Replication / Sending Servers" msgstr "Репликация / Передающие серверы" -#: utils/misc/guc_tables.c:696 +#: utils/misc/guc_tables.c:705 msgid "Replication / Primary Server" msgstr "Репликация / Ведущий сервер" -#: utils/misc/guc_tables.c:697 +#: utils/misc/guc_tables.c:706 msgid "Replication / Standby Servers" msgstr "Репликация / Резервные серверы" -#: utils/misc/guc_tables.c:698 +#: utils/misc/guc_tables.c:707 msgid "Replication / Subscribers" msgstr "Репликация / Подписчики" -#: utils/misc/guc_tables.c:699 +#: utils/misc/guc_tables.c:708 msgid "Query Tuning / Planner Method Configuration" msgstr "Настройка запросов / Конфигурация методов планировщика" -#: utils/misc/guc_tables.c:700 +#: utils/misc/guc_tables.c:709 msgid "Query Tuning / Planner Cost Constants" msgstr "Настройка запросов / Константы стоимости для планировщика" -#: utils/misc/guc_tables.c:701 +#: utils/misc/guc_tables.c:710 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Настройка запросов / Генетический оптимизатор запросов" -#: utils/misc/guc_tables.c:702 +#: utils/misc/guc_tables.c:711 msgid "Query Tuning / Other Planner Options" msgstr "Настройка запросов / Другие параметры планировщика" -#: utils/misc/guc_tables.c:703 +#: utils/misc/guc_tables.c:712 msgid "Reporting and Logging / Where to Log" msgstr "Отчёты и протоколы / Куда записывать" -#: utils/misc/guc_tables.c:704 +#: utils/misc/guc_tables.c:713 msgid "Reporting and Logging / When to Log" msgstr "Отчёты и протоколы / Когда записывать" -#: utils/misc/guc_tables.c:705 +#: utils/misc/guc_tables.c:714 msgid "Reporting and Logging / What to Log" msgstr "Отчёты и протоколы / Что записывать" -#: utils/misc/guc_tables.c:706 +#: utils/misc/guc_tables.c:715 msgid "Reporting and Logging / Process Title" msgstr "Отчёты и протоколы / Заголовок процесса" -#: utils/misc/guc_tables.c:707 +#: utils/misc/guc_tables.c:716 msgid "Statistics / Monitoring" msgstr "Статистика / Мониторинг" -#: utils/misc/guc_tables.c:708 +#: utils/misc/guc_tables.c:717 msgid "Statistics / Cumulative Query and Index Statistics" msgstr "Статистика / Накопительная статистика по запросам и индексам" -#: utils/misc/guc_tables.c:709 +#: utils/misc/guc_tables.c:718 msgid "Autovacuum" msgstr "Автоочистка" -#: utils/misc/guc_tables.c:710 +#: utils/misc/guc_tables.c:719 msgid "Client Connection Defaults / Statement Behavior" msgstr "Параметры клиентских подключений по умолчанию / Поведение команд" -#: utils/misc/guc_tables.c:711 +#: utils/misc/guc_tables.c:720 msgid "Client Connection Defaults / Locale and Formatting" msgstr "" "Параметры клиентских подключений по умолчанию / Языковая среда и форматы" -#: utils/misc/guc_tables.c:712 +#: utils/misc/guc_tables.c:721 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "" "Параметры клиентских подключений по умолчанию / Предзагрузка разделяемых " "библиотек" -#: utils/misc/guc_tables.c:713 +#: utils/misc/guc_tables.c:722 msgid "Client Connection Defaults / Other Defaults" msgstr "Параметры клиентских подключений по умолчанию / Другие параметры" -#: utils/misc/guc_tables.c:714 +#: utils/misc/guc_tables.c:723 msgid "Lock Management" msgstr "Управление блокировками" -#: utils/misc/guc_tables.c:715 +#: utils/misc/guc_tables.c:724 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Версия и совместимость платформ / Предыдущие версии PostgreSQL" -#: utils/misc/guc_tables.c:716 +#: utils/misc/guc_tables.c:725 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "Версия и совместимость платформ / Другие платформы и клиенты" -#: utils/misc/guc_tables.c:717 +#: utils/misc/guc_tables.c:726 msgid "Error Handling" msgstr "Обработка ошибок" -#: utils/misc/guc_tables.c:718 +#: utils/misc/guc_tables.c:727 msgid "Preset Options" msgstr "Предопределённые параметры" -#: utils/misc/guc_tables.c:719 +#: utils/misc/guc_tables.c:728 msgid "Customized Options" msgstr "Внесистемные параметры" -#: utils/misc/guc_tables.c:720 +#: utils/misc/guc_tables.c:729 msgid "Developer Options" msgstr "Параметры для разработчиков" -#: utils/misc/guc_tables.c:775 +#: utils/misc/guc_tables.c:784 msgid "Enables the planner's use of sequential-scan plans." msgstr "" "Разрешает планировщику использовать планы последовательного сканирования." -#: utils/misc/guc_tables.c:785 +#: utils/misc/guc_tables.c:794 msgid "Enables the planner's use of index-scan plans." msgstr "Разрешает планировщику использовать планы сканирования по индексу." -#: utils/misc/guc_tables.c:795 +#: utils/misc/guc_tables.c:804 msgid "Enables the planner's use of index-only-scan plans." msgstr "Разрешает планировщику использовать планы сканирования только индекса." -#: utils/misc/guc_tables.c:805 +#: utils/misc/guc_tables.c:814 msgid "Enables the planner's use of bitmap-scan plans." msgstr "" "Разрешает планировщику использовать планы сканирования по битовой карте." -#: utils/misc/guc_tables.c:815 +#: utils/misc/guc_tables.c:824 msgid "Enables the planner's use of TID scan plans." msgstr "Разрешает планировщику использовать планы сканирования TID." -#: utils/misc/guc_tables.c:825 +#: utils/misc/guc_tables.c:834 msgid "Enables the planner's use of explicit sort steps." msgstr "Разрешает планировщику использовать шаги с явной сортировкой." -#: utils/misc/guc_tables.c:835 +#: utils/misc/guc_tables.c:844 msgid "Enables the planner's use of incremental sort steps." msgstr "" "Разрешает планировщику использовать шаги с инкрементальной сортировкой." -#: utils/misc/guc_tables.c:845 +#: utils/misc/guc_tables.c:854 msgid "Enables the planner's use of hashed aggregation plans." msgstr "Разрешает планировщику использовать планы агрегирования по хешу." -#: utils/misc/guc_tables.c:855 +#: utils/misc/guc_tables.c:864 msgid "Enables the planner's use of materialization." msgstr "Разрешает планировщику использовать материализацию." # well-spelled: мемоизацию -#: utils/misc/guc_tables.c:865 +#: utils/misc/guc_tables.c:874 msgid "Enables the planner's use of memoization." msgstr "Разрешает планировщику использовать мемоизацию." -#: utils/misc/guc_tables.c:875 +#: utils/misc/guc_tables.c:884 msgid "Enables the planner's use of nested-loop join plans." msgstr "" "Разрешает планировщику использовать планы соединения с вложенными циклами." -#: utils/misc/guc_tables.c:885 +#: utils/misc/guc_tables.c:894 msgid "Enables the planner's use of merge join plans." msgstr "Разрешает планировщику использовать планы соединения слиянием." -#: utils/misc/guc_tables.c:895 +#: utils/misc/guc_tables.c:904 msgid "Enables the planner's use of hash join plans." msgstr "Разрешает планировщику использовать планы соединения по хешу." -#: utils/misc/guc_tables.c:905 +#: utils/misc/guc_tables.c:914 msgid "Enables the planner's use of gather merge plans." msgstr "Разрешает планировщику использовать планы сбора слиянием." -#: utils/misc/guc_tables.c:915 +#: utils/misc/guc_tables.c:924 msgid "Enables partitionwise join." msgstr "Включает соединения с учётом секционирования." -#: utils/misc/guc_tables.c:925 +#: utils/misc/guc_tables.c:934 msgid "Enables partitionwise aggregation and grouping." msgstr "Включает агрегирование и группировку с учётом секционирования." -#: utils/misc/guc_tables.c:935 +#: utils/misc/guc_tables.c:944 msgid "Enables the planner's use of parallel append plans." msgstr "Разрешает планировщику использовать планы параллельного добавления." -#: utils/misc/guc_tables.c:945 +#: utils/misc/guc_tables.c:954 msgid "Enables the planner's use of parallel hash plans." msgstr "" "Разрешает планировщику использовать планы параллельного соединения по хешу." -#: utils/misc/guc_tables.c:955 +#: utils/misc/guc_tables.c:964 msgid "Enables plan-time and execution-time partition pruning." msgstr "" "Включает устранение секций во время планирования и во время выполнения " "запросов." -#: utils/misc/guc_tables.c:956 +#: utils/misc/guc_tables.c:965 msgid "" "Allows the query planner and executor to compare partition bounds to " "conditions in the query to determine which partitions must be scanned." @@ -32025,7 +32054,7 @@ "Разрешает планировщику и исполнителю запросов сопоставлять границы секций с " "условиями в запросе и выделять отдельные секции для сканирования." -#: utils/misc/guc_tables.c:967 +#: utils/misc/guc_tables.c:976 msgid "" "Enables the planner's ability to produce plans that provide presorted input " "for ORDER BY / DISTINCT aggregate functions." @@ -32033,7 +32062,7 @@ "Включает в планировщике возможность формировать планы, подающие ранее " "сортированные данные на вход агрегирующим функциям с ORDER BY / DISTINCT." -#: utils/misc/guc_tables.c:970 +#: utils/misc/guc_tables.c:979 msgid "" "Allows the query planner to build plans that provide presorted input for " "aggregate functions with an ORDER BY / DISTINCT clause. When disabled, " @@ -32044,31 +32073,31 @@ "данные. Когда этот параметр отключён, во время выполнения всегда неявно " "производится сортировка." -#: utils/misc/guc_tables.c:982 +#: utils/misc/guc_tables.c:991 msgid "Enables the planner's use of async append plans." msgstr "Разрешает планировщику использовать планы асинхронного добавления." -#: utils/misc/guc_tables.c:992 +#: utils/misc/guc_tables.c:1001 msgid "Enables reordering of GROUP BY keys." msgstr "Включает переупорядочивание ключей GROUP BY." -#: utils/misc/guc_tables.c:1002 +#: utils/misc/guc_tables.c:1011 msgid "Enables genetic query optimization." msgstr "Включает генетическую оптимизацию запросов." -#: utils/misc/guc_tables.c:1003 +#: utils/misc/guc_tables.c:1012 msgid "This algorithm attempts to do planning without exhaustive searching." msgstr "Этот алгоритм пытается построить план без полного перебора." -#: utils/misc/guc_tables.c:1017 +#: utils/misc/guc_tables.c:1026 msgid "Shows whether the current user is a superuser." msgstr "Показывает, является ли текущий пользователь суперпользователем." -#: utils/misc/guc_tables.c:1032 +#: utils/misc/guc_tables.c:1041 msgid "Allows running the ALTER SYSTEM command." msgstr "Разрешает выполнять команду ALTER SYSTEM." -#: utils/misc/guc_tables.c:1033 +#: utils/misc/guc_tables.c:1042 msgid "" "Can be set to off for environments where global configuration changes should " "be made using a different method." @@ -32076,34 +32105,34 @@ "Может быть выключен в окружениях, где изменения глобальной конфигурации " "должны производиться другим методом." -#: utils/misc/guc_tables.c:1043 +#: utils/misc/guc_tables.c:1052 msgid "Enables advertising the server via Bonjour." msgstr "Включает объявление сервера посредством Bonjour." -#: utils/misc/guc_tables.c:1052 +#: utils/misc/guc_tables.c:1061 msgid "Collects transaction commit time." msgstr "Записывает время фиксации транзакций." -#: utils/misc/guc_tables.c:1061 +#: utils/misc/guc_tables.c:1070 msgid "Enables SSL connections." msgstr "Разрешает SSL-подключения." -#: utils/misc/guc_tables.c:1070 +#: utils/misc/guc_tables.c:1079 msgid "" "Controls whether \"ssl_passphrase_command\" is called during server reload." msgstr "" "Определяет, будет ли вызываться \"ssl_passphrase_command\" при перезагрузке " "сервера." -#: utils/misc/guc_tables.c:1079 +#: utils/misc/guc_tables.c:1088 msgid "Give priority to server ciphersuite order." msgstr "Назначает более приоритетным набор шифров сервера." -#: utils/misc/guc_tables.c:1088 +#: utils/misc/guc_tables.c:1097 msgid "Forces synchronization of updates to disk." msgstr "Принудительная запись изменений на диск." -#: utils/misc/guc_tables.c:1089 +#: utils/misc/guc_tables.c:1098 msgid "" "The server will use the fsync() system call in several places to make sure " "that updates are physically written to disk. This ensures that a database " @@ -32114,11 +32143,11 @@ "обеспечивающую физическую запись данных на диск. Тем самым гарантируется, " "что кластер БД придёт в целостное состояние после отказа ОС или оборудования." -#: utils/misc/guc_tables.c:1100 +#: utils/misc/guc_tables.c:1109 msgid "Continues processing after a checksum failure." msgstr "Продолжает обработку при ошибке контрольной суммы." -#: utils/misc/guc_tables.c:1101 +#: utils/misc/guc_tables.c:1110 msgid "" "Detection of a checksum failure normally causes PostgreSQL to report an " "error, aborting the current transaction. Setting ignore_checksum_failure to " @@ -32132,11 +32161,11 @@ "что может привести к сбоям или другим серьёзным проблемам. Это имеет место, " "только если включён контроль целостности страниц." -#: utils/misc/guc_tables.c:1115 +#: utils/misc/guc_tables.c:1124 msgid "Continues processing past damaged page headers." msgstr "Продолжает обработку при повреждении заголовков страниц." -#: utils/misc/guc_tables.c:1116 +#: utils/misc/guc_tables.c:1125 msgid "" "Detection of a damaged page header normally causes PostgreSQL to report an " "error, aborting the current transaction. Setting \"zero_damaged_pages\" to " @@ -32150,12 +32179,12 @@ "продолжит работу. Это приведёт к потере данных, а именно строк в " "повреждённой странице." -#: utils/misc/guc_tables.c:1129 +#: utils/misc/guc_tables.c:1138 msgid "Continues recovery after an invalid pages failure." msgstr "" "Продолжает восстановление после ошибок, связанных с неправильными страницами." -#: utils/misc/guc_tables.c:1130 +#: utils/misc/guc_tables.c:1139 msgid "" "Detection of WAL records having references to invalid pages during recovery " "causes PostgreSQL to raise a PANIC-level error, aborting the recovery. " @@ -32174,12 +32203,12 @@ "проблемам. Данный параметр действует только при восстановлении или в режиме " "резервного сервера." -#: utils/misc/guc_tables.c:1148 +#: utils/misc/guc_tables.c:1157 msgid "Writes full pages to WAL when first modified after a checkpoint." msgstr "" "Запись полных страниц в WAL при первом изменении после контрольной точки." -#: utils/misc/guc_tables.c:1149 +#: utils/misc/guc_tables.c:1158 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 " @@ -32192,7 +32221,7 @@ "при первом изменении после контрольной точки, что позволяет полностью " "восстановить данные." -#: utils/misc/guc_tables.c:1162 +#: utils/misc/guc_tables.c:1171 msgid "" "Writes full pages to WAL when first modified after a checkpoint, even for a " "non-critical modification." @@ -32200,98 +32229,98 @@ "Запись полных страниц в WAL при первом изменении после контрольной точки, " "даже при некритическом изменении." -#: utils/misc/guc_tables.c:1172 +#: utils/misc/guc_tables.c:1181 msgid "Writes zeroes to new WAL files before first use." msgstr "Записывать нули в новые файлы WAL перед первым использованием." -#: utils/misc/guc_tables.c:1182 +#: utils/misc/guc_tables.c:1191 msgid "Recycles WAL files by renaming them." msgstr "Перерабатывать файлы WAL, производя переименование." -#: utils/misc/guc_tables.c:1192 +#: utils/misc/guc_tables.c:1201 msgid "Logs each checkpoint." msgstr "Протоколировать каждую контрольную точку." -#: utils/misc/guc_tables.c:1201 +#: utils/misc/guc_tables.c:1210 msgid "Logs each successful connection." msgstr "Протоколировать устанавливаемые соединения." -#: utils/misc/guc_tables.c:1210 +#: utils/misc/guc_tables.c:1219 msgid "Logs details of pre-authentication connection handshake." msgstr "" "Протоколировать сообщения об установлении соединения до аутентификации." -#: utils/misc/guc_tables.c:1220 +#: utils/misc/guc_tables.c:1229 msgid "Logs end of a session, including duration." msgstr "Протоколировать конец сеанса, отмечая длительность." -#: utils/misc/guc_tables.c:1229 +#: utils/misc/guc_tables.c:1238 msgid "Logs each replication command." msgstr "Протоколировать каждую команду репликации." -#: utils/misc/guc_tables.c:1238 +#: utils/misc/guc_tables.c:1247 msgid "Shows whether the running server has assertion checks enabled." msgstr "Показывает, включены ли проверки истинности на работающем сервере." -#: utils/misc/guc_tables.c:1249 +#: utils/misc/guc_tables.c:1258 msgid "Terminate session on any error." msgstr "Завершать сеансы при любой ошибке." -#: utils/misc/guc_tables.c:1258 +#: utils/misc/guc_tables.c:1267 msgid "Reinitialize server after backend crash." msgstr "Перезапускать систему БД при аварии серверного процесса." -#: utils/misc/guc_tables.c:1267 +#: utils/misc/guc_tables.c:1276 msgid "Remove temporary files after backend crash." msgstr "Удалять временные файлы после аварии обслуживающего процесса." -#: utils/misc/guc_tables.c:1277 +#: utils/misc/guc_tables.c:1286 msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." msgstr "" "Посылать дочерним процессам SIGABRT, а не SIGQUIT при сбое серверного " "процесса." -#: utils/misc/guc_tables.c:1287 +#: utils/misc/guc_tables.c:1296 msgid "Send SIGABRT not SIGKILL to stuck child processes." msgstr "Посылать SIGABRT, а не SIGKILL зависшим дочерним процессам." -#: utils/misc/guc_tables.c:1298 +#: utils/misc/guc_tables.c:1307 msgid "Logs the duration of each completed SQL statement." msgstr "Протоколировать длительность каждого выполненного SQL-оператора." -#: utils/misc/guc_tables.c:1307 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's parse tree." msgstr "Протоколировать дерево разбора для каждого запроса." -#: utils/misc/guc_tables.c:1316 +#: utils/misc/guc_tables.c:1325 msgid "Logs each query's rewritten parse tree." msgstr "Протоколировать перезаписанное дерево разбора для каждого запроса." -#: utils/misc/guc_tables.c:1325 +#: utils/misc/guc_tables.c:1334 msgid "Logs each query's execution plan." msgstr "Протоколировать план выполнения каждого запроса." -#: utils/misc/guc_tables.c:1334 +#: utils/misc/guc_tables.c:1343 msgid "Indents parse and plan tree displays." msgstr "Отступы при отображении деревьев разбора и плана запросов." -#: utils/misc/guc_tables.c:1343 +#: utils/misc/guc_tables.c:1352 msgid "Writes parser performance statistics to the server log." msgstr "Запись статистики разбора запросов в протокол сервера." -#: utils/misc/guc_tables.c:1352 +#: utils/misc/guc_tables.c:1361 msgid "Writes planner performance statistics to the server log." msgstr "Запись статистики планирования в протокол сервера." -#: utils/misc/guc_tables.c:1361 +#: utils/misc/guc_tables.c:1370 msgid "Writes executor performance statistics to the server log." msgstr "Запись статистики выполнения запросов в протокол сервера." -#: utils/misc/guc_tables.c:1370 +#: utils/misc/guc_tables.c:1379 msgid "Writes cumulative performance statistics to the server log." msgstr "Запись общей статистики производительности в протокол сервера." -#: utils/misc/guc_tables.c:1380 +#: utils/misc/guc_tables.c:1389 msgid "" "Logs system resource usage statistics (memory and CPU) on various B-tree " "operations." @@ -32299,11 +32328,11 @@ "Фиксировать статистику использования системных ресурсов (памяти и " "процессора) при различных операциях с b-деревом." -#: utils/misc/guc_tables.c:1392 +#: utils/misc/guc_tables.c:1401 msgid "Collects information about executing commands." msgstr "Собирает информацию о выполняющихся командах." -#: utils/misc/guc_tables.c:1393 +#: utils/misc/guc_tables.c:1402 msgid "" "Enables the collection of information on the currently executing command of " "each session, along with the time at which that command began execution." @@ -32311,70 +32340,70 @@ "Включает сбор информации о командах, выполняющихся во всех сеансах, а также " "время запуска команды." -#: utils/misc/guc_tables.c:1403 +#: utils/misc/guc_tables.c:1412 msgid "Collects statistics on database activity." msgstr "Собирает статистику активности в БД." -#: utils/misc/guc_tables.c:1412 +#: utils/misc/guc_tables.c:1421 msgid "Collects timing statistics for database I/O activity." msgstr "Собирает статистику по времени активности ввода/вывода." -#: utils/misc/guc_tables.c:1421 +#: utils/misc/guc_tables.c:1430 msgid "Collects timing statistics for WAL I/O activity." msgstr "Собирает статистику по времени активности ввода/вывода WAL." -#: utils/misc/guc_tables.c:1431 +#: utils/misc/guc_tables.c:1440 msgid "Updates the process title to show the active SQL command." msgstr "Выводит в заголовок процесса активную SQL-команду." -#: utils/misc/guc_tables.c:1432 +#: utils/misc/guc_tables.c:1441 msgid "" "Enables updating of the process title every time a new SQL command is " "received by the server." msgstr "Отражает в заголовке процесса каждую SQL-команду, поступающую серверу." -#: utils/misc/guc_tables.c:1441 +#: utils/misc/guc_tables.c:1450 msgid "Starts the autovacuum subprocess." msgstr "Запускает подпроцесс автоочистки." -#: utils/misc/guc_tables.c:1451 +#: utils/misc/guc_tables.c:1460 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Генерирует отладочные сообщения для LISTEN и NOTIFY." -#: utils/misc/guc_tables.c:1463 +#: utils/misc/guc_tables.c:1472 msgid "Emits information about lock usage." msgstr "Выдавать информацию о применяемых блокировках." -#: utils/misc/guc_tables.c:1473 +#: utils/misc/guc_tables.c:1482 msgid "Emits information about user lock usage." msgstr "Выдавать информацию о применяемых пользовательских блокировках." -#: utils/misc/guc_tables.c:1483 +#: utils/misc/guc_tables.c:1492 msgid "Emits information about lightweight lock usage." msgstr "Выдавать информацию о применяемых лёгких блокировках." -#: utils/misc/guc_tables.c:1493 +#: utils/misc/guc_tables.c:1502 msgid "" "Dumps information about all current locks when a deadlock timeout occurs." msgstr "" "Выводить информацию обо всех текущих блокировках в случае тайм-аута при " "взаимоблокировке." -#: utils/misc/guc_tables.c:1505 +#: utils/misc/guc_tables.c:1514 msgid "Logs long lock waits." msgstr "Протоколировать длительные ожидания в блокировках." -#: utils/misc/guc_tables.c:1514 +#: utils/misc/guc_tables.c:1523 msgid "Logs standby recovery conflict waits." msgstr "" "Протоколировать события ожидания разрешения конфликтов при восстановлении на " "ведомом." -#: utils/misc/guc_tables.c:1523 +#: utils/misc/guc_tables.c:1532 msgid "Logs the host name in the connection logs." msgstr "Записывать имя узла в протоколы подключений." -#: utils/misc/guc_tables.c:1524 +#: utils/misc/guc_tables.c:1533 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 " @@ -32386,11 +32415,11 @@ "параметр, но учтите, что это может значительно повлиять на " "производительность." -#: utils/misc/guc_tables.c:1535 +#: utils/misc/guc_tables.c:1544 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Обрабатывать \"expr=NULL\" как \"expr IS NULL\"." -#: utils/misc/guc_tables.c:1536 +#: utils/misc/guc_tables.c:1545 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 " @@ -32402,21 +32431,21 @@ "совпадает с NULL, и false в противном случае. По правилам expr = NULL всегда " "должно возвращать null (неопределённость)." -#: utils/misc/guc_tables.c:1548 +#: utils/misc/guc_tables.c:1557 msgid "Sets the default read-only status of new transactions." msgstr "" "Устанавливает режим \"только чтение\" по умолчанию для новых транзакций." -#: utils/misc/guc_tables.c:1558 +#: utils/misc/guc_tables.c:1567 msgid "Sets the current transaction's read-only status." msgstr "Устанавливает режим \"только чтение\" для текущей транзакции." -#: utils/misc/guc_tables.c:1568 +#: utils/misc/guc_tables.c:1577 msgid "Sets the default deferrable status of new transactions." msgstr "" "Устанавливает режим отложенного выполнения по умолчанию для новых транзакций." -#: utils/misc/guc_tables.c:1577 +#: utils/misc/guc_tables.c:1586 msgid "" "Whether to defer a read-only serializable transaction until it can be " "executed with no possible serialization failures." @@ -32424,26 +32453,26 @@ "Определяет, откладывать ли сериализуемую транзакцию \"только чтение\" до " "момента, когда сбой сериализации будет исключён." -#: utils/misc/guc_tables.c:1587 +#: utils/misc/guc_tables.c:1596 msgid "Enable row security." msgstr "Включает защиту на уровне строк." -#: utils/misc/guc_tables.c:1588 +#: utils/misc/guc_tables.c:1597 msgid "When enabled, row security will be applied to all users." msgstr "" "Когда включена, защита на уровне строк распространяется на всех " "пользователей." -#: utils/misc/guc_tables.c:1596 +#: utils/misc/guc_tables.c:1605 msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE." msgstr "" "Проверять тело подпрограмм в момент CREATE FUNCTION и CREATE PROCEDURE." -#: utils/misc/guc_tables.c:1605 +#: utils/misc/guc_tables.c:1614 msgid "Enable input of NULL elements in arrays." msgstr "Разрешать ввод элементов NULL в массивах." -#: utils/misc/guc_tables.c:1606 +#: utils/misc/guc_tables.c:1615 msgid "" "When turned on, unquoted NULL in an array input value means a null value; " "otherwise it is taken literally." @@ -32451,83 +32480,83 @@ "Когда этот параметр включён, NULL без кавычек при вводе в массив " "воспринимается как значение NULL, иначе — как строка." -#: utils/misc/guc_tables.c:1622 +#: utils/misc/guc_tables.c:1631 msgid "WITH OIDS is no longer supported; this can only be false." msgstr "" "WITH OIDS более не поддерживается; единственное допустимое значение — false." -#: utils/misc/guc_tables.c:1632 +#: utils/misc/guc_tables.c:1641 msgid "" "Start a subprocess to capture stderr, csvlog and/or jsonlog into log files." msgstr "" "Запускает подпроцесс для чтения stderr, csvlog и/или jsonlog и записи в " "файлы протоколов." -#: utils/misc/guc_tables.c:1641 +#: utils/misc/guc_tables.c:1650 msgid "Truncate existing log files of same name during log rotation." msgstr "" "Очищать уже существующий файл с тем же именем при прокручивании протокола." -#: utils/misc/guc_tables.c:1652 +#: utils/misc/guc_tables.c:1661 msgid "Emit information about resource usage in sorting." msgstr "Выдавать сведения об использовании ресурсов при сортировке." -#: utils/misc/guc_tables.c:1666 +#: utils/misc/guc_tables.c:1675 msgid "Generate debugging output for synchronized scanning." msgstr "Выдавать отладочные сообщения для синхронного сканирования." -#: utils/misc/guc_tables.c:1681 +#: utils/misc/guc_tables.c:1690 msgid "Enable bounded sorting using heap sort." msgstr "" "Разрешить ограниченную сортировку с применением пирамидальной сортировки." -#: utils/misc/guc_tables.c:1694 +#: utils/misc/guc_tables.c:1703 msgid "Emit WAL-related debugging output." msgstr "Выдавать отладочные сообщения, связанные с WAL." -#: utils/misc/guc_tables.c:1706 +#: utils/misc/guc_tables.c:1715 msgid "Shows whether datetimes are integer based." msgstr "Показывает, является ли реализация даты/времени целочисленной." -#: utils/misc/guc_tables.c:1717 +#: utils/misc/guc_tables.c:1726 msgid "" "Sets whether Kerberos and GSSAPI user names should be treated as case-" "insensitive." msgstr "" "Включает регистронезависимую обработку имён пользователей Kerberos и GSSAPI." -#: utils/misc/guc_tables.c:1727 +#: utils/misc/guc_tables.c:1736 msgid "Sets whether GSSAPI delegation should be accepted from the client." msgstr "Разрешает принимать от клиентов делегированные учётные данные GSSAPI." -#: utils/misc/guc_tables.c:1737 +#: utils/misc/guc_tables.c:1746 msgid "Warn about backslash escapes in ordinary string literals." msgstr "Предупреждения о спецсимволах '\\' в обычных строках." -#: utils/misc/guc_tables.c:1747 +#: utils/misc/guc_tables.c:1756 msgid "Causes '...' strings to treat backslashes literally." msgstr "Включает буквальную обработку символов '\\' в строках '...'." -#: utils/misc/guc_tables.c:1758 +#: utils/misc/guc_tables.c:1767 msgid "Enable synchronized sequential scans." msgstr "Включить синхронизацию последовательного сканирования." -#: utils/misc/guc_tables.c:1768 +#: utils/misc/guc_tables.c:1777 msgid "Sets whether to include or exclude transaction with recovery target." msgstr "Определяет, включать ли транзакцию в целевую точку восстановления." -#: utils/misc/guc_tables.c:1778 +#: utils/misc/guc_tables.c:1787 msgid "Starts the WAL summarizer process to enable incremental backup." msgstr "" "Запускает процесс обобщения WAL, необходимый для инкрементального " "копирования." -#: utils/misc/guc_tables.c:1788 +#: utils/misc/guc_tables.c:1797 msgid "Allows connections and queries during recovery." msgstr "" "Разрешает принимать новые подключения и запросы в процессе восстановления." -#: utils/misc/guc_tables.c:1798 +#: utils/misc/guc_tables.c:1807 msgid "" "Allows feedback from a hot standby to the primary that will avoid query " "conflicts." @@ -32535,19 +32564,19 @@ "Разрешает обратную связь сервера горячего резерва с основным для " "предотвращения конфликтов при длительных запросах." -#: utils/misc/guc_tables.c:1808 +#: utils/misc/guc_tables.c:1817 msgid "Shows whether hot standby is currently active." msgstr "Показывает, активен ли в настоящий момент режим горячего резерва." -#: utils/misc/guc_tables.c:1819 +#: utils/misc/guc_tables.c:1828 msgid "Allows modifications of the structure of system tables." msgstr "Разрешает модифицировать структуру системных таблиц." -#: utils/misc/guc_tables.c:1830 +#: utils/misc/guc_tables.c:1839 msgid "Disables reading from system indexes." msgstr "Запрещает использование системных индексов." -#: utils/misc/guc_tables.c:1831 +#: utils/misc/guc_tables.c:1840 msgid "" "It does not prevent updating the indexes, so it is safe to use. The worst " "consequence is slowness." @@ -32555,20 +32584,20 @@ "При этом индексы продолжают обновляться, так что данное поведение безопасно. " "Худшее следствие - замедление." -#: utils/misc/guc_tables.c:1842 +#: utils/misc/guc_tables.c:1851 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "" "Позволяет размещать табличные пространства внутри pg_tblspc; предназначается " "для тестирования." -#: utils/misc/guc_tables.c:1853 +#: utils/misc/guc_tables.c:1862 msgid "" "Enables backward compatibility mode for privilege checks on large objects." msgstr "" "Включает режим обратной совместимости при проверке привилегий для больших " "объектов." -#: utils/misc/guc_tables.c:1854 +#: utils/misc/guc_tables.c:1863 msgid "" "Skips privilege checks when reading or modifying large objects, for " "compatibility with PostgreSQL releases prior to 9.0." @@ -32576,66 +32605,66 @@ "Пропускает проверки привилегий при чтении или изменении больших объектов " "(для совместимости с версиями PostgreSQL до 9.0)." -#: utils/misc/guc_tables.c:1864 +#: utils/misc/guc_tables.c:1873 msgid "When generating SQL fragments, quote all identifiers." msgstr "" "Генерируя SQL-фрагменты, заключать все идентификаторы в двойные кавычки." -#: utils/misc/guc_tables.c:1874 +#: utils/misc/guc_tables.c:1883 msgid "Shows whether data checksums are turned on for this cluster." msgstr "Показывает, включён ли в этом кластере контроль целостности данных." -#: utils/misc/guc_tables.c:1885 +#: utils/misc/guc_tables.c:1894 msgid "Add sequence number to syslog messages to avoid duplicate suppression." msgstr "" "Добавлять последовательный номер в сообщения syslog во избежание подавления " "повторов." -#: utils/misc/guc_tables.c:1895 +#: utils/misc/guc_tables.c:1904 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." msgstr "" "Разбивать сообщения, передаваемые в syslog, по строкам размером не больше " "1024 байт." -#: utils/misc/guc_tables.c:1905 +#: utils/misc/guc_tables.c:1914 msgid "Controls whether Gather and Gather Merge also run subplans." msgstr "" "Определяет, будут ли узлы сбора и сбора слиянием также выполнять подпланы." -#: utils/misc/guc_tables.c:1906 +#: utils/misc/guc_tables.c:1915 msgid "Should gather nodes also run subplans or just gather tuples?" msgstr "" "Должны ли узлы сбора также выполнять подпланы или только собирать кортежи?" -#: utils/misc/guc_tables.c:1916 +#: utils/misc/guc_tables.c:1925 msgid "Allow JIT compilation." msgstr "Включить JIT-компиляцию." -#: utils/misc/guc_tables.c:1927 +#: utils/misc/guc_tables.c:1936 msgid "Register JIT-compiled functions with debugger." msgstr "Регистрировать JIT-скомпилированные функции в отладчике." -#: utils/misc/guc_tables.c:1944 +#: utils/misc/guc_tables.c:1953 msgid "Write out LLVM bitcode to facilitate JIT debugging." msgstr "Выводить битовый код LLVM для облегчения отладки JIT." -#: utils/misc/guc_tables.c:1955 +#: utils/misc/guc_tables.c:1964 msgid "Allow JIT compilation of expressions." msgstr "Включить JIT-компиляцию выражений." -#: utils/misc/guc_tables.c:1966 +#: utils/misc/guc_tables.c:1975 msgid "Register JIT-compiled functions with perf profiler." msgstr "Регистрировать JIT-компилируемые функции в профилировщике perf." -#: utils/misc/guc_tables.c:1983 +#: utils/misc/guc_tables.c:1992 msgid "Allow JIT compilation of tuple deforming." msgstr "Разрешить JIT-компиляцию кода преобразования кортежей." -#: utils/misc/guc_tables.c:1994 +#: utils/misc/guc_tables.c:2003 msgid "Whether to continue running after a failure to sync data files." msgstr "Продолжать работу после ошибки при сохранении файлов данных на диске." -#: utils/misc/guc_tables.c:2003 +#: utils/misc/guc_tables.c:2012 msgid "" "Sets whether a WAL receiver should create a temporary replication slot if no " "permanent slot is configured." @@ -32643,17 +32672,17 @@ "Определяет, должен ли приёмник WAL создавать временный слот репликации, если " "не настроен постоянный слот." -#: utils/misc/guc_tables.c:2012 +#: utils/misc/guc_tables.c:2021 msgid "Enables event triggers." msgstr "Включает событийные триггеры." -#: utils/misc/guc_tables.c:2013 +#: utils/misc/guc_tables.c:2022 msgid "When enabled, event triggers will fire for all applicable statements." msgstr "" "При включении событийные триггеры будут срабатывать для всех операторов, для " "которых применимы." -#: utils/misc/guc_tables.c:2022 +#: utils/misc/guc_tables.c:2031 msgid "" "Enables a physical standby to synchronize logical failover replication slots " "from the primary server." @@ -32661,28 +32690,28 @@ "Позволяет физической реплике синхронизировать переносимые слоты логической " "репликации с ведущего сервера." -#: utils/misc/guc_tables.c:2040 +#: utils/misc/guc_tables.c:2049 msgid "" "Sets the amount of time to wait before forcing a switch to the next WAL file." msgstr "" "Задаёт время задержки перед принудительным переключением на следующий файл " "WAL." -#: utils/misc/guc_tables.c:2051 +#: utils/misc/guc_tables.c:2060 msgid "" "Sets the amount of time to wait after authentication on connection startup." msgstr "" "Задаёт время ожидания после аутентификации при установлении соединения." -#: utils/misc/guc_tables.c:2053 utils/misc/guc_tables.c:2780 +#: utils/misc/guc_tables.c:2062 utils/misc/guc_tables.c:2789 msgid "This allows attaching a debugger to the process." msgstr "Это позволяет подключить к процессу отладчик." -#: utils/misc/guc_tables.c:2062 +#: utils/misc/guc_tables.c:2071 msgid "Sets the default statistics target." msgstr "Устанавливает ориентир статистики по умолчанию." -#: utils/misc/guc_tables.c:2063 +#: utils/misc/guc_tables.c:2072 msgid "" "This applies to table columns that have not had a column-specific target set " "via ALTER TABLE SET STATISTICS." @@ -32690,13 +32719,13 @@ "Это значение распространяется на столбцы таблицы, для которых ориентир " "статистики не задан явно через ALTER TABLE SET STATISTICS." -#: utils/misc/guc_tables.c:2072 +#: utils/misc/guc_tables.c:2081 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "" "Задаёт предел для списка FROM, при превышении которого подзапросы не " "сворачиваются." -#: utils/misc/guc_tables.c:2074 +#: utils/misc/guc_tables.c:2083 msgid "" "The planner will merge subqueries into upper queries if the resulting FROM " "list would have no more than this many items." @@ -32704,13 +32733,13 @@ "Планировщик объединит вложенные запросы с внешними, если в полученном списке " "FROM будет не больше заданного числа элементов." -#: utils/misc/guc_tables.c:2085 +#: utils/misc/guc_tables.c:2094 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "" "Задаёт предел для списка FROM, при превышении которого конструкции JOIN " "сохраняются." -#: utils/misc/guc_tables.c:2087 +#: utils/misc/guc_tables.c:2096 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." @@ -32718,34 +32747,34 @@ "Планировщик будет сносить явные конструкции JOIN в списки FROM, пока в " "результирующем списке не больше заданного числа элементов." -#: utils/misc/guc_tables.c:2098 +#: utils/misc/guc_tables.c:2107 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "" "Задаёт предел для списка FROM, при превышении которого применяется GEQO." -#: utils/misc/guc_tables.c:2108 +#: utils/misc/guc_tables.c:2117 msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "" "GEQO: оценка усилий для планирования, задающая значения по умолчанию для " "других параметров GEQO." -#: utils/misc/guc_tables.c:2118 +#: utils/misc/guc_tables.c:2127 msgid "GEQO: number of individuals in the population." msgstr "GEQO: число особей в популяции." -#: utils/misc/guc_tables.c:2119 utils/misc/guc_tables.c:2129 +#: utils/misc/guc_tables.c:2128 utils/misc/guc_tables.c:2138 msgid "Zero selects a suitable default value." msgstr "При нуле выбирается подходящее значение по умолчанию." -#: utils/misc/guc_tables.c:2128 +#: utils/misc/guc_tables.c:2137 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: число итераций алгоритма." -#: utils/misc/guc_tables.c:2140 +#: utils/misc/guc_tables.c:2149 msgid "Sets the time to wait on a lock before checking for deadlock." msgstr "Задаёт интервал ожидания в блокировке до проверки на взаимоблокировку." -#: utils/misc/guc_tables.c:2151 +#: utils/misc/guc_tables.c:2160 msgid "" "Sets the maximum delay before canceling queries when a hot standby server is " "processing archived WAL data." @@ -32753,7 +32782,7 @@ "Задаёт максимальную задержку до отмены запроса, когда сервер горячего " "резерва обрабатывает данные WAL из архива." -#: utils/misc/guc_tables.c:2162 +#: utils/misc/guc_tables.c:2171 msgid "" "Sets the maximum delay before canceling queries when a hot standby server is " "processing streamed WAL data." @@ -32761,13 +32790,13 @@ "Задаёт максимальную задержку до отмены запроса, когда сервер горячего " "резерва обрабатывает данные WAL из потока." -#: utils/misc/guc_tables.c:2173 +#: utils/misc/guc_tables.c:2182 msgid "Sets the minimum delay for applying changes during recovery." msgstr "" "Задаёт минимальную задержку для применения изменений в процессе " "восстановления." -#: utils/misc/guc_tables.c:2184 +#: utils/misc/guc_tables.c:2193 msgid "" "Sets the maximum interval between WAL receiver status reports to the sending " "server." @@ -32775,21 +32804,21 @@ "Задаёт максимальный интервал между отчётами о состоянии приёмника WAL, " "отправляемыми передающему серверу." -#: utils/misc/guc_tables.c:2195 +#: utils/misc/guc_tables.c:2204 msgid "Sets the maximum wait time to receive data from the sending server." msgstr "" "Задаёт предельное время ожидания для получения данных от передающего сервера." -#: utils/misc/guc_tables.c:2206 +#: utils/misc/guc_tables.c:2215 msgid "Sets the maximum number of concurrent connections." msgstr "Задаёт максимально возможное число подключений." -#: utils/misc/guc_tables.c:2217 +#: utils/misc/guc_tables.c:2226 msgid "Sets the number of connection slots reserved for superusers." msgstr "" "Определяет, сколько слотов подключений забронировано для суперпользователей." -#: utils/misc/guc_tables.c:2227 +#: utils/misc/guc_tables.c:2236 msgid "" "Sets the number of connection slots reserved for roles with privileges of " "pg_use_reserved_connections." @@ -32797,19 +32826,19 @@ "Определяет, сколько слотов подключений забронировано для ролей с правом " "pg_use_reserved_connections." -#: utils/misc/guc_tables.c:2238 +#: utils/misc/guc_tables.c:2247 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Объём динамической разделяемой памяти, резервируемый при запуске." -#: utils/misc/guc_tables.c:2253 +#: utils/misc/guc_tables.c:2262 msgid "Sets the number of shared memory buffers used by the server." msgstr "Задаёт количество буферов в разделяемой памяти, используемых сервером." -#: utils/misc/guc_tables.c:2264 +#: utils/misc/guc_tables.c:2273 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." msgstr "Задаёт размер пула буферов для операций VACUUM, ANALYZE и автоочистки." -#: utils/misc/guc_tables.c:2275 +#: utils/misc/guc_tables.c:2284 msgid "" "Shows the size of the server's main shared memory area (rounded up to the " "nearest MB)." @@ -32817,17 +32846,17 @@ "Показывает объём основной области общей памяти сервера (округляется до " "ближайшего значения в мегабайтах)." -#: utils/misc/guc_tables.c:2286 +#: utils/misc/guc_tables.c:2295 msgid "Shows the number of huge pages needed for the main shared memory area." msgstr "" "Показывает количество огромных страниц, необходимое для основной области " "общей памяти." -#: utils/misc/guc_tables.c:2287 +#: utils/misc/guc_tables.c:2296 msgid "-1 indicates that the value could not be determined." msgstr "Значение -1 показывает, что определить это количество не удалось." -#: utils/misc/guc_tables.c:2297 +#: utils/misc/guc_tables.c:2306 msgid "" "Sets the size of the dedicated buffer pool used for the commit timestamp " "cache." @@ -32835,13 +32864,13 @@ "Задаёт размер выделенного пула буферов, используемых для кеширования времени " "фиксации транзакций." -#: utils/misc/guc_tables.c:2298 utils/misc/guc_tables.c:2353 -#: utils/misc/guc_tables.c:2364 +#: utils/misc/guc_tables.c:2307 utils/misc/guc_tables.c:2362 +#: utils/misc/guc_tables.c:2373 msgid "" "Specify 0 to have this value determined as a fraction of shared_buffers." msgstr "При значении 0 это число определяется как процент от shared_buffers." -#: utils/misc/guc_tables.c:2308 +#: utils/misc/guc_tables.c:2317 msgid "" "Sets the size of the dedicated buffer pool used for the MultiXact member " "cache." @@ -32849,7 +32878,7 @@ "Задаёт размер выделенного пула буферов, используемых для кеширования " "членства в MultiXact." -#: utils/misc/guc_tables.c:2319 +#: utils/misc/guc_tables.c:2328 msgid "" "Sets the size of the dedicated buffer pool used for the MultiXact offset " "cache." @@ -32857,7 +32886,7 @@ "Задаёт размер выделенного пула буферов, используемых для кеширования " "смещений MultiXact." -#: utils/misc/guc_tables.c:2330 +#: utils/misc/guc_tables.c:2339 msgid "" "Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY " "message cache." @@ -32865,7 +32894,7 @@ "Задаёт размер выделенного пула буферов, используемых для кеширования " "сообщений LISTEN/NOTIFY." -#: utils/misc/guc_tables.c:2341 +#: utils/misc/guc_tables.c:2350 msgid "" "Sets the size of the dedicated buffer pool used for the serializable " "transaction cache." @@ -32873,14 +32902,14 @@ "Задаёт размер выделенного пула буферов, используемых для кеширования " "сериализуемых транзакций." -#: utils/misc/guc_tables.c:2352 +#: utils/misc/guc_tables.c:2361 msgid "" "Sets the size of the dedicated buffer pool used for the subtransaction cache." msgstr "" "Задаёт размер выделенного пула буферов, используемых для кеширования " "подтранзакций." -#: utils/misc/guc_tables.c:2363 +#: utils/misc/guc_tables.c:2372 msgid "" "Sets the size of the dedicated buffer pool used for the transaction status " "cache." @@ -32888,19 +32917,19 @@ "Задаёт размер выделенного пула буферов, используемых для кеширования статуса " "транзакций." -#: utils/misc/guc_tables.c:2374 +#: utils/misc/guc_tables.c:2383 msgid "Sets the maximum number of temporary buffers used by each session." msgstr "Задаёт предельное число временных буферов на один сеанс." -#: utils/misc/guc_tables.c:2385 +#: utils/misc/guc_tables.c:2394 msgid "Sets the TCP port the server listens on." msgstr "Задаёт TCP-порт для работы сервера." -#: utils/misc/guc_tables.c:2395 +#: utils/misc/guc_tables.c:2404 msgid "Sets the access permissions of the Unix-domain socket." msgstr "Задаёт права доступа для Unix-сокета." -#: utils/misc/guc_tables.c:2396 +#: utils/misc/guc_tables.c:2405 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 " @@ -32912,11 +32941,11 @@ "воспринимаемом системными функциями chmod и umask. (Чтобы использовать " "привычный восьмеричный формат, добавьте в начало ноль (0).)" -#: utils/misc/guc_tables.c:2410 +#: utils/misc/guc_tables.c:2419 msgid "Sets the file permissions for log files." msgstr "Задаёт права доступа к файлам протоколов." -#: utils/misc/guc_tables.c:2411 +#: utils/misc/guc_tables.c:2420 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 " @@ -32926,11 +32955,11 @@ "функциями chmod и umask. (Чтобы использовать привычный восьмеричный формат, " "добавьте в начало ноль (0).)" -#: utils/misc/guc_tables.c:2425 +#: utils/misc/guc_tables.c:2434 msgid "Shows the mode of the data directory." msgstr "Показывает режим каталога данных." -#: utils/misc/guc_tables.c:2426 +#: utils/misc/guc_tables.c:2435 msgid "" "The parameter value is a numeric mode specification in the form accepted by " "the chmod and umask system calls. (To use the customary octal format the " @@ -32940,11 +32969,11 @@ "функциями chmod и umask. (Чтобы использовать привычный восьмеричный формат, " "добавьте в начало ноль (0).)" -#: utils/misc/guc_tables.c:2439 +#: utils/misc/guc_tables.c:2448 msgid "Sets the maximum memory to be used for query workspaces." msgstr "Задаёт предельный объём памяти для рабочих пространств запросов." -#: utils/misc/guc_tables.c:2440 +#: utils/misc/guc_tables.c:2449 msgid "" "This much memory can be used by each internal sort operation and hash table " "before switching to temporary disk files." @@ -32952,19 +32981,19 @@ "Такой объём памяти может использоваться каждой внутренней операцией " "сортировки и таблицей хешей до переключения на временные файлы на диске." -#: utils/misc/guc_tables.c:2457 +#: utils/misc/guc_tables.c:2466 msgid "Sets the maximum memory to be used for maintenance operations." msgstr "Задаёт предельный объём памяти для операций по обслуживанию." -#: utils/misc/guc_tables.c:2458 +#: utils/misc/guc_tables.c:2467 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "Подразумеваются в частности операции VACUUM и CREATE INDEX." -#: utils/misc/guc_tables.c:2468 +#: utils/misc/guc_tables.c:2477 msgid "Sets the maximum memory to be used for logical decoding." msgstr "Задаёт предельный объём памяти для логического декодирования." -#: utils/misc/guc_tables.c:2469 +#: utils/misc/guc_tables.c:2478 msgid "" "This much memory can be used by each internal reorder buffer before spilling " "to disk." @@ -32972,86 +33001,86 @@ "Такой объём памяти может использоваться каждым внутренним буфером " "пересортировки до вымещения данных на диск." -#: utils/misc/guc_tables.c:2485 +#: utils/misc/guc_tables.c:2494 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Задаёт максимальную глубину стека (в КБ)." -#: utils/misc/guc_tables.c:2496 +#: utils/misc/guc_tables.c:2505 msgid "Limits the total size of all temporary files used by each process." msgstr "" "Ограничивает общий размер всех временных файлов, доступный для каждого " "процесса." -#: utils/misc/guc_tables.c:2497 +#: utils/misc/guc_tables.c:2506 msgid "-1 means no limit." msgstr "-1 отключает ограничение." -#: utils/misc/guc_tables.c:2507 +#: utils/misc/guc_tables.c:2516 msgid "Vacuum cost for a page found in the buffer cache." msgstr "Стоимость очистки для страницы, найденной в кеше." -#: utils/misc/guc_tables.c:2517 +#: utils/misc/guc_tables.c:2526 msgid "Vacuum cost for a page not found in the buffer cache." msgstr "Стоимость очистки для страницы, не найденной в кеше." -#: utils/misc/guc_tables.c:2527 +#: utils/misc/guc_tables.c:2536 msgid "Vacuum cost for a page dirtied by vacuum." msgstr "Стоимость очистки для страницы, которая не была \"грязной\"." -#: utils/misc/guc_tables.c:2537 +#: utils/misc/guc_tables.c:2546 msgid "Vacuum cost amount available before napping." msgstr "Суммарная стоимость очистки, при которой нужна передышка." -#: utils/misc/guc_tables.c:2547 +#: utils/misc/guc_tables.c:2556 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "" "Суммарная стоимость очистки, при которой нужна передышка, для автоочистки." -#: utils/misc/guc_tables.c:2557 +#: utils/misc/guc_tables.c:2566 msgid "" "Sets the maximum number of simultaneously open files for each server process." msgstr "" "Задаёт предельное число одновременно открытых файлов для каждого серверного " "процесса." -#: utils/misc/guc_tables.c:2570 +#: utils/misc/guc_tables.c:2579 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "Задаёт предельное число одновременно подготовленных транзакций." -#: utils/misc/guc_tables.c:2581 +#: utils/misc/guc_tables.c:2590 msgid "Sets the minimum OID of tables for tracking locks." msgstr "Задаёт минимальный OID таблиц, для которых отслеживаются блокировки." -#: utils/misc/guc_tables.c:2582 +#: utils/misc/guc_tables.c:2591 msgid "Is used to avoid output on system tables." msgstr "Применяется для игнорирования системных таблиц." -#: utils/misc/guc_tables.c:2591 +#: utils/misc/guc_tables.c:2600 msgid "Sets the OID of the table with unconditionally lock tracing." msgstr "Задаёт OID таблицы для безусловного отслеживания блокировок." -#: utils/misc/guc_tables.c:2603 +#: utils/misc/guc_tables.c:2612 msgid "Sets the maximum allowed duration of any statement." msgstr "Задаёт предельную длительность для любого оператора." -#: utils/misc/guc_tables.c:2604 utils/misc/guc_tables.c:2615 -#: utils/misc/guc_tables.c:2626 utils/misc/guc_tables.c:2637 -#: utils/misc/guc_tables.c:2648 +#: utils/misc/guc_tables.c:2613 utils/misc/guc_tables.c:2624 +#: utils/misc/guc_tables.c:2635 utils/misc/guc_tables.c:2646 +#: utils/misc/guc_tables.c:2657 msgid "A value of 0 turns off the timeout." msgstr "Нулевое значение отключает тайм-аут." -#: utils/misc/guc_tables.c:2614 +#: utils/misc/guc_tables.c:2623 msgid "Sets the maximum allowed duration of any wait for a lock." msgstr "Задаёт максимальную продолжительность ожидания блокировок." -#: utils/misc/guc_tables.c:2625 +#: utils/misc/guc_tables.c:2634 msgid "" "Sets the maximum allowed idle time between queries, when in a transaction." msgstr "" "Задаёт предельно допустимую длительность простоя между запросами в " "транзакции." -#: utils/misc/guc_tables.c:2636 +#: utils/misc/guc_tables.c:2645 msgid "" "Sets the maximum allowed duration of any transaction within a session (not a " "prepared transaction)." @@ -33059,7 +33088,7 @@ "Задаёт предельно допустимую длительность для любых транзакций в сеансе " "(кроме подготовленных)." -#: utils/misc/guc_tables.c:2647 +#: utils/misc/guc_tables.c:2656 msgid "" "Sets the maximum allowed idle time between queries, when not in a " "transaction." @@ -33067,37 +33096,37 @@ "Задаёт предельно допустимую длительность простоя между запросами вне " "транзакций." -#: utils/misc/guc_tables.c:2658 +#: utils/misc/guc_tables.c:2667 msgid "Minimum age at which VACUUM should freeze a table row." msgstr "" "Минимальный возраст строк таблицы, при котором VACUUM может их заморозить." -#: utils/misc/guc_tables.c:2668 +#: utils/misc/guc_tables.c:2677 msgid "Age at which VACUUM should scan whole table to freeze tuples." msgstr "" "Возраст, при котором VACUUM должен сканировать всю таблицу с целью " "заморозить кортежи." -#: utils/misc/guc_tables.c:2678 +#: utils/misc/guc_tables.c:2687 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." msgstr "" "Минимальный возраст, при котором VACUUM будет замораживать MultiXactId в " "строке таблицы." -#: utils/misc/guc_tables.c:2688 +#: utils/misc/guc_tables.c:2697 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." msgstr "" "Возраст multixact, при котором VACUUM должен сканировать всю таблицу с целью " "заморозить кортежи." -#: utils/misc/guc_tables.c:2698 +#: utils/misc/guc_tables.c:2707 msgid "" "Age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "" "Возраст, при котором VACUUM должен включить защиту от зацикливания во " "избежание отказа." -#: utils/misc/guc_tables.c:2707 +#: utils/misc/guc_tables.c:2716 msgid "" "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound " "outage." @@ -33105,11 +33134,11 @@ "Возраст мультитранзакций, при котором VACUUM должен включить защиту от " "зацикливания во избежание отказа." -#: utils/misc/guc_tables.c:2720 +#: utils/misc/guc_tables.c:2729 msgid "Sets the maximum number of locks per transaction." msgstr "Задаёт предельное число блокировок на транзакцию." -#: utils/misc/guc_tables.c:2721 +#: utils/misc/guc_tables.c:2730 msgid "" "The shared lock table is sized on the assumption that at most " "\"max_locks_per_transaction\" objects per server process or prepared " @@ -33120,11 +33149,11 @@ "\"max_locks_per_transaction\" объектов для одного серверного процесса или " "подготовленной транзакции." -#: utils/misc/guc_tables.c:2732 +#: utils/misc/guc_tables.c:2741 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Задаёт предельное число предикатных блокировок на транзакцию." -#: utils/misc/guc_tables.c:2733 +#: utils/misc/guc_tables.c:2742 msgid "" "The shared predicate lock table is sized on the assumption that at most " "\"max_pred_locks_per_transaction\" objects per server process or prepared " @@ -33135,14 +33164,14 @@ "\"max_pred_locks_per_transaction\" объектов для одного серверного процесса " "или подготовленной транзакции." -#: utils/misc/guc_tables.c:2744 +#: utils/misc/guc_tables.c:2753 msgid "" "Sets the maximum number of predicate-locked pages and tuples per relation." msgstr "" "Задаёт максимальное число страниц и кортежей, блокируемых предикатными " "блокировками в одном отношении." -#: utils/misc/guc_tables.c:2745 +#: utils/misc/guc_tables.c:2754 msgid "" "If more than this total of pages and tuples in the same relation are locked " "by a connection, those locks are replaced by a relation-level lock." @@ -33150,13 +33179,13 @@ "Если одним соединением блокируется больше этого общего числа страниц и " "кортежей, эти блокировки заменяются блокировкой на уровне отношения." -#: utils/misc/guc_tables.c:2755 +#: utils/misc/guc_tables.c:2764 msgid "Sets the maximum number of predicate-locked tuples per page." msgstr "" "Задаёт максимальное число кортежей, блокируемых предикатными блокировками в " "одной странице." -#: utils/misc/guc_tables.c:2756 +#: utils/misc/guc_tables.c:2765 msgid "" "If more than this number of tuples on the same page are locked by a " "connection, those locks are replaced by a page-level lock." @@ -33164,50 +33193,50 @@ "Если одним соединением блокируется больше этого числа кортежей на одной " "странице, эти блокировки заменяются блокировкой на уровне страницы." -#: utils/misc/guc_tables.c:2766 +#: utils/misc/guc_tables.c:2775 msgid "Sets the maximum allowed time to complete client authentication." msgstr "Ограничивает время, за которое клиент должен пройти аутентификацию." -#: utils/misc/guc_tables.c:2778 +#: utils/misc/guc_tables.c:2787 msgid "" "Sets the amount of time to wait before authentication on connection startup." msgstr "Задаёт время ожидания до аутентификации при установлении соединения." -#: utils/misc/guc_tables.c:2790 +#: utils/misc/guc_tables.c:2799 msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue." msgstr "" "Задаёт максимальное число страниц, выделяемых для очереди NOTIFY / LISTEN." -#: utils/misc/guc_tables.c:2800 +#: utils/misc/guc_tables.c:2809 msgid "Buffer size for reading ahead in the WAL during recovery." msgstr "Размер буфера для упреждающего чтения WAL во время восстановления." -#: utils/misc/guc_tables.c:2801 +#: utils/misc/guc_tables.c:2810 msgid "" "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." msgstr "" "Максимальный объём WAL, прочитываемый наперёд для осуществления предвыборки " "изменяемых блоков данных." -#: utils/misc/guc_tables.c:2811 +#: utils/misc/guc_tables.c:2820 msgid "Sets the size of WAL files held for standby servers." msgstr "" "Определяет предельный объём файлов WAL, сохраняемых для резервных серверов." -#: utils/misc/guc_tables.c:2822 +#: utils/misc/guc_tables.c:2831 msgid "Sets the minimum size to shrink the WAL to." msgstr "Задаёт минимальный размер WAL при сжатии." -#: utils/misc/guc_tables.c:2834 +#: utils/misc/guc_tables.c:2843 msgid "Sets the WAL size that triggers a checkpoint." msgstr "Задаёт размер WAL, при котором инициируется контрольная точка." -#: utils/misc/guc_tables.c:2846 +#: utils/misc/guc_tables.c:2855 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "" "Задаёт максимальное время между автоматическими контрольными точками WAL." -#: utils/misc/guc_tables.c:2857 +#: utils/misc/guc_tables.c:2866 msgid "" "Sets the maximum time before warning if checkpoints triggered by WAL volume " "happen too frequently." @@ -33215,7 +33244,7 @@ "Задаёт максимальный интервал, в котором выдаётся предупреждение о том, что " "контрольные точки, вызванные активностью WAL, происходят слишком часто." -#: utils/misc/guc_tables.c:2859 +#: utils/misc/guc_tables.c:2868 msgid "" "Write a message to the server log if checkpoints caused by the filling of " "WAL segment files happen more frequently than this amount of time. Zero " @@ -33225,54 +33254,54 @@ "контрольными точками, вызванными заполнением файлов сегментов WAL, меньше " "заданного значения. Нулевое значение отключает эти предупреждения." -#: utils/misc/guc_tables.c:2872 utils/misc/guc_tables.c:3090 -#: utils/misc/guc_tables.c:3144 +#: utils/misc/guc_tables.c:2881 utils/misc/guc_tables.c:3099 +#: utils/misc/guc_tables.c:3153 msgid "" "Number of pages after which previously performed writes are flushed to disk." msgstr "" "Число страниц, по достижении которого ранее выполненные операции записи " "сбрасываются на диск." -#: utils/misc/guc_tables.c:2883 +#: utils/misc/guc_tables.c:2892 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "Задаёт число буферов дисковых страниц в разделяемой памяти для WAL." -#: utils/misc/guc_tables.c:2884 +#: utils/misc/guc_tables.c:2893 msgid "" "Specify -1 to have this value determined as a fraction of shared_buffers." msgstr "При значении -1 это число определяется как процент от shared_buffers." -#: utils/misc/guc_tables.c:2894 +#: utils/misc/guc_tables.c:2903 msgid "Time between WAL flushes performed in the WAL writer." msgstr "Задержка между сбросом WAL в процессе, записывающем WAL." -#: utils/misc/guc_tables.c:2905 +#: utils/misc/guc_tables.c:2914 msgid "Amount of WAL written out by WAL writer that triggers a flush." msgstr "" "Объём WAL, обработанный пишущим WAL процессом, при котором инициируется " "сброс журнала на диск." -#: utils/misc/guc_tables.c:2916 +#: utils/misc/guc_tables.c:2925 msgid "Minimum size of new file to fsync instead of writing WAL." msgstr "" "Размер нового файла, при достижении которого файл не пишется в WAL, а " "сбрасывается на диск." -#: utils/misc/guc_tables.c:2927 +#: utils/misc/guc_tables.c:2936 msgid "Sets the maximum number of simultaneously running WAL sender processes." msgstr "" "Задаёт предельное число одновременно работающих процессов передачи WAL." -#: utils/misc/guc_tables.c:2938 +#: utils/misc/guc_tables.c:2947 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "Задаёт предельное число одновременно существующих слотов репликации." -#: utils/misc/guc_tables.c:2948 +#: utils/misc/guc_tables.c:2957 msgid "Sets the maximum WAL size that can be reserved by replication slots." msgstr "" "Задаёт максимальный размер WAL, который могут резервировать слоты репликации." -#: utils/misc/guc_tables.c:2949 +#: utils/misc/guc_tables.c:2958 msgid "" "Replication slots will be marked as failed, and segments released for " "deletion or recycling, if this much space is occupied by WAL on disk." @@ -33281,11 +33310,11 @@ "помечены как нерабочие, а сегменты будут освобождены для удаления или " "переработки." -#: utils/misc/guc_tables.c:2961 +#: utils/misc/guc_tables.c:2970 msgid "Sets the maximum time to wait for WAL replication." msgstr "Задаёт предельное время ожидания репликации WAL." -#: utils/misc/guc_tables.c:2972 +#: utils/misc/guc_tables.c:2981 msgid "" "Sets the delay in microseconds between transaction commit and flushing WAL " "to disk." @@ -33293,7 +33322,7 @@ "Задаёт задержку в микросекундах между фиксированием транзакций и сбросом WAL " "на диск." -#: utils/misc/guc_tables.c:2984 +#: utils/misc/guc_tables.c:2993 msgid "" "Sets the minimum number of concurrent open transactions required before " "performing \"commit_delay\"." @@ -33301,11 +33330,11 @@ "Задаёт минимальное число одновременно открытых транзакций, которое требуется " "для применения \"commit_delay\"." -#: utils/misc/guc_tables.c:2995 +#: utils/misc/guc_tables.c:3004 msgid "Sets the number of digits displayed for floating-point values." msgstr "Задаёт число выводимых цифр для чисел с плавающей точкой." -#: utils/misc/guc_tables.c:2996 +#: utils/misc/guc_tables.c:3005 msgid "" "This affects real, double precision, and geometric data types. A zero or " "negative parameter value is added to the standard number of digits (FLT_DIG " @@ -33317,7 +33346,7 @@ "(FLT_DIG или DBL_DIG соответственно). Положительное значение включает режим " "точного вывода." -#: utils/misc/guc_tables.c:3008 +#: utils/misc/guc_tables.c:3017 msgid "" "Sets the minimum execution time above which a sample of statements will be " "logged. Sampling is determined by log_statement_sample_rate." @@ -33326,22 +33355,22 @@ "которого он выводится в журнал. Выборка определяется параметром " "log_statement_sample_rate." -#: utils/misc/guc_tables.c:3011 +#: utils/misc/guc_tables.c:3020 msgid "Zero logs a sample of all queries. -1 turns this feature off." msgstr "При 0 выводятся все запросы в выборке; -1 отключает эти сообщения." -#: utils/misc/guc_tables.c:3021 +#: utils/misc/guc_tables.c:3030 msgid "" "Sets the minimum execution time above which all statements will be logged." msgstr "" "Задаёт предельное время выполнения любого оператора, при превышении которого " "он выводится в журнал." -#: utils/misc/guc_tables.c:3023 +#: utils/misc/guc_tables.c:3032 msgid "Zero prints all queries. -1 turns this feature off." msgstr "При 0 выводятся все запросы; -1 отключает эти сообщения." -#: utils/misc/guc_tables.c:3033 +#: utils/misc/guc_tables.c:3042 msgid "" "Sets the minimum execution time above which autovacuum actions will be " "logged." @@ -33349,12 +33378,12 @@ "Задаёт предельное время выполнения автоочистки, при превышении которого эта " "операция протоколируется в журнале." -#: utils/misc/guc_tables.c:3035 +#: utils/misc/guc_tables.c:3044 msgid "Zero prints all actions. -1 turns autovacuum logging off." msgstr "" "При 0 протоколируются все операции автоочистки; -1 отключает эти сообщения." -#: utils/misc/guc_tables.c:3045 +#: utils/misc/guc_tables.c:3054 msgid "" "Sets the maximum length in bytes of data logged for bind parameter values " "when logging statements." @@ -33362,11 +33391,11 @@ "Задаёт максимальный размер данных (в байтах), выводимых в значениях " "привязанных параметров при протоколировании операторов." -#: utils/misc/guc_tables.c:3047 utils/misc/guc_tables.c:3059 +#: utils/misc/guc_tables.c:3056 utils/misc/guc_tables.c:3068 msgid "-1 to print values in full." msgstr "При -1 значения выводятся полностью." -#: utils/misc/guc_tables.c:3057 +#: utils/misc/guc_tables.c:3066 msgid "" "Sets the maximum length in bytes of data logged for bind parameter values " "when logging statements, on error." @@ -33374,17 +33403,17 @@ "Задаёт максимальный размер данных (в байтах), выводимых в значениях " "привязанных параметров при протоколировании операторов в случае ошибки." -#: utils/misc/guc_tables.c:3069 +#: utils/misc/guc_tables.c:3078 msgid "Background writer sleep time between rounds." msgstr "Время простоя в процессе фоновой записи между подходами." -#: utils/misc/guc_tables.c:3080 +#: utils/misc/guc_tables.c:3089 msgid "Background writer maximum number of LRU pages to flush per round." msgstr "" "Максимальное число LRU-страниц, сбрасываемых за один подход, в процессе " "фоновой записи." -#: utils/misc/guc_tables.c:3103 +#: utils/misc/guc_tables.c:3112 msgid "" "Number of simultaneous requests that can be handled efficiently by the disk " "subsystem." @@ -33392,97 +33421,97 @@ "Число одновременных запросов, которые могут быть эффективно обработаны " "дисковой подсистемой." -#: utils/misc/guc_tables.c:3117 +#: utils/misc/guc_tables.c:3126 msgid "" "A variant of \"effective_io_concurrency\" that is used for maintenance work." msgstr "" "Вариация параметра \"effective_io_concurrency\", предназначенная для " "операций обслуживания БД." -#: utils/misc/guc_tables.c:3132 +#: utils/misc/guc_tables.c:3141 msgid "Limit on the size of data reads and writes." msgstr "Предельный размер для операций чтения и записи данных." -#: utils/misc/guc_tables.c:3157 +#: utils/misc/guc_tables.c:3166 msgid "Maximum number of concurrent worker processes." msgstr "Задаёт максимально возможное число рабочих процессов." -#: utils/misc/guc_tables.c:3169 +#: utils/misc/guc_tables.c:3178 msgid "Maximum number of logical replication worker processes." msgstr "" "Задаёт максимально возможное число рабочих процессов логической репликации." -#: utils/misc/guc_tables.c:3181 +#: utils/misc/guc_tables.c:3190 msgid "Maximum number of table synchronization workers per subscription." msgstr "" "Задаёт максимально возможное число процессов синхронизации таблиц для одной " "подписки." -#: utils/misc/guc_tables.c:3193 +#: utils/misc/guc_tables.c:3202 msgid "Maximum number of parallel apply workers per subscription." msgstr "" "Задаёт максимально возможное число параллельных применяющих процессов для " "одной подписки." -#: utils/misc/guc_tables.c:3203 +#: utils/misc/guc_tables.c:3212 msgid "Sets the amount of time to wait before forcing log file rotation." msgstr "" "Задаёт время задержки перед принудительным переключением на следующий файл " "журнала." -#: utils/misc/guc_tables.c:3215 +#: utils/misc/guc_tables.c:3224 msgid "Sets the maximum size a log file can reach before being rotated." msgstr "" "Задаёт максимальный размер, которого может достичь файл журнала до " "переключения на другой файл." -#: utils/misc/guc_tables.c:3227 +#: utils/misc/guc_tables.c:3236 msgid "Shows the maximum number of function arguments." msgstr "Показывает максимально возможное число аргументов функций." -#: utils/misc/guc_tables.c:3238 +#: utils/misc/guc_tables.c:3247 msgid "Shows the maximum number of index keys." msgstr "Показывает максимально возможное число ключей в индексе." -#: utils/misc/guc_tables.c:3249 +#: utils/misc/guc_tables.c:3258 msgid "Shows the maximum identifier length." msgstr "Показывает максимально возможную длину идентификатора." -#: utils/misc/guc_tables.c:3260 +#: utils/misc/guc_tables.c:3269 msgid "Shows the size of a disk block." msgstr "Показывает размер дискового блока." -#: utils/misc/guc_tables.c:3271 +#: utils/misc/guc_tables.c:3280 msgid "Shows the number of pages per disk file." msgstr "Показывает число страниц в одном файле." -#: utils/misc/guc_tables.c:3282 +#: utils/misc/guc_tables.c:3291 msgid "Shows the block size in the write ahead log." msgstr "Показывает размер блока в журнале WAL." -#: utils/misc/guc_tables.c:3293 +#: utils/misc/guc_tables.c:3302 msgid "" "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgstr "" "Задаёт время задержки перед повторной попыткой обращения к WAL после неудачи." -#: utils/misc/guc_tables.c:3305 +#: utils/misc/guc_tables.c:3314 msgid "Shows the size of write ahead log segments." msgstr "Показывает размер сегментов журнала предзаписи." -#: utils/misc/guc_tables.c:3318 +#: utils/misc/guc_tables.c:3327 msgid "Time for which WAL summary files should be kept." msgstr "Время, в течение которого должны сохраняться файлы обобщения WAL." -#: utils/misc/guc_tables.c:3331 +#: utils/misc/guc_tables.c:3340 msgid "Time to sleep between autovacuum runs." msgstr "Время простоя между запусками автоочистки." -#: utils/misc/guc_tables.c:3341 +#: utils/misc/guc_tables.c:3350 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "Минимальное число изменений или удалений кортежей, вызывающее очистку." -#: utils/misc/guc_tables.c:3350 +#: utils/misc/guc_tables.c:3359 msgid "" "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert " "vacuums." @@ -33490,27 +33519,27 @@ "Минимальное число добавлений кортежей, вызывающее очистку; при -1 такая " "очистка отключается." -#: utils/misc/guc_tables.c:3359 +#: utils/misc/guc_tables.c:3368 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." msgstr "" "Минимальное число добавлений, изменений или удалений кортежей, вызывающее " "анализ." -#: utils/misc/guc_tables.c:3369 +#: utils/misc/guc_tables.c:3378 msgid "" "Age at which to autovacuum a table to prevent transaction ID wraparound." msgstr "" "Возраст, при котором необходима автоочистка таблицы для предотвращения " "зацикливания ID транзакций." -#: utils/misc/guc_tables.c:3381 +#: utils/misc/guc_tables.c:3390 msgid "" "Multixact age at which to autovacuum a table to prevent multixact wraparound." msgstr "" "Возраст multixact, при котором необходима автоочистка таблицы для " "предотвращения зацикливания multixact." -#: utils/misc/guc_tables.c:3391 +#: utils/misc/guc_tables.c:3400 msgid "" "Sets the maximum number of simultaneously running autovacuum worker " "processes." @@ -33518,53 +33547,53 @@ "Задаёт предельное число одновременно выполняющихся рабочих процессов " "автоочистки." -#: utils/misc/guc_tables.c:3401 +#: utils/misc/guc_tables.c:3410 msgid "" "Sets the maximum number of parallel processes per maintenance operation." msgstr "" "Задаёт максимальное число параллельных процессов на одну операцию " "обслуживания." -#: utils/misc/guc_tables.c:3411 +#: utils/misc/guc_tables.c:3420 msgid "Sets the maximum number of parallel processes per executor node." msgstr "Задаёт максимальное число параллельных процессов на узел исполнителя." -#: utils/misc/guc_tables.c:3422 +#: utils/misc/guc_tables.c:3431 msgid "" "Sets the maximum number of parallel workers that can be active at one time." msgstr "" "Задаёт максимальное число параллельных исполнителей, которые могут быть " "активны одновременно." -#: utils/misc/guc_tables.c:3433 +#: utils/misc/guc_tables.c:3442 msgid "Sets the maximum memory to be used by each autovacuum worker process." msgstr "" "Задаёт предельный объём памяти для каждого рабочего процесса автоочистки." -#: utils/misc/guc_tables.c:3444 +#: utils/misc/guc_tables.c:3453 msgid "Time between issuing TCP keepalives." msgstr "Интервал между TCP-пакетами пульса (keep-alive)." -#: utils/misc/guc_tables.c:3445 utils/misc/guc_tables.c:3456 -#: utils/misc/guc_tables.c:3580 +#: utils/misc/guc_tables.c:3454 utils/misc/guc_tables.c:3465 +#: utils/misc/guc_tables.c:3589 msgid "A value of 0 uses the system default." msgstr "При нулевом значении действует системный параметр." -#: utils/misc/guc_tables.c:3455 +#: utils/misc/guc_tables.c:3464 msgid "Time between TCP keepalive retransmits." msgstr "Интервал между повторениями TCP-пакетов пульса (keep-alive)." -#: utils/misc/guc_tables.c:3466 +#: utils/misc/guc_tables.c:3475 msgid "SSL renegotiation is no longer supported; this can only be 0." msgstr "" "Повторное согласование SSL более не поддерживается; единственное допустимое " "значение - 0." -#: utils/misc/guc_tables.c:3477 +#: utils/misc/guc_tables.c:3486 msgid "Maximum number of TCP keepalive retransmits." msgstr "Максимальное число повторений TCP-пакетов пульса (keep-alive)." -#: utils/misc/guc_tables.c:3478 +#: utils/misc/guc_tables.c:3487 msgid "" "Number of consecutive keepalive retransmits that can be lost before a " "connection is considered dead. A value of 0 uses the system default." @@ -33573,15 +33602,15 @@ "чем соединение будет считаться пропавшим. При нулевом значении действует " "системный параметр." -#: utils/misc/guc_tables.c:3489 +#: utils/misc/guc_tables.c:3498 msgid "Sets the maximum allowed result for exact search by GIN." msgstr "Ограничивает результат точного поиска с использованием GIN." -#: utils/misc/guc_tables.c:3500 +#: utils/misc/guc_tables.c:3509 msgid "Sets the planner's assumption about the total size of the data caches." msgstr "Подсказывает планировщику примерный общий размер кешей данных." -#: utils/misc/guc_tables.c:3501 +#: utils/misc/guc_tables.c:3510 msgid "" "That is, the total size of the caches (kernel cache and shared buffers) used " "for PostgreSQL data files. This is measured in disk pages, which are " @@ -33591,12 +33620,12 @@ "попадают файлы данных PostgreSQL. Размер задаётся в дисковых страницах " "(обычно это 8 КБ)." -#: utils/misc/guc_tables.c:3512 +#: utils/misc/guc_tables.c:3521 msgid "Sets the minimum amount of table data for a parallel scan." msgstr "" "Задаёт минимальный объём данных в таблице для параллельного сканирования." -#: utils/misc/guc_tables.c:3513 +#: utils/misc/guc_tables.c:3522 msgid "" "If the planner estimates that it will read a number of table pages too small " "to reach this limit, a parallel scan will not be considered." @@ -33605,12 +33634,12 @@ "задано этим ограничением, он исключает параллельное сканирование из " "рассмотрения." -#: utils/misc/guc_tables.c:3523 +#: utils/misc/guc_tables.c:3532 msgid "Sets the minimum amount of index data for a parallel scan." msgstr "" "Задаёт минимальный объём данных в индексе для параллельного сканирования." -#: utils/misc/guc_tables.c:3524 +#: utils/misc/guc_tables.c:3533 msgid "" "If the planner estimates that it will read a number of index pages too small " "to reach this limit, a parallel scan will not be considered." @@ -33619,68 +33648,68 @@ "задано этим ограничением, он исключает параллельное сканирование из " "рассмотрения." -#: utils/misc/guc_tables.c:3535 +#: utils/misc/guc_tables.c:3544 msgid "Shows the server version as an integer." msgstr "Показывает версию сервера в виде целого числа." -#: utils/misc/guc_tables.c:3546 +#: utils/misc/guc_tables.c:3555 msgid "Log the use of temporary files larger than this number of kilobytes." msgstr "" "Фиксирует в протоколе превышение временными файлами заданного размера (в КБ)." -#: utils/misc/guc_tables.c:3547 +#: utils/misc/guc_tables.c:3556 msgid "Zero logs all files. The default is -1 (turning this feature off)." msgstr "" "При 0 отмечаются все файлы; при -1 эти сообщения отключаются (по умолчанию)." -#: utils/misc/guc_tables.c:3557 +#: utils/misc/guc_tables.c:3566 msgid "Sets the size reserved for pg_stat_activity.query, in bytes." msgstr "Задаёт размер, резервируемый для pg_stat_activity.query (в байтах)." -#: utils/misc/guc_tables.c:3568 +#: utils/misc/guc_tables.c:3577 msgid "Sets the maximum size of the pending list for GIN index." msgstr "Задаёт максимальный размер списка-очереди для GIN-индекса." -#: utils/misc/guc_tables.c:3579 +#: utils/misc/guc_tables.c:3588 msgid "TCP user timeout." msgstr "Пользовательский таймаут TCP." -#: utils/misc/guc_tables.c:3590 +#: utils/misc/guc_tables.c:3599 msgid "The size of huge page that should be requested." msgstr "Запрашиваемый размер огромных страниц." -#: utils/misc/guc_tables.c:3601 +#: utils/misc/guc_tables.c:3610 msgid "Aggressively flush system caches for debugging purposes." msgstr "Включает агрессивный сброс системных кешей для целей отладки." -#: utils/misc/guc_tables.c:3624 +#: utils/misc/guc_tables.c:3633 msgid "" "Sets the time interval between checks for disconnection while running " "queries." msgstr "" "Задаёт интервал между проверками подключения во время выполнения запросов." -#: utils/misc/guc_tables.c:3635 +#: utils/misc/guc_tables.c:3644 msgid "Time between progress updates for long-running startup operations." msgstr "" "Интервал между обновлениями состояния длительных операций, выполняемых при " "запуске." -#: utils/misc/guc_tables.c:3637 +#: utils/misc/guc_tables.c:3646 msgid "0 turns this feature off." msgstr "При 0 эта функциональность отключается." -#: utils/misc/guc_tables.c:3647 +#: utils/misc/guc_tables.c:3656 msgid "Sets the iteration count for SCRAM secret generation." msgstr "Задаёт количество итераций для формирования секрета SCRAM." -#: utils/misc/guc_tables.c:3667 +#: utils/misc/guc_tables.c:3676 msgid "" "Sets the planner's estimate of the cost of a sequentially fetched disk page." msgstr "" "Задаёт для планировщика ориентир стоимости последовательного чтения страницы." -#: utils/misc/guc_tables.c:3678 +#: utils/misc/guc_tables.c:3687 msgid "" "Sets the planner's estimate of the cost of a nonsequentially fetched disk " "page." @@ -33688,13 +33717,13 @@ "Задаёт для планировщика ориентир стоимости непоследовательного чтения " "страницы." -#: utils/misc/guc_tables.c:3689 +#: utils/misc/guc_tables.c:3698 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "" "Задаёт для планировщика ориентир стоимости обработки каждого кортежа " "(строки)." -#: utils/misc/guc_tables.c:3700 +#: utils/misc/guc_tables.c:3709 msgid "" "Sets the planner's estimate of the cost of processing each index entry " "during an index scan." @@ -33702,7 +33731,7 @@ "Задаёт для планировщика ориентир стоимости обработки каждого элемента " "индекса в процессе сканирования индекса." -#: utils/misc/guc_tables.c:3711 +#: utils/misc/guc_tables.c:3720 msgid "" "Sets the planner's estimate of the cost of processing each operator or " "function call." @@ -33710,7 +33739,7 @@ "Задаёт для планировщика ориентир стоимости обработки каждого оператора или " "вызова функции." -#: utils/misc/guc_tables.c:3722 +#: utils/misc/guc_tables.c:3731 msgid "" "Sets the planner's estimate of the cost of passing each tuple (row) from " "worker to leader backend." @@ -33718,7 +33747,7 @@ "Задаёт для планировщика ориентир стоимости передачи каждого кортежа (строки) " "ведущему процессу от рабочего." -#: utils/misc/guc_tables.c:3733 +#: utils/misc/guc_tables.c:3742 msgid "" "Sets the planner's estimate of the cost of starting up worker processes for " "parallel query." @@ -33726,40 +33755,40 @@ "Задаёт для планировщика ориентир стоимости запуска рабочих процессов для " "параллельного выполнения запроса." -#: utils/misc/guc_tables.c:3745 +#: utils/misc/guc_tables.c:3754 msgid "Perform JIT compilation if query is more expensive." msgstr "Стоимость запроса, при превышении которой производится JIT-компиляция." -#: utils/misc/guc_tables.c:3746 +#: utils/misc/guc_tables.c:3755 msgid "-1 disables JIT compilation." msgstr "-1 отключает JIT-компиляцию." -#: utils/misc/guc_tables.c:3756 +#: utils/misc/guc_tables.c:3765 msgid "Optimize JIT-compiled functions if query is more expensive." msgstr "" "Стоимость запроса, при превышении которой оптимизируются JIT-" "скомпилированные функции." -#: utils/misc/guc_tables.c:3757 +#: utils/misc/guc_tables.c:3766 msgid "-1 disables optimization." msgstr "-1 отключает оптимизацию." -#: utils/misc/guc_tables.c:3767 +#: utils/misc/guc_tables.c:3776 msgid "Perform JIT inlining if query is more expensive." msgstr "Стоимость запроса, при которой выполняется встраивание JIT." -#: utils/misc/guc_tables.c:3768 +#: utils/misc/guc_tables.c:3777 msgid "-1 disables inlining." msgstr "-1 отключает встраивание кода." -#: utils/misc/guc_tables.c:3778 +#: utils/misc/guc_tables.c:3787 msgid "" "Sets the planner's estimate of the fraction of a cursor's rows that will be " "retrieved." msgstr "" "Задаёт для планировщика ориентир доли требуемых строк курсора в общем числе." -#: utils/misc/guc_tables.c:3790 +#: utils/misc/guc_tables.c:3799 msgid "" "Sets the planner's estimate of the average size of a recursive query's " "working table." @@ -33767,37 +33796,37 @@ "Задаёт для планировщика ориентир среднего размера рабочей таблицы в " "рекурсивном запросе." -#: utils/misc/guc_tables.c:3802 +#: utils/misc/guc_tables.c:3811 msgid "GEQO: selective pressure within the population." msgstr "GEQO: селективное давление в популяции." -#: utils/misc/guc_tables.c:3813 +#: utils/misc/guc_tables.c:3822 msgid "GEQO: seed for random path selection." msgstr "GEQO: отправное значение для случайного выбора пути." -#: utils/misc/guc_tables.c:3824 +#: utils/misc/guc_tables.c:3833 msgid "Multiple of \"work_mem\" to use for hash tables." msgstr "Множитель \"work_mem\", определяющий объём памяти для хеш-таблиц." -#: utils/misc/guc_tables.c:3835 +#: utils/misc/guc_tables.c:3844 msgid "Multiple of the average buffer usage to free per round." msgstr "" "Множитель для среднего числа использованных буферов, определяющий число " "буферов, освобождаемых за один подход." -#: utils/misc/guc_tables.c:3845 +#: utils/misc/guc_tables.c:3854 msgid "Sets the seed for random-number generation." msgstr "Задаёт отправное значение для генератора случайных чисел." -#: utils/misc/guc_tables.c:3856 +#: utils/misc/guc_tables.c:3865 msgid "Vacuum cost delay in milliseconds." msgstr "Задержка очистки (в миллисекундах)." -#: utils/misc/guc_tables.c:3867 +#: utils/misc/guc_tables.c:3876 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Задержка очистки для автоочистки (в миллисекундах)." -#: utils/misc/guc_tables.c:3878 +#: utils/misc/guc_tables.c:3887 msgid "" "Number of tuple updates or deletes prior to vacuum as a fraction of " "reltuples." @@ -33805,13 +33834,13 @@ "Отношение числа обновлений или удалений кортежей к reltuples, определяющее " "потребность в очистке." -#: utils/misc/guc_tables.c:3888 +#: utils/misc/guc_tables.c:3897 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." msgstr "" "Отношение числа добавлений кортежей к reltuples, определяющее потребность в " "очистке." -#: utils/misc/guc_tables.c:3898 +#: utils/misc/guc_tables.c:3907 msgid "" "Number of tuple inserts, updates, or deletes prior to analyze as a fraction " "of reltuples." @@ -33819,7 +33848,7 @@ "Отношение числа добавлений, обновлений или удалений кортежей к reltuples, " "определяющее потребность в анализе." -#: utils/misc/guc_tables.c:3908 +#: utils/misc/guc_tables.c:3917 msgid "" "Time spent flushing dirty buffers during checkpoint, as fraction of " "checkpoint interval." @@ -33827,26 +33856,26 @@ "Отношение продолжительности сброса \"грязных\" буферов во время контрольной " "точки к интервалу контрольных точек." -#: utils/misc/guc_tables.c:3918 +#: utils/misc/guc_tables.c:3927 msgid "" "Fraction of statements exceeding \"log_min_duration_sample\" to be logged." msgstr "" "Доля записываемых в журнал операторов с длительностью, превышающей " "\"log_min_duration_sample\"." -#: utils/misc/guc_tables.c:3919 +#: utils/misc/guc_tables.c:3928 msgid "Use a value between 0.0 (never log) and 1.0 (always log)." msgstr "" "Может задаваться значением от 0.0 (не записывать никакие операторы) и 1.0 " "(записывать все)." -#: utils/misc/guc_tables.c:3928 +#: utils/misc/guc_tables.c:3937 msgid "Sets the fraction of transactions from which to log all statements." msgstr "" "Задаёт долю транзакций, все операторы которых будут записываться в журнал " "сервера." -#: utils/misc/guc_tables.c:3929 +#: utils/misc/guc_tables.c:3938 msgid "" "Use a value between 0.0 (never log) and 1.0 (log all statements for all " "transactions)." @@ -33854,48 +33883,48 @@ "Значение 0.0 означает — не записывать никакие транзакции, а значение 1.0 — " "записывать все операторы всех транзакций." -#: utils/misc/guc_tables.c:3948 +#: utils/misc/guc_tables.c:3957 msgid "Sets the shell command that will be called to archive a WAL file." msgstr "Задаёт команду оболочки, вызываемую для архивации файла WAL." -#: utils/misc/guc_tables.c:3949 +#: utils/misc/guc_tables.c:3958 msgid "This is used only if \"archive_library\" is not set." msgstr "Это параметр используется, только если не задан \"archive_library\"." -#: utils/misc/guc_tables.c:3958 +#: utils/misc/guc_tables.c:3967 msgid "Sets the library that will be called to archive a WAL file." msgstr "Задаёт библиотеку, вызываемую для архивации файла WAL." -#: utils/misc/guc_tables.c:3959 +#: utils/misc/guc_tables.c:3968 msgid "An empty string indicates that \"archive_command\" should be used." msgstr "" "Пустая строка указывает, что должен использоваться параметр " "\"archive_command\"." -#: utils/misc/guc_tables.c:3968 +#: utils/misc/guc_tables.c:3977 msgid "" "Sets the shell command that will be called to retrieve an archived WAL file." msgstr "" "Задаёт команду оболочки, которая будет вызываться для извлечения из архива " "файла WAL." -#: utils/misc/guc_tables.c:3978 +#: utils/misc/guc_tables.c:3987 msgid "Sets the shell command that will be executed at every restart point." msgstr "" "Задаёт команду оболочки, которая будет выполняться при каждой точке " "перезапуска." -#: utils/misc/guc_tables.c:3988 +#: utils/misc/guc_tables.c:3997 msgid "" "Sets the shell command that will be executed once at the end of recovery." msgstr "" "Задаёт команду оболочки, которая будет выполняться в конце восстановления." -#: utils/misc/guc_tables.c:3998 +#: utils/misc/guc_tables.c:4007 msgid "Specifies the timeline to recover into." msgstr "Указывает линию времени для выполнения восстановления." -#: utils/misc/guc_tables.c:4008 +#: utils/misc/guc_tables.c:4017 msgid "" "Set to \"immediate\" to end recovery as soon as a consistent state is " "reached." @@ -33903,24 +33932,24 @@ "Задайте значение \"immediate\", чтобы восстановление остановилось сразу " "после достижения согласованного состояния." -#: utils/misc/guc_tables.c:4017 +#: utils/misc/guc_tables.c:4026 msgid "Sets the transaction ID up to which recovery will proceed." msgstr "" "Задаёт идентификатор транзакции, вплоть до которой будет производиться " "восстановление." -#: utils/misc/guc_tables.c:4026 +#: utils/misc/guc_tables.c:4035 msgid "Sets the time stamp up to which recovery will proceed." msgstr "" "Задаёт момент времени, вплоть до которого будет производиться восстановление." -#: utils/misc/guc_tables.c:4035 +#: utils/misc/guc_tables.c:4044 msgid "Sets the named restore point up to which recovery will proceed." msgstr "" "Задаёт именованную точку восстановления, до которой будет производиться " "восстановление." -#: utils/misc/guc_tables.c:4044 +#: utils/misc/guc_tables.c:4053 msgid "" "Sets the LSN of the write-ahead log location up to which recovery will " "proceed." @@ -33928,61 +33957,61 @@ "Задаёт в виде LSN позицию в журнале предзаписи, до которой будет " "производиться восстановление." -#: utils/misc/guc_tables.c:4054 +#: utils/misc/guc_tables.c:4063 msgid "Sets the connection string to be used to connect to the sending server." msgstr "" "Задаёт строку соединения, которая будет использоваться для подключения к " "передающему серверу." -#: utils/misc/guc_tables.c:4065 +#: utils/misc/guc_tables.c:4074 msgid "Sets the name of the replication slot to use on the sending server." msgstr "" "Задаёт имя слота репликации, который будет использоваться на передающем " "сервере." -#: utils/misc/guc_tables.c:4075 +#: utils/misc/guc_tables.c:4084 msgid "Sets the client's character set encoding." msgstr "Задаёт кодировку символов, используемую клиентом." -#: utils/misc/guc_tables.c:4086 +#: utils/misc/guc_tables.c:4095 msgid "Controls information prefixed to each log line." msgstr "Определяет содержимое префикса каждой строки протокола." -#: utils/misc/guc_tables.c:4087 +#: utils/misc/guc_tables.c:4096 msgid "If blank, no prefix is used." msgstr "При пустом значении префикс также отсутствует." -#: utils/misc/guc_tables.c:4096 +#: utils/misc/guc_tables.c:4105 msgid "Sets the time zone to use in log messages." msgstr "Задаёт часовой пояс для вывода времени в сообщениях протокола." -#: utils/misc/guc_tables.c:4106 +#: utils/misc/guc_tables.c:4115 msgid "Sets the display format for date and time values." msgstr "Устанавливает формат вывода дат и времени." -#: utils/misc/guc_tables.c:4107 +#: utils/misc/guc_tables.c:4116 msgid "Also controls interpretation of ambiguous date inputs." msgstr "Также помогает разбирать неоднозначно заданные вводимые даты." -#: utils/misc/guc_tables.c:4118 +#: utils/misc/guc_tables.c:4127 msgid "Sets the default table access method for new tables." msgstr "Задаёт табличный метод доступа по умолчанию для новых таблиц." -#: utils/misc/guc_tables.c:4129 +#: utils/misc/guc_tables.c:4138 msgid "Sets the default tablespace to create tables and indexes in." msgstr "" "Задаёт табличное пространство по умолчанию для новых таблиц и индексов." -#: utils/misc/guc_tables.c:4130 +#: utils/misc/guc_tables.c:4139 msgid "An empty string selects the database's default tablespace." msgstr "При пустом значении используется табличное пространство базы данных." -#: utils/misc/guc_tables.c:4140 +#: utils/misc/guc_tables.c:4149 msgid "Sets the tablespace(s) to use for temporary tables and sort files." msgstr "" "Задаёт табличное пространство(а) для временных таблиц и файлов сортировки." -#: utils/misc/guc_tables.c:4151 +#: utils/misc/guc_tables.c:4160 msgid "" "Sets whether a CREATEROLE user automatically grants the role to themselves, " "and with which options." @@ -33990,11 +34019,11 @@ "Определяет, будет ли пользователь CREATEROLE автоматически включать себя в " "создаваемую роль и с какими параметрами." -#: utils/misc/guc_tables.c:4163 +#: utils/misc/guc_tables.c:4172 msgid "Sets the path for dynamically loadable modules." msgstr "Задаёт путь для динамически загружаемых модулей." -#: utils/misc/guc_tables.c:4164 +#: utils/misc/guc_tables.c:4173 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 " @@ -34004,71 +34033,71 @@ "указан путь (нет символа '/'), система будет искать этот файл в заданном " "пути." -#: utils/misc/guc_tables.c:4177 +#: utils/misc/guc_tables.c:4186 msgid "Sets the location of the Kerberos server key file." msgstr "Задаёт размещение файла с ключом Kerberos для данного сервера." -#: utils/misc/guc_tables.c:4188 +#: utils/misc/guc_tables.c:4197 msgid "Sets the Bonjour service name." msgstr "Задаёт название службы Bonjour." -#: utils/misc/guc_tables.c:4198 +#: utils/misc/guc_tables.c:4207 msgid "Sets the language in which messages are displayed." msgstr "Задаёт язык выводимых сообщений." -#: utils/misc/guc_tables.c:4208 +#: utils/misc/guc_tables.c:4217 msgid "Sets the locale for formatting monetary amounts." msgstr "Задаёт локаль для форматирования денежных сумм." -#: utils/misc/guc_tables.c:4218 +#: utils/misc/guc_tables.c:4227 msgid "Sets the locale for formatting numbers." msgstr "Задаёт локаль для форматирования чисел." -#: utils/misc/guc_tables.c:4228 +#: utils/misc/guc_tables.c:4237 msgid "Sets the locale for formatting date and time values." msgstr "Задаёт локаль для форматирования дат и времени." -#: utils/misc/guc_tables.c:4238 +#: utils/misc/guc_tables.c:4247 msgid "Lists shared libraries to preload into each backend." msgstr "" "Список разделяемых библиотек, заранее загружаемых в каждый обслуживающий " "процесс." -#: utils/misc/guc_tables.c:4249 +#: utils/misc/guc_tables.c:4258 msgid "Lists shared libraries to preload into server." msgstr "Список разделяемых библиотек, заранее загружаемых в память сервера." -#: utils/misc/guc_tables.c:4260 +#: utils/misc/guc_tables.c:4269 msgid "Lists unprivileged shared libraries to preload into each backend." msgstr "" "Список непривилегированных разделяемых библиотек, заранее загружаемых в " "каждый обслуживающий процесс." -#: utils/misc/guc_tables.c:4271 +#: utils/misc/guc_tables.c:4280 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "Задаёт порядок просмотра схемы при поиске неполных имён." -#: utils/misc/guc_tables.c:4283 +#: utils/misc/guc_tables.c:4292 msgid "Shows the server (database) character set encoding." msgstr "Показывает кодировку символов сервера (базы данных)." -#: utils/misc/guc_tables.c:4295 +#: utils/misc/guc_tables.c:4304 msgid "Shows the server version." msgstr "Показывает версию сервера." -#: utils/misc/guc_tables.c:4307 +#: utils/misc/guc_tables.c:4316 msgid "Sets the current role." msgstr "Задаёт текущую роль." -#: utils/misc/guc_tables.c:4319 +#: utils/misc/guc_tables.c:4328 msgid "Sets the session user name." msgstr "Задаёт имя пользователя в сеансе." -#: utils/misc/guc_tables.c:4330 +#: utils/misc/guc_tables.c:4339 msgid "Sets the destination for server log output." msgstr "Определяет, куда будет выводиться протокол сервера." -#: utils/misc/guc_tables.c:4331 +#: utils/misc/guc_tables.c:4340 msgid "" "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", " "\"jsonlog\", and \"eventlog\", depending on the platform." @@ -34076,24 +34105,24 @@ "Значение может включать сочетание слов \"stderr\", \"syslog\", \"csvlog\", " "\"jsonlog\" и \"eventlog\", в зависимости от платформы." -#: utils/misc/guc_tables.c:4342 +#: utils/misc/guc_tables.c:4351 msgid "Sets the destination directory for log files." msgstr "Задаёт целевой каталог для файлов протоколов." -#: utils/misc/guc_tables.c:4343 +#: utils/misc/guc_tables.c:4352 msgid "Can be specified as relative to the data directory or as absolute path." msgstr "" "Путь может быть абсолютным или указываться относительно каталога данных." -#: utils/misc/guc_tables.c:4353 +#: utils/misc/guc_tables.c:4362 msgid "Sets the file name pattern for log files." msgstr "Задаёт шаблон имени для файлов протоколов." -#: utils/misc/guc_tables.c:4364 +#: utils/misc/guc_tables.c:4373 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "Задаёт имя программы для идентификации сообщений PostgreSQL в syslog." -#: utils/misc/guc_tables.c:4375 +#: utils/misc/guc_tables.c:4384 msgid "" "Sets the application name used to identify PostgreSQL messages in the event " "log." @@ -34101,121 +34130,121 @@ "Задаёт имя приложения для идентификации сообщений PostgreSQL в журнале " "событий." -#: utils/misc/guc_tables.c:4386 +#: utils/misc/guc_tables.c:4395 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "" "Задаёт часовой пояс для вывода и разбора строкового представления времени." -#: utils/misc/guc_tables.c:4396 +#: utils/misc/guc_tables.c:4405 msgid "Selects a file of time zone abbreviations." msgstr "Выбирает файл с сокращёнными названиями часовых поясов." -#: utils/misc/guc_tables.c:4406 +#: utils/misc/guc_tables.c:4415 msgid "Sets the owning group of the Unix-domain socket." msgstr "Задаёт группу-владельца Unix-сокета." -#: utils/misc/guc_tables.c:4407 +#: utils/misc/guc_tables.c:4416 msgid "" "The owning user of the socket is always the user that starts the server." msgstr "" "Собственно владельцем сокета всегда будет пользователь, запускающий сервер." -#: utils/misc/guc_tables.c:4417 +#: utils/misc/guc_tables.c:4426 msgid "Sets the directories where Unix-domain sockets will be created." msgstr "Задаёт каталоги, где будут создаваться Unix-сокеты." -#: utils/misc/guc_tables.c:4428 +#: utils/misc/guc_tables.c:4437 msgid "Sets the host name or IP address(es) to listen to." msgstr "Задаёт имя узла или IP-адрес(а) для привязки." -#: utils/misc/guc_tables.c:4443 +#: utils/misc/guc_tables.c:4452 msgid "Sets the server's data directory." msgstr "Определяет каталог данных сервера." -#: utils/misc/guc_tables.c:4454 +#: utils/misc/guc_tables.c:4463 msgid "Sets the server's main configuration file." msgstr "Определяет основной файл конфигурации сервера." -#: utils/misc/guc_tables.c:4465 +#: utils/misc/guc_tables.c:4474 msgid "Sets the server's \"hba\" configuration file." msgstr "Задаёт путь к файлу конфигурации \"hba\"." -#: utils/misc/guc_tables.c:4476 +#: utils/misc/guc_tables.c:4485 msgid "Sets the server's \"ident\" configuration file." msgstr "Задаёт путь к файлу конфигурации \"ident\"." -#: utils/misc/guc_tables.c:4487 +#: utils/misc/guc_tables.c:4496 msgid "Writes the postmaster PID to the specified file." msgstr "Файл, в который будет записан код процесса postmaster." -#: utils/misc/guc_tables.c:4498 +#: utils/misc/guc_tables.c:4507 msgid "Shows the name of the SSL library." msgstr "Показывает имя библиотеки SSL." -#: utils/misc/guc_tables.c:4513 +#: utils/misc/guc_tables.c:4522 msgid "Location of the SSL server certificate file." msgstr "Размещение файла сертификата сервера для SSL." -#: utils/misc/guc_tables.c:4523 +#: utils/misc/guc_tables.c:4532 msgid "Location of the SSL server private key file." msgstr "Размещение файла с закрытым ключом сервера для SSL." -#: utils/misc/guc_tables.c:4533 +#: utils/misc/guc_tables.c:4542 msgid "Location of the SSL certificate authority file." msgstr "Размещение файла центра сертификации для SSL." -#: utils/misc/guc_tables.c:4543 +#: utils/misc/guc_tables.c:4552 msgid "Location of the SSL certificate revocation list file." msgstr "Размещение файла со списком отзыва сертификатов для SSL." -#: utils/misc/guc_tables.c:4553 +#: utils/misc/guc_tables.c:4562 msgid "Location of the SSL certificate revocation list directory." msgstr "Размещение каталога со списками отзыва сертификатов для SSL." -#: utils/misc/guc_tables.c:4563 +#: utils/misc/guc_tables.c:4572 msgid "" "Number of synchronous standbys and list of names of potential synchronous " "ones." msgstr "" "Количество потенциально синхронных резервных серверов и список их имён." -#: utils/misc/guc_tables.c:4574 +#: utils/misc/guc_tables.c:4583 msgid "Sets default text search configuration." msgstr "Задаёт конфигурацию текстового поиска по умолчанию." -#: utils/misc/guc_tables.c:4584 +#: utils/misc/guc_tables.c:4593 msgid "Sets the list of allowed SSL ciphers." msgstr "Задаёт список допустимых алгоритмов шифрования для SSL." -#: utils/misc/guc_tables.c:4599 +#: utils/misc/guc_tables.c:4608 msgid "Sets the curve to use for ECDH." msgstr "Задаёт кривую для ECDH." -#: utils/misc/guc_tables.c:4614 +#: utils/misc/guc_tables.c:4623 msgid "Location of the SSL DH parameters file." msgstr "Размещение файла с параметрами SSL DH." -#: utils/misc/guc_tables.c:4625 +#: utils/misc/guc_tables.c:4634 msgid "Command to obtain passphrases for SSL." msgstr "Команда, позволяющая получить пароль для SSL." -#: utils/misc/guc_tables.c:4636 +#: utils/misc/guc_tables.c:4645 msgid "Sets the application name to be reported in statistics and logs." msgstr "" "Задаёт имя приложения, которое будет выводиться в статистике и протоколах." -#: utils/misc/guc_tables.c:4647 +#: utils/misc/guc_tables.c:4656 msgid "Sets the name of the cluster, which is included in the process title." msgstr "Задаёт имя кластера, которое будет добавляться в название процесса." -#: utils/misc/guc_tables.c:4658 +#: utils/misc/guc_tables.c:4667 msgid "" "Sets the WAL resource managers for which WAL consistency checks are done." msgstr "" "Задаёт перечень менеджеров ресурсов WAL, для которых выполняются проверки " "целостности WAL." -#: utils/misc/guc_tables.c:4659 +#: utils/misc/guc_tables.c:4668 msgid "" "Full-page images will be logged for all data blocks and cross-checked " "against the results of WAL replay." @@ -34223,19 +34252,19 @@ "При этом в журнал будут записываться образы полных страниц для всех блоков " "данных для сверки с результатами воспроизведения WAL." -#: utils/misc/guc_tables.c:4669 +#: utils/misc/guc_tables.c:4678 msgid "JIT provider to use." msgstr "Используемый провайдер JIT." -#: utils/misc/guc_tables.c:4680 +#: utils/misc/guc_tables.c:4689 msgid "Log backtrace for errors in these functions." msgstr "Записывать в журнал стек в случае ошибок в перечисленных функциях." -#: utils/misc/guc_tables.c:4691 +#: utils/misc/guc_tables.c:4700 msgid "Use direct I/O for file access." msgstr "Использовать прямой ввод/вывод для работы с файлами." -#: utils/misc/guc_tables.c:4702 +#: utils/misc/guc_tables.c:4711 msgid "" "Lists streaming replication standby server replication slot names that " "logical WAL sender processes will wait for." @@ -34243,7 +34272,7 @@ "Определяет список имён слотов потовой репликации, готовности которых будут " "ждать процессы передачи логических изменений." -#: utils/misc/guc_tables.c:4704 +#: utils/misc/guc_tables.c:4713 msgid "" "Logical WAL sender processes will send decoded changes to output plugins " "only after the specified replication slots have confirmed receiving WAL." @@ -34252,24 +34281,24 @@ "декодированные изменения модулям вывода только после того, как указанные " "слоты репликации подтвердят получение WAL." -#: utils/misc/guc_tables.c:4716 +#: utils/misc/guc_tables.c:4725 msgid "Prohibits access to non-system relations of specified kinds." msgstr "Запрещает доступ к несистемным отношениям указанных видов." -#: utils/misc/guc_tables.c:4736 +#: utils/misc/guc_tables.c:4745 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Определяет, можно ли использовать \"\\'\" в текстовых строках." -#: utils/misc/guc_tables.c:4746 +#: utils/misc/guc_tables.c:4755 msgid "Sets the output format for bytea." msgstr "Задаёт формат вывода данных типа bytea." -#: utils/misc/guc_tables.c:4756 +#: utils/misc/guc_tables.c:4765 msgid "Sets the message levels that are sent to the client." msgstr "Ограничивает уровень сообщений, передаваемых клиенту." -#: utils/misc/guc_tables.c:4757 utils/misc/guc_tables.c:4853 -#: utils/misc/guc_tables.c:4864 +#: utils/misc/guc_tables.c:4766 utils/misc/guc_tables.c:4862 +#: utils/misc/guc_tables.c:4873 msgid "" "Each level includes all the levels that follow it. The later the level, the " "fewer messages are sent." @@ -34277,16 +34306,16 @@ "Каждый уровень включает все последующие. Чем выше уровень, тем меньше " "сообщений." -#: utils/misc/guc_tables.c:4767 +#: utils/misc/guc_tables.c:4776 msgid "Enables in-core computation of query identifiers." msgstr "Включает внутреннее вычисление идентификаторов запросов." -#: utils/misc/guc_tables.c:4777 +#: utils/misc/guc_tables.c:4786 msgid "Enables the planner to use constraints to optimize queries." msgstr "" "Разрешает планировщику оптимизировать запросы, полагаясь на ограничения." -#: utils/misc/guc_tables.c:4778 +#: utils/misc/guc_tables.c:4787 msgid "" "Table scans will be skipped if their constraints guarantee that no rows " "match the query." @@ -34294,88 +34323,88 @@ "Сканирование таблицы не будет выполняться, если её ограничения гарантируют, " "что запросу не удовлетворяют никакие строки." -#: utils/misc/guc_tables.c:4789 +#: utils/misc/guc_tables.c:4798 msgid "Sets the default compression method for compressible values." msgstr "Задаёт выбираемый по умолчанию метод сжатия для сжимаемых значений." -#: utils/misc/guc_tables.c:4800 +#: utils/misc/guc_tables.c:4809 msgid "Sets the transaction isolation level of each new transaction." msgstr "Задаёт уровень изоляции транзакций для новых транзакций." -#: utils/misc/guc_tables.c:4810 +#: utils/misc/guc_tables.c:4819 msgid "Sets the current transaction's isolation level." msgstr "Задаёт текущий уровень изоляции транзакций." -#: utils/misc/guc_tables.c:4821 +#: utils/misc/guc_tables.c:4830 msgid "Sets the display format for interval values." msgstr "Задаёт формат отображения для внутренних значений." -#: utils/misc/guc_tables.c:4832 +#: utils/misc/guc_tables.c:4841 msgid "Log level for reporting invalid ICU locale strings." msgstr "Уровень протоколирования сообщений о некорректных строках локалей ICU." -#: utils/misc/guc_tables.c:4842 +#: utils/misc/guc_tables.c:4851 msgid "Sets the verbosity of logged messages." msgstr "Задаёт детализацию протоколируемых сообщений." -#: utils/misc/guc_tables.c:4852 +#: utils/misc/guc_tables.c:4861 msgid "Sets the message levels that are logged." msgstr "Ограничивает уровни протоколируемых сообщений." -#: utils/misc/guc_tables.c:4863 +#: utils/misc/guc_tables.c:4872 msgid "" "Causes all statements generating error at or above this level to be logged." msgstr "" "Включает протоколирование для SQL-операторов, выполненных с ошибкой этого " "или большего уровня." -#: utils/misc/guc_tables.c:4874 +#: utils/misc/guc_tables.c:4883 msgid "Sets the type of statements logged." msgstr "Задаёт тип протоколируемых операторов." -#: utils/misc/guc_tables.c:4884 +#: utils/misc/guc_tables.c:4893 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "Задаёт получателя сообщений, отправляемых в syslog." -#: utils/misc/guc_tables.c:4895 +#: utils/misc/guc_tables.c:4904 msgid "Sets the session's behavior for triggers and rewrite rules." msgstr "" "Задаёт режим срабатывания триггеров и правил перезаписи для текущего сеанса." -#: utils/misc/guc_tables.c:4905 +#: utils/misc/guc_tables.c:4914 msgid "Sets the current transaction's synchronization level." msgstr "Задаёт уровень синхронизации текущей транзакции." -#: utils/misc/guc_tables.c:4915 +#: utils/misc/guc_tables.c:4924 msgid "Allows archiving of WAL files using \"archive_command\"." msgstr "Разрешает архивацию файлов WAL с использованием \"archive_command\"." -#: utils/misc/guc_tables.c:4925 +#: utils/misc/guc_tables.c:4934 msgid "Sets the action to perform upon reaching the recovery target." msgstr "" "Задаёт действие, которое будет выполняться по достижении цели восстановления." -#: utils/misc/guc_tables.c:4935 +#: utils/misc/guc_tables.c:4944 msgid "Collects function-level statistics on database activity." msgstr "Включает сбор статистики активности в БД на уровне функций." -#: utils/misc/guc_tables.c:4946 +#: utils/misc/guc_tables.c:4955 msgid "Sets the consistency of accesses to statistics data." msgstr "Задаёт режим согласования доступа к данным статистики." -#: utils/misc/guc_tables.c:4956 +#: utils/misc/guc_tables.c:4965 msgid "Compresses full-page writes written in WAL file with specified method." msgstr "Сжимать данные записываемых в WAL полных страниц заданным методом." -#: utils/misc/guc_tables.c:4966 +#: utils/misc/guc_tables.c:4975 msgid "Sets the level of information written to the WAL." msgstr "Задаёт уровень информации, записываемой в WAL." -#: utils/misc/guc_tables.c:4976 +#: utils/misc/guc_tables.c:4985 msgid "Selects the dynamic shared memory implementation used." msgstr "Выбирает используемую реализацию динамической разделяемой памяти." -#: utils/misc/guc_tables.c:4986 +#: utils/misc/guc_tables.c:4995 msgid "" "Selects the shared memory implementation used for the main shared memory " "region." @@ -34383,15 +34412,19 @@ "Выбирает реализацию разделяемой памяти для управления основным блоком " "разделяемой памяти." -#: utils/misc/guc_tables.c:4996 +#: utils/misc/guc_tables.c:5005 +msgid "Selects the method used for extending data files." +msgstr "Выбирает метод для расширения файлов данных." + +#: utils/misc/guc_tables.c:5015 msgid "Selects the method used for forcing WAL updates to disk." msgstr "Выбирает метод принудительной записи изменений в WAL на диск." -#: utils/misc/guc_tables.c:5006 +#: utils/misc/guc_tables.c:5025 msgid "Sets how binary values are to be encoded in XML." msgstr "Определяет, как должны кодироваться двоичные значения в XML." -#: utils/misc/guc_tables.c:5016 +#: utils/misc/guc_tables.c:5035 msgid "" "Sets whether XML data in implicit parsing and serialization operations is to " "be considered as documents or content fragments." @@ -34399,27 +34432,27 @@ "Определяет, следует ли рассматривать XML-данные в неявных операциях разбора " "и сериализации как документы или как фрагменты содержания." -#: utils/misc/guc_tables.c:5027 +#: utils/misc/guc_tables.c:5046 msgid "Use of huge pages on Linux or Windows." msgstr "Включает использование огромных страниц в Linux и в Windows." -#: utils/misc/guc_tables.c:5037 +#: utils/misc/guc_tables.c:5056 msgid "Indicates the status of huge pages." msgstr "Показывает состояние использования огромных страниц." -#: utils/misc/guc_tables.c:5048 +#: utils/misc/guc_tables.c:5067 msgid "Prefetch referenced blocks during recovery." msgstr "Осуществлять предвыборку изменяемых блоков в процессе восстановления." -#: utils/misc/guc_tables.c:5049 +#: utils/misc/guc_tables.c:5068 msgid "Look ahead in the WAL to find references to uncached data." msgstr "Прочитывать WAL наперёд для вычисления ещё не кешированных блоков." -#: utils/misc/guc_tables.c:5058 +#: utils/misc/guc_tables.c:5077 msgid "Forces the planner's use parallel query nodes." msgstr "Принудительно включает в планировщике узлы параллельного выполнения." -#: utils/misc/guc_tables.c:5059 +#: utils/misc/guc_tables.c:5078 msgid "" "This can be useful for testing the parallel query infrastructure by forcing " "the planner to generate plans that contain nodes that perform tuple " @@ -34429,15 +34462,15 @@ "выполнения, так как планировщик будет строить планы с передачей кортежей " "между параллельными исполнителями и основным процессом." -#: utils/misc/guc_tables.c:5071 +#: utils/misc/guc_tables.c:5090 msgid "Chooses the algorithm for encrypting passwords." msgstr "Выбирает алгоритм шифрования паролей." -#: utils/misc/guc_tables.c:5081 +#: utils/misc/guc_tables.c:5100 msgid "Controls the planner's selection of custom or generic plan." msgstr "Управляет выбором специализированных или общих планов планировщиком." -#: utils/misc/guc_tables.c:5082 +#: utils/misc/guc_tables.c:5101 msgid "" "Prepared statements can have custom and generic plans, and the planner will " "attempt to choose which is better. This can be set to override the default " @@ -34447,30 +34480,30 @@ "планы, и планировщик пытается выбрать лучший вариант. Этот параметр " "позволяет переопределить поведение по умолчанию." -#: utils/misc/guc_tables.c:5094 +#: utils/misc/guc_tables.c:5113 msgid "Sets the minimum SSL/TLS protocol version to use." msgstr "" "Задаёт минимальную версию протокола SSL/TLS, которая может использоваться." -#: utils/misc/guc_tables.c:5106 +#: utils/misc/guc_tables.c:5125 msgid "Sets the maximum SSL/TLS protocol version to use." msgstr "" "Задаёт максимальную версию протокола SSL/TLS, которая может использоваться." -#: utils/misc/guc_tables.c:5118 +#: utils/misc/guc_tables.c:5137 msgid "" "Sets the method for synchronizing the data directory before crash recovery." msgstr "" "Задаёт метод синхронизации каталога данных перед восстановления после сбоя." -#: utils/misc/guc_tables.c:5127 +#: utils/misc/guc_tables.c:5146 msgid "" "Forces immediate streaming or serialization of changes in large transactions." msgstr "" "Включает непосредственную передачу или сериализацию изменений в больших " "транзакциях." -#: utils/misc/guc_tables.c:5128 +#: utils/misc/guc_tables.c:5147 msgid "" "On the publisher, it allows streaming or serializing each change in logical " "decoding. On the subscriber, it allows serialization of all changes to files " @@ -34615,12 +34648,12 @@ msgid "could not attach to dynamic shared area" msgstr "не удалось подключиться к динамической разделяемой области" -#: utils/mmgr/mcxt.c:1155 +#: utils/mmgr/mcxt.c:1158 #, c-format msgid "Failed on request of size %zu in memory context \"%s\"." msgstr "Ошибка при запросе блока размером %zu в контексте памяти \"%s\"." -#: utils/mmgr/mcxt.c:1299 +#: utils/mmgr/mcxt.c:1314 #, c-format msgid "logging memory contexts of PID %d" msgstr "вывод информации о памяти процесса с PID %d" @@ -34669,12 +34702,12 @@ msgid "could not seek to block %lld of temporary file" msgstr "не удалось переместиться к блоку %lld временного файла" -#: utils/sort/sharedtuplestore.c:466 +#: utils/sort/sharedtuplestore.c:467 #, c-format msgid "unexpected chunk in shared tuplestore temporary file" msgstr "неожиданный фрагмент в файле общего временного хранилища кортежей" -#: utils/sort/sharedtuplestore.c:548 +#: utils/sort/sharedtuplestore.c:549 #, c-format msgid "could not seek to block %u in shared tuplestore temporary file" msgstr "" @@ -35415,6 +35448,18 @@ msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." msgstr "Используйте для записи спецсимволов синтаксис спецстрок E'\\r\\n'." +#, fuzzy, c-format +#~ msgid "" +#~ "replication slot synchronization worker is shutting down on receiving " +#~ "SIGINT" +#~ msgstr "" +#~ "процесс синхронизации слотов репликации останавливается, получив сигнал " +#~ "SIGINT" + +#, fuzzy, c-format +#~ msgid "replication origin \"%s\" already exists" +#~ msgstr "источник репликации \"%s\" уже существует" + #, c-format #~ msgid "\"%s\" is not a physical replication slot" #~ msgstr "\"%s\" не является слотом физической репликации" diff -Nru postgresql-17-17.7/src/backend/po/sv.po postgresql-17-17.8/src/backend/po/sv.po --- postgresql-17-17.7/src/backend/po/sv.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/po/sv.po 2026-02-09 21:51:54.000000000 +0000 @@ -1,5 +1,6 @@ # Swedish message translation file for postgresql -# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025. +# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, +# 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025. 2026. # # Många av termerna är tekniska termer som refererar till begrepp i SQL-satser # och liknande. Om man översätter vissa av dessa så kommer det bli väldigt @@ -23,8 +24,8 @@ msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-09-18 03:02+0000\n" -"PO-Revision-Date: 2025-09-19 20:24+0200\n" +"POT-Creation-Date: 2026-02-06 23:31+0000\n" +"PO-Revision-Date: 2026-02-07 09:26+0100\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -104,15 +105,15 @@ #: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1353 access/transam/xlog.c:3459 -#: access/transam/xlog.c:4323 access/transam/xlogrecovery.c:1238 -#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373 -#: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123 +#: access/transam/twophase.c:1353 access/transam/xlog.c:3458 +#: access/transam/xlog.c:4322 access/transam/xlogrecovery.c:1248 +#: access/transam/xlogrecovery.c:1346 access/transam/xlogrecovery.c:1383 +#: access/transam/xlogrecovery.c:1450 backup/basebackup.c:2123 #: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764 #: replication/logical/origin.c:745 replication/logical/origin.c:781 #: replication/logical/reorderbuffer.c:5243 -#: replication/logical/snapbuild.c:2099 replication/slot.c:2232 -#: replication/slot.c:2273 replication/walsender.c:659 +#: replication/logical/snapbuild.c:2099 replication/slot.c:2281 +#: replication/slot.c:2322 replication/walsender.c:673 #: storage/file/buffile.c:470 storage/file/copydir.c:185 #: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829 #, c-format @@ -120,10 +121,10 @@ msgstr "kunde inte läsa fil \"%s\": %m" #: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 -#: access/transam/xlog.c:3464 access/transam/xlog.c:4328 +#: access/transam/xlog.c:3463 access/transam/xlog.c:4327 #: replication/logical/origin.c:750 replication/logical/origin.c:789 -#: replication/logical/snapbuild.c:2104 replication/slot.c:2236 -#: replication/slot.c:2277 replication/walsender.c:664 +#: replication/logical/snapbuild.c:2104 replication/slot.c:2285 +#: replication/slot.c:2326 replication/walsender.c:678 #: utils/cache/relmapper.c:833 #, c-format msgid "could not read file \"%s\": read %d of %zu" @@ -134,17 +135,17 @@ #: access/heap/rewriteheap.c:1141 access/heap/rewriteheap.c:1246 #: access/transam/timeline.c:392 access/transam/timeline.c:438 #: access/transam/timeline.c:512 access/transam/twophase.c:1365 -#: access/transam/twophase.c:1784 access/transam/xlog.c:3305 -#: access/transam/xlog.c:3499 access/transam/xlog.c:3504 -#: access/transam/xlog.c:3640 access/transam/xlog.c:4293 -#: access/transam/xlog.c:5228 commands/copyfrom.c:1799 commands/copyto.c:325 +#: access/transam/twophase.c:1784 access/transam/xlog.c:3304 +#: access/transam/xlog.c:3498 access/transam/xlog.c:3503 +#: access/transam/xlog.c:3639 access/transam/xlog.c:4292 +#: access/transam/xlog.c:5227 commands/copyfrom.c:1799 commands/copyto.c:325 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540 #: replication/logical/origin.c:683 replication/logical/origin.c:822 #: replication/logical/reorderbuffer.c:5295 #: replication/logical/snapbuild.c:1866 replication/logical/snapbuild.c:1990 -#: replication/slot.c:2122 replication/slot.c:2284 replication/walsender.c:674 -#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:825 -#: storage/file/fd.c:3750 storage/file/fd.c:3856 utils/cache/relmapper.c:841 +#: replication/slot.c:2169 replication/slot.c:2333 replication/walsender.c:688 +#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828 +#: storage/file/fd.c:3753 storage/file/fd.c:3859 utils/cache/relmapper.c:841 #: utils/cache/relmapper.c:956 #, c-format msgid "could not close file \"%s\": %m" @@ -172,10 +173,10 @@ #: ../common/file_utils.c:406 ../common/file_utils.c:480 #: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111 #: access/transam/timeline.c:251 access/transam/timeline.c:348 -#: access/transam/twophase.c:1309 access/transam/xlog.c:3212 -#: access/transam/xlog.c:3375 access/transam/xlog.c:3414 -#: access/transam/xlog.c:3607 access/transam/xlog.c:4313 -#: access/transam/xlogrecovery.c:4264 access/transam/xlogrecovery.c:4367 +#: access/transam/twophase.c:1309 access/transam/xlog.c:3211 +#: access/transam/xlog.c:3374 access/transam/xlog.c:3413 +#: access/transam/xlog.c:3606 access/transam/xlog.c:4312 +#: access/transam/xlogrecovery.c:4285 access/transam/xlogrecovery.c:4388 #: access/transam/xlogutils.c:836 backup/basebackup.c:547 #: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624 #: postmaster/syslogger.c:1511 replication/logical/origin.c:735 @@ -183,10 +184,10 @@ #: replication/logical/reorderbuffer.c:4450 #: replication/logical/reorderbuffer.c:5223 #: replication/logical/snapbuild.c:1821 replication/logical/snapbuild.c:1931 -#: replication/slot.c:2204 replication/walsender.c:632 -#: replication/walsender.c:3085 storage/file/copydir.c:151 -#: storage/file/fd.c:800 storage/file/fd.c:3507 storage/file/fd.c:3737 -#: storage/file/fd.c:3827 storage/smgr/md.c:661 utils/cache/relmapper.c:818 +#: replication/slot.c:2253 replication/walsender.c:646 +#: replication/walsender.c:3099 storage/file/copydir.c:151 +#: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740 +#: storage/file/fd.c:3830 storage/smgr/md.c:672 utils/cache/relmapper.c:818 #: utils/cache/relmapper.c:935 utils/error/elog.c:2124 #: utils/init/miscinit.c:1581 utils/init/miscinit.c:1715 #: utils/init/miscinit.c:1792 utils/misc/guc.c:4782 utils/misc/guc.c:4832 @@ -196,9 +197,9 @@ #: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249 #: access/transam/twophase.c:1757 access/transam/twophase.c:1766 -#: access/transam/xlog.c:9322 access/transam/xlogfuncs.c:698 +#: access/transam/xlog.c:9346 access/transam/xlogfuncs.c:698 #: backup/basebackup_server.c:173 backup/basebackup_server.c:266 -#: backup/walsummary.c:304 postmaster/postmaster.c:4127 +#: backup/walsummary.c:304 postmaster/postmaster.c:4129 #: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535 #: postmaster/syslogger.c:1548 utils/cache/relmapper.c:947 #, c-format @@ -210,12 +211,12 @@ #: access/heap/rewriteheap.c:925 access/heap/rewriteheap.c:1135 #: access/heap/rewriteheap.c:1240 access/transam/timeline.c:432 #: access/transam/timeline.c:506 access/transam/twophase.c:1778 -#: access/transam/xlog.c:3298 access/transam/xlog.c:3493 -#: access/transam/xlog.c:4286 access/transam/xlog.c:8697 -#: access/transam/xlog.c:8742 backup/basebackup_server.c:207 +#: access/transam/xlog.c:3297 access/transam/xlog.c:3492 +#: access/transam/xlog.c:4285 access/transam/xlog.c:8721 +#: access/transam/xlog.c:8766 backup/basebackup_server.c:207 #: commands/dbcommands.c:514 replication/logical/snapbuild.c:1859 -#: replication/slot.c:2108 replication/slot.c:2214 storage/file/fd.c:817 -#: storage/file/fd.c:3848 storage/smgr/md.c:1331 storage/smgr/md.c:1376 +#: replication/slot.c:2153 replication/slot.c:2263 storage/file/fd.c:820 +#: storage/file/fd.c:3851 storage/smgr/md.c:1345 storage/smgr/md.c:1390 #: storage/sync/sync.c:446 utils/misc/guc.c:4530 #, c-format msgid "could not fsync file \"%s\": %m" @@ -232,25 +233,25 @@ #: access/transam/xlogrecovery.c:564 lib/dshash.c:253 libpq/auth.c:1360 #: libpq/auth.c:1404 libpq/auth.c:1961 libpq/be-secure-gssapi.c:534 #: libpq/be-secure-gssapi.c:714 postmaster/bgworker.c:355 -#: postmaster/bgworker.c:945 postmaster/postmaster.c:3560 -#: postmaster/postmaster.c:4021 postmaster/postmaster.c:4383 +#: postmaster/bgworker.c:945 postmaster/postmaster.c:3562 +#: postmaster/postmaster.c:4023 postmaster/postmaster.c:4385 #: postmaster/walsummarizer.c:935 -#: replication/libpqwalreceiver/libpqwalreceiver.c:387 -#: replication/logical/logical.c:212 replication/walsender.c:839 -#: storage/buffer/localbuf.c:606 storage/file/fd.c:909 storage/file/fd.c:1440 -#: storage/file/fd.c:1601 storage/file/fd.c:2528 storage/ipc/procarray.c:1465 +#: replication/libpqwalreceiver/libpqwalreceiver.c:400 +#: replication/logical/logical.c:212 replication/walsender.c:853 +#: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443 +#: storage/file/fd.c:1604 storage/file/fd.c:2531 storage/ipc/procarray.c:1465 #: storage/ipc/procarray.c:2219 storage/ipc/procarray.c:2226 #: storage/ipc/procarray.c:2731 storage/ipc/procarray.c:3435 #: utils/activity/pgstat_shmem.c:508 utils/adt/formatting.c:1725 #: utils/adt/formatting.c:1873 utils/adt/formatting.c:2075 -#: utils/adt/pg_locale.c:532 utils/adt/pg_locale.c:696 utils/fmgr/dfmgr.c:229 +#: utils/adt/pg_locale.c:533 utils/adt/pg_locale.c:697 utils/fmgr/dfmgr.c:229 #: utils/hash/dynahash.c:517 utils/hash/dynahash.c:617 -#: utils/hash/dynahash.c:1100 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429 -#: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:649 +#: utils/hash/dynahash.c:1100 utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 +#: utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 utils/misc/guc.c:649 #: utils/misc/guc.c:674 utils/misc/guc.c:1062 utils/misc/guc.c:4508 #: utils/misc/tzparser.c:477 utils/mmgr/aset.c:451 utils/mmgr/bump.c:183 #: utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729 utils/mmgr/dsa.c:810 -#: utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1154 utils/mmgr/slab.c:370 +#: utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1157 utils/mmgr/slab.c:370 #, c-format msgid "out of memory" msgstr "slut på minne" @@ -317,8 +318,8 @@ #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75 #: ../common/fe_memutils.c:98 ../common/fe_memutils.c:161 #: ../common/psprintf.c:145 ../port/path.c:830 ../port/path.c:867 -#: ../port/path.c:884 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201 -#: utils/misc/ps_status.c:228 utils/misc/ps_status.c:236 +#: ../port/path.c:884 utils/misc/ps_status.c:195 utils/misc/ps_status.c:203 +#: utils/misc/ps_status.c:230 utils/misc/ps_status.c:238 #, c-format msgid "out of memory\n" msgstr "slut på minne\n" @@ -328,7 +329,7 @@ msgid "cannot duplicate null pointer (internal error)\n" msgstr "kan inte duplicera null-pekare (internt fel)\n" -#: ../common/file_utils.c:76 storage/file/fd.c:3513 +#: ../common/file_utils.c:76 storage/file/fd.c:3516 #, c-format msgid "could not synchronize file system for file \"%s\": %m" msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" @@ -337,11 +338,11 @@ #: ../common/file_utils.c:570 access/transam/twophase.c:1321 #: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:235 #: backup/basebackup.c:355 backup/basebackup.c:553 backup/basebackup.c:624 -#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1749 -#: commands/copyto.c:700 commands/extension.c:3527 commands/tablespace.c:804 +#: backup/walsummary.c:247 commands/copyfrom.c:1749 commands/copyto.c:700 +#: commands/extension.c:3527 commands/tablespace.c:804 #: commands/tablespace.c:893 postmaster/pgarch.c:680 #: replication/logical/snapbuild.c:1717 replication/logical/snapbuild.c:2220 -#: storage/file/fd.c:1965 storage/file/fd.c:2051 storage/file/fd.c:3561 +#: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564 #: utils/adt/dbsize.c:105 utils/adt/dbsize.c:257 utils/adt/dbsize.c:337 #: utils/adt/genfile.c:437 utils/adt/genfile.c:612 utils/adt/misc.c:340 #, c-format @@ -355,23 +356,23 @@ #: ../common/file_utils.c:151 ../common/file_utils.c:281 #: ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:728 -#: commands/tablespace.c:738 postmaster/postmaster.c:1470 -#: storage/file/fd.c:2930 storage/file/reinit.c:126 utils/adt/misc.c:256 +#: commands/tablespace.c:738 postmaster/postmaster.c:1472 +#: storage/file/fd.c:2933 storage/file/reinit.c:126 utils/adt/misc.c:256 #: utils/misc/tzparser.c:339 #, c-format msgid "could not open directory \"%s\": %m" msgstr "kunde inte öppna katalog \"%s\": %m" #: ../common/file_utils.c:169 ../common/file_utils.c:315 -#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2942 +#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2945 #, c-format msgid "could not read directory \"%s\": %m" msgstr "kunde inte läsa katalog \"%s\": %m" #: ../common/file_utils.c:498 access/transam/xlogarchive.c:389 #: postmaster/pgarch.c:834 postmaster/syslogger.c:1559 -#: replication/logical/snapbuild.c:1878 replication/slot.c:936 -#: replication/slot.c:1994 replication/slot.c:2136 storage/file/fd.c:835 +#: replication/logical/snapbuild.c:1878 replication/slot.c:965 +#: replication/slot.c:2036 replication/slot.c:2185 storage/file/fd.c:838 #: utils/time/snapmgr.c:1255 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" @@ -724,12 +725,12 @@ #: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 #: access/transam/twophase.c:1717 access/transam/xlogarchive.c:119 -#: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1048 -#: postmaster/syslogger.c:1488 replication/logical/origin.c:591 -#: replication/logical/reorderbuffer.c:4719 +#: access/transam/xlogarchive.c:399 backup/walsummary.c:254 +#: postmaster/postmaster.c:1050 postmaster/syslogger.c:1488 +#: replication/logical/origin.c:591 replication/logical/reorderbuffer.c:4719 #: replication/logical/snapbuild.c:1759 replication/logical/snapbuild.c:2193 -#: replication/slot.c:2188 storage/file/fd.c:875 storage/file/fd.c:3375 -#: storage/file/fd.c:3437 storage/file/reinit.c:261 storage/ipc/dsm.c:343 +#: replication/slot.c:2237 storage/file/fd.c:878 storage/file/fd.c:3378 +#: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343 #: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243 #: utils/time/snapmgr.c:1591 #, c-format @@ -737,8 +738,8 @@ msgstr "kunde inte ta bort fil \"%s\": %m" #: ../common/rmtree.c:124 commands/tablespace.c:767 commands/tablespace.c:780 -#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3367 -#: storage/file/fd.c:3776 +#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3370 +#: storage/file/fd.c:3779 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "kunde inte ta bort katalog \"%s\": %m" @@ -845,25 +846,25 @@ msgid "could not get junction for \"%s\": %s\n" msgstr "kunde inte hämta knutpunkt (junction) för \"%s\": %s\n" -#: ../port/open.c:115 +#: ../port/open.c:125 #, c-format msgid "could not open file \"%s\": %s" msgstr "kunde inte öppna fil \"%s\": %s" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "lock violation" msgstr "lås-överträdelse" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "sharing violation" msgstr "sharing-överträdelse" -#: ../port/open.c:117 +#: ../port/open.c:127 #, c-format msgid "Continuing to retry for 30 seconds." msgstr "Fortsätter att försöka i 30 sekunder." -#: ../port/open.c:118 +#: ../port/open.c:128 #, c-format msgid "You might have antivirus, backup, or similar software interfering with the database system." msgstr "Du kan ha antivirus, backup eller liknande mjukvara som stör databassystemet" @@ -1301,7 +1302,7 @@ #: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:673 #: catalog/heap.c:679 commands/createas.c:201 commands/createas.c:508 -#: commands/indexcmds.c:2021 commands/tablecmds.c:18242 commands/view.c:81 +#: commands/indexcmds.c:2021 commands/tablecmds.c:18252 commands/view.c:81 #: regex/regc_pg_locale.c:245 utils/adt/formatting.c:1653 #: utils/adt/formatting.c:1801 utils/adt/formatting.c:1991 utils/adt/like.c:189 #: utils/adt/like_support.c:1024 utils/adt/varchar.c:738 @@ -1356,38 +1357,38 @@ msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)" msgstr "operatorfamilj \"%s\" för accessmetod %s saknar mellan-typ-operator(er)" -#: access/heap/heapam.c:2241 +#: access/heap/heapam.c:2244 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "kan inte lägga till tupler i en parellell arbetare" -#: access/heap/heapam.c:2764 +#: access/heap/heapam.c:2767 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "kan inte radera tupler under en parallell operation" -#: access/heap/heapam.c:2811 +#: access/heap/heapam.c:2814 #, c-format msgid "attempted to delete invisible tuple" msgstr "försökte ta bort en osynlig tuple" -#: access/heap/heapam.c:3261 access/heap/heapam.c:6542 access/index/genam.c:818 +#: access/heap/heapam.c:3264 access/heap/heapam.c:6632 access/index/genam.c:818 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "kan inte uppdatera tupler under en parallell operation" -#: access/heap/heapam.c:3438 +#: access/heap/heapam.c:3441 #, c-format msgid "attempted to update invisible tuple" msgstr "försökte uppdatera en osynlig tuple" -#: access/heap/heapam.c:4949 access/heap/heapam.c:4987 -#: access/heap/heapam.c:5252 access/heap/heapam_handler.c:468 +#: access/heap/heapam.c:4954 access/heap/heapam.c:4992 +#: access/heap/heapam.c:5259 access/heap/heapam_handler.c:468 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "kunde inte låsa rad i relationen \"%s\"" -#: access/heap/heapam.c:6355 commands/trigger.c:3427 +#: access/heap/heapam.c:6386 commands/trigger.c:3427 #: executor/nodeModifyTable.c:2399 executor/nodeModifyTable.c:2490 #, c-format msgid "tuple to be updated was already modified by an operation triggered by the current command" @@ -1410,13 +1411,13 @@ #: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 #: access/transam/timeline.c:329 access/transam/timeline.c:481 -#: access/transam/xlog.c:3237 access/transam/xlog.c:3428 -#: access/transam/xlog.c:4265 access/transam/xlog.c:9311 +#: access/transam/xlog.c:3236 access/transam/xlog.c:3427 +#: access/transam/xlog.c:4264 access/transam/xlog.c:9335 #: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149 #: backup/basebackup_server.c:242 commands/dbcommands.c:494 -#: postmaster/launch_backend.c:340 postmaster/postmaster.c:4114 +#: postmaster/launch_backend.c:340 postmaster/postmaster.c:4116 #: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603 -#: replication/slot.c:2055 storage/file/copydir.c:157 storage/smgr/md.c:230 +#: replication/slot.c:2097 storage/file/copydir.c:157 storage/smgr/md.c:230 #: utils/time/snapmgr.c:1234 #, c-format msgid "could not create file \"%s\": %m" @@ -1429,12 +1430,12 @@ #: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 #: access/transam/timeline.c:424 access/transam/timeline.c:498 -#: access/transam/xlog.c:3287 access/transam/xlog.c:3484 -#: access/transam/xlog.c:4277 commands/dbcommands.c:506 +#: access/transam/xlog.c:3286 access/transam/xlog.c:3483 +#: access/transam/xlog.c:4276 commands/dbcommands.c:506 #: postmaster/launch_backend.c:351 postmaster/launch_backend.c:363 #: replication/logical/origin.c:615 replication/logical/origin.c:657 #: replication/logical/origin.c:676 replication/logical/snapbuild.c:1835 -#: replication/slot.c:2090 storage/file/buffile.c:545 +#: replication/slot.c:2133 storage/file/buffile.c:545 #: storage/file/copydir.c:197 utils/init/miscinit.c:1656 #: utils/init/miscinit.c:1667 utils/init/miscinit.c:1675 utils/misc/guc.c:4491 #: utils/misc/guc.c:4522 utils/misc/guc.c:5680 utils/misc/guc.c:5698 @@ -1613,47 +1614,47 @@ msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel" msgstr "stänger av parallell-flaggan för vacuumn på \"%s\" --- kan inte köra vacuum på temporära tabeller parallellt" -#: access/heap/vacuumlazy.c:3116 +#: access/heap/vacuumlazy.c:3118 #, c-format msgid "while scanning block %u offset %u of relation \"%s.%s\"" msgstr "vid skanning av block %u offset %u i relation \"%s.%s\"" -#: access/heap/vacuumlazy.c:3119 +#: access/heap/vacuumlazy.c:3121 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "vid skanning av block %u i relation \"%s.%s\"" -#: access/heap/vacuumlazy.c:3123 +#: access/heap/vacuumlazy.c:3125 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "vid skanning av relation \"%s.%s\"" -#: access/heap/vacuumlazy.c:3131 +#: access/heap/vacuumlazy.c:3133 #, c-format msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" msgstr "vid vacuum av block %u offset %u i relation \"%s.%s\"" -#: access/heap/vacuumlazy.c:3134 +#: access/heap/vacuumlazy.c:3136 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "vid vacuum av block %u i relation \"%s.%s\"" -#: access/heap/vacuumlazy.c:3138 +#: access/heap/vacuumlazy.c:3140 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "vid vacuum av relation \"%s.%s\"" -#: access/heap/vacuumlazy.c:3143 commands/vacuumparallel.c:1112 +#: access/heap/vacuumlazy.c:3145 commands/vacuumparallel.c:1112 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "vid vaccum av index \"%s\" i relation \"%s.%s\"" -#: access/heap/vacuumlazy.c:3148 commands/vacuumparallel.c:1118 +#: access/heap/vacuumlazy.c:3150 commands/vacuumparallel.c:1118 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "vid uppstädning av index \"%s\" i relation \"%s.%s\"" -#: access/heap/vacuumlazy.c:3154 +#: access/heap/vacuumlazy.c:3156 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "vid trunkering av relation \"%s.%s\" till %u block" @@ -1680,7 +1681,7 @@ #: access/index/indexam.c:203 catalog/objectaddress.c:1356 #: commands/indexcmds.c:2885 commands/tablecmds.c:281 commands/tablecmds.c:305 -#: commands/tablecmds.c:17937 commands/tablecmds.c:19834 +#: commands/tablecmds.c:17937 commands/tablecmds.c:19848 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" är inte ett index" @@ -1726,17 +1727,17 @@ msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it." msgstr "Detta kan ha orsakats av en avbruten VACUUM i version 9.3 eller äldre, innan uppdatering. Vänligen REINDEX:era det." -#: access/nbtree/nbtutils.c:5114 +#: access/nbtree/nbtutils.c:5113 #, c-format msgid "index row size %zu exceeds btree version %u maximum %zu for index \"%s\"" msgstr "indexradstorlek %zu överstiger btree version %u maximum %zu för index \"%s\"" -#: access/nbtree/nbtutils.c:5120 +#: access/nbtree/nbtutils.c:5119 #, c-format msgid "Index row references tuple (%u,%u) in relation \"%s\"." msgstr "Indexrad refererar tupel (%u,%u) i relation \"%s\"." -#: access/nbtree/nbtutils.c:5124 +#: access/nbtree/nbtutils.c:5123 #, c-format msgid "" "Values larger than 1/3 of a buffer page cannot be indexed.\n" @@ -1787,7 +1788,7 @@ msgid "\"%s\" cannot be empty." msgstr "\"%s\" får inte vara tom." -#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4859 +#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4891 #, c-format msgid "\"%s\" is too long (maximum %d characters)." msgstr "\"%s\" är för lång (maximalt %d tecken)." @@ -1827,13 +1828,13 @@ msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Se till att konfigurationsparametern \"%s\" är satt." -#: access/transam/multixact.c:1091 +#: access/transam/multixact.c:1173 #, c-format msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database \"%s\"" msgstr "databasen tar inte emot kommandon som tilldelar nya MultiXactId:er för att förhinda dataförlust vid \"wraparound\" i databasen \"%s\"" -#: access/transam/multixact.c:1093 access/transam/multixact.c:1100 -#: access/transam/multixact.c:1124 access/transam/multixact.c:1133 +#: access/transam/multixact.c:1175 access/transam/multixact.c:1182 +#: access/transam/multixact.c:1206 access/transam/multixact.c:1215 #: access/transam/varsup.c:158 access/transam/varsup.c:165 #, c-format msgid "" @@ -1843,65 +1844,70 @@ "Utför en databas-VACUUM i hela den databasen.\n" "Du kan också behöva commit:a eller rulla tillbaka gamla förberedda transaktioner eller slänga gamla replikeringsslottar." -#: access/transam/multixact.c:1098 +#: access/transam/multixact.c:1180 #, c-format msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database with OID %u" msgstr "databasen tar inte emot kommandon som tilldelar nya MultiXactId:er för att förhinda dataförlust vid \"wraparound\" i databasen med OID %u" -#: access/transam/multixact.c:1119 access/transam/multixact.c:2474 +#: access/transam/multixact.c:1201 access/transam/multixact.c:2546 #, 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] "databasen \"%s\" måste städas innan ytterligare %u MultiXactId används" msgstr[1] "databasen \"%s\" måste städas innan ytterligare %u MultiXactId:er används" -#: access/transam/multixact.c:1128 access/transam/multixact.c:2483 +#: access/transam/multixact.c:1210 access/transam/multixact.c:2555 #, 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] "databas med OID %u måste städas (vacuum) innan %u till MultiXactId används" msgstr[1] "databas med OID %u måste städas (vacuum) innan %u till MultiXactId:er används" -#: access/transam/multixact.c:1189 +#: access/transam/multixact.c:1274 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "multixact \"members\"-gräns överskriden" -#: access/transam/multixact.c:1190 +#: access/transam/multixact.c:1275 #, 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] "Detta kommando skapar en multixact med %u medlemmar, men återstående utrymmer räcker bara till %u medlem." msgstr[1] "Detta kommando skapar en multixact med %u medlemmar, men återstående utrymmer räcker bara till %u medlemmar." -#: access/transam/multixact.c:1195 +#: access/transam/multixact.c:1280 #, 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 "Kör en databas-VACUUM i hela databasen med OID %u med reducerade inställningar för \"vacuum_multixact_freeze_min_age\" och \"vacuum_multixact_freeze_table_age\"." -#: access/transam/multixact.c:1226 +#: access/transam/multixact.c:1311 #, c-format msgid "database with OID %u must be vacuumed before %d more multixact member is used" msgid_plural "database with OID %u must be vacuumed before %d more multixact members are used" msgstr[0] "databas med OID %u måste städas innan %d mer multixact-medlem används" msgstr[1] "databas med OID %u måste städas innan %d fler multixact-medlemmar används" -#: access/transam/multixact.c:1231 +#: access/transam/multixact.c:1316 #, 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 "Kör en databas-VACUUM i hela den databasen med reducerade inställningar för \"vacuum_multixact_freeze_min_age\" och \"vacuum_multixact_freeze_table_age\"." -#: access/transam/multixact.c:1371 +#: access/transam/multixact.c:1455 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "MultiXactId %u finns inte längre -- troligen en wraparound" -#: access/transam/multixact.c:1377 +#: access/transam/multixact.c:1461 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %u har inte skapats än -- troligen en wraparound" -#: access/transam/multixact.c:2479 access/transam/multixact.c:2488 +#: access/transam/multixact.c:1554 +#, c-format +msgid "MultiXact %u has invalid next offset" +msgstr "MultiXact %u har ett ogiltigt offset till nästa" + +#: access/transam/multixact.c:2551 access/transam/multixact.c:2560 #, c-format msgid "" "To avoid MultiXactId assignment failures, execute a database-wide VACUUM in that database.\n" @@ -1910,61 +1916,66 @@ "För att undvika fel vid tilldelning av MultiXactId så utför en databas-VACCUM för hela den databasen.\n" "Du kan också behöva commit:a eller rulla tillbaka gamla förberedda transaktioner eller slänga gamla replikeringsslottar." -#: access/transam/multixact.c:2767 +#: access/transam/multixact.c:2839 #, c-format msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk" msgstr "MultiXact-medlems wraparound-skydd är avslagen eftersom äldsta checkpoint:ade MultiXact %u inte finns på disk" -#: access/transam/multixact.c:2789 +#: access/transam/multixact.c:2861 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "MultiXact-medlems wraparound-skydd är nu påslagen" -#: access/transam/multixact.c:3180 +#: access/transam/multixact.c:3252 #, c-format msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" msgstr "äldsta MultiXact %u hittas inte, tidigast MultiXact %u, skippar trunkering" -#: access/transam/multixact.c:3198 +#: access/transam/multixact.c:3270 #, c-format msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation" msgstr "kan inte trunkera upp till %u eftersom den inte finns på disk, skippar trunkering" -#: access/transam/multixact.c:3517 +#: access/transam/multixact.c:3287 +#, c-format +msgid "cannot truncate up to MultiXact %u because it has invalid offset, skipping truncation" +msgstr "kan inte trunkera upp till MultiXact %u eftersom den har ogitlig offset, skippar trunkering" + +#: access/transam/multixact.c:3632 #, c-format msgid "invalid MultiXactId: %u" msgstr "ogiltig MultiXactId: %u" -#: access/transam/parallel.c:748 access/transam/parallel.c:867 +#: access/transam/parallel.c:755 access/transam/parallel.c:874 #, c-format msgid "parallel worker failed to initialize" msgstr "parallell arbetare misslyckades med initiering" -#: access/transam/parallel.c:749 access/transam/parallel.c:868 +#: access/transam/parallel.c:756 access/transam/parallel.c:875 #, c-format msgid "More details may be available in the server log." msgstr "Fler detaljer kan finnas i serverloggen." -#: access/transam/parallel.c:929 +#: access/transam/parallel.c:936 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "postmaster avslutade under en parallell transaktion" -#: access/transam/parallel.c:1116 +#: access/transam/parallel.c:1123 #, c-format msgid "lost connection to parallel worker" msgstr "tappad kopplingen till parallell arbetare" -#: access/transam/parallel.c:1172 access/transam/parallel.c:1174 +#: access/transam/parallel.c:1179 access/transam/parallel.c:1181 msgid "parallel worker" msgstr "parallell arbetare" -#: access/transam/parallel.c:1344 replication/logical/applyparallelworker.c:890 +#: access/transam/parallel.c:1351 replication/logical/applyparallelworker.c:897 #, c-format msgid "could not map dynamic shared memory segment" msgstr "kunde inte skapa dynamiskt delat minnessegment: %m" -#: access/transam/parallel.c:1349 replication/logical/applyparallelworker.c:896 +#: access/transam/parallel.c:1356 replication/logical/applyparallelworker.c:903 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "ogiltigt magiskt nummer i dynamiskt delat minnessegment" @@ -2227,7 +2238,7 @@ #: access/transam/twophase.c:1419 access/transam/xlogrecovery.c:565 #: postmaster/walsummarizer.c:936 replication/logical/logical.c:213 -#: replication/walsender.c:840 +#: replication/walsender.c:854 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "Misslyckades vid allokering av en WAL-läs-processor." @@ -2304,7 +2315,7 @@ msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk." msgstr "Statefil för tvåfas har hittats i WAL-post %X/%X men denna transaktion har redan återställts från disk." -#: access/transam/twophase.c:2524 storage/file/fd.c:511 utils/fmgr/dfmgr.c:209 +#: access/transam/twophase.c:2524 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209 #, c-format msgid "could not access file \"%s\": %m" msgstr "kunde inte komma åt filen \"%s\": %m" @@ -2368,559 +2379,559 @@ msgid "cannot have more than 2^32-2 commands in a transaction" msgstr "kan inte ha mer än 2^32-2 kommandon i en transaktion" -#: access/transam/xact.c:1664 +#: access/transam/xact.c:1674 #, c-format msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "maximalt antal commit:ade undertransaktioner (%d) överskridet" -#: access/transam/xact.c:2561 +#: access/transam/xact.c:2571 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary objects" msgstr "kan inte göra PREPARE på en transaktion som har arbetat med temporära objekt" -#: access/transam/xact.c:2571 +#: access/transam/xact.c:2581 #, c-format msgid "cannot PREPARE a transaction that has exported snapshots" msgstr "kan inte göra PREPARE på en transaktion som har exporterade snapshots" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3593 +#: access/transam/xact.c:3603 #, c-format msgid "%s cannot run inside a transaction block" msgstr "%s kan inte köras i ett transaktionsblock" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3603 +#: access/transam/xact.c:3613 #, c-format msgid "%s cannot run inside a subtransaction" msgstr "%s kan inte köras i en undertransaktion" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3613 +#: access/transam/xact.c:3623 #, c-format msgid "%s cannot be executed within a pipeline" msgstr "%s kan inte köras inuti en pipeline" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3623 +#: access/transam/xact.c:3633 #, c-format msgid "%s cannot be executed from a function" msgstr "%s kan inte köras från en funktion" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3694 access/transam/xact.c:4019 -#: access/transam/xact.c:4098 access/transam/xact.c:4221 -#: access/transam/xact.c:4372 access/transam/xact.c:4441 -#: access/transam/xact.c:4552 +#: access/transam/xact.c:3704 access/transam/xact.c:4029 +#: access/transam/xact.c:4108 access/transam/xact.c:4231 +#: access/transam/xact.c:4382 access/transam/xact.c:4451 +#: access/transam/xact.c:4562 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%s kan bara användas i transaktionsblock" -#: access/transam/xact.c:3905 +#: access/transam/xact.c:3915 #, c-format msgid "there is already a transaction in progress" msgstr "det är redan en transaktion igång" -#: access/transam/xact.c:4024 access/transam/xact.c:4103 -#: access/transam/xact.c:4226 +#: access/transam/xact.c:4034 access/transam/xact.c:4113 +#: access/transam/xact.c:4236 #, c-format msgid "there is no transaction in progress" msgstr "ingen transaktion pågår" -#: access/transam/xact.c:4114 +#: access/transam/xact.c:4124 #, c-format msgid "cannot commit during a parallel operation" msgstr "kan inte commit:a under en parallell operation" -#: access/transam/xact.c:4237 +#: access/transam/xact.c:4247 #, c-format msgid "cannot abort during a parallel operation" msgstr "can inte avbryta under en parallell operation" -#: access/transam/xact.c:4336 +#: access/transam/xact.c:4346 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "kan inte definiera sparpunkter under en parallell operation" -#: access/transam/xact.c:4423 +#: access/transam/xact.c:4433 #, c-format msgid "cannot release savepoints during a parallel operation" msgstr "kan inte frigöra en sparpunkt under en parallell operation" -#: access/transam/xact.c:4433 access/transam/xact.c:4484 -#: access/transam/xact.c:4544 access/transam/xact.c:4593 +#: access/transam/xact.c:4443 access/transam/xact.c:4494 +#: access/transam/xact.c:4554 access/transam/xact.c:4603 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "sparpunkt \"%s\" existerar inte" -#: access/transam/xact.c:4490 access/transam/xact.c:4599 +#: access/transam/xact.c:4500 access/transam/xact.c:4609 #, c-format msgid "savepoint \"%s\" does not exist within current savepoint level" msgstr "sparpunkt \"%s\" finns inte inom aktuell sparpunktsnivå" -#: access/transam/xact.c:4532 +#: access/transam/xact.c:4542 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "kan inte rulla tillbaka till sparpunkt under en parallell operation" -#: access/transam/xact.c:5376 +#: access/transam/xact.c:5386 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "kan inte ha mer än 2^32-1 undertransaktioner i en transaktion" -#: access/transam/xlog.c:1543 +#: access/transam/xlog.c:1542 #, c-format msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X" msgstr "förfrågan att flush:a efter slutet av genererad WAL; efterfrågad %X/%X, aktuell position %X/%X" -#: access/transam/xlog.c:1770 +#: access/transam/xlog.c:1769 #, c-format msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X" msgstr "kan inte läsa efter slutet av genererad WAL; efterfrågad %X/%X, aktuell position %X/%X" -#: access/transam/xlog.c:2211 access/transam/xlog.c:4483 +#: access/transam/xlog.c:2210 access/transam/xlog.c:4482 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "WAL-segmentstorleken måste vara en tvåpotens mellan 1 MB och 1 GB." -#: access/transam/xlog.c:2459 +#: access/transam/xlog.c:2458 #, c-format msgid "could not write to log file \"%s\" at offset %u, length %zu: %m" msgstr "kunde inte skriva till loggfil \"%s\" vid offset %u, längd %zu: %m" -#: access/transam/xlog.c:3721 access/transam/xlogutils.c:831 -#: replication/walsender.c:3079 +#: access/transam/xlog.c:3720 access/transam/xlogutils.c:831 +#: replication/walsender.c:3093 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "efterfrågat WAL-segment %s har redan tagits bort" -#: access/transam/xlog.c:4043 +#: access/transam/xlog.c:4042 #, c-format msgid "could not rename file \"%s\": %m" msgstr "kunde inte byta namn på fil \"%s\": %m" -#: access/transam/xlog.c:4086 access/transam/xlog.c:4097 -#: access/transam/xlog.c:4118 +#: access/transam/xlog.c:4085 access/transam/xlog.c:4096 +#: access/transam/xlog.c:4117 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "krävd WAL-katalog \"%s\" finns inte" -#: access/transam/xlog.c:4103 access/transam/xlog.c:4124 +#: access/transam/xlog.c:4102 access/transam/xlog.c:4123 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "skapar saknad WAL-katalog \"%s\"" -#: access/transam/xlog.c:4107 access/transam/xlog.c:4127 +#: access/transam/xlog.c:4106 access/transam/xlog.c:4126 #: commands/dbcommands.c:3262 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "kunde inte skapa saknad katalog \"%s\": %m" -#: access/transam/xlog.c:4194 +#: access/transam/xlog.c:4193 #, c-format msgid "could not generate secret authorization token" msgstr "kunde inte generera hemligt auktorisationstoken" -#: access/transam/xlog.c:4345 access/transam/xlog.c:4355 -#: access/transam/xlog.c:4381 access/transam/xlog.c:4389 -#: access/transam/xlog.c:4397 access/transam/xlog.c:4403 -#: access/transam/xlog.c:4411 access/transam/xlog.c:4419 -#: access/transam/xlog.c:4427 access/transam/xlog.c:4435 -#: access/transam/xlog.c:4443 access/transam/xlog.c:4451 -#: access/transam/xlog.c:4461 access/transam/xlog.c:4469 +#: access/transam/xlog.c:4344 access/transam/xlog.c:4354 +#: access/transam/xlog.c:4380 access/transam/xlog.c:4388 +#: access/transam/xlog.c:4396 access/transam/xlog.c:4402 +#: access/transam/xlog.c:4410 access/transam/xlog.c:4418 +#: access/transam/xlog.c:4426 access/transam/xlog.c:4434 +#: access/transam/xlog.c:4442 access/transam/xlog.c:4450 +#: access/transam/xlog.c:4460 access/transam/xlog.c:4468 #: utils/init/miscinit.c:1813 #, c-format msgid "database files are incompatible with server" msgstr "databasfilerna är inkompatibla med servern" -#: access/transam/xlog.c:4346 +#: access/transam/xlog.c:4345 #, 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 "Databasklustret initierades med PG_CONTROL_VERSION %d (0x%08x), men servern kompilerades med PG_CONTROL_VERSION %d (0x%08x)." -#: access/transam/xlog.c:4350 +#: access/transam/xlog.c:4349 #, c-format msgid "This could be a problem of mismatched byte ordering. It looks like you need to initdb." msgstr "Detta kan orsakas av en felaktig byte-ordning. Du behöver troligen köra initdb." -#: access/transam/xlog.c:4356 +#: access/transam/xlog.c:4355 #, c-format msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d." msgstr "Databasklustret initierades med PG_CONTROL_VERSION %d, men servern kompilerades med PG_CONTROL_VERSION %d." -#: access/transam/xlog.c:4359 access/transam/xlog.c:4385 -#: access/transam/xlog.c:4393 access/transam/xlog.c:4399 +#: access/transam/xlog.c:4358 access/transam/xlog.c:4384 +#: access/transam/xlog.c:4392 access/transam/xlog.c:4398 #, c-format msgid "It looks like you need to initdb." msgstr "Du behöver troligen köra initdb." -#: access/transam/xlog.c:4371 +#: access/transam/xlog.c:4370 #, c-format msgid "incorrect checksum in control file" msgstr "ogiltig kontrollsumma kontrollfil" -#: access/transam/xlog.c:4382 +#: access/transam/xlog.c:4381 #, c-format msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d." msgstr "Databasklustret initierades med CATALOG_VERSION_NO %d, men servern kompilerades med CATALOG_VERSION_NO %d." -#: access/transam/xlog.c:4390 +#: access/transam/xlog.c:4389 #, c-format msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d." msgstr "Databasklustret initierades med MAXALIGN %d, men servern kompilerades med MAXALIGN %d." -#: access/transam/xlog.c:4398 +#: access/transam/xlog.c:4397 #, c-format msgid "The database cluster appears to use a different floating-point number format than the server executable." msgstr "Databasklustret verkar använda en annan flyttalsrepresentation än vad serverprogrammet gör." -#: access/transam/xlog.c:4404 +#: access/transam/xlog.c:4403 #, c-format msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d." msgstr "Databasklustret initierades med BLCKSZ %d, men servern kompilerades med BLCKSZ %d." -#: access/transam/xlog.c:4407 access/transam/xlog.c:4415 -#: access/transam/xlog.c:4423 access/transam/xlog.c:4431 -#: access/transam/xlog.c:4439 access/transam/xlog.c:4447 -#: access/transam/xlog.c:4455 access/transam/xlog.c:4464 -#: access/transam/xlog.c:4472 +#: access/transam/xlog.c:4406 access/transam/xlog.c:4414 +#: access/transam/xlog.c:4422 access/transam/xlog.c:4430 +#: access/transam/xlog.c:4438 access/transam/xlog.c:4446 +#: access/transam/xlog.c:4454 access/transam/xlog.c:4463 +#: access/transam/xlog.c:4471 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "Det verkar som om du måste kompilera om eller köra initdb." -#: access/transam/xlog.c:4412 +#: access/transam/xlog.c:4411 #, c-format msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d." msgstr "Databasklustret initierades med RELSEG_SIZE %d, men servern kompilerades med RELSEG_SIZE %d." -#: access/transam/xlog.c:4420 +#: access/transam/xlog.c:4419 #, c-format msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d." msgstr "Databasklustret initierades med XLOG_BLCKSZ %d, men servern kompilerades med XLOG_BLCKSZ %d." -#: access/transam/xlog.c:4428 +#: access/transam/xlog.c:4427 #, c-format msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d." msgstr "Databasklustret initierades med NAMEDATALEN %d, men servern kompilerades med NAMEDATALEN %d." -#: access/transam/xlog.c:4436 +#: access/transam/xlog.c:4435 #, c-format msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d." msgstr "Databasklustret initierades med INDEX_MAX_KEYS %d, men servern kompilerades med INDEX_MAX_KEYS %d." -#: access/transam/xlog.c:4444 +#: access/transam/xlog.c:4443 #, 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 "Databasklustret initierades med TOAST_MAX_CHUNK_SIZE %d, men servern kompilerades med TOAST_MAX_CHUNK_SIZE %d." -#: access/transam/xlog.c:4452 +#: access/transam/xlog.c:4451 #, c-format msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d." msgstr "Databasklustret initierades med LOBLKSIZE %d, men servern kompilerades med LOBLKSIZE %d." -#: access/transam/xlog.c:4462 +#: access/transam/xlog.c:4461 #, c-format msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL." msgstr "Databasklustret initierades utan USE_FLOAT8_BYVAL, men servern kompilerades med USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4470 +#: access/transam/xlog.c:4469 #, c-format msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL." msgstr "Databasklustret initierades med USE_FLOAT8_BYVAL, men servern kompilerades utan USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4479 +#: access/transam/xlog.c:4478 #, c-format msgid "invalid WAL segment size in control file (%d byte)" msgid_plural "invalid WAL segment size in control file (%d bytes)" msgstr[0] "ogiltigt WAL-segmentstorlek i kontrollfil (%d byte)" msgstr[1] "ogiltigt WAL-segmentstorlek i kontrollfil (%d byte)" -#: access/transam/xlog.c:4492 +#: access/transam/xlog.c:4491 #, c-format msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "\"min_wal_size\" måste vara minst dubbla \"wal_segment_size\"" -#: access/transam/xlog.c:4496 +#: access/transam/xlog.c:4495 #, c-format msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "\"max_wal_size\" måste vara minst dubbla \"wal_segment_size\"" -#: access/transam/xlog.c:4644 catalog/namespace.c:4696 +#: access/transam/xlog.c:4643 catalog/namespace.c:4699 #: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 -#: replication/slot.c:2442 tcop/postgres.c:3715 utils/error/elog.c:2247 +#: replication/slot.c:2487 tcop/postgres.c:3715 utils/error/elog.c:2247 #, c-format msgid "List syntax is invalid." msgstr "List-syntaxen är ogiltig." -#: access/transam/xlog.c:4690 commands/user.c:2545 commands/variable.c:173 +#: access/transam/xlog.c:4689 commands/user.c:2545 commands/variable.c:173 #: tcop/postgres.c:3731 utils/error/elog.c:2273 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Okänt nyckelord: \"%s\"" -#: access/transam/xlog.c:5111 +#: access/transam/xlog.c:5110 #, c-format msgid "could not write bootstrap write-ahead log file: %m" msgstr "kunde inte skriva bootstrap-write-ahead-loggfil: %m" -#: access/transam/xlog.c:5119 +#: access/transam/xlog.c:5118 #, c-format msgid "could not fsync bootstrap write-ahead log file: %m" msgstr "kunde inte fsync:a bootstrap-write-ahead-loggfil: %m" -#: access/transam/xlog.c:5125 +#: access/transam/xlog.c:5124 #, c-format msgid "could not close bootstrap write-ahead log file: %m" msgstr "kunde inte stänga bootstrap-write-ahead-loggfil: %m" -#: access/transam/xlog.c:5350 +#: access/transam/xlog.c:5349 #, c-format msgid "WAL was generated with \"wal_level=minimal\", cannot continue recovering" msgstr "WAL genererades med \"wal_level=minimal\", kan inte fortsätta återställande" -#: access/transam/xlog.c:5351 +#: access/transam/xlog.c:5350 #, c-format msgid "This happens if you temporarily set \"wal_level=minimal\" on the server." msgstr "Detta händer om du temporärt sätter \"wal_level=minimal\" på servern." -#: access/transam/xlog.c:5352 +#: access/transam/xlog.c:5351 #, c-format msgid "Use a backup taken after setting \"wal_level\" to higher than \"minimal\"." msgstr "Använd en backup som är tagen efter att inställningen \"wal_level\" satts till ett högre värde än \"minimal\"." -#: access/transam/xlog.c:5417 +#: access/transam/xlog.c:5416 #, c-format msgid "control file contains invalid checkpoint location" msgstr "kontrollfil innehåller ogiltig checkpoint-position" -#: access/transam/xlog.c:5428 +#: access/transam/xlog.c:5427 #, c-format msgid "database system was shut down at %s" msgstr "databassystemet stängdes ner vid %s" -#: access/transam/xlog.c:5434 +#: access/transam/xlog.c:5433 #, c-format msgid "database system was shut down in recovery at %s" msgstr "databassystemet stängdes ner under återställning vid %s" -#: access/transam/xlog.c:5440 +#: access/transam/xlog.c:5439 #, c-format msgid "database system shutdown was interrupted; last known up at %s" msgstr "nedstängning av databasen avbröts; senast kända upptidpunkt vid %s" -#: access/transam/xlog.c:5446 +#: access/transam/xlog.c:5445 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "databassystemet avbröts under återställning vid %s" -#: access/transam/xlog.c:5448 +#: access/transam/xlog.c:5447 #, c-format msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery." msgstr "Det betyder troligen att en del data är förstörd och du behöver återställa databasen från den senaste backup:en." -#: access/transam/xlog.c:5454 +#: access/transam/xlog.c:5453 #, c-format msgid "database system was interrupted while in recovery at log time %s" msgstr "databassystemet avbröts under återställning vid loggtid %s" -#: access/transam/xlog.c:5456 +#: access/transam/xlog.c:5455 #, 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 "Om detta har hänt mer än en gång så kan data vara korrupt och du kanske måste återställa till ett tidigare återställningsmål." -#: access/transam/xlog.c:5462 +#: access/transam/xlog.c:5461 #, c-format msgid "database system was interrupted; last known up at %s" msgstr "databassystemet avbröts; senast kända upptidpunkt vid %s" -#: access/transam/xlog.c:5469 +#: access/transam/xlog.c:5468 #, c-format msgid "control file contains invalid database cluster state" msgstr "kontrollfil innehåller ogiltigt databasklustertillstånd" -#: access/transam/xlog.c:5857 +#: access/transam/xlog.c:5856 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL slutar före sluttiden av online-backup:en" -#: access/transam/xlog.c:5858 +#: access/transam/xlog.c:5857 #, c-format msgid "All WAL generated while online backup was taken must be available at recovery." msgstr "Alla genererade WAL under tiden online-backup:en togs måste vara tillgängliga vid återställning." -#: access/transam/xlog.c:5862 +#: access/transam/xlog.c:5861 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL avslutas innan konstistent återställningspunkt" -#: access/transam/xlog.c:5908 +#: access/transam/xlog.c:5907 #, c-format msgid "selected new timeline ID: %u" msgstr "valt nytt tidslinje-ID: %u" -#: access/transam/xlog.c:5941 +#: access/transam/xlog.c:5940 #, c-format msgid "archive recovery complete" msgstr "arkivåterställning klar" -#: access/transam/xlog.c:6594 +#: access/transam/xlog.c:6593 #, c-format msgid "shutting down" msgstr "stänger ner" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6633 +#: access/transam/xlog.c:6632 #, c-format msgid "restartpoint starting:%s%s%s%s%s%s%s%s" msgstr "restartpoint startar:%s%s%s%s%s%s%s%s" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6645 +#: access/transam/xlog.c:6644 #, c-format msgid "checkpoint starting:%s%s%s%s%s%s%s%s" msgstr "checkpoint startar:%s%s%s%s%s%s%s%s" -#: access/transam/xlog.c:6710 +#: access/transam/xlog.c:6709 #, c-format msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X" msgstr "restartpoint klar: skrev %d buffers (%.1f%%); %d WAL-fil(er) tillagda, %d borttagna, %d recyclade; skriv=%ld.%03d s, synk=%ld.%03d s, totalt=%ld.%03d s; synk-filer=%d, längsta=%ld.%03d s, genomsnitt=%ld.%03d s; distans=%d kB, estimat=%d kB; lsn=%X/%X, redo-lsn=%X/%X" -#: access/transam/xlog.c:6733 +#: access/transam/xlog.c:6732 #, c-format msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X" msgstr "checkpoint klar: skrev %d buffers (%.1f%%); %d WAL-fil(er) tillagda, %d borttagna, %d recyclade; skriv=%ld.%03d s, synk=%ld.%03d s, totalt=%ld.%03d s; synk-filer=%d, längsta=%ld.%03d s, genomsnitt=%ld.%03d s; distans=%d kB, estimat=%d kB; lsn=%X/%X, redo-lsn=%X/%X" -#: access/transam/xlog.c:7225 +#: access/transam/xlog.c:7234 #, c-format msgid "concurrent write-ahead log activity while database system is shutting down" msgstr "samtidig write-ahead-logg-aktivitet när databassystemet stängs ner" -#: access/transam/xlog.c:7840 +#: access/transam/xlog.c:7864 #, c-format msgid "recovery restart point at %X/%X" msgstr "återställningens omstartspunkt vid %X/%X" -#: access/transam/xlog.c:7842 +#: access/transam/xlog.c:7866 #, c-format msgid "Last completed transaction was at log time %s." msgstr "Senaste kompletta transaktionen var vid loggtid %s" -#: access/transam/xlog.c:8108 +#: access/transam/xlog.c:8132 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "återställningspunkt \"%s\" skapad vid %X/%X" -#: access/transam/xlog.c:8315 +#: access/transam/xlog.c:8339 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "online-backup avbröts, återställning kan inte fortsätta" -#: access/transam/xlog.c:8373 +#: access/transam/xlog.c:8397 #, c-format msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" msgstr "oväntad tidslinje-ID %u (skall vara %u) i checkpoint-post för nedstängning" -#: access/transam/xlog.c:8439 +#: access/transam/xlog.c:8463 #, c-format msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" msgstr "oväntad tidslinje-ID %u (skall vara %u) i checkpoint-post för online" -#: access/transam/xlog.c:8476 +#: access/transam/xlog.c:8500 #, c-format msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" msgstr "oväntad tidslinje-ID %u (skall vara %u) i post för slutet av återställning" -#: access/transam/xlog.c:8747 +#: access/transam/xlog.c:8771 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "kunde inte fsync:a skriv-igenom-loggfil \"%s\": %m" -#: access/transam/xlog.c:8752 +#: access/transam/xlog.c:8776 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "kunde inte fdatasync:a fil \"%s\": %m" -#: access/transam/xlog.c:8839 access/transam/xlog.c:9175 +#: access/transam/xlog.c:8863 access/transam/xlog.c:9199 #, c-format msgid "WAL level not sufficient for making an online backup" msgstr "WAL-nivå inte tillräcklig för att kunna skapa en online-backup" -#: access/transam/xlog.c:8840 access/transam/xlogfuncs.c:248 +#: access/transam/xlog.c:8864 access/transam/xlogfuncs.c:248 #, c-format msgid "\"wal_level\" must be set to \"replica\" or \"logical\" at server start." msgstr "\"wal_level\" måste vara satt till \"replica\" eller \"logical\" vid serverstart." -#: access/transam/xlog.c:8845 +#: access/transam/xlog.c:8869 #, c-format msgid "backup label too long (max %d bytes)" msgstr "backup-etikett för lång (max %d byte)" -#: access/transam/xlog.c:8966 +#: access/transam/xlog.c:8990 #, c-format msgid "WAL generated with \"full_page_writes=off\" was replayed since last restartpoint" msgstr "WAL skapad med \"full_page_writes=off\" har återspelats sedan senaste omstartpunkten" -#: access/transam/xlog.c:8968 access/transam/xlog.c:9264 +#: access/transam/xlog.c:8992 access/transam/xlog.c:9288 #, 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 primary, and then try an online backup again." msgstr "Det betyder att backup:en som tas på standby:en är trasig och inte skall användas. Slå på \"full_page_writes\" och kör CHECKPOINT på primären och försök sedan ta en ny online-backup igen." -#: access/transam/xlog.c:9048 backup/basebackup.c:1417 utils/adt/misc.c:354 +#: access/transam/xlog.c:9072 backup/basebackup.c:1417 utils/adt/misc.c:354 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "kan inte läsa symbolisk länk \"%s\": %m" -#: access/transam/xlog.c:9055 backup/basebackup.c:1422 utils/adt/misc.c:359 +#: access/transam/xlog.c:9079 backup/basebackup.c:1422 utils/adt/misc.c:359 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "mål för symbolisk länk \"%s\" är för lång" -#: access/transam/xlog.c:9176 +#: access/transam/xlog.c:9200 #, c-format msgid "wal_level must be set to \"replica\" or \"logical\" at server start." msgstr "wal_level måste vara satt till \"replica\" eller \"logical\" vid serverstart." -#: access/transam/xlog.c:9214 backup/basebackup.c:1281 +#: access/transam/xlog.c:9238 backup/basebackup.c:1281 #, c-format msgid "the standby was promoted during online backup" msgstr "standby:en befordrades under online-backup" -#: access/transam/xlog.c:9215 backup/basebackup.c:1282 +#: access/transam/xlog.c:9239 backup/basebackup.c:1282 #, c-format msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup." msgstr "Det betyder att backupen som tas är trasig och inte skall användas. Försök ta en ny online-backup." -#: access/transam/xlog.c:9262 +#: access/transam/xlog.c:9286 #, c-format msgid "WAL generated with \"full_page_writes=off\" was replayed during online backup" msgstr "WAL skapad med \"full_page_writes=off\" återspelades under online-backup" -#: access/transam/xlog.c:9378 +#: access/transam/xlog.c:9402 #, c-format msgid "base backup done, waiting for required WAL segments to be archived" msgstr "base_backup klar, väntar på att de WAL-segment som krävs blir arkiverade" -#: access/transam/xlog.c:9392 +#: access/transam/xlog.c:9416 #, c-format msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)" msgstr "väntar fortfarande på att alla krävda WAL-segments skall bli arkiverade (%d sekunder har gått)" -#: access/transam/xlog.c:9394 +#: access/transam/xlog.c:9418 #, c-format msgid "Check that your \"archive_command\" is executing properly. You can safely cancel this backup, but the database backup will not be usable without all the WAL segments." msgstr "Kontrollera att ditt \"archive_command\" kör som det skall. Du kan avbryta denna backup på ett säkert sätt men databasbackup:en kommer inte vara användbar utan att alla WAL-segment finns." -#: access/transam/xlog.c:9401 +#: access/transam/xlog.c:9425 #, c-format msgid "all required WAL segments have been archived" msgstr "alla krävda WAL-segments har arkiverats" -#: access/transam/xlog.c:9405 +#: access/transam/xlog.c:9429 #, 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 "WAL-arkivering är inte påslagen; du måste se till att alla krävda WAL-segment har kopierats på annat sätt för att backup:en skall vara komplett" -#: access/transam/xlog.c:9444 +#: access/transam/xlog.c:9468 #, c-format msgid "aborting backup due to backend exiting before pg_backup_stop was called" msgstr "avbryter backup på grund av att backend:en stoppades innan pg_backup_stop anropades" @@ -3279,422 +3290,443 @@ msgid "could not locate a valid checkpoint record at %X/%X" msgstr "kunde inte hitta en giltig checkpoint-post vid %X/%X" -#: access/transam/xlogrecovery.c:806 +#: access/transam/xlogrecovery.c:807 +#, c-format +msgid "could not find redo location %X/%08X referenced by checkpoint record at %X/%08X" +msgstr "kunde inte hitta redo-position %X/%08X refererad av checkpoint-post vid %X/%08X" + +#: access/transam/xlogrecovery.c:816 #, c-format msgid "entering standby mode" msgstr "går in i standby-läge" -#: access/transam/xlogrecovery.c:809 +#: access/transam/xlogrecovery.c:819 #, c-format msgid "starting point-in-time recovery to XID %u" msgstr "startar point-in-time-återställning till XID %u" -#: access/transam/xlogrecovery.c:813 +#: access/transam/xlogrecovery.c:823 #, c-format msgid "starting point-in-time recovery to %s" msgstr "startar point-in-time-återställning till %s" -#: access/transam/xlogrecovery.c:817 +#: access/transam/xlogrecovery.c:827 #, c-format msgid "starting point-in-time recovery to \"%s\"" msgstr "startar point-in-time-återställning till \"%s\"" -#: access/transam/xlogrecovery.c:821 +#: access/transam/xlogrecovery.c:831 #, c-format msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" msgstr "startar point-in-time-återställning till WAL-position (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:825 +#: access/transam/xlogrecovery.c:835 #, c-format msgid "starting point-in-time recovery to earliest consistent point" msgstr "startar point-in-time-återställning till tidigast konsistenta punkt" -#: access/transam/xlogrecovery.c:828 +#: access/transam/xlogrecovery.c:838 #, c-format msgid "starting archive recovery" msgstr "Startar arkivåterställning" -#: access/transam/xlogrecovery.c:849 +#: access/transam/xlogrecovery.c:859 #, c-format msgid "requested timeline %u is not a child of this server's history" msgstr "efterfrågad tidslinje %u är inte ett barn till denna servers historik" -#: access/transam/xlogrecovery.c:851 +#: access/transam/xlogrecovery.c:861 #, 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 "Senaste checkpoint är vid %X/%X på tidslinje %u, men i historiken för efterfrågad tidslinje så avvek servern från den tidslinjen vid %X/%X." -#: access/transam/xlogrecovery.c:865 +#: access/transam/xlogrecovery.c:875 #, c-format msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u" msgstr "efterfågan tidslinje %u innehåller inte minimal återställningspunkt %X/%X på tidslinje %u" -#: access/transam/xlogrecovery.c:893 +#: access/transam/xlogrecovery.c:903 #, c-format msgid "invalid next transaction ID" msgstr "nästa transaktions-ID ogiltig" -#: access/transam/xlogrecovery.c:898 +#: access/transam/xlogrecovery.c:908 #, c-format msgid "invalid redo in checkpoint record" msgstr "ogiltig redo i checkpoint-post" -#: access/transam/xlogrecovery.c:909 +#: access/transam/xlogrecovery.c:919 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "ogiltig redo-post i nedstängnings-checkpoint" -#: access/transam/xlogrecovery.c:938 +#: access/transam/xlogrecovery.c:948 #, c-format msgid "database system was not properly shut down; automatic recovery in progress" msgstr "databassystemet stängdes inte ned korrekt; automatisk återställning pågår" -#: access/transam/xlogrecovery.c:942 +#: access/transam/xlogrecovery.c:952 #, c-format msgid "crash recovery starts in timeline %u and has target timeline %u" msgstr "krashåterställning startar i tidslinje %u och har måltidslinje %u" -#: access/transam/xlogrecovery.c:985 +#: access/transam/xlogrecovery.c:995 #, c-format msgid "backup_label contains data inconsistent with control file" msgstr "backup_label innehåller data som inte stämmer med kontrollfil" -#: access/transam/xlogrecovery.c:986 +#: access/transam/xlogrecovery.c:996 #, c-format msgid "This means that the backup is corrupted and you will have to use another backup for recovery." msgstr "Det betyder att backup:en är trasig och du behöver använda en annan backup för att återställa." -#: access/transam/xlogrecovery.c:1040 +#: access/transam/xlogrecovery.c:1050 #, c-format msgid "using recovery command file \"%s\" is not supported" msgstr "använda återställningskommandofil \"%s\" stöds inte" -#: access/transam/xlogrecovery.c:1105 +#: access/transam/xlogrecovery.c:1115 #, c-format msgid "standby mode is not supported by single-user servers" msgstr "standby-läge stöd inte av enanvändarservrar" -#: access/transam/xlogrecovery.c:1122 +#: access/transam/xlogrecovery.c:1132 #, c-format msgid "specified neither \"primary_conninfo\" nor \"restore_command\"" msgstr "angav varken \"primary_conninfo\" eller \"restore_command\"" -#: access/transam/xlogrecovery.c:1123 +#: access/transam/xlogrecovery.c:1133 #, c-format msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there." msgstr "Databasservern kommer med jämna mellanrum att poll:a pg_wal-underkatalogen för att se om filer placerats där." -#: access/transam/xlogrecovery.c:1131 +#: access/transam/xlogrecovery.c:1141 #, c-format msgid "must specify \"restore_command\" when standby mode is not enabled" msgstr "måste ange \"restore_command\" när standby-läge inte är påslaget" -#: access/transam/xlogrecovery.c:1169 +#: access/transam/xlogrecovery.c:1179 #, c-format msgid "recovery target timeline %u does not exist" msgstr "återställningsmåltidslinje %u finns inte" -#: access/transam/xlogrecovery.c:1252 access/transam/xlogrecovery.c:1259 -#: access/transam/xlogrecovery.c:1318 access/transam/xlogrecovery.c:1406 -#: access/transam/xlogrecovery.c:1415 access/transam/xlogrecovery.c:1435 +#: access/transam/xlogrecovery.c:1262 access/transam/xlogrecovery.c:1269 +#: access/transam/xlogrecovery.c:1328 access/transam/xlogrecovery.c:1416 +#: access/transam/xlogrecovery.c:1425 access/transam/xlogrecovery.c:1445 #, c-format msgid "invalid data in file \"%s\"" msgstr "felaktig data i fil \"%s\"" -#: access/transam/xlogrecovery.c:1319 +#: access/transam/xlogrecovery.c:1329 #, c-format msgid "Timeline ID parsed is %u, but expected %u." msgstr "Parsad tidslinje-ID är %u men förväntade sig %u." -#: access/transam/xlogrecovery.c:1330 +#: access/transam/xlogrecovery.c:1340 #, c-format msgid "this is an incremental backup, not a data directory" msgstr "detta är en inkrementell backup, inte en datakatalog" -#: access/transam/xlogrecovery.c:1331 +#: access/transam/xlogrecovery.c:1341 #, c-format msgid "Use pg_combinebackup to reconstruct a valid data directory." msgstr "Använd pg_combinebackup för att återskapa en giltig datakatalog." -#: access/transam/xlogrecovery.c:1717 +#: access/transam/xlogrecovery.c:1727 #, c-format msgid "unexpected record type found at redo point %X/%X" msgstr "oväntad typ på post hittad vid redo-punkt %X/%X" -#: access/transam/xlogrecovery.c:1740 +#: access/transam/xlogrecovery.c:1750 #, c-format msgid "redo starts at %X/%X" msgstr "redo startar vid %X/%X" -#: access/transam/xlogrecovery.c:1753 +#: access/transam/xlogrecovery.c:1763 #, c-format msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X" msgstr "redo pågår, förbrukad tid: %ld.%02d s, nuvarande LSN: %X/%X" -#: access/transam/xlogrecovery.c:1843 +#: access/transam/xlogrecovery.c:1853 #, c-format msgid "requested recovery stop point is before consistent recovery point" msgstr "efterfrågad återställningsstoppunkt är före en konsistent återställningspunkt" -#: access/transam/xlogrecovery.c:1875 +#: access/transam/xlogrecovery.c:1885 #, c-format msgid "redo done at %X/%X system usage: %s" msgstr "redo gjord vid %X/%X systemanvändning: %s" -#: access/transam/xlogrecovery.c:1881 +#: access/transam/xlogrecovery.c:1891 #, c-format msgid "last completed transaction was at log time %s" msgstr "senaste kompletta transaktionen var vid loggtid %s" -#: access/transam/xlogrecovery.c:1890 +#: access/transam/xlogrecovery.c:1900 #, c-format msgid "redo is not required" msgstr "redo behövs inte" -#: access/transam/xlogrecovery.c:1901 +#: access/transam/xlogrecovery.c:1911 #, c-format msgid "recovery ended before configured recovery target was reached" msgstr "återställning avslutades innan det konfigurerade återställningsmålet nåddes" -#: access/transam/xlogrecovery.c:2095 +#: access/transam/xlogrecovery.c:2105 #, c-format msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" msgstr "lyckades hoppa över saknad contrecord vid %X/%X, överskriven vid %s" -#: access/transam/xlogrecovery.c:2162 +#: access/transam/xlogrecovery.c:2172 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "Oväntat katalogpost \"%s\" hittades i %s" -#: access/transam/xlogrecovery.c:2164 +#: access/transam/xlogrecovery.c:2174 #, c-format msgid "All directory entries in pg_tblspc/ should be symbolic links." msgstr "Alla katalogposter i pg_tblspc/ skall vara symboliska länkar" -#: access/transam/xlogrecovery.c:2165 +#: access/transam/xlogrecovery.c:2175 #, c-format msgid "Remove those directories, or set \"allow_in_place_tablespaces\" to ON transiently to let recovery complete." msgstr "Ta bort dessa kataloger eller sätt \"allow_in_place_tablespaces\" temporärt till ON och låt återställningen gå klart." -#: access/transam/xlogrecovery.c:2217 +#: access/transam/xlogrecovery.c:2227 #, c-format msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X" msgstr "slutförde backupåterställning vid redo-LSN %X/%X och slut-LSN %X/%X" -#: access/transam/xlogrecovery.c:2247 +#: access/transam/xlogrecovery.c:2257 #, c-format msgid "consistent recovery state reached at %X/%X" msgstr "konsistent återställningstillstånd uppnått vid %X/%X" #. translator: %s is a WAL record description -#: access/transam/xlogrecovery.c:2285 +#: access/transam/xlogrecovery.c:2295 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "WAL-redo vid %X/%X för %s" -#: access/transam/xlogrecovery.c:2383 +#: access/transam/xlogrecovery.c:2393 #, c-format msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record" msgstr "oväntad föregående tidslinje-ID %u (nuvarande tidslinje-ID %u) i checkpoint-post" -#: access/transam/xlogrecovery.c:2392 +#: access/transam/xlogrecovery.c:2402 #, c-format msgid "unexpected timeline ID %u (after %u) in checkpoint record" msgstr "oväntad tidslinje-ID %u (efter %u) i checkpoint-post" -#: access/transam/xlogrecovery.c:2408 +#: access/transam/xlogrecovery.c:2418 #, c-format msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u" msgstr "oväntad tidslinje-ID %u i checkpoint-post, innan vi nått minimal återställningspunkt %X/%X på tidslinje %u" -#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868 +#: access/transam/xlogrecovery.c:2602 access/transam/xlogrecovery.c:2878 #, c-format msgid "recovery stopping after reaching consistency" msgstr "återställning stoppad efter att ha uppnått konsistens" -#: access/transam/xlogrecovery.c:2613 +#: access/transam/xlogrecovery.c:2623 #, c-format msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" msgstr "återställning stoppad före WAL-position (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2703 +#: access/transam/xlogrecovery.c:2713 #, c-format msgid "recovery stopping before commit of transaction %u, time %s" msgstr "återställning stoppad före commit av transaktion %u, tid %s" -#: access/transam/xlogrecovery.c:2710 +#: access/transam/xlogrecovery.c:2720 #, c-format msgid "recovery stopping before abort of transaction %u, time %s" msgstr "återställning stoppad före abort av transaktion %u, tid %s" -#: access/transam/xlogrecovery.c:2763 +#: access/transam/xlogrecovery.c:2773 #, c-format msgid "recovery stopping at restore point \"%s\", time %s" msgstr "återställning stoppad vid återställningspunkt \"%s\", tid %s" -#: access/transam/xlogrecovery.c:2781 +#: access/transam/xlogrecovery.c:2791 #, c-format msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" msgstr "återställning stoppad efter WAL-position (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2848 +#: access/transam/xlogrecovery.c:2858 #, c-format msgid "recovery stopping after commit of transaction %u, time %s" msgstr "återställning stoppad efter commit av transaktion %u, tid %s" -#: access/transam/xlogrecovery.c:2856 +#: access/transam/xlogrecovery.c:2866 #, c-format msgid "recovery stopping after abort of transaction %u, time %s" msgstr "återställning stoppad efter abort av transaktion %u, tid %s" -#: access/transam/xlogrecovery.c:2937 +#: access/transam/xlogrecovery.c:2947 #, c-format msgid "pausing at the end of recovery" msgstr "pausar vid slutet av återställning" -#: access/transam/xlogrecovery.c:2938 +#: access/transam/xlogrecovery.c:2948 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "Kör pg_wal_replay_resume() för att befordra." -#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4679 +#: access/transam/xlogrecovery.c:2951 access/transam/xlogrecovery.c:4700 #, c-format msgid "recovery has paused" msgstr "återställning har pausats" -#: access/transam/xlogrecovery.c:2942 +#: access/transam/xlogrecovery.c:2952 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "Kör pg_wal_replay_resume() för att fortsätta." -#: access/transam/xlogrecovery.c:3205 +#: access/transam/xlogrecovery.c:3215 #, c-format msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u" msgstr "oväntad tidslinje-ID %u i WAL-segment %s, LSN %X/%X, offset %u" -#: access/transam/xlogrecovery.c:3413 +#: access/transam/xlogrecovery.c:3423 #, c-format msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m" msgstr "kunde inte läsa från WAL-segment %s, LSN %X/%X, offset %u: %m" -#: access/transam/xlogrecovery.c:3420 +#: access/transam/xlogrecovery.c:3430 #, c-format msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu" msgstr "kunde inte läsa från WAL-segment %s, LSN %X/%X, offset %u, läste %d av %zu" -#: access/transam/xlogrecovery.c:4061 +#: access/transam/xlogrecovery.c:4082 #, c-format msgid "invalid checkpoint location" msgstr "ogiltig checkpoint-position" -#: access/transam/xlogrecovery.c:4071 +#: access/transam/xlogrecovery.c:4092 #, c-format msgid "invalid checkpoint record" msgstr "ogiltig checkpoint-post" -#: access/transam/xlogrecovery.c:4077 +#: access/transam/xlogrecovery.c:4098 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "ogiltig resurshanterar-ID i checkpoint-post" -#: access/transam/xlogrecovery.c:4085 +#: access/transam/xlogrecovery.c:4106 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "ogiltig xl_info i checkpoint-post" -#: access/transam/xlogrecovery.c:4091 +#: access/transam/xlogrecovery.c:4112 #, c-format msgid "invalid length of checkpoint record" msgstr "ogiltig längd på checkpoint-post" -#: access/transam/xlogrecovery.c:4145 +#: access/transam/xlogrecovery.c:4166 #, c-format msgid "new timeline %u is not a child of database system timeline %u" msgstr "ny tidslinje %u är inte ett barn till databasens systemtidslinje %u" -#: access/transam/xlogrecovery.c:4159 +#: access/transam/xlogrecovery.c:4180 #, c-format msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X" msgstr "ny tidslinje %u skapad från aktuella databasens systemtidslinje %u innan nuvarande återställningspunkt %X/%X" -#: access/transam/xlogrecovery.c:4178 +#: access/transam/xlogrecovery.c:4199 #, c-format msgid "new target timeline is %u" msgstr "ny måltidslinje är %u" -#: access/transam/xlogrecovery.c:4381 +#: access/transam/xlogrecovery.c:4402 #, c-format msgid "WAL receiver process shutdown requested" msgstr "nedstängning av WAL-mottagarprocess efterfrågad" -#: access/transam/xlogrecovery.c:4441 +#: access/transam/xlogrecovery.c:4462 #, c-format msgid "received promote request" msgstr "tog emot förfrågan om befordran" -#: access/transam/xlogrecovery.c:4670 +#: access/transam/xlogrecovery.c:4691 #, c-format msgid "hot standby is not possible because of insufficient parameter settings" msgstr "hot standby är inte möjligt på grund av otillräckliga parameterinställningar" -#: access/transam/xlogrecovery.c:4671 access/transam/xlogrecovery.c:4698 -#: access/transam/xlogrecovery.c:4728 +#: access/transam/xlogrecovery.c:4692 access/transam/xlogrecovery.c:4719 +#: access/transam/xlogrecovery.c:4749 #, c-format msgid "%s = %d is a lower setting than on the primary server, where its value was %d." msgstr "%s = %d har ett lägre värde än på primärservern där värdet var %d." -#: access/transam/xlogrecovery.c:4680 +#: access/transam/xlogrecovery.c:4701 #, c-format msgid "If recovery is unpaused, the server will shut down." msgstr "Om återställning avpausas så kommer servern stänga ner." -#: access/transam/xlogrecovery.c:4681 +#: access/transam/xlogrecovery.c:4702 #, c-format msgid "You can then restart the server after making the necessary configuration changes." msgstr "Du kan då återstarta servern efter att ha gjort de nödvändiga konfigurationsändringarna." -#: access/transam/xlogrecovery.c:4692 +#: access/transam/xlogrecovery.c:4713 #, c-format msgid "promotion is not possible because of insufficient parameter settings" msgstr "befordran är inte möjligt på grund av otillräckliga parameterinställningar" -#: access/transam/xlogrecovery.c:4702 +#: access/transam/xlogrecovery.c:4723 #, c-format msgid "Restart the server after making the necessary configuration changes." msgstr "Starta om servern efter att ha gjort de nödvändiga konfigurationsändringarna." -#: access/transam/xlogrecovery.c:4726 +#: access/transam/xlogrecovery.c:4747 #, c-format msgid "recovery aborted because of insufficient parameter settings" msgstr "återställning avbruten på grund av otillräckliga parametervärden" -#: access/transam/xlogrecovery.c:4732 +#: access/transam/xlogrecovery.c:4753 #, c-format msgid "You can restart the server after making the necessary configuration changes." msgstr "Du kan starta om servern efter att du gjort de nödvändiga konfigurationsändringarna." -#: access/transam/xlogrecovery.c:4774 +#: access/transam/xlogrecovery.c:4773 access/transam/xlogrecovery.c:4775 +#: catalog/dependency.c:1153 catalog/dependency.c:1160 +#: catalog/dependency.c:1171 commands/tablecmds.c:1459 +#: commands/tablecmds.c:15152 commands/tablespace.c:460 commands/user.c:1302 +#: commands/vacuum.c:213 commands/view.c:441 executor/execExprInterp.c:4655 +#: executor/execExprInterp.c:4663 libpq/auth.c:332 +#: replication/logical/applyparallelworker.c:1048 replication/slot.c:261 +#: replication/slot.c:2502 replication/slot.c:2504 replication/syncrep.c:1078 +#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1432 utils/misc/guc.c:3169 +#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6836 +#: utils/misc/guc.c:6870 utils/misc/guc.c:6904 utils/misc/guc.c:6947 +#: utils/misc/guc.c:6989 +#, c-format +msgid "%s" +msgstr "%s" + +#: access/transam/xlogrecovery.c:4806 #, c-format msgid "multiple recovery targets specified" msgstr "multipla återställningsmål angivna" -#: access/transam/xlogrecovery.c:4775 +#: access/transam/xlogrecovery.c:4807 #, c-format msgid "At most one of \"recovery_target\", \"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\", \"recovery_target_xid\" may be set." msgstr "Som mest en av \"recovery_target\", \"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\" och \"recovery_target_xid\" kan sättas." -#: access/transam/xlogrecovery.c:4786 +#: access/transam/xlogrecovery.c:4818 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "Det enda tillåtna värdet är \"immediate\"." -#: access/transam/xlogrecovery.c:4938 utils/adt/timestamp.c:202 +#: access/transam/xlogrecovery.c:4970 utils/adt/timestamp.c:202 #: utils/adt/timestamp.c:455 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "timestamp utanför giltigt intervall: \"%s\"" -#: access/transam/xlogrecovery.c:4983 +#: access/transam/xlogrecovery.c:5015 #, c-format msgid "\"recovery_target_timeline\" is not a valid number." msgstr "\"recovery_target_timeline\" är inte ett giltigt nummer." @@ -3725,7 +3757,7 @@ msgid "archive command was terminated by exception 0x%X" msgstr "arkiveringskommandot terminerades med avbrott 0x%X" -#: archive/shell_archive.c:109 postmaster/postmaster.c:3095 +#: archive/shell_archive.c:109 postmaster/postmaster.c:3097 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "Se C-include-fil \"ntstatus.h\" för en beskrivning av det hexdecimala värdet." @@ -3963,12 +3995,12 @@ msgid "The first unsummarized LSN in this range is %X/%X." msgstr "Den första icke summerade LSN i detta intervall är %X/%X." -#: backup/basebackup_incremental.c:938 +#: backup/basebackup_incremental.c:952 #, c-format msgid "backup manifest version 1 does not support incremental backup" msgstr "backupmanifest version 1 stöder inte inkrementell backup" -#: backup/basebackup_incremental.c:956 +#: backup/basebackup_incremental.c:970 #, c-format msgid "system identifier in backup manifest is %llu, but database system identifier is %llu" msgstr "manifestets systemidentifierare är %llu men databasens systemidentifierare är %llu" @@ -3995,7 +4027,7 @@ #: backup/basebackup_server.c:102 commands/dbcommands.c:477 #: commands/tablespace.c:157 commands/tablespace.c:173 -#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:1982 +#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:2024 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" @@ -4014,7 +4046,7 @@ #: backup/basebackup_server.c:175 backup/basebackup_server.c:182 #: backup/basebackup_server.c:268 backup/basebackup_server.c:275 #: backup/walsummary.c:312 storage/smgr/md.c:502 storage/smgr/md.c:509 -#: storage/smgr/md.c:591 storage/smgr/md.c:613 storage/smgr/md.c:999 +#: storage/smgr/md.c:602 storage/smgr/md.c:624 storage/smgr/md.c:1010 #, c-format msgid "Check free disk space." msgstr "Kontrollera ledigt diskutrymme." @@ -4228,7 +4260,7 @@ msgstr "kan inte använda IN SCHEMA-klausul samtidigt som GRANT/REVOKE ON SCHEMAS" #: catalog/aclchk.c:1617 catalog/catalog.c:659 catalog/objectaddress.c:1523 -#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:951 +#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:988 #: commands/sequence.c:1655 commands/tablecmds.c:7574 commands/tablecmds.c:7728 #: commands/tablecmds.c:7778 commands/tablecmds.c:7852 #: commands/tablecmds.c:7922 commands/tablecmds.c:8052 @@ -4683,7 +4715,7 @@ msgstr "parameter ACL med OID %u existerar inte" #: catalog/aclchk.c:3723 commands/collationcmds.c:853 -#: commands/publicationcmds.c:1739 +#: commands/publicationcmds.c:1744 #, c-format msgid "schema with OID %u does not exist" msgstr "schema med OID %u existerar inte" @@ -4783,20 +4815,6 @@ msgid "cannot drop %s because other objects depend on it" msgstr "kan inte ta bort %s eftersom andra objekt beror på den" -#: catalog/dependency.c:1153 catalog/dependency.c:1160 -#: catalog/dependency.c:1171 commands/tablecmds.c:1459 -#: commands/tablecmds.c:15152 commands/tablespace.c:460 commands/user.c:1302 -#: commands/vacuum.c:212 commands/view.c:441 executor/execExprInterp.c:4655 -#: executor/execExprInterp.c:4663 libpq/auth.c:332 -#: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1078 -#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1432 utils/misc/guc.c:3169 -#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6836 -#: utils/misc/guc.c:6870 utils/misc/guc.c:6904 utils/misc/guc.c:6947 -#: utils/misc/guc.c:6989 -#, c-format -msgid "%s" -msgstr "%s" - #: catalog/dependency.c:1154 catalog/dependency.c:1161 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." @@ -4980,14 +4998,14 @@ msgid "generation expression is not immutable" msgstr "genereringsuttryck är inte immutable" -#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1276 +#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1279 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "kolumn \"%s\" har typ %s men default-uttryck har typen %s" #: catalog/heap.c:2864 commands/prepare.c:331 parser/analyze.c:2758 #: parser/parse_target.c:592 parser/parse_target.c:882 -#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1281 +#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1284 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Du måste skriva om eller typomvandla uttrycket." @@ -5078,7 +5096,7 @@ msgid "pg_class index OID value not set when in binary upgrade mode" msgstr "pg_class index OID-värde är inte satt i binärt uppgraderingsläge" -#: catalog/index.c:951 utils/cache/relcache.c:3791 +#: catalog/index.c:951 utils/cache/relcache.c:3807 #, c-format msgid "index relfilenumber value not set when in binary upgrade mode" msgstr "relfile-nummervärde för index är inte satt i binärt uppgraderingsläge" @@ -5088,34 +5106,34 @@ msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLY måste vara första operationen i transaktion" -#: catalog/index.c:3668 +#: catalog/index.c:3675 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "kan inte omindexera temporära tabeller som tillhör andra sessioner" -#: catalog/index.c:3679 commands/indexcmds.c:3660 +#: catalog/index.c:3686 commands/indexcmds.c:3660 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "kan inte omindexera angivet index i TOAST-tabell" -#: catalog/index.c:3695 commands/indexcmds.c:3538 commands/indexcmds.c:3684 +#: catalog/index.c:3702 commands/indexcmds.c:3538 commands/indexcmds.c:3684 #: commands/tablecmds.c:3581 #, c-format msgid "cannot move system relation \"%s\"" msgstr "kan inte flytta systemrelation \"%s\"" -#: catalog/index.c:3832 +#: catalog/index.c:3839 #, c-format msgid "index \"%s\" was reindexed" msgstr "index \"%s\" omindexerades" -#: catalog/index.c:3998 +#: catalog/index.c:4005 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "kan inte omindexera ogiltigt index \"%s.%s\" på TOAST-tabell, hoppar över" #: catalog/namespace.c:462 catalog/namespace.c:666 catalog/namespace.c:758 -#: commands/trigger.c:5817 +#: commands/trigger.c:5838 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "referenser till andra databaser är inte implementerat: \"%s.%s.%s\"" @@ -5146,7 +5164,7 @@ msgid "relation \"%s\" does not exist" msgstr "relationen \"%s\" existerar inte" -#: catalog/namespace.c:704 catalog/namespace.c:3522 commands/extension.c:1607 +#: catalog/namespace.c:704 catalog/namespace.c:3525 commands/extension.c:1607 #: commands/extension.c:1613 #, c-format msgid "no schema has been selected to create in" @@ -5172,80 +5190,80 @@ msgid "statistics object \"%s\" does not exist" msgstr "statistikobjektet \"%s\" existerar inte" -#: catalog/namespace.c:2761 +#: catalog/namespace.c:2764 #, c-format msgid "text search parser \"%s\" does not exist" msgstr "textsökparser \"%s\" finns inte" -#: catalog/namespace.c:2906 utils/adt/regproc.c:1459 +#: catalog/namespace.c:2909 utils/adt/regproc.c:1459 #, c-format msgid "text search dictionary \"%s\" does not exist" msgstr "textsökkatalog \"%s\" finns inte" -#: catalog/namespace.c:3052 +#: catalog/namespace.c:3055 #, c-format msgid "text search template \"%s\" does not exist" msgstr "textsökmall \"%s\" finns inte" -#: catalog/namespace.c:3197 commands/tsearchcmds.c:1168 +#: catalog/namespace.c:3200 commands/tsearchcmds.c:1168 #: utils/adt/regproc.c:1349 utils/cache/ts_cache.c:635 #, c-format msgid "text search configuration \"%s\" does not exist" msgstr "textsökkonfiguration \"%s\" finns inte" -#: catalog/namespace.c:3329 parser/parse_expr.c:868 parser/parse_target.c:1259 +#: catalog/namespace.c:3332 parser/parse_expr.c:869 parser/parse_target.c:1259 #, c-format msgid "cross-database references are not implemented: %s" msgstr "referenser till andra databaser är inte implementerat: %s" -#: catalog/namespace.c:3335 gram.y:19188 gram.y:19228 parser/parse_expr.c:875 +#: catalog/namespace.c:3338 gram.y:19188 gram.y:19228 parser/parse_expr.c:876 #: parser/parse_target.c:1266 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "ej korrekt kvalificerat namn (för många namn med punkt): %s" -#: catalog/namespace.c:3465 +#: catalog/namespace.c:3468 #, c-format msgid "cannot move objects into or out of temporary schemas" msgstr "kan inte flytta objekt in eller ut från temporära scheman" -#: catalog/namespace.c:3471 +#: catalog/namespace.c:3474 #, c-format msgid "cannot move objects into or out of TOAST schema" msgstr "kan inte flytta objekt in eller ut från TOAST-schema" -#: catalog/namespace.c:3544 commands/schemacmds.c:264 commands/schemacmds.c:344 +#: catalog/namespace.c:3547 commands/schemacmds.c:264 commands/schemacmds.c:344 #: commands/tablecmds.c:1404 utils/adt/regproc.c:1688 #, c-format msgid "schema \"%s\" does not exist" msgstr "schema \"%s\" existerar inte" -#: catalog/namespace.c:3575 +#: catalog/namespace.c:3578 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "ej korrekt relationsnamn (för många namn med punkt): %s" -#: catalog/namespace.c:4016 utils/adt/regproc.c:1056 +#: catalog/namespace.c:4019 utils/adt/regproc.c:1056 #, c-format msgid "collation \"%s\" for encoding \"%s\" does not exist" msgstr "jämförelse \"%s\" för kodning \"%s\" finns inte" -#: catalog/namespace.c:4071 +#: catalog/namespace.c:4074 #, c-format msgid "conversion \"%s\" does not exist" msgstr "konvertering \"%s\" finns inte" -#: catalog/namespace.c:4412 +#: catalog/namespace.c:4415 #, c-format msgid "permission denied to create temporary tables in database \"%s\"" msgstr "rättighet saknas för att skapa temporära tabeller i databasen \"%s\"" -#: catalog/namespace.c:4428 +#: catalog/namespace.c:4431 #, c-format msgid "cannot create temporary tables during recovery" msgstr "kan inte skapa temptabeller under återställning" -#: catalog/namespace.c:4434 +#: catalog/namespace.c:4437 #, c-format msgid "cannot create temporary tables during a parallel operation" msgstr "kan inte skapa temporära tabeller under en parallell operation" @@ -6438,7 +6456,7 @@ msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute." msgstr "Du kan manuellt ange en multirange-typ med hjälp av attributet \"multirange_type_name\"." -#: catalog/storage.c:533 storage/buffer/bufmgr.c:1540 +#: catalog/storage.c:533 storage/buffer/bufmgr.c:1547 #, c-format msgid "invalid page in block %u of relation %s" msgstr "ogiltig sida i block %u i relation %s" @@ -6553,7 +6571,7 @@ msgid "language \"%s\" already exists" msgstr "språk \"%s\" finns redan" -#: commands/alter.c:95 commands/publicationcmds.c:764 +#: commands/alter.c:95 commands/publicationcmds.c:769 #, c-format msgid "publication \"%s\" already exists" msgstr "publicering \"%s\" finns redan" @@ -6695,27 +6713,27 @@ msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "hoppar över analys av arvsträd \"%s.%s\" --- detta arvsträd innehåller inga analyserbara barntabeller" -#: commands/async.c:612 +#: commands/async.c:611 #, c-format msgid "channel name cannot be empty" msgstr "kanalnamn får inte vara tomt" -#: commands/async.c:618 +#: commands/async.c:617 #, c-format msgid "channel name too long" msgstr "kanalnamn för långt" -#: commands/async.c:623 +#: commands/async.c:622 #, c-format msgid "payload string too long" msgstr "innehållssträng är för lång" -#: commands/async.c:842 +#: commands/async.c:841 #, c-format msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" msgstr "kan inte göra PREPARE på transaktion som kört LISTEN, UNLISTEN eller NOTIFY" -#: commands/async.c:946 +#: commands/async.c:945 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "för många notifieringar i NOTIFY-kön" @@ -6831,12 +6849,12 @@ #: commands/collationcmds.c:123 commands/collationcmds.c:129 #: commands/define.c:388 commands/tablecmds.c:8162 -#: replication/pgoutput/pgoutput.c:314 replication/pgoutput/pgoutput.c:337 -#: replication/pgoutput/pgoutput.c:351 replication/pgoutput/pgoutput.c:361 -#: replication/pgoutput/pgoutput.c:371 replication/pgoutput/pgoutput.c:381 -#: replication/pgoutput/pgoutput.c:393 replication/walsender.c:1150 -#: replication/walsender.c:1172 replication/walsender.c:1182 -#: replication/walsender.c:1191 replication/walsender.c:1430 +#: replication/pgoutput/pgoutput.c:315 replication/pgoutput/pgoutput.c:338 +#: replication/pgoutput/pgoutput.c:356 replication/pgoutput/pgoutput.c:366 +#: replication/pgoutput/pgoutput.c:376 replication/pgoutput/pgoutput.c:386 +#: replication/pgoutput/pgoutput.c:398 replication/walsender.c:1164 +#: replication/walsender.c:1186 replication/walsender.c:1196 +#: replication/walsender.c:1205 replication/walsender.c:1444 #, c-format msgid "conflicting or redundant options" msgstr "motstridiga eller redundanta inställningar" @@ -7033,148 +7051,160 @@ msgid "Only roles with privileges of the \"%s\" role may COPY to a file." msgstr "Bara roller med rättigheter från rollen \"%s\" får göra COPY till en fil." -#: commands/copy.c:193 +#: commands/copy.c:180 +#, c-format +msgid "generated columns are not supported in COPY FROM WHERE conditions" +msgstr "genererade kolumner tillåts inte i COPY FROM WHERE-villkor" + +#: commands/copy.c:181 commands/tablecmds.c:12858 commands/tablecmds.c:18092 +#: commands/tablecmds.c:18171 commands/trigger.c:657 +#: rewrite/rewriteHandler.c:944 rewrite/rewriteHandler.c:979 +#, c-format +msgid "Column \"%s\" is a generated column." +msgstr "Kolumnen \"%s\" är en genererad kolumn." + +#: commands/copy.c:230 #, c-format msgid "COPY FROM not supported with row-level security" msgstr "COPY FROM stöds inte med radnivåsäkerhet" -#: commands/copy.c:194 +#: commands/copy.c:231 #, c-format msgid "Use INSERT statements instead." msgstr "Använd INSERT-satser istället." -#: commands/copy.c:375 +#: commands/copy.c:412 #, c-format msgid "cannot use \"%s\" with HEADER in COPY TO" msgstr "kan inte ange \"%s\" med HEADER i COPY TO" -#: commands/copy.c:384 +#: commands/copy.c:421 #, c-format msgid "%s requires a Boolean value or \"match\"" msgstr "%s kräver ett booleskt värde eller \"match\"" #. translator: first %s is the name of a COPY option, e.g. ON_ERROR, #. second %s is a COPY with direction, e.g. COPY TO -#: commands/copy.c:402 commands/copy.c:782 commands/copy.c:798 -#: commands/copy.c:815 commands/copy.c:841 commands/copy.c:851 +#: commands/copy.c:439 commands/copy.c:819 commands/copy.c:835 +#: commands/copy.c:852 commands/copy.c:878 commands/copy.c:888 #, c-format msgid "COPY %s cannot be used with %s" msgstr "COPY %s kan inte användas med %s" #. translator: first %s is the name of a COPY option, e.g. ON_ERROR -#: commands/copy.c:416 commands/copy.c:441 +#: commands/copy.c:453 commands/copy.c:478 #, c-format msgid "COPY %s \"%s\" not recognized" msgstr "COPY %s \"%s\" känns inte igen" -#: commands/copy.c:502 +#: commands/copy.c:539 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "COPY-format \"%s\" känns inte igen" -#: commands/copy.c:560 commands/copy.c:575 commands/copy.c:590 -#: commands/copy.c:609 +#: commands/copy.c:597 commands/copy.c:612 commands/copy.c:627 +#: commands/copy.c:646 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "argumentet till flaggan \"%s\" måste vara en lista med kolumnnamn" -#: commands/copy.c:621 +#: commands/copy.c:658 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "argumentet till flaggan \"%s\" måste vara ett giltigt kodningsnamn" -#: commands/copy.c:642 commands/dbcommands.c:866 commands/dbcommands.c:2381 +#: commands/copy.c:679 commands/dbcommands.c:866 commands/dbcommands.c:2381 #, c-format msgid "option \"%s\" not recognized" msgstr "flaggan \"%s\" känns inte igen" #. translator: %s is the name of a COPY option, e.g. ON_ERROR -#: commands/copy.c:655 commands/copy.c:660 commands/copy.c:665 -#: commands/copy.c:740 +#: commands/copy.c:692 commands/copy.c:697 commands/copy.c:702 +#: commands/copy.c:777 #, c-format msgid "cannot specify %s in BINARY mode" msgstr "kan inte ange %s i läget BINARY" -#: commands/copy.c:670 +#: commands/copy.c:707 #, c-format msgid "only ON_ERROR STOP is allowed in BINARY mode" msgstr "bara ON_ERROR STOP tillåts i läget BINARY" -#: commands/copy.c:692 +#: commands/copy.c:729 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "COPY-separatorn måste vara ett ensamt en-byte-tecken" -#: commands/copy.c:699 +#: commands/copy.c:736 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "COPY-separatorn kan inte vara nyradstecken eller vagnretur" -#: commands/copy.c:705 +#: commands/copy.c:742 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "null-representationen för COPY kan inte använda tecknen för nyrad eller vagnretur" -#: commands/copy.c:715 +#: commands/copy.c:752 #, c-format msgid "COPY default representation cannot use newline or carriage return" msgstr "standard-representationen för COPY kan inte använda tecknen för nyrad eller vagnretur" -#: commands/copy.c:733 +#: commands/copy.c:770 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "COPY-separatorn kan inte vara \"%s\"" #. translator: %s is the name of a COPY option, e.g. ON_ERROR -#: commands/copy.c:747 commands/copy.c:764 commands/copy.c:776 -#: commands/copy.c:791 commands/copy.c:807 +#: commands/copy.c:784 commands/copy.c:801 commands/copy.c:813 +#: commands/copy.c:828 commands/copy.c:844 #, c-format msgid "COPY %s requires CSV mode" msgstr "COPY %s kräver CSV-läge" -#: commands/copy.c:752 +#: commands/copy.c:789 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "COPY-quote måste vara ett ensamt en-byte-tecken" -#: commands/copy.c:757 +#: commands/copy.c:794 #, c-format msgid "COPY delimiter and quote must be different" msgstr "COPY-separator och quote måste vara olika" -#: commands/copy.c:769 +#: commands/copy.c:806 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "COPY-escape måste vara ett ensamt en-byte-tecken" #. translator: %s is the name of a COPY option, e.g. NULL -#: commands/copy.c:823 commands/copy.c:859 +#: commands/copy.c:860 commands/copy.c:896 #, c-format msgid "COPY delimiter character must not appear in the %s specification" msgstr "Tecknet för COPY-separatorn får inte förekomma i %s-specifikationen" #. translator: %s is the name of a COPY option, e.g. NULL -#: commands/copy.c:832 commands/copy.c:868 +#: commands/copy.c:869 commands/copy.c:905 #, c-format msgid "CSV quote character must not appear in the %s specification" msgstr "CSV-citattecken får inte förekomma i %s-specifikationen" -#: commands/copy.c:877 +#: commands/copy.c:914 #, c-format msgid "NULL specification and DEFAULT specification cannot be the same" msgstr "NULL-specifikation and DEFAULT-specifikation får inte vara samma" -#: commands/copy.c:939 +#: commands/copy.c:976 #, c-format msgid "column \"%s\" is a generated column" msgstr "kolumnen \"%s\" är en genererad kolumn" -#: commands/copy.c:941 +#: commands/copy.c:978 #, c-format msgid "Generated columns cannot be used in COPY." msgstr "Genererade kolumner kan inte användas i COPY." -#: commands/copy.c:956 commands/indexcmds.c:1890 commands/statscmds.c:239 +#: commands/copy.c:993 commands/indexcmds.c:1890 commands/statscmds.c:260 #: commands/tablecmds.c:2526 commands/tablecmds.c:2997 #: commands/tablecmds.c:3808 parser/parse_relation.c:3692 #: parser/parse_relation.c:3702 parser/parse_relation.c:3720 @@ -7184,7 +7214,7 @@ msgid "column \"%s\" does not exist" msgstr "kolumnen \"%s\" existerar inte" -#: commands/copy.c:963 commands/tablecmds.c:2552 commands/trigger.c:952 +#: commands/copy.c:1000 commands/tablecmds.c:2552 commands/trigger.c:952 #: parser/parse_target.c:1083 parser/parse_target.c:1094 #, c-format msgid "column \"%s\" specified more than once" @@ -7274,7 +7304,7 @@ msgid "%s column \"%s\" not referenced by COPY" msgstr "%s-kolumnen \"%s\" refereras inte till av COPY" -#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385 +#: commands/copyfrom.c:1544 utils/mb/mbutils.c:386 #, c-format msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "standardkonverteringsfunktion för kodning \"%s\" till \"%s\" finns inte" @@ -7335,17 +7365,17 @@ msgstr "kunde inte läsa från COPY-fil: %m" #: commands/copyfromparse.c:278 commands/copyfromparse.c:303 -#: replication/walsender.c:760 replication/walsender.c:786 tcop/postgres.c:381 +#: replication/walsender.c:774 replication/walsender.c:800 tcop/postgres.c:381 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "oväntat EOF från klientanslutning med öppen transaktion" -#: commands/copyfromparse.c:294 replication/walsender.c:776 +#: commands/copyfromparse.c:294 replication/walsender.c:790 #, c-format msgid "unexpected message type 0x%02X during COPY from stdin" msgstr "oväntad meddelandetyp 0x%02X under COPY från stdin" -#: commands/copyfromparse.c:317 replication/walsender.c:807 +#: commands/copyfromparse.c:317 replication/walsender.c:821 #, c-format msgid "COPY from stdin failed: %s" msgstr "COPY från stdin misslyckades: %s" @@ -7820,7 +7850,7 @@ msgstr "datakatalog med angiven OID %u finns redan" #: commands/dbcommands.c:1571 commands/dbcommands.c:1586 -#: utils/adt/pg_locale.c:2588 +#: utils/adt/pg_locale.c:2591 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "kodning \"%s\" matchar inte lokal \"%s\"" @@ -7906,7 +7936,7 @@ msgstr "Du måste flytta tillbaka dem till tabellens standard-tablespace innan du använder detta kommando." #: commands/dbcommands.c:2256 commands/dbcommands.c:2999 -#: commands/dbcommands.c:3299 commands/dbcommands.c:3412 +#: commands/dbcommands.c:3299 commands/dbcommands.c:3413 #, c-format msgid "some useless files may be left behind in old database directory \"%s\"" msgstr "några värdelösa filer kan lämnas kvar i gammal databaskatalog \"%s\"" @@ -8046,7 +8076,7 @@ msgid "conversion \"%s\" does not exist, skipping" msgstr "konvertering \"%s\" finns inte, hoppar över" -#: commands/dropcmds.c:288 commands/statscmds.c:664 +#: commands/dropcmds.c:288 commands/statscmds.c:685 #, c-format msgid "statistics object \"%s\" does not exist, skipping" msgstr "statistikobjekt \"%s\" finns inte, hoppar över" @@ -8223,17 +8253,17 @@ msgid "The owner of an event trigger must be a superuser." msgstr "Ägaren för en händelsetrigger måste vara en superuser." -#: commands/event_trigger.c:1541 +#: commands/event_trigger.c:1536 #, c-format msgid "%s can only be called in a sql_drop event trigger function" msgstr "%s kan bara anropas i en sql_drop-händelsetriggerfunktion" -#: commands/event_trigger.c:1634 commands/event_trigger.c:1655 +#: commands/event_trigger.c:1629 commands/event_trigger.c:1650 #, c-format msgid "%s can only be called in a table_rewrite event trigger function" msgstr "%s kan bara anropas i en tabell_rewrite-händelsetriggerfunktion" -#: commands/event_trigger.c:2068 +#: commands/event_trigger.c:2063 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%s kan bara anropas i en händelsetriggerfunktion" @@ -9180,8 +9210,8 @@ msgid "could not determine which collation to use for index expression" msgstr "kunde inte bestämma vilken jämförelse (collation) som skulle användas för indexuttryck" -#: commands/indexcmds.c:2028 commands/tablecmds.c:18249 commands/typecmds.c:811 -#: parser/parse_expr.c:2793 parser/parse_type.c:568 parser/parse_utilcmd.c:3771 +#: commands/indexcmds.c:2028 commands/tablecmds.c:18259 commands/typecmds.c:811 +#: parser/parse_expr.c:2794 parser/parse_type.c:568 parser/parse_utilcmd.c:3771 #: utils/adt/misc.c:630 #, c-format msgid "collations are not supported by type %s" @@ -9217,8 +9247,8 @@ msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "accessmetod \"%s\" stöder inte NULLS FIRST/LAST-flaggor" -#: commands/indexcmds.c:2210 commands/tablecmds.c:18274 -#: commands/tablecmds.c:18280 commands/typecmds.c:2311 +#: commands/indexcmds.c:2210 commands/tablecmds.c:18284 +#: commands/tablecmds.c:18290 commands/typecmds.c:2311 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "datatyp %s har ingen standardoperatorklass för accessmetod \"%s\"" @@ -9654,7 +9684,7 @@ msgid "operator attribute \"%s\" cannot be changed if it has already been set" msgstr "operatorattribut \"%s\" kan inte ändras när det redan har satts" -#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146 +#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:152 #: commands/tablecmds.c:1740 commands/tablecmds.c:2340 #: commands/tablecmds.c:3702 commands/tablecmds.c:6605 #: commands/tablecmds.c:9670 commands/tablecmds.c:17836 @@ -9756,199 +9786,199 @@ msgid "must be superuser to create custom procedural language" msgstr "måste vara en superuser för att skapa ett eget procedurspråk" -#: commands/publicationcmds.c:124 postmaster/postmaster.c:1108 -#: postmaster/postmaster.c:1210 utils/init/miscinit.c:1866 +#: commands/publicationcmds.c:129 postmaster/postmaster.c:1110 +#: postmaster/postmaster.c:1212 utils/init/miscinit.c:1866 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "ogiltigt listsyntax för parameter \"%s\"" -#: commands/publicationcmds.c:143 +#: commands/publicationcmds.c:148 #, c-format msgid "unrecognized value for publication option \"%s\": \"%s\"" msgstr "okänt värde för publicerings-flagga \"%s\": \"%s\"" -#: commands/publicationcmds.c:157 +#: commands/publicationcmds.c:162 #, c-format msgid "unrecognized publication parameter: \"%s\"" msgstr "okänd publiceringsparameter: \"%s\"" -#: commands/publicationcmds.c:198 +#: commands/publicationcmds.c:203 #, c-format msgid "no schema has been selected for CURRENT_SCHEMA" msgstr "inget schema har valts som CURRENT_SCHEMA" -#: commands/publicationcmds.c:495 +#: commands/publicationcmds.c:500 msgid "System columns are not allowed." msgstr "Systemkolumner tillåts inte." -#: commands/publicationcmds.c:502 commands/publicationcmds.c:507 -#: commands/publicationcmds.c:524 +#: commands/publicationcmds.c:507 commands/publicationcmds.c:512 +#: commands/publicationcmds.c:529 msgid "User-defined operators are not allowed." msgstr "Användardefinierade operatorer tillåts inte." -#: commands/publicationcmds.c:548 +#: commands/publicationcmds.c:553 msgid "Only columns, constants, built-in operators, built-in data types, built-in collations, and immutable built-in functions are allowed." msgstr "Only kolumner, konstanter, inbyggda operatorer, inbyggda datatyper, inbyggda jämförelser och inbyggda immuterbara funktioner tillåts." -#: commands/publicationcmds.c:560 +#: commands/publicationcmds.c:565 msgid "User-defined types are not allowed." msgstr "Användadefinierade typer tillåts inte." -#: commands/publicationcmds.c:563 +#: commands/publicationcmds.c:568 msgid "User-defined or built-in mutable functions are not allowed." msgstr "Användardefinierade eller inbyggda muterbara funktioner tillåts inte." -#: commands/publicationcmds.c:566 +#: commands/publicationcmds.c:571 msgid "User-defined collations are not allowed." msgstr "Användardefinierade jämförelser (collation) tillåts inte." -#: commands/publicationcmds.c:576 +#: commands/publicationcmds.c:581 #, c-format msgid "invalid publication WHERE expression" msgstr "ogiltigt WHERE-uttryck för publicering" -#: commands/publicationcmds.c:629 +#: commands/publicationcmds.c:634 #, c-format msgid "cannot use publication WHERE clause for relation \"%s\"" msgstr "kan inte använda publicerings WHERE-klausul för relation \"%s\"" -#: commands/publicationcmds.c:631 +#: commands/publicationcmds.c:636 #, c-format msgid "WHERE clause cannot be used for a partitioned table when %s is false." msgstr "WHERE-klausul kan inte användas för en partitionerad tabell när %s är falsk." -#: commands/publicationcmds.c:702 commands/publicationcmds.c:716 +#: commands/publicationcmds.c:707 commands/publicationcmds.c:721 #, c-format msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\"" msgstr "kan inte använda kolumnlista för relationen \"%s.%s\" i publiceringen \"%s\"" -#: commands/publicationcmds.c:705 +#: commands/publicationcmds.c:710 #, c-format msgid "Column lists cannot be specified in publications containing FOR TABLES IN SCHEMA elements." msgstr "Kolumnlistor kan inte anges i publiceringar som innehåller FOR TABLES IN SCHEMA." -#: commands/publicationcmds.c:719 +#: commands/publicationcmds.c:724 #, c-format msgid "Column lists cannot be specified for partitioned tables when %s is false." msgstr "Kolumnlista kan inte anges för partitionerade tabeller när %s är falsk." -#: commands/publicationcmds.c:754 +#: commands/publicationcmds.c:759 #, c-format msgid "must be superuser to create FOR ALL TABLES publication" msgstr "måste vara en superuser för att skapa en FOR ALL TABLES-publicering" -#: commands/publicationcmds.c:825 +#: commands/publicationcmds.c:830 #, c-format msgid "must be superuser to create FOR TABLES IN SCHEMA publication" msgstr "måste vara superuser för att skapa en FOR TABLES IN SCHEMA-publicering" -#: commands/publicationcmds.c:861 +#: commands/publicationcmds.c:866 #, c-format msgid "\"wal_level\" is insufficient to publish logical changes" msgstr "\"wal_level\" är otillräcklig för att publicera logiska ändringar" -#: commands/publicationcmds.c:862 +#: commands/publicationcmds.c:867 #, c-format msgid "Set \"wal_level\" to \"logical\" before creating subscriptions." msgstr "Sätt \"wal_level\" till \"logical\" innan prenumerationer skapas." -#: commands/publicationcmds.c:958 commands/publicationcmds.c:966 +#: commands/publicationcmds.c:963 commands/publicationcmds.c:971 #, c-format msgid "cannot set parameter \"%s\" to false for publication \"%s\"" msgstr "kan inte sätta parameter \"%s\" till falsk för publicering \"%s\"" -#: commands/publicationcmds.c:961 +#: commands/publicationcmds.c:966 #, c-format msgid "The publication contains a WHERE clause for partitioned table \"%s\", which is not allowed when \"%s\" is false." msgstr "Publiceringen innehåller en WHERE-klausul för partitionerade tabellen \"%s\" som inte tillåts när \"%s\" ör falsk." -#: commands/publicationcmds.c:969 +#: commands/publicationcmds.c:974 #, c-format msgid "The publication contains a column list for partitioned table \"%s\", which is not allowed when \"%s\" is false." msgstr "Publiceringen innehåller en kolumnlista för den partitionerade tabellern \"%s\" som inte är tillåtet när \"%s\" är falsk." -#: commands/publicationcmds.c:1292 +#: commands/publicationcmds.c:1297 #, c-format msgid "cannot add schema to publication \"%s\"" msgstr "kan inte lägga till schema till publiceringen \"%s\"" -#: commands/publicationcmds.c:1294 +#: commands/publicationcmds.c:1299 #, c-format msgid "Schemas cannot be added if any tables that specify a column list are already part of the publication." msgstr "Scheman kan inte läggas till om tabeller med kolumnlistor redan är en del av publiceringen." -#: commands/publicationcmds.c:1342 +#: commands/publicationcmds.c:1347 #, c-format msgid "must be superuser to add or set schemas" msgstr "måste vara superuser för att lägga till ett sätta scheman" -#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359 +#: commands/publicationcmds.c:1356 commands/publicationcmds.c:1364 #, c-format msgid "publication \"%s\" is defined as FOR ALL TABLES" msgstr "publicering \"%s\" är definierad som FOR ALL TABLES" -#: commands/publicationcmds.c:1353 +#: commands/publicationcmds.c:1358 #, c-format msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications." msgstr "Scheman kan inte läggas till eller tas bort från FOR ALL TABLES-publiceringar." -#: commands/publicationcmds.c:1361 +#: commands/publicationcmds.c:1366 #, c-format msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications." msgstr "Tabeller kan inte läggas till eller tas bort från FOR ALL TABLES-publiceringar." -#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424 -#: commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634 +#: commands/publicationcmds.c:1390 commands/publicationcmds.c:1429 +#: commands/publicationcmds.c:1966 utils/cache/lsyscache.c:3634 #, c-format msgid "publication \"%s\" does not exist" msgstr "publiceringen \"%s\" finns inte" -#: commands/publicationcmds.c:1587 commands/publicationcmds.c:1650 +#: commands/publicationcmds.c:1592 commands/publicationcmds.c:1655 #, c-format msgid "conflicting or redundant WHERE clauses for table \"%s\"" msgstr "motstridiga eller redundanta WHERE-klausuler för tabellen \"%s\"" -#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662 +#: commands/publicationcmds.c:1599 commands/publicationcmds.c:1667 #, c-format msgid "conflicting or redundant column lists for table \"%s\"" msgstr "motstridiga eller redundanta kolumnlistor för tabellen \"%s\"" -#: commands/publicationcmds.c:1796 +#: commands/publicationcmds.c:1801 #, c-format msgid "column list must not be specified in ALTER PUBLICATION ... DROP" msgstr "kolumnlista får inte anges i ALTER PUBLICATION ... DROP" -#: commands/publicationcmds.c:1808 +#: commands/publicationcmds.c:1813 #, c-format msgid "relation \"%s\" is not part of the publication" msgstr "relation \"%s\" är inte en del av publiceringen" -#: commands/publicationcmds.c:1815 +#: commands/publicationcmds.c:1820 #, c-format msgid "cannot use a WHERE clause when removing a table from a publication" msgstr "kan inte använda en WHERE-sats när man tar bort en tabell från en publicering" -#: commands/publicationcmds.c:1875 +#: commands/publicationcmds.c:1880 #, c-format msgid "tables from schema \"%s\" are not part of the publication" msgstr "tabeller från schema \"%s\" är inte en del av publiceringen" -#: commands/publicationcmds.c:1918 commands/publicationcmds.c:1925 +#: commands/publicationcmds.c:1923 commands/publicationcmds.c:1930 #, c-format msgid "permission denied to change owner of publication \"%s\"" msgstr "rättighet saknas för att byta ägare på publicering \"%s\"" -#: commands/publicationcmds.c:1920 +#: commands/publicationcmds.c:1925 #, c-format msgid "The owner of a FOR ALL TABLES publication must be a superuser." msgstr "Ägaren av en FOR ALL TABLES-publicering måste vara en superuser." -#: commands/publicationcmds.c:1927 +#: commands/publicationcmds.c:1932 #, c-format msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser." msgstr "Ägaren av en FOR TABLES IN SCHEMA-publicering måste vara en superuser." -#: commands/publicationcmds.c:1993 +#: commands/publicationcmds.c:1998 #, c-format msgid "publication with OID %u does not exist" msgstr "publicering med OID %u existerar inte" @@ -10124,72 +10154,72 @@ msgid "cannot define statistics for relation \"%s\"" msgstr "kan inte definiera statistik för relationen \"%s\"" -#: commands/statscmds.c:187 +#: commands/statscmds.c:208 #, c-format msgid "statistics object \"%s\" already exists, skipping" msgstr "statistikobjekt \"%s\" finns redan, hoppar över" -#: commands/statscmds.c:195 +#: commands/statscmds.c:216 #, c-format msgid "statistics object \"%s\" already exists" msgstr "statistikobjekt \"%s\" finns redan" -#: commands/statscmds.c:206 +#: commands/statscmds.c:227 #, c-format msgid "cannot have more than %d columns in statistics" msgstr "kan inte ha mer än %d kolumner i statistiken" -#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304 +#: commands/statscmds.c:268 commands/statscmds.c:291 commands/statscmds.c:325 #, c-format msgid "statistics creation on system columns is not supported" msgstr "skapa statistik för systemkolumner stöds inte" -#: commands/statscmds.c:254 commands/statscmds.c:277 +#: commands/statscmds.c:275 commands/statscmds.c:298 #, c-format msgid "column \"%s\" cannot be used in statistics because its type %s has no default btree operator class" msgstr "kolumnen \"%s\" kan inte användas i statistiken då dess typ %s inte har någon standard btree-operatorklass" -#: commands/statscmds.c:321 +#: commands/statscmds.c:342 #, c-format msgid "expression cannot be used in multivariate statistics because its type %s has no default btree operator class" msgstr "uttryck kan inte användas i multivariat statistik då dess type %s inte har någon default btree operatorklass" -#: commands/statscmds.c:342 +#: commands/statscmds.c:363 #, c-format msgid "when building statistics on a single expression, statistics kinds may not be specified" msgstr "vid skapande av statistik för ett ensamt uttryck så kan inte statistiktyp anges" -#: commands/statscmds.c:371 +#: commands/statscmds.c:392 #, c-format msgid "unrecognized statistics kind \"%s\"" msgstr "okänd statistiktyp \"%s\"" -#: commands/statscmds.c:400 +#: commands/statscmds.c:421 #, c-format msgid "extended statistics require at least 2 columns" msgstr "utökad statistik kräver minst två kolumner" -#: commands/statscmds.c:418 +#: commands/statscmds.c:439 #, c-format msgid "duplicate column name in statistics definition" msgstr "duplicerade kolumnnamn i statistikdefinition" -#: commands/statscmds.c:453 +#: commands/statscmds.c:474 #, c-format msgid "duplicate expression in statistics definition" msgstr "duplicerade uttryck i statistikdefinition" -#: commands/statscmds.c:628 commands/tablecmds.c:8653 +#: commands/statscmds.c:649 commands/tablecmds.c:8653 #, c-format msgid "statistics target %d is too low" msgstr "statistikmålet %d är för lågt" -#: commands/statscmds.c:636 commands/tablecmds.c:8661 +#: commands/statscmds.c:657 commands/tablecmds.c:8661 #, c-format msgid "lowering statistics target to %d" msgstr "minskar statistikmålet till %d" -#: commands/statscmds.c:660 +#: commands/statscmds.c:681 #, c-format msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "statistikobjekt \"%s.%s\" finns inte, hoppar över" @@ -10199,7 +10229,7 @@ msgid "unrecognized subscription parameter: \"%s\"" msgstr "okänd prenumerationsparameter: \"%s\"" -#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:404 +#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:409 #, c-format msgid "unrecognized origin value: \"%s\"" msgstr "okänt källvärde: \"%s\"" @@ -10377,7 +10407,7 @@ msgstr "Kontrollera att den initiala datan som kopieras från publicerade tabeller inte kom från andra källor." #: commands/subscriptioncmds.c:2228 replication/logical/tablesync.c:932 -#: replication/pgoutput/pgoutput.c:1143 +#: replication/pgoutput/pgoutput.c:1159 #, c-format msgid "cannot use different column lists for table \"%s.%s\" in different publications" msgstr "kunde inte ha olika kolumnlistor för tabellen \"%s.%s\" i olika publiceringar" @@ -10474,7 +10504,7 @@ msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Använd DROP MATERIALIZED VIEW för att ta bort en materialiserad vy." -#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19877 +#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19891 #: parser/parse_utilcmd.c:2251 #, c-format msgid "index \"%s\" does not exist" @@ -10732,7 +10762,7 @@ msgstr "kolumn \"%s\" har en jämförelsekonflikt" #: commands/tablecmds.c:3164 commands/tablecmds.c:3326 -#: commands/tablecmds.c:7080 +#: commands/tablecmds.c:7080 parser/parse_expr.c:4771 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\" kontra \"%s\"" @@ -11336,13 +11366,6 @@ msgid "cannot specify USING when altering type of generated column" msgstr "kan inte ange USING när man ändrar typ på en genererad kolumn" -#: commands/tablecmds.c:12858 commands/tablecmds.c:18092 -#: commands/tablecmds.c:18182 commands/trigger.c:657 -#: rewrite/rewriteHandler.c:941 rewrite/rewriteHandler.c:976 -#, c-format -msgid "Column \"%s\" is a generated column." -msgstr "Kolumnen \"%s\" är en genererad kolumn." - #: commands/tablecmds.c:12868 #, c-format msgid "cannot alter inherited column \"%s\"" @@ -11526,12 +11549,12 @@ msgid "cannot inherit from a partition" msgstr "kan inte ärva från en partition" -#: commands/tablecmds.c:15735 commands/tablecmds.c:18593 +#: commands/tablecmds.c:15735 commands/tablecmds.c:18603 #, c-format msgid "circular inheritance not allowed" msgstr "cirkulärt arv är inte tillåtet" -#: commands/tablecmds.c:15736 commands/tablecmds.c:18594 +#: commands/tablecmds.c:15736 commands/tablecmds.c:18604 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" är redan ett barn till \"%s\"" @@ -11741,184 +11764,184 @@ msgid "cannot use system column \"%s\" in partition key" msgstr "kan inte använda systemkolumn \"%s\" i partitioneringsnyckel" -#: commands/tablecmds.c:18091 commands/tablecmds.c:18181 +#: commands/tablecmds.c:18091 commands/tablecmds.c:18170 #, c-format msgid "cannot use generated column in partition key" msgstr "kan inte använda genererad kolumn i partitioneringsnyckel" -#: commands/tablecmds.c:18164 +#: commands/tablecmds.c:18160 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "partitioneringsnyckeluttryck kan inte innehålla systemkolumnreferenser" -#: commands/tablecmds.c:18211 +#: commands/tablecmds.c:18221 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "funktioner i partitioneringsuttryck måste vara markerade IMMUTABLE" -#: commands/tablecmds.c:18220 +#: commands/tablecmds.c:18230 #, c-format msgid "cannot use constant expression as partition key" msgstr "kan inte använda konstant uttryck som partitioneringsnyckel" -#: commands/tablecmds.c:18241 +#: commands/tablecmds.c:18251 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "kunde inte lista vilken jämförelse (collation) som skulle användas för partitionsuttryck" -#: commands/tablecmds.c:18276 +#: commands/tablecmds.c:18286 #, c-format msgid "You must specify a hash operator class or define a default hash operator class for the data type." msgstr "Du måste ange en hash-operatorklass eller definiera en default hash-operatorklass för datatypen." -#: commands/tablecmds.c:18282 +#: commands/tablecmds.c:18292 #, c-format msgid "You must specify a btree operator class or define a default btree operator class for the data type." msgstr "Du måste ange en btree-operatorklass eller definiera en default btree-operatorklass för datatypen." -#: commands/tablecmds.c:18533 +#: commands/tablecmds.c:18543 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\" är redan en partition" -#: commands/tablecmds.c:18539 +#: commands/tablecmds.c:18549 #, c-format msgid "cannot attach a typed table as partition" msgstr "kan inte ansluta en typad tabell som partition" -#: commands/tablecmds.c:18555 +#: commands/tablecmds.c:18565 #, c-format msgid "cannot attach inheritance child as partition" msgstr "kan inte ansluta ett arvsbarn som partition" -#: commands/tablecmds.c:18569 +#: commands/tablecmds.c:18579 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "kan inte ansluta en arvsförälder som partition" -#: commands/tablecmds.c:18603 +#: commands/tablecmds.c:18613 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "kan inte ansluta en temporär relation som partition till en permanent relation \"%s\"" -#: commands/tablecmds.c:18611 +#: commands/tablecmds.c:18621 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "kan inte ansluta en permanent relation som partition till en temporär relation \"%s\"" -#: commands/tablecmds.c:18619 +#: commands/tablecmds.c:18629 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "kan inte ansluta en partition från en temporär relation som tillhör en annan session" -#: commands/tablecmds.c:18626 +#: commands/tablecmds.c:18636 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "kan inte ansluta en temporär relation tillhörande en annan session som partition" -#: commands/tablecmds.c:18646 +#: commands/tablecmds.c:18656 #, c-format msgid "table \"%s\" being attached contains an identity column \"%s\"" msgstr "tabell \"%s\" som ansluts innehåller en identitetskolumn \"%s\"" -#: commands/tablecmds.c:18648 +#: commands/tablecmds.c:18658 #, c-format msgid "The new partition may not contain an identity column." msgstr "Den nya partitionen får inte innehålla en identitetskolumn." -#: commands/tablecmds.c:18656 +#: commands/tablecmds.c:18666 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "tabell \"%s\" innehåller kolumn \"%s\" som inte finns i föräldern \"%s\"" -#: commands/tablecmds.c:18659 +#: commands/tablecmds.c:18669 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "Den nya partitionen får bara innehålla kolumner som finns i föräldern." -#: commands/tablecmds.c:18671 +#: commands/tablecmds.c:18681 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "trigger \"%s\" förhindrar att tabell \"%s\" blir en partition" -#: commands/tablecmds.c:18673 +#: commands/tablecmds.c:18683 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "ROW-triggrar med övergångstabeller stöds inte för partitioner." -#: commands/tablecmds.c:18849 +#: commands/tablecmds.c:18859 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "kan inte ansluta främmande tabell \"%s\" som en partition till partitionerad tabell \"%s\"" -#: commands/tablecmds.c:18852 +#: commands/tablecmds.c:18862 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Partitionerad tabell \"%s\" innehåller unika index." -#: commands/tablecmds.c:19174 +#: commands/tablecmds.c:19185 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "kan inte parallellt koppla bort en partitionerad tabell när en default-partition finns" -#: commands/tablecmds.c:19283 +#: commands/tablecmds.c:19297 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "partitionerad tabell \"%s\" togs bort parallellt" -#: commands/tablecmds.c:19289 +#: commands/tablecmds.c:19303 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "partition \"%s\" togs bort parallellt" -#: commands/tablecmds.c:19911 commands/tablecmds.c:19931 -#: commands/tablecmds.c:19952 commands/tablecmds.c:19971 -#: commands/tablecmds.c:20013 +#: commands/tablecmds.c:19925 commands/tablecmds.c:19945 +#: commands/tablecmds.c:19966 commands/tablecmds.c:19985 +#: commands/tablecmds.c:20027 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "kan inte ansluta index \"%s\" som en partition till index \"%s\"" -#: commands/tablecmds.c:19914 +#: commands/tablecmds.c:19928 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Index \"%s\" är redan ansluten till ett annat index." -#: commands/tablecmds.c:19934 +#: commands/tablecmds.c:19948 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Index \"%s\" är inte ett index för någon partition av tabell \"%s\"." -#: commands/tablecmds.c:19955 +#: commands/tablecmds.c:19969 #, c-format msgid "The index definitions do not match." msgstr "Indexdefinitionerna matchar inte." -#: commands/tablecmds.c:19974 +#: commands/tablecmds.c:19988 #, c-format msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." msgstr "Indexet \"%s\" tillhör ett villkor på tabell \"%s\" men det finns inga villkor för indexet \"%s\"." -#: commands/tablecmds.c:20016 +#: commands/tablecmds.c:20030 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "Ett annat index är redan anslutet för partition \"%s\"." -#: commands/tablecmds.c:20252 +#: commands/tablecmds.c:20266 #, c-format msgid "column data type %s does not support compression" msgstr "kolumndatatypen %s stöder inte komprimering" -#: commands/tablecmds.c:20259 +#: commands/tablecmds.c:20273 #, c-format msgid "invalid compression method \"%s\"" msgstr "ogiltig komprimeringsmetod \"%s\"" -#: commands/tablecmds.c:20285 +#: commands/tablecmds.c:20299 #, c-format msgid "invalid storage type \"%s\"" msgstr "ogiltig lagringstyp \"%s\"" -#: commands/tablecmds.c:20295 +#: commands/tablecmds.c:20309 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "kolumndatatyp %s kan bara ha lagringsmetod PLAIN" @@ -12293,8 +12316,8 @@ #: commands/trigger.c:3428 executor/nodeModifyTable.c:1563 #: executor/nodeModifyTable.c:1637 executor/nodeModifyTable.c:2400 -#: executor/nodeModifyTable.c:2491 executor/nodeModifyTable.c:3155 -#: executor/nodeModifyTable.c:3326 +#: executor/nodeModifyTable.c:2491 executor/nodeModifyTable.c:3146 +#: executor/nodeModifyTable.c:3338 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "Överväg att använda en AFTER-trigger istället för en BEFORE-trigger för att propagera ändringar till andra rader." @@ -12308,23 +12331,23 @@ msgstr "kunde inte serialisera åtkomst på grund av samtidig uppdatering" #: commands/trigger.c:3478 executor/nodeModifyTable.c:1669 -#: executor/nodeModifyTable.c:2508 executor/nodeModifyTable.c:2665 -#: executor/nodeModifyTable.c:3173 +#: executor/nodeModifyTable.c:2508 executor/nodeModifyTable.c:2657 +#: executor/nodeModifyTable.c:3164 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "kunde inte serialisera åtkomst på grund av samtidig borttagning" -#: commands/trigger.c:4687 +#: commands/trigger.c:4671 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "kan inte trigga uppskjuten trigger i en säkerhetsbegränsad operation" -#: commands/trigger.c:5868 +#: commands/trigger.c:5889 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "integritetsvillkor \"%s\" är inte \"deferrable\"" -#: commands/trigger.c:5891 +#: commands/trigger.c:5912 #, c-format msgid "constraint \"%s\" does not exist" msgstr "integritetsvillkor \"%s\" existerar inte" @@ -13090,112 +13113,112 @@ msgid "Use CASCADE to revoke them too." msgstr "Använd CASCADE för att återkalla dem med." -#: commands/vacuum.c:135 +#: commands/vacuum.c:136 #, c-format msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" msgstr "\"vacuum_buffer_usage_limit\" måste vara 0 eller mellan %d kB och %d kB" -#: commands/vacuum.c:210 +#: commands/vacuum.c:211 #, c-format msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB" msgstr "flaggan BUFFER_USAGE_LIMIT måste vara 0 eller mellan %d kB och %d kB" -#: commands/vacuum.c:220 +#: commands/vacuum.c:221 #, c-format msgid "unrecognized ANALYZE option \"%s\"" msgstr "okänd ANALYZE-flagga \"%s\"" -#: commands/vacuum.c:260 +#: commands/vacuum.c:261 #, c-format msgid "parallel option requires a value between 0 and %d" msgstr "parallell-flaggan kräver ett värde mellan 0 och %d" -#: commands/vacuum.c:272 +#: commands/vacuum.c:273 #, c-format msgid "parallel workers for vacuum must be between 0 and %d" msgstr "parallella arbetare för vacuum måste vara mellan 0 och %d" -#: commands/vacuum.c:293 +#: commands/vacuum.c:294 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "okänd VACUUM-flagga \"%s\"" -#: commands/vacuum.c:319 +#: commands/vacuum.c:320 #, c-format msgid "VACUUM FULL cannot be performed in parallel" msgstr "'VACUUM FULL kan inte köras parallellt" -#: commands/vacuum.c:330 +#: commands/vacuum.c:331 #, c-format msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL" msgstr "BUFFER_USAGE_LIMIT kan inte anges för VACUUM FULL" -#: commands/vacuum.c:344 +#: commands/vacuum.c:345 #, c-format msgid "ANALYZE option must be specified when a column list is provided" msgstr "ANALYZE-flaggan måste anges när en kolumnlista används" -#: commands/vacuum.c:356 +#: commands/vacuum.c:357 #, c-format msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL" msgstr "VACUUM-flagga DISABLE_PAGE_SKIPPING kan inte anges med FULL" -#: commands/vacuum.c:363 +#: commands/vacuum.c:364 #, c-format msgid "PROCESS_TOAST required with VACUUM FULL" msgstr "PROCESS_TOAST krävs med VACUUM FULL" -#: commands/vacuum.c:372 +#: commands/vacuum.c:373 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables" msgstr "ONLY_DATABASE_STATS kan inte anges med en lista av tabeller" -#: commands/vacuum.c:381 +#: commands/vacuum.c:382 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" msgstr "ONLY_DATABASE_STATS kan inte anges tillsammans med andra VACUUM-flaggor" -#: commands/vacuum.c:516 +#: commands/vacuum.c:517 #, c-format msgid "%s cannot be executed from VACUUM or ANALYZE" msgstr "%s kan inte köras från VACUUM eller ANALYZE" -#: commands/vacuum.c:741 +#: commands/vacuum.c:742 #, c-format msgid "permission denied to vacuum \"%s\", skipping it" msgstr "rättighet saknas för att städa \"%s\", hoppar över det" -#: commands/vacuum.c:754 +#: commands/vacuum.c:755 #, c-format msgid "permission denied to analyze \"%s\", skipping it" msgstr "rättighet saknas för att analysera \"%s\", hoppar över det" -#: commands/vacuum.c:832 commands/vacuum.c:929 +#: commands/vacuum.c:833 commands/vacuum.c:930 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "hoppar över vacuum av \"%s\" --- lås ej tillgängligt" -#: commands/vacuum.c:837 +#: commands/vacuum.c:838 #, c-format msgid "skipping vacuum of \"%s\" --- relation no longer exists" msgstr "hoppar över vacuum av \"%s\" --- relationen finns inte längre" -#: commands/vacuum.c:853 commands/vacuum.c:934 +#: commands/vacuum.c:854 commands/vacuum.c:935 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "hoppar över analys av \"%s\" --- lås ej tillgängligt" -#: commands/vacuum.c:858 +#: commands/vacuum.c:859 #, c-format msgid "skipping analyze of \"%s\" --- relation no longer exists" msgstr "hoppar över analys av \"%s\" --- relationen finns inte längre" -#: commands/vacuum.c:1150 +#: commands/vacuum.c:1151 #, c-format msgid "cutoff for removing and freezing tuples is far in the past" msgstr "gräns för borttagning och frysande av tupler är i dåtid" -#: commands/vacuum.c:1151 commands/vacuum.c:1156 +#: commands/vacuum.c:1152 commands/vacuum.c:1157 #, c-format msgid "" "Close open transactions soon to avoid wraparound problems.\n" @@ -13204,37 +13227,37 @@ "Stäng öppna transaktioner för att undvika problem med wraparound.\n" "Du kan också behöva commit:a eller rulla tillbaka gamla förberedda transaktiooner alternativt slänga stillastående replikeringsslottar." -#: commands/vacuum.c:1155 +#: commands/vacuum.c:1156 #, c-format msgid "cutoff for freezing multixacts is far in the past" msgstr "gräns för frysning av multixact är från dåtid" -#: commands/vacuum.c:1911 +#: commands/vacuum.c:1912 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "några databaser har inte städats (vacuum) på över 2 miljarder transaktioner" -#: commands/vacuum.c:1912 +#: commands/vacuum.c:1913 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "Du kan redan ha fått dataförlust på grund av transaktions-wraparound." -#: commands/vacuum.c:2098 +#: commands/vacuum.c:2105 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "hoppar över \"%s\" --- kan inte köra vacuum på icke-tabeller eller speciella systemtabeller" -#: commands/vacuum.c:2545 +#: commands/vacuum.c:2552 #, c-format msgid "scanned index \"%s\" to remove %lld row versions" msgstr "genomsökte index \"%s\" för att ta bort %lld radversioner" -#: commands/vacuum.c:2564 +#: commands/vacuum.c:2571 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "index \"%s\" innehåller nu %.0f radversioner i %u sidor" -#: commands/vacuum.c:2568 +#: commands/vacuum.c:2575 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -13510,7 +13533,7 @@ msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "Tabellen har typ %s vid position %d, men frågan förväntar sig %s." -#: executor/execExpr.c:1104 parser/parse_agg.c:864 +#: executor/execExpr.c:1104 parser/parse_agg.c:891 #, c-format msgid "window function calls cannot be nested" msgstr "fönsterfunktionanrop kan inte nästlas" @@ -13764,7 +13787,7 @@ msgid "cannot lock rows in materialized view \"%s\"" msgstr "kan inte låsa rader i materialiserad vy \"%s\"" -#: executor/execMain.c:1207 executor/execMain.c:2719 +#: executor/execMain.c:1207 executor/execMain.c:2729 #: executor/nodeLockRows.c:135 #, c-format msgid "cannot lock rows in foreign table \"%s\"" @@ -13775,58 +13798,58 @@ msgid "cannot lock rows in relation \"%s\"" msgstr "kan inte låsa rader i relation \"%s\"" -#: executor/execMain.c:1931 +#: executor/execMain.c:1941 #, c-format msgid "new row for relation \"%s\" violates partition constraint" msgstr "ny rad för relation \"%s\" bryter mot partitionesvillkoret" -#: executor/execMain.c:1933 executor/execMain.c:2017 executor/execMain.c:2068 -#: executor/execMain.c:2178 +#: executor/execMain.c:1943 executor/execMain.c:2027 executor/execMain.c:2078 +#: executor/execMain.c:2188 #, c-format msgid "Failing row contains %s." msgstr "Misslyckande rad innehåller %s." -#: executor/execMain.c:2014 +#: executor/execMain.c:2024 #, c-format msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint" msgstr "null-värde i kolumn \"%s\" i relation \"%s\" bryter mot not-null-villkoret" -#: executor/execMain.c:2066 +#: executor/execMain.c:2076 #, c-format msgid "new row for relation \"%s\" violates check constraint \"%s\"" msgstr "ny rad för relation \"%s\" bryter mot check-villkor \"%s\"" -#: executor/execMain.c:2176 +#: executor/execMain.c:2186 #, c-format msgid "new row violates check option for view \"%s\"" msgstr "ny rad bryter mot check-villkor för vy \"%s\"" -#: executor/execMain.c:2186 +#: executor/execMain.c:2196 #, c-format msgid "new row violates row-level security policy \"%s\" for table \"%s\"" msgstr "ny rad bryter mot radsäkerhetspolicy \"%s\" i tabell \"%s\"" -#: executor/execMain.c:2191 +#: executor/execMain.c:2201 #, c-format msgid "new row violates row-level security policy for table \"%s\"" msgstr "ny rad bryter mot radsäkerhetspolicy i tabell \"%s\"" -#: executor/execMain.c:2199 +#: executor/execMain.c:2209 #, c-format msgid "target row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "målraden bryter mot radsäkerhetspolicyen \"%s\" (USING-uttryck) i tabellen \"%s\"" -#: executor/execMain.c:2204 +#: executor/execMain.c:2214 #, c-format msgid "target row violates row-level security policy (USING expression) for table \"%s\"" msgstr "målraden bryter mot radsäkerhetspolicyn (USING-uttryck) i tabellen \"%s\"" -#: executor/execMain.c:2211 +#: executor/execMain.c:2221 #, c-format msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "ny rad bryter mot radsäkerhetspolicy \"%s\" (USING-uttryck) i tabell \"%s\"" -#: executor/execMain.c:2216 +#: executor/execMain.c:2226 #, c-format msgid "new row violates row-level security policy (USING expression) for table \"%s\"" msgstr "ny rad bryter mot radsäkerhetspolicy (USING-uttryck) i tabell \"%s\"" @@ -14062,7 +14085,7 @@ msgid "aggregate %u needs to have compatible input type and transition type" msgstr "aggregat %u måste ha kompatibel indatatyp och övergångstyp" -#: executor/nodeAgg.c:3966 parser/parse_agg.c:680 parser/parse_agg.c:708 +#: executor/nodeAgg.c:3966 parser/parse_agg.c:687 parser/parse_agg.c:730 #, c-format msgid "aggregate function calls cannot be nested" msgstr "aggregatfunktionsanrop kan inte nästlas" @@ -14143,8 +14166,8 @@ msgstr "Överväg att skapa den främmande nyckeln på tabellen \"%s\"." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2619 executor/nodeModifyTable.c:3161 -#: executor/nodeModifyTable.c:3332 +#: executor/nodeModifyTable.c:2619 executor/nodeModifyTable.c:3152 +#: executor/nodeModifyTable.c:3344 #, c-format msgid "%s command cannot affect row a second time" msgstr "%s-kommandot kan inte påverka raden en andra gång" @@ -14154,17 +14177,17 @@ msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "Säkerställ att inga rader föreslagna för \"insert\" inom samma kommando har upprepade villkorsvärden." -#: executor/nodeModifyTable.c:3154 executor/nodeModifyTable.c:3325 +#: executor/nodeModifyTable.c:3145 executor/nodeModifyTable.c:3337 #, c-format msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" msgstr "tupel som skall uppdateras eller raderas hade redan ändrats av en operation som triggats av aktuellt kommando" -#: executor/nodeModifyTable.c:3163 executor/nodeModifyTable.c:3334 +#: executor/nodeModifyTable.c:3154 executor/nodeModifyTable.c:3346 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "Säkerställ att inte mer än en källrad matchar någon målrad." -#: executor/nodeModifyTable.c:3232 +#: executor/nodeModifyTable.c:3223 #, c-format msgid "tuple to be merged was already moved to another partition due to concurrent update" msgstr "tupel som skall slås samman har redan flyttats till en annan partition på grund av samtidig update" @@ -14286,7 +14309,7 @@ msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE stöds inte" -#: executor/spi.c:1719 parser/analyze.c:2928 +#: executor/spi.c:1719 parser/analyze.c:2929 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Scrollbara markörer måste vara READ ONLY." @@ -16800,7 +16823,7 @@ #: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2604 #: parser/parse_coerce.c:2742 parser/parse_coerce.c:2789 -#: parser/parse_expr.c:2120 parser/parse_func.c:710 parser/parse_oper.c:869 +#: parser/parse_expr.c:2121 parser/parse_func.c:710 parser/parse_oper.c:869 #: utils/fmgr/funcapi.c:669 #, c-format msgid "could not find array type for data type %s" @@ -16822,7 +16845,7 @@ msgstr "FULL JOIN stöds bara med villkor som är merge-joinbara eller hash-joinbara" #: optimizer/plan/createplan.c:7177 parser/parse_merge.c:203 -#: rewrite/rewriteHandler.c:1680 +#: rewrite/rewriteHandler.c:1683 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "kan inte utföra MERGE på relation \"%s\"" @@ -16835,7 +16858,7 @@ #. translator: %s is a SQL row locking clause such as FOR UPDATE #: optimizer/plan/planner.c:1413 parser/analyze.c:1771 parser/analyze.c:2029 -#: parser/analyze.c:3247 +#: parser/analyze.c:3248 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s tillåts inte med UNION/INTERSECT/EXCEPT" @@ -16856,22 +16879,22 @@ msgid "could not implement DISTINCT" msgstr "kunde inte implementera DISTINCT" -#: optimizer/plan/planner.c:6210 +#: optimizer/plan/planner.c:6245 #, c-format msgid "could not implement window PARTITION BY" msgstr "kunde inte implementera fönster-PARTITION BY" -#: optimizer/plan/planner.c:6211 +#: optimizer/plan/planner.c:6246 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "Fönsterpartitioneringskolumner måsta ha en sorterbar datatyp." -#: optimizer/plan/planner.c:6215 +#: optimizer/plan/planner.c:6250 #, c-format msgid "could not implement window ORDER BY" msgstr "kunde inte implementera fönster-ORDER BY" -#: optimizer/plan/planner.c:6216 +#: optimizer/plan/planner.c:6251 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "Fönsterordningskolumner måste ha en sorterbar datatyp." @@ -16892,7 +16915,7 @@ msgid "could not implement %s" msgstr "kunde inte implementera %s" -#: optimizer/util/clauses.c:4965 +#: optimizer/util/clauses.c:4962 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "SQL-funktion \"%s\" vid inline:ing" @@ -16902,22 +16925,22 @@ msgid "cannot access temporary or unlogged relations during recovery" msgstr "kan inte accessa temporära eller ologgade relationer under återställning" -#: optimizer/util/plancat.c:768 +#: optimizer/util/plancat.c:773 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "inferens av unikt index för hel rad stöds inte" -#: optimizer/util/plancat.c:785 +#: optimizer/util/plancat.c:790 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "villkor för ON CONFLICT-klausul har inget associerat index" -#: optimizer/util/plancat.c:835 +#: optimizer/util/plancat.c:840 #, c-format msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" msgstr "ON CONFLICT DO UPDATE stöds inte med uteslutningsvillkor" -#: optimizer/util/plancat.c:945 +#: optimizer/util/plancat.c:950 #, c-format msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "finns inget unik eller uteslutningsvillkor som matchar ON CONFLICT-specifikationen" @@ -16948,7 +16971,7 @@ msgstr "SELECT ... INTO tillåts inte här" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:1673 parser/analyze.c:3479 +#: parser/analyze.c:1673 parser/analyze.c:3480 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s kan inte appliceras på VÄRDEN" @@ -17006,467 +17029,477 @@ msgstr "variabeln \"%s\" har typ %s men uttrycket har typ %s" #. translator: %s is a SQL keyword -#: parser/analyze.c:2878 parser/analyze.c:2886 +#: parser/analyze.c:2879 parser/analyze.c:2887 #, c-format msgid "cannot specify both %s and %s" msgstr "kan inte ange både %s och %s" -#: parser/analyze.c:2906 +#: parser/analyze.c:2907 #, c-format msgid "DECLARE CURSOR must not contain data-modifying statements in WITH" msgstr "DECLARE CURSOR får inte innehålla datamodifierande satser i WITH" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2914 +#: parser/analyze.c:2915 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s stöds inte" -#: parser/analyze.c:2917 +#: parser/analyze.c:2918 #, c-format msgid "Holdable cursors must be READ ONLY." msgstr "Hållbara markörer måste vara READ ONLY." #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2925 +#: parser/analyze.c:2926 #, c-format msgid "DECLARE SCROLL CURSOR ... %s is not supported" msgstr "DECLARE SCROLL CURSOR ... %s stöds inte" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2936 +#: parser/analyze.c:2937 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s är inte giltig" -#: parser/analyze.c:2939 +#: parser/analyze.c:2940 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Okänsliga markörer måste vara READ ONLY." -#: parser/analyze.c:3033 +#: parser/analyze.c:3034 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "materialiserade vyer får inte innehålla datamodifierande satser i WITH" -#: parser/analyze.c:3043 +#: parser/analyze.c:3044 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "materialiserade vyer får inte använda temporära tabeller eller vyer" -#: parser/analyze.c:3053 +#: parser/analyze.c:3054 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "materialiserade vyer kan inte defineras med bundna parametrar" -#: parser/analyze.c:3065 +#: parser/analyze.c:3066 #, c-format msgid "materialized views cannot be unlogged" msgstr "materialiserad vyer kan inte vara ologgade" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3254 +#: parser/analyze.c:3255 #, c-format msgid "%s is not allowed with DISTINCT clause" msgstr "%s tillåts inte med DISTINCT-klausul" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3261 +#: parser/analyze.c:3262 #, c-format msgid "%s is not allowed with GROUP BY clause" msgstr "%s tillåts inte med GROUP BY-klausul" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3268 +#: parser/analyze.c:3269 #, c-format msgid "%s is not allowed with HAVING clause" msgstr "%s tillåts inte med HAVING-klausul" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3275 +#: parser/analyze.c:3276 #, c-format msgid "%s is not allowed with aggregate functions" msgstr "%s tillåts inte med aggregatfunktioner" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3282 +#: parser/analyze.c:3283 #, c-format msgid "%s is not allowed with window functions" msgstr "%s tillåts inte med fönsterfunktioner" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3289 +#: parser/analyze.c:3290 #, c-format msgid "%s is not allowed with set-returning functions in the target list" msgstr "%s tillåts inte med mängdreturnerande funktioner i mållistan" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3388 +#: parser/analyze.c:3389 #, c-format msgid "%s must specify unqualified relation names" msgstr "%s: måste ange okvalificerade relationsnamn" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3452 +#: parser/analyze.c:3453 #, c-format msgid "%s cannot be applied to a join" msgstr "%s kan inte appliceras på en join" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3461 +#: parser/analyze.c:3462 #, c-format msgid "%s cannot be applied to a function" msgstr "%s kan inte appliceras på en funktion" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3470 +#: parser/analyze.c:3471 #, c-format msgid "%s cannot be applied to a table function" msgstr "%s kan inte appliceras på tabellfunktion" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3488 +#: parser/analyze.c:3489 #, c-format msgid "%s cannot be applied to a WITH query" msgstr "%s kan inte appliceras på en WITH-fråga" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3497 +#: parser/analyze.c:3498 #, c-format msgid "%s cannot be applied to a named tuplestore" msgstr "%s kan inte appliceras på en namngiven tupellagring" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3517 +#: parser/analyze.c:3518 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "relationen \"%s\" i %s-klausul hittades inte i FROM-klausul" -#: parser/parse_agg.c:210 parser/parse_oper.c:215 +#: parser/parse_agg.c:213 parser/parse_oper.c:215 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "kunde inte hitta en ordningsoperator för typ %s" -#: parser/parse_agg.c:212 +#: parser/parse_agg.c:215 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "Aggregat med DISTINCT måste kunna sortera sina indata." -#: parser/parse_agg.c:270 +#: parser/parse_agg.c:273 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "GROUPING måste ha färre än 32 argument" -#: parser/parse_agg.c:373 +#: parser/parse_agg.c:377 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "aggregatfunktioner tillåts inte i JOIN-villkor" -#: parser/parse_agg.c:375 +#: parser/parse_agg.c:379 msgid "grouping operations are not allowed in JOIN conditions" msgstr "gruppoperationer tillåts inte i JOIN-villkor" -#: parser/parse_agg.c:385 +#: parser/parse_agg.c:389 msgid "aggregate functions are not allowed in FROM clause of their own query level" msgstr "aggregatfunktioner tillåts inte i FROM-klausul på sin egen frågenivå" -#: parser/parse_agg.c:387 +#: parser/parse_agg.c:391 msgid "grouping operations are not allowed in FROM clause of their own query level" msgstr "gruppoperationer tillåts inte i FROM-klausul på sin egen frågenivå" -#: parser/parse_agg.c:392 +#: parser/parse_agg.c:396 msgid "aggregate functions are not allowed in functions in FROM" msgstr "aggregatfunktioner tillåts inte i funktioner i FROM" -#: parser/parse_agg.c:394 +#: parser/parse_agg.c:398 msgid "grouping operations are not allowed in functions in FROM" msgstr "gruppoperationer tillåts inte i funktioner i FROM" -#: parser/parse_agg.c:402 +#: parser/parse_agg.c:406 msgid "aggregate functions are not allowed in policy expressions" msgstr "aggregatfunktioner tillåts inte i policyuttryck" -#: parser/parse_agg.c:404 +#: parser/parse_agg.c:408 msgid "grouping operations are not allowed in policy expressions" msgstr "gruppoperationer tillåts inte i policyuttryck" -#: parser/parse_agg.c:421 +#: parser/parse_agg.c:425 msgid "aggregate functions are not allowed in window RANGE" msgstr "aggregatfunktioner tillåts inte i fönster-RANGE" -#: parser/parse_agg.c:423 +#: parser/parse_agg.c:427 msgid "grouping operations are not allowed in window RANGE" msgstr "grupperingsoperationer tillåts inte i fönster-RANGE" -#: parser/parse_agg.c:428 +#: parser/parse_agg.c:432 msgid "aggregate functions are not allowed in window ROWS" msgstr "aggregatfunktioner tillåts inte i fönster-RADER" -#: parser/parse_agg.c:430 +#: parser/parse_agg.c:434 msgid "grouping operations are not allowed in window ROWS" msgstr "grupperingsfunktioner tillåts inte i fönster-RADER" -#: parser/parse_agg.c:435 +#: parser/parse_agg.c:439 msgid "aggregate functions are not allowed in window GROUPS" msgstr "aggregatfunktioner tillåts inte i fönster-GROUPS" -#: parser/parse_agg.c:437 +#: parser/parse_agg.c:441 msgid "grouping operations are not allowed in window GROUPS" msgstr "grupperingsfunktioner tillåts inte i fönster-GROUPS" -#: parser/parse_agg.c:450 +#: parser/parse_agg.c:454 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "aggregatfunktioner tillåts inte i MERGE WHEN-villkor" -#: parser/parse_agg.c:452 +#: parser/parse_agg.c:456 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "gruppoperationer tillåts inte i MERGE WHEN-villkor" -#: parser/parse_agg.c:479 +#: parser/parse_agg.c:483 msgid "aggregate functions are not allowed in check constraints" msgstr "aggregatfunktioner tillåts inte i check-villkor" -#: parser/parse_agg.c:481 +#: parser/parse_agg.c:485 msgid "grouping operations are not allowed in check constraints" msgstr "gruppoperationer tillåts inte i check-villkor" -#: parser/parse_agg.c:488 +#: parser/parse_agg.c:492 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "aggregatfunktioner tillåts inte i DEFAULT-uttryck" -#: parser/parse_agg.c:490 +#: parser/parse_agg.c:494 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "grupperingsoperationer tillåts inte i DEFAULT-uttryck" -#: parser/parse_agg.c:495 +#: parser/parse_agg.c:499 msgid "aggregate functions are not allowed in index expressions" msgstr "aggregatfunktioner tillåts inte i indexuttryck" -#: parser/parse_agg.c:497 +#: parser/parse_agg.c:501 msgid "grouping operations are not allowed in index expressions" msgstr "gruppoperationer tillåts inte i indexuttryck" -#: parser/parse_agg.c:502 +#: parser/parse_agg.c:506 msgid "aggregate functions are not allowed in index predicates" msgstr "aggregatfunktionsanrop tillåts inte i indexpredikat" -#: parser/parse_agg.c:504 +#: parser/parse_agg.c:508 msgid "grouping operations are not allowed in index predicates" msgstr "gruppoperationer tillåts inte i indexpredikat" -#: parser/parse_agg.c:509 +#: parser/parse_agg.c:513 msgid "aggregate functions are not allowed in statistics expressions" msgstr "aggregatfunktioner tillåts inte i statistikuttryck" -#: parser/parse_agg.c:511 +#: parser/parse_agg.c:515 msgid "grouping operations are not allowed in statistics expressions" msgstr "gruppoperationer tillåts inte i statistikuttryck" -#: parser/parse_agg.c:516 +#: parser/parse_agg.c:520 msgid "aggregate functions are not allowed in transform expressions" msgstr "aggregatfunktioner tillåts inte i transform-uttryck" -#: parser/parse_agg.c:518 +#: parser/parse_agg.c:522 msgid "grouping operations are not allowed in transform expressions" msgstr "gruppoperationer tillåts inte i transforme-uttryck" -#: parser/parse_agg.c:523 +#: parser/parse_agg.c:527 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "aggregatfunktioner tillåts inte i EXECUTE-parametrar" -#: parser/parse_agg.c:525 +#: parser/parse_agg.c:529 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "gruppoperationer tillåts inte i EXECUTE-parametrar" -#: parser/parse_agg.c:530 +#: parser/parse_agg.c:534 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "aggregatfunktioner tillåts inte i WHEN-villkor" -#: parser/parse_agg.c:532 +#: parser/parse_agg.c:536 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "gruppoperationer tillåts inte i WHEN-villkor" -#: parser/parse_agg.c:537 +#: parser/parse_agg.c:541 msgid "aggregate functions are not allowed in partition bound" msgstr "aggregatfunktioner tillåts inte i partitionsgräns" -#: parser/parse_agg.c:539 +#: parser/parse_agg.c:543 msgid "grouping operations are not allowed in partition bound" msgstr "gruppoperationer tillåts inte i partitionsgräns" -#: parser/parse_agg.c:544 +#: parser/parse_agg.c:548 msgid "aggregate functions are not allowed in partition key expressions" msgstr "aggregatfunktioner tillåts inte i partitionsnyckeluttryck" -#: parser/parse_agg.c:546 +#: parser/parse_agg.c:550 msgid "grouping operations are not allowed in partition key expressions" msgstr "gruppoperationer tillåts inte i partitionsnyckeluttryck" -#: parser/parse_agg.c:552 +#: parser/parse_agg.c:556 msgid "aggregate functions are not allowed in column generation expressions" msgstr "aggregatfunktioner tillåts inte i kolumngenereringsuttryck" -#: parser/parse_agg.c:554 +#: parser/parse_agg.c:558 msgid "grouping operations are not allowed in column generation expressions" msgstr "gruppoperationer tillåts inte i kolumngenereringsuttryck" -#: parser/parse_agg.c:560 +#: parser/parse_agg.c:564 msgid "aggregate functions are not allowed in CALL arguments" msgstr "aggregatfunktioner tillåts inte i CALL-argument" -#: parser/parse_agg.c:562 +#: parser/parse_agg.c:566 msgid "grouping operations are not allowed in CALL arguments" msgstr "gruppoperationer tillåts inte i CALL-argument" -#: parser/parse_agg.c:568 +#: parser/parse_agg.c:572 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" msgstr "aggregatfunktioner tillåts inte i COPY FROM WHERE-villkor" -#: parser/parse_agg.c:570 +#: parser/parse_agg.c:574 msgid "grouping operations are not allowed in COPY FROM WHERE conditions" msgstr "gruppoperationer tillåts inte i COPY FROM WHERE-villkor" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:597 parser/parse_clause.c:1962 +#: parser/parse_agg.c:601 parser/parse_clause.c:1962 #, c-format msgid "aggregate functions are not allowed in %s" msgstr "aggregatfunktioner tillåts inte i %s" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:600 +#: parser/parse_agg.c:604 #, c-format msgid "grouping operations are not allowed in %s" msgstr "gruppoperationer tillåts inte i %s" -#: parser/parse_agg.c:701 +#: parser/parse_agg.c:700 parser/parse_agg.c:737 +#, c-format +msgid "outer-level aggregate cannot use a nested CTE" +msgstr "aggregat på yttre nivå kan inte använda en nästlad CTE" + +#: parser/parse_agg.c:701 parser/parse_agg.c:738 +#, c-format +msgid "CTE \"%s\" is below the aggregate's semantic level." +msgstr "CTE \"%s\" är under aggregatets semantiska nivå." + +#: parser/parse_agg.c:723 #, c-format msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments" msgstr "yttre aggregat kan inte innehålla inre variabel i sitt direkta argument" -#: parser/parse_agg.c:779 +#: parser/parse_agg.c:808 #, c-format msgid "aggregate function calls cannot contain set-returning function calls" msgstr "aggregatfunktionsanrop kan inte innehålla mängdreturnerande funktionsanrop" -#: parser/parse_agg.c:780 parser/parse_expr.c:1762 parser/parse_expr.c:2253 +#: parser/parse_agg.c:809 parser/parse_expr.c:1763 parser/parse_expr.c:2254 #: parser/parse_func.c:885 #, c-format msgid "You might be able to move the set-returning function into a LATERAL FROM item." msgstr "Du kanske kan flytta den mängdreturnerande funktionen in i en LATERAL FROM-konstruktion." -#: parser/parse_agg.c:785 +#: parser/parse_agg.c:814 #, c-format msgid "aggregate function calls cannot contain window function calls" msgstr "aggregatfunktionsanrop kan inte innehålla fönsterfunktionanrop" -#: parser/parse_agg.c:890 +#: parser/parse_agg.c:917 msgid "window functions are not allowed in JOIN conditions" msgstr "fönsterfunktioner tillåts inte i JOIN-villkor" -#: parser/parse_agg.c:897 +#: parser/parse_agg.c:924 msgid "window functions are not allowed in functions in FROM" msgstr "fönsterfunktioner tillåts inte i funktioner i FROM" -#: parser/parse_agg.c:903 +#: parser/parse_agg.c:930 msgid "window functions are not allowed in policy expressions" msgstr "fönsterfunktioner tillåts inte i policy-uttryck" -#: parser/parse_agg.c:916 +#: parser/parse_agg.c:943 msgid "window functions are not allowed in window definitions" msgstr "fönsterfunktioner tillåts inte i fönsterdefinitioner" -#: parser/parse_agg.c:927 +#: parser/parse_agg.c:954 msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "fönsterfunktioner tillåts inte i MERGE WHEN-villkor" -#: parser/parse_agg.c:952 +#: parser/parse_agg.c:979 msgid "window functions are not allowed in check constraints" msgstr "fönsterfunktioner tillåts inte i check-villkor" -#: parser/parse_agg.c:956 +#: parser/parse_agg.c:983 msgid "window functions are not allowed in DEFAULT expressions" msgstr "fönsterfunktioner tillåts inte i DEFAULT-uttryck" -#: parser/parse_agg.c:959 +#: parser/parse_agg.c:986 msgid "window functions are not allowed in index expressions" msgstr "fönsterfunktioner tillåts inte i indexuttryck" -#: parser/parse_agg.c:962 +#: parser/parse_agg.c:989 msgid "window functions are not allowed in statistics expressions" msgstr "fönsterfunktioner tillåts inte i statistikuttryck" -#: parser/parse_agg.c:965 +#: parser/parse_agg.c:992 msgid "window functions are not allowed in index predicates" msgstr "fönsterfunktioner tillåts inte i indexpredikat" -#: parser/parse_agg.c:968 +#: parser/parse_agg.c:995 msgid "window functions are not allowed in transform expressions" msgstr "fönsterfunktioner tillåts inte i transform-uttrycket" -#: parser/parse_agg.c:971 +#: parser/parse_agg.c:998 msgid "window functions are not allowed in EXECUTE parameters" msgstr "fönsterfunktioner tillåts inte i EXECUTE-parametrar" -#: parser/parse_agg.c:974 +#: parser/parse_agg.c:1001 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "fönsterfunktioner tillåts inte i WHEN-villkor" -#: parser/parse_agg.c:977 +#: parser/parse_agg.c:1004 msgid "window functions are not allowed in partition bound" msgstr "fönsterfunktioner tillåts inte i partitiongräns" -#: parser/parse_agg.c:980 +#: parser/parse_agg.c:1007 msgid "window functions are not allowed in partition key expressions" msgstr "fönsterfunktioner tillåts inte i partitionsnyckeluttryck" -#: parser/parse_agg.c:983 +#: parser/parse_agg.c:1010 msgid "window functions are not allowed in CALL arguments" msgstr "fönsterfunktioner tillåts inte i CALL-argument" -#: parser/parse_agg.c:986 +#: parser/parse_agg.c:1013 msgid "window functions are not allowed in COPY FROM WHERE conditions" msgstr "fönsterfunktioner tillåts inte i COPY FROM WHERE-villkor" -#: parser/parse_agg.c:989 +#: parser/parse_agg.c:1016 msgid "window functions are not allowed in column generation expressions" msgstr "fönsterfunktioner tillåts inte i kolumngenereringsuttryck" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:1012 parser/parse_clause.c:1971 +#: parser/parse_agg.c:1039 parser/parse_clause.c:1971 #, c-format msgid "window functions are not allowed in %s" msgstr "fönsterfunktioner tillåts inte i %s" -#: parser/parse_agg.c:1046 parser/parse_clause.c:2804 +#: parser/parse_agg.c:1073 parser/parse_clause.c:2804 #, c-format msgid "window \"%s\" does not exist" msgstr "fönster \"%s\" finns inte" -#: parser/parse_agg.c:1134 +#: parser/parse_agg.c:1161 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "för många grupperingsmängder (maximalt 4096)" -#: parser/parse_agg.c:1274 +#: parser/parse_agg.c:1301 #, c-format msgid "aggregate functions are not allowed in a recursive query's recursive term" msgstr "aggregatfunktioner tillåts inte i en rekursiv frågas rekursiva term" -#: parser/parse_agg.c:1467 +#: parser/parse_agg.c:1494 #, c-format msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function" msgstr "kolumn \"%s.%s\" måste stå med i GROUP BY-klausulen eller användas i en aggregatfunktion" -#: parser/parse_agg.c:1470 +#: parser/parse_agg.c:1497 #, c-format msgid "Direct arguments of an ordered-set aggregate must use only grouped columns." msgstr "Direkta argument till en sorterad-mängd-aggregat får bara använda grupperade kolumner." -#: parser/parse_agg.c:1475 +#: parser/parse_agg.c:1502 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "underfråga använder ogrupperad kolumn \"%s.%s\" från yttre fråga" -#: parser/parse_agg.c:1639 +#: parser/parse_agg.c:1666 #, c-format msgid "arguments to GROUPING must be grouping expressions of the associated query level" msgstr "argument till GROUPING måste vare grupputtryck på den tillhörande frågenivån" @@ -17744,8 +17777,8 @@ #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2154 parser/parse_expr.c:2762 parser/parse_expr.c:3413 -#: parser/parse_expr.c:3642 parser/parse_target.c:998 +#: parser/parse_expr.c:2155 parser/parse_expr.c:2763 parser/parse_expr.c:3414 +#: parser/parse_expr.c:3643 parser/parse_target.c:998 #, c-format msgid "cannot cast type %s to %s" msgstr "kan inte omvandla typ %s till %s" @@ -18085,326 +18118,326 @@ msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "rekursiv referens till fråga \"%s\" får inte finnas med mer än en gång" -#: parser/parse_expr.c:313 +#: parser/parse_expr.c:314 #, c-format msgid "DEFAULT is not allowed in this context" msgstr "DEFAULT tillåts inte i detta kontext" -#: parser/parse_expr.c:406 parser/parse_relation.c:3691 +#: parser/parse_expr.c:407 parser/parse_relation.c:3691 #: parser/parse_relation.c:3701 parser/parse_relation.c:3719 #: parser/parse_relation.c:3726 parser/parse_relation.c:3740 #, c-format msgid "column %s.%s does not exist" msgstr "kolumnen %s.%s finns inte" -#: parser/parse_expr.c:418 +#: parser/parse_expr.c:419 #, c-format msgid "column \"%s\" not found in data type %s" msgstr "kolumn \"%s\" fanns inte i datatypen %s" -#: parser/parse_expr.c:424 +#: parser/parse_expr.c:425 #, c-format msgid "could not identify column \"%s\" in record data type" msgstr "kunde inte hitta kolumnen \"%s\" i record-datatyp" -#: parser/parse_expr.c:430 +#: parser/parse_expr.c:431 #, c-format msgid "column notation .%s applied to type %s, which is not a composite type" msgstr "kolumnotation .%s använd på typ %s som inte är en sammanslagen typ" -#: parser/parse_expr.c:461 parser/parse_target.c:732 +#: parser/parse_expr.c:462 parser/parse_target.c:732 #, c-format msgid "row expansion via \"*\" is not supported here" msgstr "radexpansion via \"*\" stöds inte här" -#: parser/parse_expr.c:584 +#: parser/parse_expr.c:585 msgid "cannot use column reference in DEFAULT expression" msgstr "kan inte använda kolumnreferenser i DEFAULT-uttryck" -#: parser/parse_expr.c:587 +#: parser/parse_expr.c:588 msgid "cannot use column reference in partition bound expression" msgstr "kan inte använda kolumnreferenser i partitionsgränsuttryck" -#: parser/parse_expr.c:846 parser/parse_relation.c:833 +#: parser/parse_expr.c:847 parser/parse_relation.c:833 #: parser/parse_relation.c:915 parser/parse_target.c:1238 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "kolumnreferens \"%s\" är tvetydig" -#: parser/parse_expr.c:902 parser/parse_param.c:110 parser/parse_param.c:142 +#: parser/parse_expr.c:903 parser/parse_param.c:110 parser/parse_param.c:142 #: parser/parse_param.c:204 parser/parse_param.c:303 #, c-format msgid "there is no parameter $%d" msgstr "det finns ingen parameter $%d" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1103 parser/parse_expr.c:3073 +#: parser/parse_expr.c:1104 parser/parse_expr.c:3074 #, c-format msgid "%s requires = operator to yield boolean" msgstr "%s kräver att operatorn = returnerar boolean" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1109 parser/parse_expr.c:3080 +#: parser/parse_expr.c:1110 parser/parse_expr.c:3081 #, c-format msgid "%s must not return a set" msgstr "%s får inte returnera en mängd" -#: parser/parse_expr.c:1395 +#: parser/parse_expr.c:1396 #, c-format msgid "MERGE_ACTION() can only be used in the RETURNING list of a MERGE command" msgstr "MERGE_ACTION() kan bara användas i RETURNING-listan för ett MERGE-kommando" -#: parser/parse_expr.c:1519 parser/parse_expr.c:1551 +#: parser/parse_expr.c:1520 parser/parse_expr.c:1552 #, c-format msgid "number of columns does not match number of values" msgstr "antalet kolumner matchar inte antalet värden" -#: parser/parse_expr.c:1565 +#: parser/parse_expr.c:1566 #, c-format msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression" msgstr "källa till en multiple-kolumn-UPDATE-post måste vara en sub-SELECT eller ROW()-uttryck" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_expr.c:1760 parser/parse_expr.c:2251 parser/parse_func.c:2679 +#: parser/parse_expr.c:1761 parser/parse_expr.c:2252 parser/parse_func.c:2679 #, c-format msgid "set-returning functions are not allowed in %s" msgstr "mängdreturnerande funktioner tillåts inte i %s" -#: parser/parse_expr.c:1824 +#: parser/parse_expr.c:1825 msgid "cannot use subquery in check constraint" msgstr "kan inte använda subfråga i check-villkor" -#: parser/parse_expr.c:1828 +#: parser/parse_expr.c:1829 msgid "cannot use subquery in DEFAULT expression" msgstr "kan inte använda underfråga i DEFAULT-uttryck" -#: parser/parse_expr.c:1831 +#: parser/parse_expr.c:1832 msgid "cannot use subquery in index expression" msgstr "kan inte använda subfråga i indexuttryck" -#: parser/parse_expr.c:1834 +#: parser/parse_expr.c:1835 msgid "cannot use subquery in index predicate" msgstr "kan inte använda subfråga i indexpredikat" -#: parser/parse_expr.c:1837 +#: parser/parse_expr.c:1838 msgid "cannot use subquery in statistics expression" msgstr "kan inte använda underfråga i statistikuttryck" -#: parser/parse_expr.c:1840 +#: parser/parse_expr.c:1841 msgid "cannot use subquery in transform expression" msgstr "kan inte använda underfråga i transformeringsuttrycket" -#: parser/parse_expr.c:1843 +#: parser/parse_expr.c:1844 msgid "cannot use subquery in EXECUTE parameter" msgstr "kan inte använda subfråga i EXECUTE-parameter" -#: parser/parse_expr.c:1846 +#: parser/parse_expr.c:1847 msgid "cannot use subquery in trigger WHEN condition" msgstr "kan inte använda subfråga i triggerns WHEN-villkor" -#: parser/parse_expr.c:1849 +#: parser/parse_expr.c:1850 msgid "cannot use subquery in partition bound" msgstr "kan inte använda underfråga i partitionsgräns" -#: parser/parse_expr.c:1852 +#: parser/parse_expr.c:1853 msgid "cannot use subquery in partition key expression" msgstr "kan inte använda underfråga i partitionsnyckeluttryck" -#: parser/parse_expr.c:1855 +#: parser/parse_expr.c:1856 msgid "cannot use subquery in CALL argument" msgstr "kan inte använda subfråga i CALL-argument" -#: parser/parse_expr.c:1858 +#: parser/parse_expr.c:1859 msgid "cannot use subquery in COPY FROM WHERE condition" msgstr "kan inte använda subfråga i COPY FROM WHERE-villkor" -#: parser/parse_expr.c:1861 +#: parser/parse_expr.c:1862 msgid "cannot use subquery in column generation expression" msgstr "kan inte använda subfråga i kolumngenereringsuttryck" -#: parser/parse_expr.c:1914 parser/parse_expr.c:3772 +#: parser/parse_expr.c:1915 parser/parse_expr.c:3773 #, c-format msgid "subquery must return only one column" msgstr "underfråga kan bara returnera en kolumn" -#: parser/parse_expr.c:1985 +#: parser/parse_expr.c:1986 #, c-format msgid "subquery has too many columns" msgstr "underfråga har för många kolumner" -#: parser/parse_expr.c:1990 +#: parser/parse_expr.c:1991 #, c-format msgid "subquery has too few columns" msgstr "underfråga har för få kolumner" -#: parser/parse_expr.c:2094 +#: parser/parse_expr.c:2095 #, c-format msgid "cannot determine type of empty array" msgstr "kan inte bestämma typen av en tom array" -#: parser/parse_expr.c:2095 +#: parser/parse_expr.c:2096 #, c-format msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." msgstr "Typomvandla explicit till den önskade typen, till exempel ARRAY[]::integer[]." -#: parser/parse_expr.c:2109 +#: parser/parse_expr.c:2110 #, c-format msgid "could not find element type for data type %s" msgstr "kunde inte hitta elementtyp för datatyp %s" -#: parser/parse_expr.c:2192 +#: parser/parse_expr.c:2193 #, c-format msgid "ROW expressions can have at most %d entries" msgstr "ROW-uttryck kan ha som mest %d poster" -#: parser/parse_expr.c:2397 +#: parser/parse_expr.c:2398 #, c-format msgid "unnamed XML attribute value must be a column reference" msgstr "onamnat XML-attributvärde måste vara en kolumnreferens" -#: parser/parse_expr.c:2398 +#: parser/parse_expr.c:2399 #, c-format msgid "unnamed XML element value must be a column reference" msgstr "onamnat XML-elementvärde måste vara en kolumnreferens" -#: parser/parse_expr.c:2413 +#: parser/parse_expr.c:2414 #, c-format msgid "XML attribute name \"%s\" appears more than once" msgstr "XML-attributnamn \"%s\" finns med mer än en gång" -#: parser/parse_expr.c:2521 +#: parser/parse_expr.c:2522 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "kan inte typomvandla XMLSERIALIZE-resultat till %s" -#: parser/parse_expr.c:2835 parser/parse_expr.c:3031 +#: parser/parse_expr.c:2836 parser/parse_expr.c:3032 #, c-format msgid "unequal number of entries in row expressions" msgstr "olika antal element i raduttryck" -#: parser/parse_expr.c:2845 +#: parser/parse_expr.c:2846 #, c-format msgid "cannot compare rows of zero length" msgstr "kan inte jämföra rader med längden noll" -#: parser/parse_expr.c:2870 +#: parser/parse_expr.c:2871 #, c-format msgid "row comparison operator must yield type boolean, not type %s" msgstr "operator för radjämförelse måste resultera i typen boolean, inte %s" -#: parser/parse_expr.c:2877 +#: parser/parse_expr.c:2878 #, c-format msgid "row comparison operator must not return a set" msgstr "radjämförelseoperator får inte returnera en mängd" -#: parser/parse_expr.c:2936 parser/parse_expr.c:2977 +#: parser/parse_expr.c:2937 parser/parse_expr.c:2978 #, c-format msgid "could not determine interpretation of row comparison operator %s" msgstr "kunde inte lista ut tolkning av radjämförelseoperator %s" -#: parser/parse_expr.c:2938 +#: parser/parse_expr.c:2939 #, c-format msgid "Row comparison operators must be associated with btree operator families." msgstr "Radjämförelseoperatorer måste vara associerade med btreee-operatorfamiljer." -#: parser/parse_expr.c:2979 +#: parser/parse_expr.c:2980 #, c-format msgid "There are multiple equally-plausible candidates." msgstr "Det finns flera lika sannolika kandidater." -#: parser/parse_expr.c:3314 +#: parser/parse_expr.c:3315 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" msgstr "JSON ENCODING tillåts bara för input-typen bytea" -#: parser/parse_expr.c:3378 +#: parser/parse_expr.c:3379 #, c-format msgid "cannot use non-string types with implicit FORMAT JSON clause" msgstr "kan inte använda icke-strängtyper med implicit FORMAT JSON-klausul" -#: parser/parse_expr.c:3379 +#: parser/parse_expr.c:3380 #, c-format msgid "cannot use non-string types with explicit FORMAT JSON clause" msgstr "kan inte använda icke-strängtyper med explicit FORMAT JSON-klausul" -#: parser/parse_expr.c:3468 +#: parser/parse_expr.c:3469 #, c-format msgid "cannot use JSON format with non-string output types" msgstr "kan inte använda JSON-formatet för utddata som inte är strängar" -#: parser/parse_expr.c:3481 +#: parser/parse_expr.c:3482 #, c-format msgid "cannot set JSON encoding for non-bytea output types" msgstr "kan inte sätta JSON-kodning för utdata-typer som inte är bytea" -#: parser/parse_expr.c:3486 +#: parser/parse_expr.c:3487 #, c-format msgid "unsupported JSON encoding" msgstr "ej stödd JSON-kodning" -#: parser/parse_expr.c:3487 +#: parser/parse_expr.c:3488 #, c-format msgid "Only UTF8 JSON encoding is supported." msgstr "Enbart JSON-kodningen UTF8 stöds." -#: parser/parse_expr.c:3524 +#: parser/parse_expr.c:3525 #, c-format msgid "returning SETOF types is not supported in SQL/JSON functions" msgstr "returtyp SETOF stöds inte för SQL/JSON-funktioner" -#: parser/parse_expr.c:3529 +#: parser/parse_expr.c:3530 #, c-format msgid "returning pseudo-types is not supported in SQL/JSON functions" msgstr "pseudo-typer stöds inte som resultat för SQL/JSON-funktioner" -#: parser/parse_expr.c:3857 parser/parse_func.c:866 +#: parser/parse_expr.c:3858 parser/parse_func.c:866 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "aggregat-ORDER BY är inte implementerat för fönsterfunktioner" -#: parser/parse_expr.c:4080 +#: parser/parse_expr.c:4081 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "kan inte använda JSON FORMAT ENCODING för indatatyper som inte är bytea" -#: parser/parse_expr.c:4100 +#: parser/parse_expr.c:4101 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "kan inte använda typen %s i ett IS JSON-predikat" -#: parser/parse_expr.c:4126 parser/parse_expr.c:4247 +#: parser/parse_expr.c:4127 parser/parse_expr.c:4248 #, c-format msgid "cannot use type %s in RETURNING clause of %s" msgstr "kan inte använda typen %s i RETURNING-klausul för %s" -#: parser/parse_expr.c:4128 +#: parser/parse_expr.c:4129 #, c-format msgid "Try returning json or jsonb." msgstr "Försök returnera json eller jsonb." -#: parser/parse_expr.c:4176 +#: parser/parse_expr.c:4177 #, c-format msgid "cannot use non-string types with WITH UNIQUE KEYS clause" msgstr "kan inte använda icke-strängtyper med WITH UNIQUE KEYS-klausul" -#: parser/parse_expr.c:4250 +#: parser/parse_expr.c:4251 #, c-format msgid "Try returning a string type or bytea." msgstr "Försök returnera en strängtyp eller bytea." -#: parser/parse_expr.c:4315 +#: parser/parse_expr.c:4319 #, c-format msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" msgstr "kan inte ange FORMAT JSON i RETURNING-klausul för %s()" -#: parser/parse_expr.c:4328 +#: parser/parse_expr.c:4332 #, c-format msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" msgstr "SQL/JSON QUOTES får inte anges tillsammans med WITH WRAPPER" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4342 parser/parse_expr.c:4371 parser/parse_expr.c:4402 -#: parser/parse_expr.c:4428 parser/parse_expr.c:4454 +#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 parser/parse_expr.c:4406 +#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 #: parser/parse_jsontable.c:94 #, c-format msgid "invalid %s behavior" @@ -18412,7 +18445,7 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4345 parser/parse_expr.c:4374 +#: parser/parse_expr.c:4349 parser/parse_expr.c:4378 #, c-format msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for %s." msgstr "Bara uttrycken ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT eller DEFAULT tillåts i %s för %s." @@ -18420,68 +18453,73 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4352 parser/parse_expr.c:4381 parser/parse_expr.c:4410 -#: parser/parse_expr.c:4438 parser/parse_expr.c:4464 +#: parser/parse_expr.c:4356 parser/parse_expr.c:4385 parser/parse_expr.c:4414 +#: parser/parse_expr.c:4442 parser/parse_expr.c:4468 #, c-format msgid "invalid %s behavior for column \"%s\"" msgstr "ogiltig %s-angivelse för kolumn \"%s\"" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4355 parser/parse_expr.c:4384 +#: parser/parse_expr.c:4359 parser/parse_expr.c:4388 #, c-format msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for formatted columns." msgstr "Bara uttrycken ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT eller DEFAULT tillåts i %s för formatterade kolumner." -#: parser/parse_expr.c:4403 +#: parser/parse_expr.c:4407 #, c-format msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s." msgstr "Bara ERROR, TRUE, FALSE eller UNKNOWN tillåts i %s för %s." #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4413 +#: parser/parse_expr.c:4417 #, c-format msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns." msgstr "Bara ERROR, TRUE, FALSE eller UNKNOWN tillåts i %s för EXISTS-kolumner." #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4431 parser/parse_expr.c:4457 +#: parser/parse_expr.c:4435 parser/parse_expr.c:4461 #, c-format msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s." msgstr "Bara uttrycken ERROR, NULL eller DEFAULT tillåts i %s för %s." #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4441 parser/parse_expr.c:4467 +#: parser/parse_expr.c:4445 parser/parse_expr.c:4471 #, c-format msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns." msgstr "Bara uttrycken ERROR, NULL eller DEFAULT tillåts i %s för skalära kolumner." -#: parser/parse_expr.c:4497 +#: parser/parse_expr.c:4505 #, c-format msgid "JSON path expression must be of type %s, not of type %s" msgstr "Uttryck för JSON-sökväg måste vara av typ %s, inte av typ %s" -#: parser/parse_expr.c:4715 +#: parser/parse_expr.c:4745 #, c-format msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT" msgstr "kan bara ange en konstant, en icke-aggregat-funktion eller ett operatoruttryck för DEFAULT" -#: parser/parse_expr.c:4720 +#: parser/parse_expr.c:4750 #, c-format msgid "DEFAULT expression must not contain column references" msgstr "DEFAULT-uttryck får inte innehålla kolumnreferenser" -#: parser/parse_expr.c:4725 +#: parser/parse_expr.c:4755 #, c-format msgid "DEFAULT expression must not return a set" msgstr "DEFAULT-uttryck får inte returnera en mängd" -#: parser/parse_expr.c:4801 parser/parse_expr.c:4810 +#: parser/parse_expr.c:4770 +#, c-format +msgid "collation of DEFAULT expression conflicts with RETURNING clause" +msgstr "sorteringsordning för DEFAULT-uttryck krockar med RETURNING-klausul" + +#: parser/parse_expr.c:4849 parser/parse_expr.c:4858 #, c-format msgid "cannot cast behavior expression of type %s to %s" msgstr "kan inte omvandla uttryck av typ %s till %s" -#: parser/parse_expr.c:4804 +#: parser/parse_expr.c:4852 #, c-format msgid "You will need to explicitly cast the expression to type %s." msgstr "Du måste explicit omvandla uttrycket till typen %s." @@ -19471,22 +19509,22 @@ msgid "TO must specify exactly one value per partitioning column" msgstr "TO måste ge exakt ett värde per partitionerande kolumn" -#: parser/parse_utilcmd.c:4228 +#: parser/parse_utilcmd.c:4230 #, c-format msgid "cannot specify NULL in range bound" msgstr "kan inte ange NULL i range-gräns" -#: parser/parse_utilcmd.c:4277 +#: parser/parse_utilcmd.c:4278 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "varje gräns efter MAXVALUE måste också vara MAXVALUE" -#: parser/parse_utilcmd.c:4284 +#: parser/parse_utilcmd.c:4285 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "varje gräns efter MINVALUE måste också vara MINVALUE" -#: parser/parse_utilcmd.c:4327 +#: parser/parse_utilcmd.c:4328 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "angivet värde kan inte typomvandlas till typ %s för kolumn \"%s\"" @@ -19831,17 +19869,17 @@ msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "automatisk analys av tabell \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2660 +#: postmaster/autovacuum.c:2663 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "processar arbetspost för relation \"%s.%s.%s\"" -#: postmaster/autovacuum.c:3291 +#: postmaster/autovacuum.c:3294 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "autovacuum har inte startats på grund av en felkonfigurering" -#: postmaster/autovacuum.c:3292 +#: postmaster/autovacuum.c:3295 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Slå på flaggan \"track_counts\"." @@ -20095,98 +20133,98 @@ msgid "%s: invalid datetoken tables, please fix\n" msgstr "%s: ogiltiga datumtokentabeller, det behöver lagas\n" -#: postmaster/postmaster.c:1004 +#: postmaster/postmaster.c:1006 #, c-format msgid "could not create I/O completion port for child queue" msgstr "kunde inte skapa \"I/O completion port\" för barnkö" -#: postmaster/postmaster.c:1069 +#: postmaster/postmaster.c:1071 #, c-format msgid "ending log output to stderr" msgstr "avslutar loggutmatning till stderr" -#: postmaster/postmaster.c:1070 +#: postmaster/postmaster.c:1072 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "Framtida loggutmatning kommer gå till logg-destination \"%s\"." -#: postmaster/postmaster.c:1081 +#: postmaster/postmaster.c:1083 #, c-format msgid "starting %s" msgstr "startar %s" -#: postmaster/postmaster.c:1143 +#: postmaster/postmaster.c:1145 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "kunde inte skapa lyssnande uttag (socket) för \"%s\"" -#: postmaster/postmaster.c:1149 +#: postmaster/postmaster.c:1151 #, c-format msgid "could not create any TCP/IP sockets" msgstr "kunde inte skapa TCP/IP-uttag (socket)" -#: postmaster/postmaster.c:1181 +#: postmaster/postmaster.c:1183 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "DNSServiceRegister() misslyckades: felkod %ld" -#: postmaster/postmaster.c:1234 +#: postmaster/postmaster.c:1236 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "kunde inte skapa unix-domän-uttag (socket) i katalog \"%s\"" -#: postmaster/postmaster.c:1240 +#: postmaster/postmaster.c:1242 #, c-format msgid "could not create any Unix-domain sockets" msgstr "kunde inte skapa något Unix-domän-uttag (socket)" -#: postmaster/postmaster.c:1251 +#: postmaster/postmaster.c:1253 #, c-format msgid "no socket created for listening" msgstr "inget uttag (socket) skapat för lyssnande" -#: postmaster/postmaster.c:1282 +#: postmaster/postmaster.c:1284 #, c-format msgid "%s: could not change permissions of external PID file \"%s\": %m\n" msgstr "%s: kunde inte ändra rättigheter på extern PID-fil \"%s\": %m\n" -#: postmaster/postmaster.c:1286 +#: postmaster/postmaster.c:1288 #, c-format msgid "%s: could not write external PID file \"%s\": %m\n" msgstr "%s: kunde inte skriva extern PID-fil \"%s\": %m\n" #. translator: %s is a configuration file -#: postmaster/postmaster.c:1314 utils/init/postinit.c:221 +#: postmaster/postmaster.c:1316 utils/init/postinit.c:221 #, c-format msgid "could not load %s" msgstr "kunde inte ladda \"%s\"" -#: postmaster/postmaster.c:1342 +#: postmaster/postmaster.c:1344 #, c-format msgid "postmaster became multithreaded during startup" msgstr "postmaster blev flertrådad under uppstart" -#: postmaster/postmaster.c:1343 postmaster/postmaster.c:3684 +#: postmaster/postmaster.c:1345 postmaster/postmaster.c:3686 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "Sätt omgivningsvariabeln LC_ALL till en giltig lokal." -#: postmaster/postmaster.c:1442 +#: postmaster/postmaster.c:1444 #, c-format msgid "%s: could not locate my own executable path" msgstr "%s: kunde inte hitta min egna körbara fils sökväg" -#: postmaster/postmaster.c:1449 +#: postmaster/postmaster.c:1451 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: kunde inte hitta matchande postgres-binär" -#: postmaster/postmaster.c:1472 utils/misc/tzparser.c:341 +#: postmaster/postmaster.c:1474 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 "Detta tyder på en inkomplett PostgreSQL-installation alternativt att filen \"%s\" har flyttats bort från sin korrekta plats." -#: postmaster/postmaster.c:1499 +#: postmaster/postmaster.c:1501 #, c-format msgid "" "%s: could not find the database system\n" @@ -20198,242 +20236,242 @@ "men kunde inte öppna filen \"%s\": %m\n" #. translator: %s is SIGKILL or SIGABRT -#: postmaster/postmaster.c:1789 +#: postmaster/postmaster.c:1791 #, c-format msgid "issuing %s to recalcitrant children" msgstr "skickar %s till motsträviga barn" -#: postmaster/postmaster.c:1811 +#: postmaster/postmaster.c:1813 #, c-format msgid "performing immediate shutdown because data directory lock file is invalid" msgstr "stänger ner omedelbart då datakatalogens låsfil är ogiltig" -#: postmaster/postmaster.c:1874 +#: postmaster/postmaster.c:1876 #, c-format msgid "wrong key in cancel request for process %d" msgstr "fel nyckel i avbrytbegäran för process %d" -#: postmaster/postmaster.c:1886 +#: postmaster/postmaster.c:1888 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "PID %d i avbrytbegäran matchade inte någon process" -#: postmaster/postmaster.c:2106 +#: postmaster/postmaster.c:2108 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "mottog SIGHUP, läser om konfigurationsfiler" #. translator: %s is a configuration file -#: postmaster/postmaster.c:2134 postmaster/postmaster.c:2138 +#: postmaster/postmaster.c:2136 postmaster/postmaster.c:2140 #, c-format msgid "%s was not reloaded" msgstr "%s laddades inte om" -#: postmaster/postmaster.c:2148 +#: postmaster/postmaster.c:2150 #, c-format msgid "SSL configuration was not reloaded" msgstr "SSL-konfiguration laddades inte om" -#: postmaster/postmaster.c:2234 +#: postmaster/postmaster.c:2236 #, c-format msgid "received smart shutdown request" msgstr "tog emot förfrågan om att stänga ner smart" -#: postmaster/postmaster.c:2275 +#: postmaster/postmaster.c:2277 #, c-format msgid "received fast shutdown request" msgstr "tog emot förfrågan om att stänga ner snabbt" -#: postmaster/postmaster.c:2293 +#: postmaster/postmaster.c:2295 #, c-format msgid "aborting any active transactions" msgstr "avbryter aktiva transaktioner" -#: postmaster/postmaster.c:2317 +#: postmaster/postmaster.c:2319 #, c-format msgid "received immediate shutdown request" msgstr "mottog begäran för omedelbar nedstängning" -#: postmaster/postmaster.c:2389 +#: postmaster/postmaster.c:2391 #, c-format msgid "shutdown at recovery target" msgstr "nedstängs vid återställningsmål" -#: postmaster/postmaster.c:2407 postmaster/postmaster.c:2443 +#: postmaster/postmaster.c:2409 postmaster/postmaster.c:2445 msgid "startup process" msgstr "uppstartprocess" -#: postmaster/postmaster.c:2410 +#: postmaster/postmaster.c:2412 #, c-format msgid "aborting startup due to startup process failure" msgstr "avbryter uppstart på grund av fel i startprocessen" -#: postmaster/postmaster.c:2485 +#: postmaster/postmaster.c:2487 #, c-format msgid "database system is ready to accept connections" msgstr "databassystemet är redo att ta emot anslutningar" -#: postmaster/postmaster.c:2506 +#: postmaster/postmaster.c:2508 msgid "background writer process" msgstr "bakgrundsskrivarprocess" -#: postmaster/postmaster.c:2553 +#: postmaster/postmaster.c:2555 msgid "checkpointer process" msgstr "checkpoint-process" -#: postmaster/postmaster.c:2569 +#: postmaster/postmaster.c:2571 msgid "WAL writer process" msgstr "WAL-skrivarprocess" -#: postmaster/postmaster.c:2584 +#: postmaster/postmaster.c:2586 msgid "WAL receiver process" msgstr "WAL-mottagarprocess" -#: postmaster/postmaster.c:2598 +#: postmaster/postmaster.c:2600 msgid "WAL summarizer process" msgstr "WAL-summeringsprocess" -#: postmaster/postmaster.c:2613 +#: postmaster/postmaster.c:2615 msgid "autovacuum launcher process" msgstr "autovacuum-startprocess" -#: postmaster/postmaster.c:2631 +#: postmaster/postmaster.c:2633 msgid "archiver process" msgstr "arkiveringsprocess" -#: postmaster/postmaster.c:2644 +#: postmaster/postmaster.c:2646 msgid "system logger process" msgstr "system-logg-process" -#: postmaster/postmaster.c:2661 +#: postmaster/postmaster.c:2663 msgid "slot sync worker process" msgstr "arbetarprocess för slotsynkronisering" -#: postmaster/postmaster.c:2717 +#: postmaster/postmaster.c:2719 #, c-format msgid "background worker \"%s\"" msgstr "bakgrundsarbetare \"%s\"" -#: postmaster/postmaster.c:2796 postmaster/postmaster.c:2816 -#: postmaster/postmaster.c:2823 postmaster/postmaster.c:2841 +#: postmaster/postmaster.c:2798 postmaster/postmaster.c:2818 +#: postmaster/postmaster.c:2825 postmaster/postmaster.c:2843 msgid "server process" msgstr "serverprocess" -#: postmaster/postmaster.c:2895 +#: postmaster/postmaster.c:2897 #, c-format msgid "terminating any other active server processes" msgstr "avslutar andra aktiva serverprocesser" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3082 +#: postmaster/postmaster.c:3084 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) avslutade med felkod %d" -#: postmaster/postmaster.c:3084 postmaster/postmaster.c:3096 -#: postmaster/postmaster.c:3106 postmaster/postmaster.c:3117 +#: postmaster/postmaster.c:3086 postmaster/postmaster.c:3098 +#: postmaster/postmaster.c:3108 postmaster/postmaster.c:3119 #, c-format msgid "Failed process was running: %s" msgstr "Misslyckad process körde: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3093 +#: postmaster/postmaster.c:3095 #, c-format msgid "%s (PID %d) was terminated by exception 0x%X" msgstr "%s (PID %d) terminerades av avbrott 0x%X" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3103 +#: postmaster/postmaster.c:3105 #, c-format msgid "%s (PID %d) was terminated by signal %d: %s" msgstr "%s (PID %d) terminerades av signal %d: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3115 +#: postmaster/postmaster.c:3117 #, c-format msgid "%s (PID %d) exited with unrecognized status %d" msgstr "%s (PID %d) avslutade med okänd status %d" -#: postmaster/postmaster.c:3331 +#: postmaster/postmaster.c:3333 #, c-format msgid "abnormal database system shutdown" msgstr "ej normal databasnedstängning" -#: postmaster/postmaster.c:3357 +#: postmaster/postmaster.c:3359 #, c-format msgid "shutting down due to startup process failure" msgstr "stänger ner på grund av fel i startprocessen" -#: postmaster/postmaster.c:3363 +#: postmaster/postmaster.c:3365 #, c-format msgid "shutting down because \"restart_after_crash\" is off" msgstr "stänger ner då \"restart_after_crash\" är av" -#: postmaster/postmaster.c:3375 +#: postmaster/postmaster.c:3377 #, c-format msgid "all server processes terminated; reinitializing" msgstr "alla serverprocesser är avslutade; initierar på nytt" -#: postmaster/postmaster.c:3574 postmaster/postmaster.c:3985 -#: postmaster/postmaster.c:4374 +#: postmaster/postmaster.c:3576 postmaster/postmaster.c:3987 +#: postmaster/postmaster.c:4376 #, c-format msgid "could not generate random cancel key" msgstr "kunde inte skapa slumpad avbrytningsnyckel" -#: postmaster/postmaster.c:3607 +#: postmaster/postmaster.c:3609 #, c-format msgid "could not fork new process for connection: %m" msgstr "kunde inte fork():a ny process for uppkoppling: %m" -#: postmaster/postmaster.c:3649 +#: postmaster/postmaster.c:3651 msgid "could not fork new process for connection: " msgstr "kunde inte fork():a ny process for uppkoppling: " -#: postmaster/postmaster.c:3683 +#: postmaster/postmaster.c:3685 #, c-format msgid "postmaster became multithreaded" msgstr "postmaster blev flertrådad" -#: postmaster/postmaster.c:3752 +#: postmaster/postmaster.c:3754 #, c-format msgid "database system is ready to accept read-only connections" msgstr "databassystemet är redo att ta emot read-only-anslutningar" -#: postmaster/postmaster.c:3935 +#: postmaster/postmaster.c:3937 #, c-format msgid "could not fork \"%s\" process: %m" msgstr "kunde inte fork:a \"%s\"-process: %m" -#: postmaster/postmaster.c:4173 postmaster/postmaster.c:4207 +#: postmaster/postmaster.c:4175 postmaster/postmaster.c:4209 #, c-format msgid "database connection requirement not indicated during registration" msgstr "krav på databasanslutning fanns inte med vid registering" -#: postmaster/postmaster.c:4183 postmaster/postmaster.c:4217 +#: postmaster/postmaster.c:4185 postmaster/postmaster.c:4219 #, c-format msgid "invalid processing mode in background worker" msgstr "ogiltigt processläge i bakgrundsarbetare" -#: postmaster/postmaster.c:4277 +#: postmaster/postmaster.c:4279 #, c-format msgid "could not fork background worker process: %m" msgstr "kunde inte fork:a process för bakgrundsarbete: %m" -#: postmaster/postmaster.c:4360 +#: postmaster/postmaster.c:4362 #, c-format msgid "no slot available for new background worker process" msgstr "ingen slot tillgänglig till ny process för bakgrundsarbete" -#: postmaster/postmaster.c:4623 +#: postmaster/postmaster.c:4625 #, c-format msgid "could not read exit code for process\n" msgstr "kunde inte läsa avslutningskod för process\n" -#: postmaster/postmaster.c:4665 +#: postmaster/postmaster.c:4667 #, c-format msgid "could not post child completion status\n" msgstr "kunde inte skicka barnets avslutningsstatus\n" @@ -20544,144 +20582,144 @@ msgid "invalid streaming start location" msgstr "ogiltig startposition för strömning" -#: replication/libpqwalreceiver/libpqwalreceiver.c:267 -#: replication/libpqwalreceiver/libpqwalreceiver.c:358 +#: replication/libpqwalreceiver/libpqwalreceiver.c:280 +#: replication/libpqwalreceiver/libpqwalreceiver.c:371 #, c-format msgid "password is required" msgstr "lösenord krävs" -#: replication/libpqwalreceiver/libpqwalreceiver.c:268 +#: replication/libpqwalreceiver/libpqwalreceiver.c:281 #, c-format msgid "Non-superuser cannot connect if the server does not request a password." msgstr "Icke superanvändare kan inte ansluta till servern om den inte kräver lösenord." -#: replication/libpqwalreceiver/libpqwalreceiver.c:269 +#: replication/libpqwalreceiver/libpqwalreceiver.c:282 #, c-format msgid "Target server's authentication method must be changed, or set password_required=false in the subscription parameters." msgstr "Målserverns autentiseringsmetod måste ändras eller så måste man sätta password_required=false i prenumerationens parametrar." -#: replication/libpqwalreceiver/libpqwalreceiver.c:285 +#: replication/libpqwalreceiver/libpqwalreceiver.c:298 #, c-format msgid "could not clear search path: %s" msgstr "kunde inte nollställa sökväg: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:331 -#: replication/libpqwalreceiver/libpqwalreceiver.c:517 +#: replication/libpqwalreceiver/libpqwalreceiver.c:344 +#: replication/libpqwalreceiver/libpqwalreceiver.c:542 #, c-format msgid "invalid connection string syntax: %s" msgstr "ogiltig anslutningssträngsyntax %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:359 +#: replication/libpqwalreceiver/libpqwalreceiver.c:372 #, c-format msgid "Non-superusers must provide a password in the connection string." msgstr "Icke superanvändare måste ange ett lösenord i anslutningssträngen." -#: replication/libpqwalreceiver/libpqwalreceiver.c:386 +#: replication/libpqwalreceiver/libpqwalreceiver.c:399 #, c-format msgid "could not parse connection string: %s" msgstr "kunde inte parsa anslutningssträng: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:459 +#: replication/libpqwalreceiver/libpqwalreceiver.c:472 #, c-format msgid "could not receive database system identifier and timeline ID from the primary server: %s" msgstr "kunde inte hämta databassystemidentifierare och tidslinje-ID från primära servern: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:476 -#: replication/libpqwalreceiver/libpqwalreceiver.c:763 +#: replication/libpqwalreceiver/libpqwalreceiver.c:489 +#: replication/libpqwalreceiver/libpqwalreceiver.c:788 #, c-format msgid "invalid response from primary server" msgstr "ogiltigt svar från primär server" -#: replication/libpqwalreceiver/libpqwalreceiver.c:477 +#: replication/libpqwalreceiver/libpqwalreceiver.c:490 #, c-format msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields." msgstr "Kunde inte identifiera system: fick %d rader och %d fält, förväntade %d rader och %d eller fler fält." -#: replication/libpqwalreceiver/libpqwalreceiver.c:606 -#: replication/libpqwalreceiver/libpqwalreceiver.c:613 -#: replication/libpqwalreceiver/libpqwalreceiver.c:643 +#: replication/libpqwalreceiver/libpqwalreceiver.c:631 +#: replication/libpqwalreceiver/libpqwalreceiver.c:638 +#: replication/libpqwalreceiver/libpqwalreceiver.c:668 #, c-format msgid "could not start WAL streaming: %s" msgstr "kunde inte starta WAL-strömning: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:667 +#: replication/libpqwalreceiver/libpqwalreceiver.c:692 #, c-format msgid "could not send end-of-streaming message to primary: %s" msgstr "kunde inte skicka meddelandet end-of-streaming till primären: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:690 +#: replication/libpqwalreceiver/libpqwalreceiver.c:715 #, c-format msgid "unexpected result set after end-of-streaming" msgstr "oväntad resultatmängd efter end-of-streaming" -#: replication/libpqwalreceiver/libpqwalreceiver.c:705 +#: replication/libpqwalreceiver/libpqwalreceiver.c:730 #, c-format msgid "error while shutting down streaming COPY: %s" msgstr "fel vid nestängning av strömmande COPY: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:715 +#: replication/libpqwalreceiver/libpqwalreceiver.c:740 #, c-format msgid "error reading result of streaming command: %s" msgstr "fel vid läsning av resultat från strömningskommando: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:724 -#: replication/libpqwalreceiver/libpqwalreceiver.c:957 +#: replication/libpqwalreceiver/libpqwalreceiver.c:749 +#: replication/libpqwalreceiver/libpqwalreceiver.c:982 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "oväntat resultat efter CommandComplete: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:751 +#: replication/libpqwalreceiver/libpqwalreceiver.c:776 #, c-format msgid "could not receive timeline history file from the primary server: %s" msgstr "kan inte ta emot fil med tidslinjehistorik från primära servern: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:764 +#: replication/libpqwalreceiver/libpqwalreceiver.c:789 #, c-format msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields." msgstr "Förväntade 1 tupel med 2 fält, fick %d tupler med %d fält." -#: replication/libpqwalreceiver/libpqwalreceiver.c:920 -#: replication/libpqwalreceiver/libpqwalreceiver.c:973 -#: replication/libpqwalreceiver/libpqwalreceiver.c:980 +#: replication/libpqwalreceiver/libpqwalreceiver.c:945 +#: replication/libpqwalreceiver/libpqwalreceiver.c:998 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1005 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "kunde inte ta emot data från WAL-ström: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1000 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1025 #, c-format msgid "could not send data to WAL stream: %s" msgstr "kunde inte skicka data till WAL-ström: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1101 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1126 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "kunde inte skapa replikeringsslot \"%s\": %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1140 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1165 #, c-format msgid "could not alter replication slot \"%s\": %s" msgstr "kunde inte ändra replikeringsslot \"%s\": %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1174 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1199 #, c-format msgid "invalid query response" msgstr "ogiltigt frågerespons" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1175 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1200 #, c-format msgid "Expected %d fields, got %d fields." msgstr "Förväntade %d fält, fick %d fält." -#: replication/libpqwalreceiver/libpqwalreceiver.c:1245 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1270 #, c-format msgid "the query interface requires a database connection" msgstr "frågeinterface:et kräver en databasanslutning" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1277 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1302 msgid "empty query" msgstr "tom fråga" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1283 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1308 msgid "unexpected pipeline mode" msgstr "oväntat pipeline-läge" @@ -20695,28 +20733,28 @@ msgid "lost connection to the logical replication apply worker" msgstr "tappade anslutning till den logiska replikeringens ändringsapplicerare" -#: replication/logical/applyparallelworker.c:1024 -#: replication/logical/applyparallelworker.c:1026 +#: replication/logical/applyparallelworker.c:1031 +#: replication/logical/applyparallelworker.c:1033 msgid "logical replication parallel apply worker" msgstr "logisk replikerings ändringsapplicerare" -#: replication/logical/applyparallelworker.c:1040 +#: replication/logical/applyparallelworker.c:1047 #, c-format msgid "logical replication parallel apply worker exited due to error" msgstr "logiska replikeringens ändringsappliceraren avslutade på grund av ett fel" -#: replication/logical/applyparallelworker.c:1127 -#: replication/logical/applyparallelworker.c:1300 +#: replication/logical/applyparallelworker.c:1134 +#: replication/logical/applyparallelworker.c:1307 #, c-format msgid "lost connection to the logical replication parallel apply worker" msgstr "tappade anslutning till den logiska replikeringens parallella ändringsapplicerare" -#: replication/logical/applyparallelworker.c:1180 +#: replication/logical/applyparallelworker.c:1187 #, c-format msgid "could not send data to shared-memory queue" msgstr "kunde inte skicka data till kö i delat minne" -#: replication/logical/applyparallelworker.c:1215 +#: replication/logical/applyparallelworker.c:1222 #, c-format msgid "logical replication apply worker will serialize the remaining changes of remote transaction %u to a file" msgstr "logiska replikeringens ändringsapplicerare kommer spara ner återstående ändringarna av fjärrtransaktion %u til en fil" @@ -20737,7 +20775,7 @@ msgstr "slut på logiska replikeringsarbetarslots" #: replication/logical/launcher.c:441 replication/logical/launcher.c:527 -#: replication/slot.c:1524 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 +#: replication/slot.c:1585 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 #: storage/lmgr/lock.c:2836 storage/lmgr/lock.c:4221 storage/lmgr/lock.c:4286 #: storage/lmgr/lock.c:4636 storage/lmgr/predicate.c:2469 #: storage/lmgr/predicate.c:2484 storage/lmgr/predicate.c:3881 @@ -20770,12 +20808,12 @@ msgid "logical decoding requires a database connection" msgstr "logisk avkodning kräver en databasanslutning" -#: replication/logical/logical.c:367 replication/logical/logical.c:521 +#: replication/logical/logical.c:367 replication/logical/logical.c:523 #, c-format msgid "cannot use physical replication slot for logical decoding" msgstr "kan inte använda fysisk replikeringsslot för logisk avkodning" -#: replication/logical/logical.c:372 replication/logical/logical.c:531 +#: replication/logical/logical.c:372 replication/logical/logical.c:533 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "replikeringsslot \"%s\" har inte skapats i denna databasen" @@ -20785,71 +20823,71 @@ msgid "cannot create logical replication slot in transaction that has performed writes" msgstr "kan inte skapa logisk replikeringsslot i transaktion som redan har utfört skrivningar" -#: replication/logical/logical.c:542 +#: replication/logical/logical.c:544 #, c-format msgid "cannot use replication slot \"%s\" for logical decoding" msgstr "kan inte använda replikeringsslot \"%s\" för logisk avkodning" -#: replication/logical/logical.c:544 replication/slot.c:798 -#: replication/slot.c:829 +#: replication/logical/logical.c:546 replication/slot.c:827 +#: replication/slot.c:858 #, c-format msgid "This replication slot is being synchronized from the primary server." msgstr "Denna replikeringsslot synkroniseras från primära servern." -#: replication/logical/logical.c:545 +#: replication/logical/logical.c:547 #, c-format msgid "Specify another replication slot." msgstr "Ange en annan replikeringsslot." -#: replication/logical/logical.c:556 replication/logical/logical.c:563 +#: replication/logical/logical.c:558 replication/logical/logical.c:565 #, c-format msgid "can no longer get changes from replication slot \"%s\"" msgstr "kan inte längre få ändringar från replikeringsslot \"%s\"" -#: replication/logical/logical.c:558 +#: replication/logical/logical.c:560 #, c-format msgid "This slot has been invalidated because it exceeded the maximum reserved size." msgstr "Denna slot har invaliderats då den överskred maximal reserverad storlek." -#: replication/logical/logical.c:565 +#: replication/logical/logical.c:567 #, c-format msgid "This slot has been invalidated because it was conflicting with recovery." msgstr "Denna slot har invaliderats den var i konflikt med återställningen." -#: replication/logical/logical.c:630 +#: replication/logical/logical.c:632 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "startar logisk avkodning för slot \"%s\"" -#: replication/logical/logical.c:632 +#: replication/logical/logical.c:634 #, c-format msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X." msgstr "Strömmar transaktioner commit:ade efter %X/%X, läser WAL från %X/%X" -#: replication/logical/logical.c:780 +#: replication/logical/logical.c:782 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X" msgstr "slot \"%s\", utdata-plugin \"%s\", i callback:en %s, associerad LSN %X/%X" -#: replication/logical/logical.c:786 +#: replication/logical/logical.c:788 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback" msgstr "slot \"%s\", utdata-plugin \"%s\", i callback:en %s" -#: replication/logical/logical.c:957 replication/logical/logical.c:1002 -#: replication/logical/logical.c:1047 replication/logical/logical.c:1093 +#: replication/logical/logical.c:959 replication/logical/logical.c:1004 +#: replication/logical/logical.c:1049 replication/logical/logical.c:1095 #, c-format msgid "logical replication at prepare time requires a %s callback" msgstr "logisk replikering vid prepare-tillfället kräver en %s-callback" -#: replication/logical/logical.c:1325 replication/logical/logical.c:1374 -#: replication/logical/logical.c:1415 replication/logical/logical.c:1501 -#: replication/logical/logical.c:1550 +#: replication/logical/logical.c:1327 replication/logical/logical.c:1376 +#: replication/logical/logical.c:1417 replication/logical/logical.c:1503 +#: replication/logical/logical.c:1552 #, c-format msgid "logical streaming requires a %s callback" msgstr "logisk strömning kräven en %s-callback" -#: replication/logical/logical.c:1460 +#: replication/logical/logical.c:1462 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "logisk strömning vid prepare-tillfället kräver en %s-callback" @@ -20946,7 +20984,7 @@ msgstr "kunde inte hitta ledig replikerings-state-slot för replikerings-origin med ID %d" #: replication/logical/origin.c:957 replication/logical/origin.c:1158 -#: replication/slot.c:2397 +#: replication/slot.c:2446 #, c-format msgid "Increase \"max_replication_slots\" and try again." msgstr "Öka \"max_replication_slots\" och försök igen." @@ -21026,7 +21064,7 @@ msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "kunde inte läsa från fil \"%s\": läste %d istället för %d byte" -#: replication/logical/slotsync.c:215 replication/logical/slotsync.c:579 +#: replication/logical/slotsync.c:215 replication/logical/slotsync.c:580 #, c-format msgid "could not synchronize replication slot \"%s\"" msgstr "kunde inte synkronisera replikeringsslot \"%s\"" @@ -21041,48 +21079,48 @@ msgid "dropped replication slot \"%s\" of database with OID %u" msgstr "slängde replikerings-slot \"%s\" för databas med OID %u" -#: replication/logical/slotsync.c:580 +#: replication/logical/slotsync.c:581 #, c-format msgid "Synchronization could lead to data loss, because the standby could not build a consistent snapshot to decode WALs at LSN %X/%X." msgstr "Synkronisering kan leda till dataförlust eftersom standby:en inte kunde skapa en konsistent snapshot för att avkoda WAL vid LSN %X/%X." -#: replication/logical/slotsync.c:589 +#: replication/logical/slotsync.c:590 #, c-format msgid "newly created replication slot \"%s\" is sync-ready now" msgstr "nyskapad replikeringsslot \"%s\" är redo för synk nu" -#: replication/logical/slotsync.c:628 +#: replication/logical/slotsync.c:629 #, c-format msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X" msgstr "hoppar över slotsynkronisering då den mottagna slottens synk-LSN %X/%X för slot \"%s\" är längre fram än standby-positionen %X/%X" -#: replication/logical/slotsync.c:650 +#: replication/logical/slotsync.c:651 #, c-format msgid "exiting from slot synchronization because same name slot \"%s\" already exists on the standby" msgstr "avslutar slotsynkronisering då samma slotnamn \"%s\" redan finns på standby:en" -#: replication/logical/slotsync.c:819 +#: replication/logical/slotsync.c:822 #, c-format msgid "could not fetch failover logical slots info from the primary server: %s" msgstr "kan inte hämta logisk slot för failover från primära servern: %s" -#: replication/logical/slotsync.c:965 +#: replication/logical/slotsync.c:968 #, c-format msgid "could not fetch primary_slot_name \"%s\" info from the primary server: %s" msgstr "kan inte hämta info för primary_slot_name \"%s\" från primära servern: %s" -#: replication/logical/slotsync.c:967 +#: replication/logical/slotsync.c:970 #, c-format msgid "Check if primary_slot_name is configured correctly." msgstr "Kontrollera att primary_slot_name är korrekt konfigurerad." -#: replication/logical/slotsync.c:987 +#: replication/logical/slotsync.c:990 #, c-format msgid "cannot synchronize replication slots from a standby server" msgstr "kan inte synkronisera replikeringsslottar från en standby-server" #. translator: second %s is a GUC variable name -#: replication/logical/slotsync.c:996 +#: replication/logical/slotsync.c:999 #, c-format msgid "replication slot \"%s\" specified by \"%s\" does not exist on primary server" msgstr "replikeringsslot \"%s\" angiven av %s finns inte på den primära servern." @@ -21090,60 +21128,60 @@ #. translator: first %s is a connection option; second %s is a GUC #. variable name #. -#: replication/logical/slotsync.c:1029 +#: replication/logical/slotsync.c:1032 #, c-format msgid "replication slot synchronization requires \"%s\" to be specified in \"%s\"" msgstr "synkronisering av replikeringsslot kräver att \"%s\" anges i %s" -#: replication/logical/slotsync.c:1048 +#: replication/logical/slotsync.c:1051 #, c-format msgid "replication slot synchronization requires \"wal_level\" >= \"logical\"" msgstr "synkronisering av replikeringsslot kräver at \"wal_level\" >= \"logical\"" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1063 replication/logical/slotsync.c:1091 +#: replication/logical/slotsync.c:1066 replication/logical/slotsync.c:1094 #, c-format msgid "replication slot synchronization requires \"%s\" to be set" msgstr "synkronisering av replikeringsslot kräver att \"%s\" också anges" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1077 +#: replication/logical/slotsync.c:1080 #, c-format msgid "replication slot synchronization requires \"%s\" to be enabled" msgstr "synkronisering av replikeringsslot kräver att \"%s\" också slås på" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1129 +#: replication/logical/slotsync.c:1132 #, c-format msgid "replication slot synchronization worker will shut down because \"%s\" is disabled" msgstr "arbetare för synkronisering av replikeringsslot kommer stängas ner då \"%s\" är avslagen" -#: replication/logical/slotsync.c:1138 +#: replication/logical/slotsync.c:1141 #, c-format msgid "replication slot synchronization worker will restart because of a parameter change" msgstr "arbetare för synkronisering av replikeringsslot kommer startas om då parametrar ändrats" -#: replication/logical/slotsync.c:1162 +#: replication/logical/slotsync.c:1165 #, c-format -msgid "replication slot synchronization worker is shutting down on receiving SIGINT" -msgstr "arbetare för synkronisering av replikeringsslot stänger ner efter mottagning av SIGINT" +msgid "replication slot synchronization worker is shutting down because promotion is triggered" +msgstr "arbetare för synkronisering av replikeringsslot stängs ner eftersom befordran av standby har triggats" -#: replication/logical/slotsync.c:1287 +#: replication/logical/slotsync.c:1290 #, c-format msgid "cannot synchronize replication slots when standby promotion is ongoing" msgstr "kan inte synkronisera replikeringsslot när befordran av standby pågår" -#: replication/logical/slotsync.c:1295 +#: replication/logical/slotsync.c:1298 #, c-format msgid "cannot synchronize replication slots concurrently" msgstr "kan inte synkronisera replikeringsslottar parallellt" -#: replication/logical/slotsync.c:1403 +#: replication/logical/slotsync.c:1406 #, c-format msgid "slot sync worker started" msgstr "arbetare för slot-synk startad" -#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:926 +#: replication/logical/slotsync.c:1469 replication/slotfuncs.c:926 #: replication/walreceiver.c:307 #, c-format msgid "could not connect to the primary server: %s" @@ -21252,22 +21290,17 @@ msgid "could not start initial contents copy for table \"%s.%s\": %s" msgstr "kunde inte starta initial innehållskopiering för tabell \"%s.%s\": %s" -#: replication/logical/tablesync.c:1455 +#: replication/logical/tablesync.c:1469 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "tabellkopiering kunde inte starta transaktion på publiceraren: %s" -#: replication/logical/tablesync.c:1498 -#, c-format -msgid "replication origin \"%s\" already exists" -msgstr "replikeringsurspring \"%s\" finns redan" - -#: replication/logical/tablesync.c:1531 replication/logical/worker.c:2363 +#: replication/logical/tablesync.c:1529 replication/logical/worker.c:2363 #, c-format msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\"" msgstr "användaren \"%s\" kan inte replikera in i en relation med radsäkerhet påslagen: \"%s\"" -#: replication/logical/tablesync.c:1544 +#: replication/logical/tablesync.c:1542 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "tabellkopiering kunde inte slutföra transaktion på publiceraren: %s" @@ -21367,374 +21400,368 @@ msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" har startat" -#: replication/logical/worker.c:4802 +#: replication/logical/worker.c:4806 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "prenumeration \"%s\" har avaktiverats på grund av ett fel" -#: replication/logical/worker.c:4850 +#: replication/logical/worker.c:4854 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "logisk replikering börjar hoppa över transaktion vid LSN %X/%X" -#: replication/logical/worker.c:4864 +#: replication/logical/worker.c:4868 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "logisk replikering har slutfört överhoppande av transaktionen vid LSN %X/%X" -#: replication/logical/worker.c:4952 +#: replication/logical/worker.c:4956 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "överhoppnings-LSN för logiska prenumerationen \"%s\" har nollställts" -#: replication/logical/worker.c:4953 +#: replication/logical/worker.c:4957 #, c-format msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X." msgstr "Fjärrtransaktionens slut-WAL-position (LSN) %X/%X matchade inte överhoppnings-LSN %X/%X." -#: replication/logical/worker.c:4981 +#: replication/logical/worker.c:4985 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\"" msgstr "processar fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\"" -#: replication/logical/worker.c:4985 +#: replication/logical/worker.c:4989 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u" msgstr "processar fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" i transaktion %u" -#: replication/logical/worker.c:4990 +#: replication/logical/worker.c:4994 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X" msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" i transaktion %u blev klar vid %X/%X" -#: replication/logical/worker.c:5001 +#: replication/logical/worker.c:5005 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u" msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" i transaktion %u" -#: replication/logical/worker.c:5008 +#: replication/logical/worker.c:5012 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X" msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" i transaktion %u blev klart vid %X/%X" -#: replication/logical/worker.c:5019 +#: replication/logical/worker.c:5023 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u" msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" kolumn \"%s\" i transaktion %u" -#: replication/logical/worker.c:5027 +#: replication/logical/worker.c:5031 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X" msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" kolumn \"%s\" i transaktion %u blev klart vid %X/%X" -#: replication/pgoutput/pgoutput.c:322 +#: replication/pgoutput/pgoutput.c:323 #, c-format msgid "invalid proto_version" msgstr "ogiltig proto_version" -#: replication/pgoutput/pgoutput.c:327 +#: replication/pgoutput/pgoutput.c:328 #, c-format msgid "proto_version \"%s\" out of range" msgstr "proto_version \"%s\" är utanför giltigt intervall" -#: replication/pgoutput/pgoutput.c:344 +#: replication/pgoutput/pgoutput.c:349 #, c-format msgid "invalid publication_names syntax" msgstr "ogiltig publication_names-syntax" -#: replication/pgoutput/pgoutput.c:414 replication/pgoutput/pgoutput.c:418 +#: replication/pgoutput/pgoutput.c:419 replication/pgoutput/pgoutput.c:423 #, c-format msgid "option \"%s\" missing" msgstr "flaggan \"%s\" saknas." -#: replication/pgoutput/pgoutput.c:478 +#: replication/pgoutput/pgoutput.c:494 #, c-format msgid "client sent proto_version=%d but server only supports protocol %d or lower" msgstr "klienten skickade proto_version=%d men servern stöder bara protokoll %d eller lägre" -#: replication/pgoutput/pgoutput.c:484 +#: replication/pgoutput/pgoutput.c:500 #, c-format msgid "client sent proto_version=%d but server only supports protocol %d or higher" msgstr "klienten skickade proto_version=%d men servern stöder bara protokoll %d eller högre" -#: replication/pgoutput/pgoutput.c:499 +#: replication/pgoutput/pgoutput.c:515 #, c-format msgid "requested proto_version=%d does not support streaming, need %d or higher" msgstr "efterfrågade proto_version=%d stöder inte strömning, kräver %d eller högre" -#: replication/pgoutput/pgoutput.c:505 +#: replication/pgoutput/pgoutput.c:521 #, c-format msgid "requested proto_version=%d does not support parallel streaming, need %d or higher" msgstr "efterfrågade proto_version=%d stöder inte parallell strömning, kräver %d eller högre" -#: replication/pgoutput/pgoutput.c:510 +#: replication/pgoutput/pgoutput.c:526 #, c-format msgid "streaming requested, but not supported by output plugin" msgstr "ströming begärdes men det stöds inte av utdata-plugin:en" -#: replication/pgoutput/pgoutput.c:524 +#: replication/pgoutput/pgoutput.c:540 #, c-format msgid "requested proto_version=%d does not support two-phase commit, need %d or higher" msgstr "efterfrågade proto_version=%d stöder inte tvåfas-commit, kräver %d eller högre" -#: replication/pgoutput/pgoutput.c:529 +#: replication/pgoutput/pgoutput.c:545 #, c-format msgid "two-phase commit requested, but not supported by output plugin" msgstr "tvåfas-commit begärdes men det stöds inte av utdata-plugin:en" -#: replication/slot.c:260 +#: replication/slot.c:292 #, c-format msgid "replication slot name \"%s\" is too short" msgstr "replikeringsslotnamn \"%s\" är för kort" -#: replication/slot.c:269 +#: replication/slot.c:300 #, c-format msgid "replication slot name \"%s\" is too long" msgstr "replikeringsslotnamn \"%s\" är för långt" -#: replication/slot.c:282 +#: replication/slot.c:312 #, c-format msgid "replication slot name \"%s\" contains invalid character" msgstr "replikeringsslotnamn \"%s\" innehåller ogiltiga tecken" -#: replication/slot.c:284 -#, c-format +#: replication/slot.c:313 msgid "Replication slot names may only contain lower case letters, numbers, and the underscore character." msgstr "Replikeringsslotnamn får bara innehålla små bokstäver, nummer och understreck." -#: replication/slot.c:333 +#: replication/slot.c:362 #, c-format msgid "cannot enable failover for a replication slot created on the standby" msgstr "kan inte aktivera failover för en replikeringsslot som skapats på standby:en" -#: replication/slot.c:345 replication/slot.c:849 +#: replication/slot.c:374 replication/slot.c:878 #, c-format msgid "cannot enable failover for a temporary replication slot" msgstr "kan inte aktivera failover för en temporär repllikeringsslot" -#: replication/slot.c:370 +#: replication/slot.c:399 #, c-format msgid "replication slot \"%s\" already exists" msgstr "replikeringsslot \"%s\" finns redan" -#: replication/slot.c:380 +#: replication/slot.c:409 #, c-format msgid "all replication slots are in use" msgstr "alla replikeringsslots används" -#: replication/slot.c:381 +#: replication/slot.c:410 #, c-format msgid "Free one or increase \"max_replication_slots\"." msgstr "Frigör en eller öka \"max_replication_slots\"." -#: replication/slot.c:560 replication/slot.c:2463 replication/slotfuncs.c:661 +#: replication/slot.c:589 replication/slotfuncs.c:661 #: utils/activity/pgstat_replslot.c:56 utils/adt/genfile.c:728 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "replikeringsslot \"%s\" existerar inte" -#: replication/slot.c:606 replication/slot.c:1337 +#: replication/slot.c:635 replication/slot.c:1395 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "replikeringsslot \"%s\" är aktiv för PID %d" -#: replication/slot.c:638 +#: replication/slot.c:667 #, c-format msgid "acquired logical replication slot \"%s\"" msgstr "tog logisk replikeringsslot \"%s\"" -#: replication/slot.c:640 +#: replication/slot.c:669 #, c-format msgid "acquired physical replication slot \"%s\"" msgstr "tog fysisk replikeringsslot \"%s\"" -#: replication/slot.c:729 +#: replication/slot.c:758 #, c-format msgid "released logical replication slot \"%s\"" msgstr "släppte logisk replikeringsslot \"%s\"" -#: replication/slot.c:731 +#: replication/slot.c:760 #, c-format msgid "released physical replication slot \"%s\"" msgstr "släppte fysisk replikeringsslot \"%s\"" -#: replication/slot.c:797 +#: replication/slot.c:826 #, c-format msgid "cannot drop replication slot \"%s\"" msgstr "kan inte slänga replikeringsslot \"%s\"" -#: replication/slot.c:816 +#: replication/slot.c:845 #, c-format msgid "cannot use %s with a physical replication slot" msgstr "kan inte använda %s med en fysisk replikeringsslot" -#: replication/slot.c:828 +#: replication/slot.c:857 #, c-format msgid "cannot alter replication slot \"%s\"" msgstr "kan inte ändra replikeringsslot \"%s\"" -#: replication/slot.c:838 +#: replication/slot.c:867 #, c-format msgid "cannot enable failover for a replication slot on the standby" msgstr "kan inte aktivera failover för en replikeringsslot på standby:en" -#: replication/slot.c:969 replication/slot.c:1923 replication/slot.c:2307 +#: replication/slot.c:998 replication/slot.c:1965 replication/slot.c:2356 #, c-format msgid "could not remove directory \"%s\"" msgstr "kunde inte ta bort katalog \"%s\"" -#: replication/slot.c:1372 +#: replication/slot.c:1430 #, c-format msgid "replication slots can only be used if \"max_replication_slots\" > 0" msgstr "replikeringsslots kan bara användas om \"max_replication_slots\" > 0" -#: replication/slot.c:1377 +#: replication/slot.c:1435 #, c-format msgid "replication slots can only be used if \"wal_level\" >= \"replica\"" msgstr "replikeringsslots kan bara användas om \"wal_level\" >= \"replica\"" -#: replication/slot.c:1389 +#: replication/slot.c:1447 #, c-format msgid "permission denied to use replication slots" msgstr "rättighet saknas för att använda replikeringsslottar" -#: replication/slot.c:1390 +#: replication/slot.c:1448 #, c-format msgid "Only roles with the %s attribute may use replication slots." msgstr "Bara roller med attributet %s får använda replikeringsslottar." -#: replication/slot.c:1498 +#: replication/slot.c:1559 #, c-format msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte." msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." msgstr[0] "Slottens restart_lsn %X/%X överskrider gränsen på %llu byte." msgstr[1] "Slottens restart_lsn %X/%X överskrider gränsen på %llu bytes." -#: replication/slot.c:1506 +#: replication/slot.c:1567 #, c-format msgid "The slot conflicted with xid horizon %u." msgstr "Slotten är i konflikt med xid-horisont %u." -#: replication/slot.c:1511 +#: replication/slot.c:1572 msgid "Logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary server." msgstr "logisk avkodning på standby kräver \"wal_level\" >= \"logical\" på primären" -#: replication/slot.c:1519 +#: replication/slot.c:1580 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "avslutar process %d för att frigöra replikeringsslot \"%s\"" -#: replication/slot.c:1521 +#: replication/slot.c:1582 #, c-format msgid "invalidating obsolete replication slot \"%s\"" msgstr "invaliderar obsolet replikeringssslot \"%s\"" -#: replication/slot.c:2245 +#: replication/slot.c:2294 #, c-format msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" msgstr "replikeringsslotfil \"%s\" har fel magiskt nummer: %u istället för %u" -#: replication/slot.c:2252 +#: replication/slot.c:2301 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "replikeringsslotfil \"%s\" har en icke stödd version %u" -#: replication/slot.c:2259 +#: replication/slot.c:2308 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "replikeringsslotfil \"%s\" har felaktig längd %u" -#: replication/slot.c:2295 +#: replication/slot.c:2344 #, c-format msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" msgstr "kontrollsummefel för replikeringsslot-fil \"%s\": är %u, skall vara %u" -#: replication/slot.c:2331 +#: replication/slot.c:2380 #, c-format msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\"" msgstr "logisk replikeringsslot \"%s\" finns men \"wal_level\" < \"replica\"" -#: replication/slot.c:2333 +#: replication/slot.c:2382 #, c-format msgid "Change \"wal_level\" to be \"logical\" or higher." msgstr "Ändra \"wal_level\" till \"logical\" eller högre." -#: replication/slot.c:2345 +#: replication/slot.c:2394 #, c-format msgid "logical replication slot \"%s\" exists on the standby, but \"hot_standby\" = \"off\"" msgstr "logisk replikeringsslot \"%s\" finns på standby men \"hot_standby\" = \"off\"" -#: replication/slot.c:2347 +#: replication/slot.c:2396 #, c-format msgid "Change \"hot_standby\" to be \"on\"." msgstr "Ändra \"hot_standby\" till \"on\"." -#: replication/slot.c:2352 +#: replication/slot.c:2401 #, c-format msgid "physical replication slot \"%s\" exists, but \"wal_level\" < \"replica\"" msgstr "fysisk replikeringsslot \"%s\" finns men \"wal_level\" < \"replica\"" -#: replication/slot.c:2354 +#: replication/slot.c:2403 #, c-format msgid "Change \"wal_level\" to be \"replica\" or higher." msgstr "Ändra \"wal_level\" till \"replica\" eller högre." -#: replication/slot.c:2396 +#: replication/slot.c:2445 #, c-format msgid "too many replication slots active before shutdown" msgstr "för många aktiva replikeringsslottar innan nerstängning" -#: replication/slot.c:2471 -#, c-format -msgid "\"%s\" is not a physical replication slot" -msgstr "\"%s\" är inte en fysisk replikeringsslot" - -#: replication/slot.c:2650 +#: replication/slot.c:2672 #, c-format msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist" msgstr "replikeringsslot \"%s\" som angivits i parametern \"%s\" existerar inte" -#: replication/slot.c:2652 replication/slot.c:2686 replication/slot.c:2701 +#: replication/slot.c:2674 replication/slot.c:2708 replication/slot.c:2723 #, c-format msgid "Logical replication is waiting on the standby associated with replication slot \"%s\"." msgstr "Logisk replikering väntar på standby associerad med replikeringsslot \"%s\"." -#: replication/slot.c:2654 +#: replication/slot.c:2676 #, c-format msgid "Create the replication slot \"%s\" or amend parameter \"%s\"." msgstr "Skapa replikeringsslotten \"%s\" eller ändra parametern \"%s\"" -#: replication/slot.c:2664 +#: replication/slot.c:2686 #, c-format msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\"" msgstr "kan inte ange logisk replikeringsslot \"%s\" i parametern \"%s\"" -#: replication/slot.c:2666 +#: replication/slot.c:2688 #, c-format msgid "Logical replication is waiting for correction on replication slot \"%s\"." msgstr "Logiska replikering väntar på rättning av replikeringsslot \"%s\"" -#: replication/slot.c:2668 +#: replication/slot.c:2690 #, c-format msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"." msgstr "Ta bort logisk replikeringsslot \"%s\" från parametern \"%s\"" -#: replication/slot.c:2684 +#: replication/slot.c:2706 #, c-format msgid "physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated" msgstr "fysisk replikeringsslot \"%s\" angiven i parametern \"%s\" har invaliderats" -#: replication/slot.c:2688 +#: replication/slot.c:2710 #, c-format msgid "Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"." msgstr "Släng och återskapa replikeringsslotten \"%s\" eller ändra parametern %s." -#: replication/slot.c:2699 +#: replication/slot.c:2721 #, c-format msgid "replication slot \"%s\" specified in parameter \"%s\" does not have active_pid" msgstr "replikeringsslot \"%s\" angiven i parametern \"%s\" har inte active_pid" -#: replication/slot.c:2703 +#: replication/slot.c:2725 #, c-format msgid "Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\"." msgstr "Starta standby associerad med replikeringsslot \"%s\" eller ändra parametern \"%s\"." @@ -21919,125 +21946,125 @@ msgid "could not write to WAL segment %s at offset %d, length %lu: %m" msgstr "kunde inte skriva till WAL-segment %s på offset %d, längd %lu: %m" -#: replication/walsender.c:535 +#: replication/walsender.c:549 #, c-format msgid "cannot use %s with a logical replication slot" msgstr "kan inte använda %s med logisk replikeringsslot" -#: replication/walsender.c:639 storage/smgr/md.c:1735 +#: replication/walsender.c:653 storage/smgr/md.c:1749 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "kunde inte söka (seek) till slutet av filen \"%s\": %m" -#: replication/walsender.c:643 +#: replication/walsender.c:657 #, c-format msgid "could not seek to beginning of file \"%s\": %m" msgstr "kunde inte söka till början av filen \"%s\": %m" -#: replication/walsender.c:857 +#: replication/walsender.c:871 #, c-format msgid "cannot use a logical replication slot for physical replication" msgstr "kan inte använda logisk replikeringsslot för fysisk replikering" -#: replication/walsender.c:923 +#: replication/walsender.c:937 #, c-format msgid "requested starting point %X/%X on timeline %u is not in this server's history" msgstr "efterfrågad startpunkt %X/%X på tidslinje %u finns inte i denna servers historik" -#: replication/walsender.c:926 +#: replication/walsender.c:940 #, c-format msgid "This server's history forked from timeline %u at %X/%X." msgstr "Denna servers historik delade sig från tidslinje %u vid %X/%X." -#: replication/walsender.c:970 +#: replication/walsender.c:984 #, c-format msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X" msgstr "efterfrågad startpunkt %X/%X är längre fram än denna servers flush:ade WAL-skrivposition %X/%X" -#: replication/walsender.c:1164 +#: replication/walsender.c:1178 #, c-format msgid "unrecognized value for CREATE_REPLICATION_SLOT option \"%s\": \"%s\"" msgstr "okänt värde för CREATE_REPLICATION_SLOT-flagga \"%s\": \"%s\"" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1270 +#: replication/walsender.c:1284 #, c-format msgid "%s must not be called inside a transaction" msgstr "%s får inte anropas i en transaktion" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1280 +#: replication/walsender.c:1294 #, c-format msgid "%s must be called inside a transaction" msgstr "%s måste anropas i en transaktion" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1286 +#: replication/walsender.c:1300 #, c-format msgid "%s must be called in REPEATABLE READ isolation mode transaction" msgstr "%s måste anropas i transaktions REPEATABLE READ-isolationsläge" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1291 +#: replication/walsender.c:1305 #, c-format msgid "%s must be called in a read-only transaction" msgstr "%s måste anropas i en read-only-transaktion" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1297 +#: replication/walsender.c:1311 #, c-format msgid "%s must be called before any query" msgstr "%s måste anropas innan någon fråga" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1303 +#: replication/walsender.c:1317 #, c-format msgid "%s must not be called in a subtransaction" msgstr "%s får inte anropas i en undertransaktion" -#: replication/walsender.c:1476 +#: replication/walsender.c:1490 #, c-format msgid "terminating walsender process after promotion" msgstr "stänger ner walsender-process efter befordran" -#: replication/walsender.c:2015 +#: replication/walsender.c:2029 #, c-format msgid "cannot execute new commands while WAL sender is in stopping mode" msgstr "kan inte utföra nya kommandon när WAL-sändare är i stopp-läge" -#: replication/walsender.c:2050 +#: replication/walsender.c:2064 #, c-format msgid "cannot execute SQL commands in WAL sender for physical replication" msgstr "kan inte köra SQL-kommandon i WAL-sändare för fysisk replikering" -#: replication/walsender.c:2083 +#: replication/walsender.c:2097 #, c-format msgid "received replication command: %s" msgstr "tog emot replikeringskommando: %s" -#: replication/walsender.c:2091 tcop/fastpath.c:209 tcop/postgres.c:1142 +#: replication/walsender.c:2105 tcop/fastpath.c:209 tcop/postgres.c:1142 #: tcop/postgres.c:1500 tcop/postgres.c:1752 tcop/postgres.c:2234 #: tcop/postgres.c:2672 tcop/postgres.c:2749 #, c-format msgid "current transaction is aborted, commands ignored until end of transaction block" msgstr "aktuella transaktionen har avbrutits, alla kommandon ignoreras tills slutet på transaktionen" -#: replication/walsender.c:2248 replication/walsender.c:2283 +#: replication/walsender.c:2262 replication/walsender.c:2297 #, c-format msgid "unexpected EOF on standby connection" msgstr "oväntat EOF från standby-anslutning" -#: replication/walsender.c:2271 +#: replication/walsender.c:2285 #, c-format msgid "invalid standby message type \"%c\"" msgstr "ogiltigt standby-meddelandetyp \"%c\"" -#: replication/walsender.c:2360 +#: replication/walsender.c:2374 #, c-format msgid "unexpected message type \"%c\"" msgstr "oväntad meddelandetyp \"%c\"" -#: replication/walsender.c:2778 +#: replication/walsender.c:2792 #, c-format msgid "terminating walsender process due to replication timeout" msgstr "avslutar walsender-process på grund av replikerings-timeout" @@ -22223,266 +22250,266 @@ msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten" msgstr "WITH-frågenamn \"%s\" finns både i en regelhändelse och i frågan som skrivs om" -#: rewrite/rewriteHandler.c:615 +#: rewrite/rewriteHandler.c:618 #, c-format msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH" msgstr "INSERT ... SELECT-regler stöds inte för frågor som har datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:668 +#: rewrite/rewriteHandler.c:671 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "kan inte ha RETURNING-listor i multipla regler" -#: rewrite/rewriteHandler.c:900 rewrite/rewriteHandler.c:939 +#: rewrite/rewriteHandler.c:903 rewrite/rewriteHandler.c:942 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "kan inte sätta in ett icke-DEFAULT-värde i kolumn \"%s\"" -#: rewrite/rewriteHandler.c:902 rewrite/rewriteHandler.c:968 +#: rewrite/rewriteHandler.c:905 rewrite/rewriteHandler.c:971 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "Kolumn \"%s\" är en identitetskolumn definierad som GENERATED ALWAYS." -#: rewrite/rewriteHandler.c:904 +#: rewrite/rewriteHandler.c:907 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Använd OVERRIDING SYSTEM VALUE för att överskugga." -#: rewrite/rewriteHandler.c:966 rewrite/rewriteHandler.c:974 +#: rewrite/rewriteHandler.c:969 rewrite/rewriteHandler.c:977 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "kolumn \"%s\" kan bara uppdateras till DEFAULT" -#: rewrite/rewriteHandler.c:1109 rewrite/rewriteHandler.c:1127 +#: rewrite/rewriteHandler.c:1112 rewrite/rewriteHandler.c:1130 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "flera tilldelningar till samma kolumn \"%s\"" -#: rewrite/rewriteHandler.c:1682 +#: rewrite/rewriteHandler.c:1685 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGE stöds inte för relationer med regler." -#: rewrite/rewriteHandler.c:1722 rewrite/rewriteHandler.c:3262 +#: rewrite/rewriteHandler.c:1725 rewrite/rewriteHandler.c:3265 #, c-format msgid "access to non-system view \"%s\" is restricted" msgstr "access till icke-system vy \"%s\" är begränsad" -#: rewrite/rewriteHandler.c:2122 rewrite/rewriteHandler.c:4254 +#: rewrite/rewriteHandler.c:2125 rewrite/rewriteHandler.c:4274 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "oändlig rekursion detekterad i reglerna för relation \"%s\"" -#: rewrite/rewriteHandler.c:2227 +#: rewrite/rewriteHandler.c:2230 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "oändlig rekursion detekterad i policy för relation \"%s\"" -#: rewrite/rewriteHandler.c:2589 +#: rewrite/rewriteHandler.c:2592 msgid "Junk view columns are not updatable." msgstr "Skräpkolumner i vy är inte uppdateringsbara." -#: rewrite/rewriteHandler.c:2594 +#: rewrite/rewriteHandler.c:2597 msgid "View columns that are not columns of their base relation are not updatable." msgstr "Vykolumner som inte är kolumner i dess basrelation är inte uppdateringsbara." -#: rewrite/rewriteHandler.c:2597 +#: rewrite/rewriteHandler.c:2600 msgid "View columns that refer to system columns are not updatable." msgstr "Vykolumner som refererar till systemkolumner är inte uppdateringsbara." -#: rewrite/rewriteHandler.c:2600 +#: rewrite/rewriteHandler.c:2603 msgid "View columns that return whole-row references are not updatable." msgstr "Vykolumner som returnerar hel-rad-referenser är inte uppdateringsbara." -#: rewrite/rewriteHandler.c:2661 +#: rewrite/rewriteHandler.c:2664 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Vyer som innehåller DISTINCT är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2664 +#: rewrite/rewriteHandler.c:2667 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Vyer som innehåller GROUP BY är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2667 +#: rewrite/rewriteHandler.c:2670 msgid "Views containing HAVING are not automatically updatable." msgstr "Vyer som innehåller HAVING är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2670 +#: rewrite/rewriteHandler.c:2673 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "Vyer som innehåller UNION, INTERSECT eller EXCEPT är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2673 +#: rewrite/rewriteHandler.c:2676 msgid "Views containing WITH are not automatically updatable." msgstr "Vyer som innehåller WITH är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2676 +#: rewrite/rewriteHandler.c:2679 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Vyer som innehåller LIMIT eller OFFSET är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2688 +#: rewrite/rewriteHandler.c:2691 msgid "Views that return aggregate functions are not automatically updatable." msgstr "Vyer som returnerar aggregatfunktioner är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2691 +#: rewrite/rewriteHandler.c:2694 msgid "Views that return window functions are not automatically updatable." msgstr "Vyer som returnerar fönsterfunktioner uppdateras inte automatiskt." -#: rewrite/rewriteHandler.c:2694 +#: rewrite/rewriteHandler.c:2697 msgid "Views that return set-returning functions are not automatically updatable." msgstr "Vyer som returnerar mängd-returnerande funktioner är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2701 rewrite/rewriteHandler.c:2705 -#: rewrite/rewriteHandler.c:2713 +#: rewrite/rewriteHandler.c:2704 rewrite/rewriteHandler.c:2708 +#: rewrite/rewriteHandler.c:2716 msgid "Views that do not select from a single table or view are not automatically updatable." msgstr "Vyer som inte läser från en ensam tabell eller vy är inte automatiskt uppdateringsbar." -#: rewrite/rewriteHandler.c:2716 +#: rewrite/rewriteHandler.c:2719 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Vyer som innehåller TABLESAMPLE är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2740 +#: rewrite/rewriteHandler.c:2743 msgid "Views that have no updatable columns are not automatically updatable." msgstr "Vyer som inte har några uppdateringsbara kolumner är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:3121 rewrite/rewriteHandler.c:3156 +#: rewrite/rewriteHandler.c:3124 rewrite/rewriteHandler.c:3159 #, c-format msgid "cannot insert into view \"%s\"" msgstr "kan inte sätta in i vy \"%s\"" -#: rewrite/rewriteHandler.c:3124 +#: rewrite/rewriteHandler.c:3127 #, c-format msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." msgstr "För att tillåta insättning i en vy så skapa en INSTEAD OF INSERT-trigger eller en villkorslös ON INSERT DO INSTEAD-regel." -#: rewrite/rewriteHandler.c:3129 rewrite/rewriteHandler.c:3165 +#: rewrite/rewriteHandler.c:3132 rewrite/rewriteHandler.c:3168 #, c-format msgid "cannot update view \"%s\"" msgstr "kan inte uppdatera vy \"%s\"" -#: rewrite/rewriteHandler.c:3132 +#: rewrite/rewriteHandler.c:3135 #, c-format msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule." msgstr "För att tillåta uppdatering av en vy så skapa en INSTEAD OF UPDATE-trigger eller en villkorslös ON UPDATE DO INSTEAD-regel." -#: rewrite/rewriteHandler.c:3137 rewrite/rewriteHandler.c:3174 +#: rewrite/rewriteHandler.c:3140 rewrite/rewriteHandler.c:3177 #, c-format msgid "cannot delete from view \"%s\"" msgstr "kan inte radera från vy \"%s\"" -#: rewrite/rewriteHandler.c:3140 +#: rewrite/rewriteHandler.c:3143 #, c-format msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule." msgstr "För att tillåta bortagning i en vy så skapa en INSTEAD OF DELETE-trigger eller en villkorslös ON DELETE DO INSTEAD-regel." -#: rewrite/rewriteHandler.c:3159 +#: rewrite/rewriteHandler.c:3162 #, c-format msgid "To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT trigger." msgstr "För att tillåta insert till en vy med MERGE så krävs en INSTEAD OF INSERT-trigger." -#: rewrite/rewriteHandler.c:3168 +#: rewrite/rewriteHandler.c:3171 #, c-format msgid "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE trigger." msgstr "För att tillåta uppdatering av en vy så krävs en INSTEAD OF UPDATE-trigger." -#: rewrite/rewriteHandler.c:3177 +#: rewrite/rewriteHandler.c:3180 #, c-format msgid "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE trigger." msgstr "För att tillåta borttagning från en vy så krävs en INSTEAD OF DELETE-trigger." -#: rewrite/rewriteHandler.c:3352 +#: rewrite/rewriteHandler.c:3355 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "kan inte insert:a i kolumn \"%s\" i vy \"%s\"" -#: rewrite/rewriteHandler.c:3360 +#: rewrite/rewriteHandler.c:3363 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "kan inte uppdatera kolumn \"%s\" i view \"%s\"" -#: rewrite/rewriteHandler.c:3368 +#: rewrite/rewriteHandler.c:3371 #, c-format msgid "cannot merge into column \"%s\" of view \"%s\"" msgstr "kan inte merge:a till kolumn \"%s\" i vy \"%s\"" -#: rewrite/rewriteHandler.c:3396 +#: rewrite/rewriteHandler.c:3399 #, c-format msgid "cannot merge into view \"%s\"" msgstr "kan inte merge:a till vy \"%s\"" -#: rewrite/rewriteHandler.c:3398 +#: rewrite/rewriteHandler.c:3401 #, c-format msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions but not all." msgstr "MERGE stöds inte för vyer med INSTEAD OF-trigger för vissa actions men inte för andra." -#: rewrite/rewriteHandler.c:3399 +#: rewrite/rewriteHandler.c:3402 #, c-format msgid "To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers." msgstr "För att tillåta merge till en vy så antingen skapa en full uppsättning INSTEAD OF-triggers eller släng de befintliga INSERT OF-triggers." -#: rewrite/rewriteHandler.c:3912 +#: rewrite/rewriteHandler.c:3931 #, c-format msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" msgstr "DO INSTEAD NOTIFY-regler stöds inte för datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:3923 +#: rewrite/rewriteHandler.c:3942 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" msgstr "DO INSTEAD NOTHING-regler stöds inte för datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:3937 +#: rewrite/rewriteHandler.c:3956 #, c-format msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "villkorliga DO INSTEAD-regler stöds inte för datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:3941 +#: rewrite/rewriteHandler.c:3960 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "DO ALSO-regler stöds inte för datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:3946 +#: rewrite/rewriteHandler.c:3965 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "fler-satsiga DO INSTEAD-regler stöds inte för datamodifierande satser i WITH" -#: rewrite/rewriteHandler.c:4206 +#: rewrite/rewriteHandler.c:4226 msgid "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "Vyer med villkorliga DO INSTEAD-regler är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:4303 +#: rewrite/rewriteHandler.c:4324 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "kan inte utföra INSERT RETURNING på relation \"%s\"" -#: rewrite/rewriteHandler.c:4305 +#: rewrite/rewriteHandler.c:4326 #, c-format msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." msgstr "Du behöver en villkorslös ON INSERT DO INSTEAD-regel med en RETURNING-klausul." -#: rewrite/rewriteHandler.c:4310 +#: rewrite/rewriteHandler.c:4331 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "kan inte utföra UPDATE RETURNING på relation \"%s\"" -#: rewrite/rewriteHandler.c:4312 +#: rewrite/rewriteHandler.c:4333 #, c-format msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." msgstr "Du behöver en villkorslös ON UPDATE DO INSTEAD-regel med en RETURNING-klausul." -#: rewrite/rewriteHandler.c:4317 +#: rewrite/rewriteHandler.c:4338 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "kan inte utföra DELETE RETURNING på relation \"%s\"" -#: rewrite/rewriteHandler.c:4319 +#: rewrite/rewriteHandler.c:4340 #, c-format msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." msgstr "Du behöver en villkorslös ON DELETE DO INSTEAD-regel med en RETURNING-klausul." -#: rewrite/rewriteHandler.c:4337 +#: rewrite/rewriteHandler.c:4358 #, c-format msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules" msgstr "INSERT med ON CONFLICT-klausul kan inte användas med tabell som har INSERT- eller UPDATE-regler" -#: rewrite/rewriteHandler.c:4394 +#: rewrite/rewriteHandler.c:4415 #, c-format msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" msgstr "WITH kan inte användas i en fråga där regler skrivit om den till flera olika frågor" @@ -22658,42 +22685,42 @@ msgid "function returning record called in context that cannot accept type record" msgstr "en funktion med post som värde anropades i sammanhang där poster inte kan godtagas." -#: storage/buffer/bufmgr.c:649 storage/buffer/bufmgr.c:805 +#: storage/buffer/bufmgr.c:656 storage/buffer/bufmgr.c:812 #, c-format msgid "cannot access temporary tables of other sessions" msgstr "får inte röra temporära tabeller som tillhör andra sessioner" -#: storage/buffer/bufmgr.c:1532 +#: storage/buffer/bufmgr.c:1539 #, c-format msgid "invalid page in block %u of relation %s; zeroing out page" msgstr "felaktig sida i block %u för relation %s; nollställer sidan" -#: storage/buffer/bufmgr.c:2277 storage/buffer/localbuf.c:361 +#: storage/buffer/bufmgr.c:2284 storage/buffer/localbuf.c:361 #, c-format msgid "cannot extend relation %s beyond %u blocks" msgstr "kan inte utöka relation %s utöver %u block" -#: storage/buffer/bufmgr.c:2348 +#: storage/buffer/bufmgr.c:2355 #, c-format msgid "unexpected data beyond EOF in block %u of relation %s" msgstr "oväntad data efter EOF i block %u för relation %s" -#: storage/buffer/bufmgr.c:2350 +#: storage/buffer/bufmgr.c:2357 #, c-format msgid "This has been seen to occur with buggy kernels; consider updating your system." msgstr "Detta beteende har observerats med buggiga kärnor; fundera på att uppdatera ditt system." -#: storage/buffer/bufmgr.c:5654 +#: storage/buffer/bufmgr.c:5721 #, c-format msgid "could not write block %u of %s" msgstr "kunde inte skriva block %u av %s" -#: storage/buffer/bufmgr.c:5656 +#: storage/buffer/bufmgr.c:5723 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "Multipla fel --- skrivfelet kan vara permanent." -#: storage/buffer/bufmgr.c:5678 storage/buffer/bufmgr.c:5698 +#: storage/buffer/bufmgr.c:5745 storage/buffer/bufmgr.c:5765 #, c-format msgid "writing block %u of relation %s" msgstr "skriver block %u i relation %s" @@ -22738,144 +22765,144 @@ msgid "could not delete fileset \"%s\": %m" msgstr "kunde inte radera filmängd \"%s\": %m" -#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1194 +#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1208 #, c-format msgid "could not truncate file \"%s\": %m" msgstr "kunde inte trunkera fil \"%s\": %m" -#: storage/file/fd.c:580 storage/file/fd.c:652 storage/file/fd.c:688 +#: storage/file/fd.c:583 storage/file/fd.c:655 storage/file/fd.c:691 #, c-format msgid "could not flush dirty data: %m" msgstr "kunde inte flush:a smutsig data: %m" -#: storage/file/fd.c:610 +#: storage/file/fd.c:613 #, c-format msgid "could not determine dirty data size: %m" msgstr "kunde inte lista ut storlek på smutsig data: %m" -#: storage/file/fd.c:662 +#: storage/file/fd.c:665 #, c-format msgid "could not munmap() while flushing data: %m" msgstr "kunde inte göra munmap() vid flush:ning av data: %m" -#: storage/file/fd.c:980 +#: storage/file/fd.c:983 #, c-format msgid "getrlimit failed: %m" msgstr "getrlimit misslyckades: %m" -#: storage/file/fd.c:1070 +#: storage/file/fd.c:1073 #, c-format msgid "insufficient file descriptors available to start server process" msgstr "otillräckligt antal fildeskriptorer tillgängligt för att starta serverprocessen" -#: storage/file/fd.c:1071 +#: storage/file/fd.c:1074 #, c-format msgid "System allows %d, server needs at least %d." msgstr "Systemet tillåter %d, servern behöver minst %d." -#: storage/file/fd.c:1159 storage/file/fd.c:2615 storage/file/fd.c:2724 -#: storage/file/fd.c:2875 +#: storage/file/fd.c:1162 storage/file/fd.c:2618 storage/file/fd.c:2727 +#: storage/file/fd.c:2878 #, c-format msgid "out of file descriptors: %m; release and retry" msgstr "slut på fildeskriptorer: %m; frigör och försök igen" -#: storage/file/fd.c:1533 +#: storage/file/fd.c:1536 #, c-format msgid "temporary file: path \"%s\", size %lu" msgstr "temporär fil: sökväg \"%s\", storlek %lu" -#: storage/file/fd.c:1672 +#: storage/file/fd.c:1675 #, c-format msgid "cannot create temporary directory \"%s\": %m" msgstr "kunde inte skapa temporär katalog \"%s\": %m" -#: storage/file/fd.c:1679 +#: storage/file/fd.c:1682 #, c-format msgid "cannot create temporary subdirectory \"%s\": %m" msgstr "kunde inte skapa temporär underkatalog \"%s\": %m" -#: storage/file/fd.c:1876 +#: storage/file/fd.c:1879 #, c-format msgid "could not create temporary file \"%s\": %m" msgstr "kan inte skapa temporär fil \"%s\": %m" -#: storage/file/fd.c:1912 +#: storage/file/fd.c:1915 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "kunde inte öppna temporär fil \"%s\": %m" # unlink refererar till unix-funktionen unlink() så den översätter vi inte -#: storage/file/fd.c:1953 +#: storage/file/fd.c:1956 #, c-format msgid "could not unlink temporary file \"%s\": %m" msgstr "kunde inte unlink:a temporär fil \"%s\": %m" -#: storage/file/fd.c:2041 +#: storage/file/fd.c:2044 #, c-format msgid "could not delete file \"%s\": %m" msgstr "kunde inte radera fil \"%s\": %m" -#: storage/file/fd.c:2231 +#: storage/file/fd.c:2234 #, c-format msgid "temporary file size exceeds temp_file_limit (%dkB)" msgstr "storlek på temporär fil överskrider temp_file_limit (%dkB)" -#: storage/file/fd.c:2591 storage/file/fd.c:2650 +#: storage/file/fd.c:2594 storage/file/fd.c:2653 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\"" msgstr "överskred maxAllocatedDescs (%d) vid försök att öppna fil \"%s\"" -#: storage/file/fd.c:2695 +#: storage/file/fd.c:2698 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\"" msgstr "överskred maxAllocatedDescs (%d) vid försök att köra kommando \"%s\"" -#: storage/file/fd.c:2851 +#: storage/file/fd.c:2854 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\"" msgstr "överskred maxAllocatedDescs (%d) vid försök att öppna katalog \"%s\"" -#: storage/file/fd.c:3381 +#: storage/file/fd.c:3384 #, c-format msgid "unexpected file found in temporary-files directory: \"%s\"" msgstr "oväntad fil hittades i katalogen för temporära filer: \"%s\"" -#: storage/file/fd.c:3499 +#: storage/file/fd.c:3502 #, c-format msgid "syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s" msgstr "synkroniserar datakatalog (syncfs), förbrukad tid: %ld.%02d s, aktuell sökväg: %s" -#: storage/file/fd.c:3726 +#: storage/file/fd.c:3729 #, c-format msgid "syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: %s" msgstr "synkroniserar datakatalog (pre-fsync), förbrukad tid: %ld.%02d s, aktuell sökväg: %s" -#: storage/file/fd.c:3758 +#: storage/file/fd.c:3761 #, c-format msgid "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s" msgstr "synkroniserar datakatalog (fsync), förbrukad tid: %ld.%02d s, aktuell sökväg: %s" -#: storage/file/fd.c:3947 +#: storage/file/fd.c:3950 #, c-format msgid "\"debug_io_direct\" is not supported on this platform." msgstr "\"debug_io_direct\" stöds inte på denna plattform." -#: storage/file/fd.c:3961 +#: storage/file/fd.c:3964 #, c-format msgid "Invalid list syntax in parameter \"%s\"" msgstr "Ogiltigt listsyntax för parameter \"%s\"" -#: storage/file/fd.c:3981 +#: storage/file/fd.c:3984 #, c-format msgid "Invalid option \"%s\"" msgstr "Ogiltig flagga \"%s\"" -#: storage/file/fd.c:3994 +#: storage/file/fd.c:3997 #, c-format msgid "\"debug_io_direct\" is not supported for WAL because XLOG_BLCKSZ is too small" msgstr "\"debug_io_direct\" stöds inte för WAL då XLOG_BLCKSZ är för liten" -#: storage/file/fd.c:4001 +#: storage/file/fd.c:4004 #, c-format msgid "\"debug_io_direct\" is not supported for data because BLCKSZ is too small" msgstr "\"debug_io_direct\" stöds inte för data då BLCKSZ är för liten" @@ -22965,22 +22992,22 @@ msgid "could not duplicate handle for \"%s\": %m" msgstr "kunde inte duplicera handle för \"%s\": %m" -#: storage/ipc/dsm_registry.c:142 +#: storage/ipc/dsm_registry.c:144 #, c-format msgid "DSM segment name cannot be empty" msgstr "Namn på DSM-segment får inte vara tomt" -#: storage/ipc/dsm_registry.c:146 +#: storage/ipc/dsm_registry.c:148 #, c-format msgid "DSM segment name too long" msgstr "Namn på DSM-segment är för långt" -#: storage/ipc/dsm_registry.c:150 +#: storage/ipc/dsm_registry.c:152 #, c-format msgid "DSM segment size must be nonzero" msgstr "Storlek på DSM-segment får inte vara noll" -#: storage/ipc/dsm_registry.c:176 +#: storage/ipc/dsm_registry.c:168 #, c-format msgid "requested DSM segment size does not match size of existing segment" msgstr "efterfrågad storlek på DSM-segment matchar inte storleken på nuvarande segment" @@ -23451,7 +23478,7 @@ msgid "cannot extend file \"%s\" beyond %u blocks" msgstr "kan inte utöka fil \"%s\" utöver %u block" -#: storage/smgr/md.c:500 storage/smgr/md.c:611 +#: storage/smgr/md.c:500 storage/smgr/md.c:622 #, c-format msgid "could not extend file \"%s\": %m" msgstr "kunde inte utöka fil \"%s\": %m" @@ -23461,42 +23488,42 @@ msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u" msgstr "kunde inte utöka fil \"%s\": skrev bara %d av %d byte vid block %u" -#: storage/smgr/md.c:589 +#: storage/smgr/md.c:600 #, c-format msgid "could not extend file \"%s\" with FileFallocate(): %m" msgstr "kunde inte utöka fil \"%s\" med FileFallocate(): %m" -#: storage/smgr/md.c:869 +#: storage/smgr/md.c:880 #, c-format msgid "could not read blocks %u..%u in file \"%s\": %m" msgstr "kunde inte läsa block %u..%u i fil \"%s\": %m" -#: storage/smgr/md.c:895 +#: storage/smgr/md.c:906 #, c-format msgid "could not read blocks %u..%u in file \"%s\": read only %zu of %zu bytes" msgstr "kunde inte läsa block %u..%u i fil \"%s\": läste bara %zu av %zu byte" -#: storage/smgr/md.c:995 +#: storage/smgr/md.c:1006 #, c-format msgid "could not write blocks %u..%u in file \"%s\": %m" msgstr "kunde inte skriva block %u..%u i fil \"%s\": %m" -#: storage/smgr/md.c:1165 +#: storage/smgr/md.c:1179 #, c-format msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now" msgstr "kunde inte trunkera fil \"%s\" till %u block: den är bara %u block nu" -#: storage/smgr/md.c:1220 +#: storage/smgr/md.c:1234 #, c-format msgid "could not truncate file \"%s\" to %u blocks: %m" msgstr "kunde inte trunkera fil \"%s\" till %u block: %m" -#: storage/smgr/md.c:1700 +#: storage/smgr/md.c:1714 #, c-format msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks" msgstr "kunde inte öppna fil \"%s\" (målblock %u): föregående segment är bara %u block" -#: storage/smgr/md.c:1714 +#: storage/smgr/md.c:1728 #, c-format msgid "could not open file \"%s\" (target block %u): %m" msgstr "kunde inte öppna fil \"%s\" (målblock %u): %m" @@ -24740,8 +24767,8 @@ msgid "cannot compare arrays of different element types" msgstr "kan inte jämföra arrayer med olika elementtyper" -#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2805 -#: utils/adt/multirangetypes.c:2877 utils/adt/rangetypes.c:1361 +#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2806 +#: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1361 #: utils/adt/rangetypes.c:1425 utils/adt/rowtypes.c:1875 #, c-format msgid "could not identify a hash function for type %s" @@ -26389,12 +26416,12 @@ msgid "Expected comma or end of multirange." msgstr "Oväntat komma eller slut på multirange." -#: utils/adt/multirangetypes.c:981 +#: utils/adt/multirangetypes.c:982 #, c-format msgid "multiranges cannot be constructed from multidimensional arrays" msgstr "multiranges kan inte skapas från en multidimensionell array" -#: utils/adt/multirangetypes.c:1007 +#: utils/adt/multirangetypes.c:1008 #, c-format msgid "multirange values cannot contain null members" msgstr "multirange-värden kan inte innehålla null-medlemmar" @@ -26640,145 +26667,145 @@ msgid "percentile value %g is not between 0 and 1" msgstr "percentil-värde %g är inte mellan 0 och 1" -#: utils/adt/pg_locale.c:326 utils/adt/pg_locale.c:358 +#: utils/adt/pg_locale.c:327 utils/adt/pg_locale.c:359 #, c-format msgid "locale name \"%s\" contains non-ASCII characters" msgstr "lokalnamn \"%s\" innehåller tecken som ej är ASCII" -#: utils/adt/pg_locale.c:1507 +#: utils/adt/pg_locale.c:1510 #, c-format msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" msgstr "kunde inte öppna jämförelse för lokal \"%s\" med regler \"%s\": %s" -#: utils/adt/pg_locale.c:1518 utils/adt/pg_locale.c:2992 -#: utils/adt/pg_locale.c:3065 +#: utils/adt/pg_locale.c:1521 utils/adt/pg_locale.c:2995 +#: utils/adt/pg_locale.c:3068 #, c-format msgid "ICU is not supported in this build" msgstr "ICU stöds inte av detta bygge" -#: utils/adt/pg_locale.c:1546 +#: utils/adt/pg_locale.c:1549 #, c-format msgid "could not create locale \"%s\": %m" msgstr "kunde inte skapa locale \"%s\": %m" -#: utils/adt/pg_locale.c:1549 +#: utils/adt/pg_locale.c:1552 #, c-format msgid "The operating system could not find any locale data for the locale name \"%s\"." msgstr "Operativsystemet kunde inte hitta någon lokaldata för lokalnamnet \"%s\"." -#: utils/adt/pg_locale.c:1670 +#: utils/adt/pg_locale.c:1673 #, c-format msgid "collations with different collate and ctype values are not supported on this platform" msgstr "jämförelser (collations) med olika collate- och ctype-värden stöds inte på denna plattform" -#: utils/adt/pg_locale.c:1717 +#: utils/adt/pg_locale.c:1720 #, c-format msgid "collation \"%s\" has no actual version, but a version was recorded" msgstr "jämförelse (collation) \"%s\" har ingen version men en version har lagrats" -#: utils/adt/pg_locale.c:1723 +#: utils/adt/pg_locale.c:1726 #, c-format msgid "collation \"%s\" has version mismatch" msgstr "jämförelse (collation) \"%s\" har en version som inte matchar" -#: utils/adt/pg_locale.c:1725 +#: utils/adt/pg_locale.c:1728 #, c-format msgid "The collation in the database was created using version %s, but the operating system provides version %s." msgstr "Jämförelsen (collation) i databasen har skapats med version %s men operativsystemet har version %s." -#: utils/adt/pg_locale.c:1728 +#: utils/adt/pg_locale.c:1731 #, c-format msgid "Rebuild all objects affected by this collation and run ALTER COLLATION %s REFRESH VERSION, or build PostgreSQL with the right library version." msgstr "Bygg om alla objekt som påverkas av denna jämförelse (collation) och kör ALTER COLLATION %s REFRESH VERSION eller bygg PostgreSQL med rätt bibliotekversion." -#: utils/adt/pg_locale.c:1772 utils/adt/pg_locale.c:2556 -#: utils/adt/pg_locale.c:2581 +#: utils/adt/pg_locale.c:1775 utils/adt/pg_locale.c:2559 +#: utils/adt/pg_locale.c:2584 #, c-format msgid "invalid locale name \"%s\" for builtin provider" msgstr "ogiltigt lokalnamn \"%s\" för inbyggd leverantör" -#: utils/adt/pg_locale.c:1814 +#: utils/adt/pg_locale.c:1817 #, c-format msgid "could not load locale \"%s\"" msgstr "kunde inte skapa locale \"%s\"" -#: utils/adt/pg_locale.c:1839 +#: utils/adt/pg_locale.c:1842 #, c-format msgid "could not get collation version for locale \"%s\": error code %lu" msgstr "kunde inte hitta jämförelseversion (collation) för lokal \"%s\": felkod %lu" -#: utils/adt/pg_locale.c:1895 utils/adt/pg_locale.c:1908 +#: utils/adt/pg_locale.c:1898 utils/adt/pg_locale.c:1911 #, c-format msgid "could not convert string to UTF-16: error code %lu" msgstr "kunde inte konvertera sträng till UTF-16: felkod %lu" -#: utils/adt/pg_locale.c:1920 +#: utils/adt/pg_locale.c:1923 #, c-format msgid "could not compare Unicode strings: %m" msgstr "kunde inte jämföra Unicode-strängar: %m" -#: utils/adt/pg_locale.c:2094 +#: utils/adt/pg_locale.c:2097 #, c-format msgid "collation failed: %s" msgstr "jämförelse misslyckades: %s" -#: utils/adt/pg_locale.c:2313 utils/adt/pg_locale.c:2345 +#: utils/adt/pg_locale.c:2316 utils/adt/pg_locale.c:2348 #, c-format msgid "sort key generation failed: %s" msgstr "generering av sorteringsnyckel misslyckades: %s" -#: utils/adt/pg_locale.c:2635 +#: utils/adt/pg_locale.c:2638 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "kunde inte härleda språk från lokalen \"%s\": %s" -#: utils/adt/pg_locale.c:2656 utils/adt/pg_locale.c:2672 +#: utils/adt/pg_locale.c:2659 utils/adt/pg_locale.c:2675 #, c-format msgid "could not open collator for locale \"%s\": %s" msgstr "kunde inte öppna jämförelse för lokal \"%s\": %s" -#: utils/adt/pg_locale.c:2697 +#: utils/adt/pg_locale.c:2700 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "kodning \"%s\" stöds inte av ICU" -#: utils/adt/pg_locale.c:2704 +#: utils/adt/pg_locale.c:2707 #, c-format msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "kunde inte öppna ICU-konverterare för kodning \"%s\": %s" -#: utils/adt/pg_locale.c:2722 utils/adt/pg_locale.c:2741 -#: utils/adt/pg_locale.c:2797 utils/adt/pg_locale.c:2808 +#: utils/adt/pg_locale.c:2725 utils/adt/pg_locale.c:2744 +#: utils/adt/pg_locale.c:2800 utils/adt/pg_locale.c:2811 #, c-format msgid "%s failed: %s" msgstr "%s misslyckades: %s" -#: utils/adt/pg_locale.c:2983 +#: utils/adt/pg_locale.c:2986 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "kunde inte konvertera lokalnamn \"%s\" till språktagg: %s" -#: utils/adt/pg_locale.c:3024 +#: utils/adt/pg_locale.c:3027 #, c-format msgid "could not get language from ICU locale \"%s\": %s" msgstr "kunde inte härleda språk från ICU-lokalen \"%s\": %s" -#: utils/adt/pg_locale.c:3026 utils/adt/pg_locale.c:3055 +#: utils/adt/pg_locale.c:3029 utils/adt/pg_locale.c:3058 #, c-format msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." msgstr "För att stänga av validering av ICU-lokal, sätt parameter \"%s\" till \"%s\"" -#: utils/adt/pg_locale.c:3053 +#: utils/adt/pg_locale.c:3056 #, c-format msgid "ICU locale \"%s\" has unknown language \"%s\"" msgstr "ICU-lokalen \"%s\" har ett okänt språk \"%s\"" -#: utils/adt/pg_locale.c:3204 +#: utils/adt/pg_locale.c:3207 #, c-format msgid "invalid multibyte character for locale" msgstr "ogiltigt multibyte-tecken för lokalen" -#: utils/adt/pg_locale.c:3205 +#: utils/adt/pg_locale.c:3208 #, c-format msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding." msgstr "Serverns LC_CTYPE-lokal är troligen inkompatibel med databasens teckenkodning." @@ -27644,7 +27671,7 @@ msgid "This functionality requires the server to be built with libxml support." msgstr "Denna funktionalitet kräver att servern byggts med libxml-support." -#: utils/adt/xml.c:258 utils/mb/mbutils.c:627 +#: utils/adt/xml.c:258 utils/mb/mbutils.c:628 #, c-format msgid "invalid encoding name \"%s\"" msgstr "ogiltigt kodningsnamn \"%s\"" @@ -27824,27 +27851,27 @@ msgid "cached plan must not change result type" msgstr "cache:ad plan får inte ändra resultattyp" -#: utils/cache/relcache.c:3801 +#: utils/cache/relcache.c:3817 #, c-format msgid "heap relfilenumber value not set when in binary upgrade mode" msgstr "relfile-nummer för heap är inte satt i binärt uppgraderingsläge" -#: utils/cache/relcache.c:3809 +#: utils/cache/relcache.c:3825 #, c-format msgid "unexpected request for new relfilenumber in binary upgrade mode" msgstr "oväntad begäran av nytt relfile-nummer i binärt uppgraderingsläge" -#: utils/cache/relcache.c:6539 +#: utils/cache/relcache.c:6555 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "kunde inte skapa initieringsfil \"%s\" för relations-cache: %m" -#: utils/cache/relcache.c:6541 +#: utils/cache/relcache.c:6557 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Fortsätter ändå, trots att något är fel." -#: utils/cache/relcache.c:6871 +#: utils/cache/relcache.c:6887 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "kunde inte ta bort cache-fil \"%s\": %m" @@ -28487,48 +28514,48 @@ msgid "unexpected encoding ID %d for WIN character sets" msgstr "oväntat kodnings-ID %d för WIN-teckenuppsättningarna" -#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:900 +#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901 #, c-format msgid "conversion between %s and %s is not supported" msgstr "konvertering mellan %s och %s stöds inte" -#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 -#: utils/mb/mbutils.c:842 +#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 +#: utils/mb/mbutils.c:843 #, c-format msgid "String of %d bytes is too long for encoding conversion." msgstr "Sträng på %d byte är för lång för kodningskonvertering." -#: utils/mb/mbutils.c:568 +#: utils/mb/mbutils.c:569 #, c-format msgid "invalid source encoding name \"%s\"" msgstr "ogiltigt källkodningsnamn \"%s\"" -#: utils/mb/mbutils.c:573 +#: utils/mb/mbutils.c:574 #, c-format msgid "invalid destination encoding name \"%s\"" msgstr "ogiltigt målkodningsnamn \"%s\"" -#: utils/mb/mbutils.c:713 +#: utils/mb/mbutils.c:714 #, c-format msgid "invalid byte value for encoding \"%s\": 0x%02x" msgstr "ogiltigt byte-sekvens för kodning \"%s\": 0x%02x\"" -#: utils/mb/mbutils.c:877 +#: utils/mb/mbutils.c:878 #, c-format msgid "invalid Unicode code point" msgstr "ogiltig Unicode-kodpunkt" -#: utils/mb/mbutils.c:1201 +#: utils/mb/mbutils.c:1202 #, c-format msgid "bind_textdomain_codeset failed" msgstr "bind_textdomain_codeset misslyckades" -#: utils/mb/mbutils.c:1718 +#: utils/mb/mbutils.c:1719 #, c-format msgid "invalid byte sequence for encoding \"%s\": %s" msgstr "ogiltigt byte-sekvens för kodning \"%s\": %s" -#: utils/mb/mbutils.c:1759 +#: utils/mb/mbutils.c:1760 #, c-format msgid "character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\"" msgstr "tecken med byte-sekvens %s i kodning \"%s\" har inget motsvarande i kodning \"%s\"" @@ -28799,2061 +28826,2065 @@ msgid "SET requires parameter name" msgstr "SET kräver ett parameternamn" -#: utils/misc/guc_tables.c:676 +#: utils/misc/guc_tables.c:685 msgid "Ungrouped" msgstr "Ej grupperad" -#: utils/misc/guc_tables.c:677 +#: utils/misc/guc_tables.c:686 msgid "File Locations" msgstr "Filplatser" -#: utils/misc/guc_tables.c:678 +#: utils/misc/guc_tables.c:687 msgid "Connections and Authentication / Connection Settings" msgstr "Uppkopplingar och Autentisering / Uppkopplingsinställningar" -#: utils/misc/guc_tables.c:679 +#: utils/misc/guc_tables.c:688 msgid "Connections and Authentication / TCP Settings" msgstr "Uppkopplingar och Autentisering / TCP-inställningar" -#: utils/misc/guc_tables.c:680 +#: utils/misc/guc_tables.c:689 msgid "Connections and Authentication / Authentication" msgstr "Uppkopplingar och Autentisering / Autentisering" -#: utils/misc/guc_tables.c:681 +#: utils/misc/guc_tables.c:690 msgid "Connections and Authentication / SSL" msgstr "Uppkopplingar och Autentisering / SSL" -#: utils/misc/guc_tables.c:682 +#: utils/misc/guc_tables.c:691 msgid "Resource Usage / Memory" msgstr "Resursanvändning / Minne" -#: utils/misc/guc_tables.c:683 +#: utils/misc/guc_tables.c:692 msgid "Resource Usage / Disk" msgstr "Resursanvändning / Disk" -#: utils/misc/guc_tables.c:684 +#: utils/misc/guc_tables.c:693 msgid "Resource Usage / Kernel Resources" msgstr "Resursanvändning / Kernel-resurser" -#: utils/misc/guc_tables.c:685 +#: utils/misc/guc_tables.c:694 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Resursanvändning / Kostnadsbaserad Vacuum-fördröjning" -#: utils/misc/guc_tables.c:686 +#: utils/misc/guc_tables.c:695 msgid "Resource Usage / Background Writer" msgstr "Resursanvändning / Bakgrundskrivare" -#: utils/misc/guc_tables.c:687 +#: utils/misc/guc_tables.c:696 msgid "Resource Usage / Asynchronous Behavior" msgstr "Resursanvändning / Asynkront beteende" -#: utils/misc/guc_tables.c:688 +#: utils/misc/guc_tables.c:697 msgid "Write-Ahead Log / Settings" msgstr "Write-Ahead Log / Inställningar" -#: utils/misc/guc_tables.c:689 +#: utils/misc/guc_tables.c:698 msgid "Write-Ahead Log / Checkpoints" msgstr "Write-Ahead Log / Checkpoint:er" -#: utils/misc/guc_tables.c:690 +#: utils/misc/guc_tables.c:699 msgid "Write-Ahead Log / Archiving" msgstr "Write-Ahead Log / Arkivering" -#: utils/misc/guc_tables.c:691 +#: utils/misc/guc_tables.c:700 msgid "Write-Ahead Log / Recovery" msgstr "Write-Ahead Log / Återställning" -#: utils/misc/guc_tables.c:692 +#: utils/misc/guc_tables.c:701 msgid "Write-Ahead Log / Archive Recovery" msgstr "Write-Ahead Log / Återställning från arkiv" -#: utils/misc/guc_tables.c:693 +#: utils/misc/guc_tables.c:702 msgid "Write-Ahead Log / Recovery Target" msgstr "Write-Ahead Log / Återställningsmål" -#: utils/misc/guc_tables.c:694 +#: utils/misc/guc_tables.c:703 msgid "Write-Ahead Log / Summarization" msgstr "Write-Ahead Log / Summering" -#: utils/misc/guc_tables.c:695 +#: utils/misc/guc_tables.c:704 msgid "Replication / Sending Servers" msgstr "Replilering / Skickande servrar" -#: utils/misc/guc_tables.c:696 +#: utils/misc/guc_tables.c:705 msgid "Replication / Primary Server" msgstr "Replikering / Primärserver" -#: utils/misc/guc_tables.c:697 +#: utils/misc/guc_tables.c:706 msgid "Replication / Standby Servers" msgstr "Replikering / Standby-servrar" -#: utils/misc/guc_tables.c:698 +#: utils/misc/guc_tables.c:707 msgid "Replication / Subscribers" msgstr "Replikering / Prenumeranter" -#: utils/misc/guc_tables.c:699 +#: utils/misc/guc_tables.c:708 msgid "Query Tuning / Planner Method Configuration" msgstr "Frågeoptimering / Planeringsmetodinställningar" -#: utils/misc/guc_tables.c:700 +#: utils/misc/guc_tables.c:709 msgid "Query Tuning / Planner Cost Constants" msgstr "Frågeoptimering / Plannerarens kostnadskonstanter" -#: utils/misc/guc_tables.c:701 +#: utils/misc/guc_tables.c:710 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Frågeoptimering / Genetisk frågeoptimerare" -#: utils/misc/guc_tables.c:702 +#: utils/misc/guc_tables.c:711 msgid "Query Tuning / Other Planner Options" msgstr "Frågeoptimering / Andra planeringsinställningar" -#: utils/misc/guc_tables.c:703 +#: utils/misc/guc_tables.c:712 msgid "Reporting and Logging / Where to Log" msgstr "Rapportering och loggning / Logga var?" -#: utils/misc/guc_tables.c:704 +#: utils/misc/guc_tables.c:713 msgid "Reporting and Logging / When to Log" msgstr "Rapportering och loggning / Logga när?" -#: utils/misc/guc_tables.c:705 +#: utils/misc/guc_tables.c:714 msgid "Reporting and Logging / What to Log" msgstr "Rapportering och loggning / Logga vad?" -#: utils/misc/guc_tables.c:706 +#: utils/misc/guc_tables.c:715 msgid "Reporting and Logging / Process Title" msgstr "Rapportering och loggning / Processtitel" -#: utils/misc/guc_tables.c:707 +#: utils/misc/guc_tables.c:716 msgid "Statistics / Monitoring" msgstr "Statistik / Övervakning" -#: utils/misc/guc_tables.c:708 +#: utils/misc/guc_tables.c:717 msgid "Statistics / Cumulative Query and Index Statistics" msgstr "Statistik / Ihopsamlad fråge- och index-statistik" -#: utils/misc/guc_tables.c:709 +#: utils/misc/guc_tables.c:718 msgid "Autovacuum" msgstr "Autovacuum" -#: utils/misc/guc_tables.c:710 +#: utils/misc/guc_tables.c:719 msgid "Client Connection Defaults / Statement Behavior" msgstr "Standard för klientanslutning / Satsbeteende" -#: utils/misc/guc_tables.c:711 +#: utils/misc/guc_tables.c:720 msgid "Client Connection Defaults / Locale and Formatting" msgstr "Standard för klientanslutning / Lokal och formattering" -#: utils/misc/guc_tables.c:712 +#: utils/misc/guc_tables.c:721 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "Standard för klientanslutning / Förladdning av delat bibliotek" -#: utils/misc/guc_tables.c:713 +#: utils/misc/guc_tables.c:722 msgid "Client Connection Defaults / Other Defaults" msgstr "Standard för klientanslutning / Övriga standardvärden" -#: utils/misc/guc_tables.c:714 +#: utils/misc/guc_tables.c:723 msgid "Lock Management" msgstr "Låshantering" -#: utils/misc/guc_tables.c:715 +#: utils/misc/guc_tables.c:724 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Version och plattformskompabilitet / Tidigare PostrgreSQL-versioner" -#: utils/misc/guc_tables.c:716 +#: utils/misc/guc_tables.c:725 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "Version och plattformskompabilitet / Andra plattformar och klienter" -#: utils/misc/guc_tables.c:717 +#: utils/misc/guc_tables.c:726 msgid "Error Handling" msgstr "Felhantering" -#: utils/misc/guc_tables.c:718 +#: utils/misc/guc_tables.c:727 msgid "Preset Options" msgstr "Förinställningsflaggor" -#: utils/misc/guc_tables.c:719 +#: utils/misc/guc_tables.c:728 msgid "Customized Options" msgstr "Ändrade flaggor" -#: utils/misc/guc_tables.c:720 +#: utils/misc/guc_tables.c:729 msgid "Developer Options" msgstr "Utvecklarflaggor" -#: utils/misc/guc_tables.c:775 +#: utils/misc/guc_tables.c:784 msgid "Enables the planner's use of sequential-scan plans." msgstr "Aktiverar planerarens användning av planer med sekvensiell skanning." -#: utils/misc/guc_tables.c:785 +#: utils/misc/guc_tables.c:794 msgid "Enables the planner's use of index-scan plans." msgstr "Aktiverar planerarens användning av planer med indexskanning." -#: utils/misc/guc_tables.c:795 +#: utils/misc/guc_tables.c:804 msgid "Enables the planner's use of index-only-scan plans." msgstr "Aktiverar planerarens användning av planer med skanning av enbart index." -#: utils/misc/guc_tables.c:805 +#: utils/misc/guc_tables.c:814 msgid "Enables the planner's use of bitmap-scan plans." msgstr "Aktiverar planerarens användning av planer med bitmapskanning." -#: utils/misc/guc_tables.c:815 +#: utils/misc/guc_tables.c:824 msgid "Enables the planner's use of TID scan plans." msgstr "Aktiverar planerarens användning av planer med TID-skanning." -#: utils/misc/guc_tables.c:825 +#: utils/misc/guc_tables.c:834 msgid "Enables the planner's use of explicit sort steps." msgstr "Slår på planerarens användning av explicita sorteringssteg." -#: utils/misc/guc_tables.c:835 +#: utils/misc/guc_tables.c:844 msgid "Enables the planner's use of incremental sort steps." msgstr "Aktiverar planerarens användning av inkrementella sorteringssteg." -#: utils/misc/guc_tables.c:845 +#: utils/misc/guc_tables.c:854 msgid "Enables the planner's use of hashed aggregation plans." msgstr "Aktiverar planerarens användning av planer med hash-aggregering" -#: utils/misc/guc_tables.c:855 +#: utils/misc/guc_tables.c:864 msgid "Enables the planner's use of materialization." msgstr "Aktiverar planerarens användning av materialisering." -#: utils/misc/guc_tables.c:865 +#: utils/misc/guc_tables.c:874 msgid "Enables the planner's use of memoization." msgstr "Aktiverar planerarens användning av memoization." -#: utils/misc/guc_tables.c:875 +#: utils/misc/guc_tables.c:884 msgid "Enables the planner's use of nested-loop join plans." msgstr "Aktiverar planerarens användning av planer med nästlad loop-join," -#: utils/misc/guc_tables.c:885 +#: utils/misc/guc_tables.c:894 msgid "Enables the planner's use of merge join plans." msgstr "Aktiverar planerarens användning av merge-join-planer." -#: utils/misc/guc_tables.c:895 +#: utils/misc/guc_tables.c:904 msgid "Enables the planner's use of hash join plans." msgstr "Aktiverar planerarens användning av hash-join-planer." -#: utils/misc/guc_tables.c:905 +#: utils/misc/guc_tables.c:914 msgid "Enables the planner's use of gather merge plans." msgstr "Aktiverar planerarens användning av planer med gather-merge." -#: utils/misc/guc_tables.c:915 +#: utils/misc/guc_tables.c:924 msgid "Enables partitionwise join." msgstr "Aktiverar join per partition." -#: utils/misc/guc_tables.c:925 +#: utils/misc/guc_tables.c:934 msgid "Enables partitionwise aggregation and grouping." msgstr "Aktiverar aggregering och gruppering per partition." -#: utils/misc/guc_tables.c:935 +#: utils/misc/guc_tables.c:944 msgid "Enables the planner's use of parallel append plans." msgstr "Aktiverar planerarens användning av planer med parallell append." -#: utils/misc/guc_tables.c:945 +#: utils/misc/guc_tables.c:954 msgid "Enables the planner's use of parallel hash plans." msgstr "Aktiverar planerarens användning av planer med parallell hash." -#: utils/misc/guc_tables.c:955 +#: utils/misc/guc_tables.c:964 msgid "Enables plan-time and execution-time partition pruning." msgstr "Aktiverar rensning av partitioner vid planering och vid körning." -#: utils/misc/guc_tables.c:956 +#: utils/misc/guc_tables.c:965 msgid "Allows the query planner and executor to compare partition bounds to conditions in the query to determine which partitions must be scanned." msgstr "Tillåter att frågeplaneraren och exekveraren jämför partitionsgränser med villkor i frågan för att bestämma vilka partitioner som skall skannas." -#: utils/misc/guc_tables.c:967 +#: utils/misc/guc_tables.c:976 msgid "Enables the planner's ability to produce plans that provide presorted input for ORDER BY / DISTINCT aggregate functions." msgstr "Slår på planerarens möjlighet att skapa planer som tillhandahåller försorterad indata till aggregatfunktioner med ORDER BY / DISTINCT." -#: utils/misc/guc_tables.c:970 +#: utils/misc/guc_tables.c:979 msgid "Allows the query planner to build plans that provide presorted input for aggregate functions with an ORDER BY / DISTINCT clause. When disabled, implicit sorts are always performed during execution." msgstr "Tillåter att planeraren kan skapa planer som tillhandahåller försorterad indata till aggregatfunktioner med en ORDER BY / DISTINCT-klausul. Om avstängd så kommer implicita sorteringar alltid utföras vid exekvering." -#: utils/misc/guc_tables.c:982 +#: utils/misc/guc_tables.c:991 msgid "Enables the planner's use of async append plans." msgstr "Aktiverar planerarens användning av planer med async append." -#: utils/misc/guc_tables.c:992 +#: utils/misc/guc_tables.c:1001 msgid "Enables reordering of GROUP BY keys." msgstr "Aktiverar omkastning av nycklar i GROUP BY." -#: utils/misc/guc_tables.c:1002 +#: utils/misc/guc_tables.c:1011 msgid "Enables genetic query optimization." msgstr "Aktiverar genetisk frågeoptimering." -#: utils/misc/guc_tables.c:1003 +#: utils/misc/guc_tables.c:1012 msgid "This algorithm attempts to do planning without exhaustive searching." msgstr "Denna algoritm försöker utföra planering utan fullständig sökning." -#: utils/misc/guc_tables.c:1017 +#: utils/misc/guc_tables.c:1026 msgid "Shows whether the current user is a superuser." msgstr "Visar om den aktuella användaren är en superuser." -#: utils/misc/guc_tables.c:1032 +#: utils/misc/guc_tables.c:1041 msgid "Allows running the ALTER SYSTEM command." msgstr "Tillåter att kommandot ALTER SYSTEM körs." -#: utils/misc/guc_tables.c:1033 +#: utils/misc/guc_tables.c:1042 msgid "Can be set to off for environments where global configuration changes should be made using a different method." msgstr "Kan sättas till av för miljöer där global konfiguration skall hanteras på annat sätt." -#: utils/misc/guc_tables.c:1043 +#: utils/misc/guc_tables.c:1052 msgid "Enables advertising the server via Bonjour." msgstr "Aktiverar annonsering av servern via Bonjour." -#: utils/misc/guc_tables.c:1052 +#: utils/misc/guc_tables.c:1061 msgid "Collects transaction commit time." msgstr "Samlar in tid för transaktions-commit." -#: utils/misc/guc_tables.c:1061 +#: utils/misc/guc_tables.c:1070 msgid "Enables SSL connections." msgstr "Tillåter SSL-anslutningar." -#: utils/misc/guc_tables.c:1070 +#: utils/misc/guc_tables.c:1079 msgid "Controls whether \"ssl_passphrase_command\" is called during server reload." msgstr "Styr hurvida \"ssl_passphrase_command\" anropas vid omladdning av server." -#: utils/misc/guc_tables.c:1079 +#: utils/misc/guc_tables.c:1088 msgid "Give priority to server ciphersuite order." msgstr "Ge prioritet till serverns ordning av kryptometoder." -#: utils/misc/guc_tables.c:1088 +#: utils/misc/guc_tables.c:1097 msgid "Forces synchronization of updates to disk." msgstr "Tvingar synkronisering av uppdateringar till disk." -#: utils/misc/guc_tables.c:1089 +#: utils/misc/guc_tables.c:1098 msgid "The server will use the fsync() system call in several places to make sure that updates are physically written to disk. This ensures that a database cluster will recover to a consistent state after an operating system or hardware crash." msgstr "Servern kommer använda systemanropet fsync() på ett antal platser för att se till att uppdateringar fysiskt skrivs till disk. Detta för att säkerställa att databasklustret kan starta i ett konsistent tillstånd efter en operativsystemkrash eller hårdvarukrash." -#: utils/misc/guc_tables.c:1100 +#: utils/misc/guc_tables.c:1109 msgid "Continues processing after a checksum failure." msgstr "Fortsätter processande efter checksummefel." -#: utils/misc/guc_tables.c:1101 +#: utils/misc/guc_tables.c:1110 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 "Normalt vid detektion av checksummefel så rapporterar PostgreSQL felet och avbryter den aktuella transaktionen. Sätts ignore_checksum_failure till true så kommer systemet hoppa över felet (men fortfarande rapportera en varning). Detta beteende kan orsaka krasher eller andra allvarliga problem. Detta påverkas bara om checksummor är påslaget." -#: utils/misc/guc_tables.c:1115 +#: utils/misc/guc_tables.c:1124 msgid "Continues processing past damaged page headers." msgstr "Fortsätter processande efter trasiga sidhuvuden." -#: utils/misc/guc_tables.c:1116 +#: utils/misc/guc_tables.c:1125 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 "Normalt vid detektion av trasiga sidhuvuden så rapporterar PostgreSQL felet och avbryter den aktuella transaktionen. Sätts \"zero_damaged_pages\" till true så kommer systemet istället rapportera en varning, nollställa den trasiga sidan samt fortsätta processa. Detta kommer förstöra data (alla rader i den trasiga sidan)." -#: utils/misc/guc_tables.c:1129 +#: utils/misc/guc_tables.c:1138 msgid "Continues recovery after an invalid pages failure." msgstr "Fortsätter återställande efter fel på grund av ogiltiga sidor." -#: utils/misc/guc_tables.c:1130 +#: utils/misc/guc_tables.c:1139 msgid "Detection of WAL records having references to invalid pages during recovery causes PostgreSQL to raise a PANIC-level error, aborting the recovery. Setting \"ignore_invalid_pages\" to true causes the system to ignore invalid page references in WAL records (but still report a warning), and continue recovery. This behavior may cause crashes, data loss, propagate or hide corruption, or other serious problems. Only has an effect during recovery or in standby mode." msgstr "Normalt vid detektion av WAL-poster som refererar till ogiltiga sidor under återställning så kommer PostgreSQL att signalera ett fel på PANIC-nivå och avbryta återställningen. Sätts \"ignore_invalid_pages\" till true så kommer systemet hoppa över ogiltiga sidreferenser i WAL-poster (men fortfarande rapportera en varning) och fortsätta återställningen. Detta beteende kan orsaka krasher, dataförluster, sprida eller dölja korruption eller ge andra allvarliga problem. Detta påverkar bara under återställning eller i standby-läge." -#: utils/misc/guc_tables.c:1148 +#: utils/misc/guc_tables.c:1157 msgid "Writes full pages to WAL when first modified after a checkpoint." msgstr "Skriver fulla sidor till WAL första gången de ändras efter en checkpoint." -#: utils/misc/guc_tables.c:1149 +#: utils/misc/guc_tables.c:1158 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 "En sidskrivning som sker vid en operativsystemkrash kan bli delvis utskriven till disk. Under återställning så kommer radändringar i WAL:en inte vara tillräckligt för att återställa datan. Denna flagga skriver ut sidor först efter att en WAL-checkpoint gjorts vilket gör att full återställning kan ske." -#: utils/misc/guc_tables.c:1162 +#: utils/misc/guc_tables.c:1171 msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modification." msgstr "Skriver fulla sidor till WAL första gången de ändras efter en checkpoint, även för ickekritisk ändring." -#: utils/misc/guc_tables.c:1172 +#: utils/misc/guc_tables.c:1181 msgid "Writes zeroes to new WAL files before first use." msgstr "Skriv nollor till nya WAL-filer innan första användning." -#: utils/misc/guc_tables.c:1182 +#: utils/misc/guc_tables.c:1191 msgid "Recycles WAL files by renaming them." msgstr "Återanvänder WAL-filer genom att byta namn på dem." -#: utils/misc/guc_tables.c:1192 +#: utils/misc/guc_tables.c:1201 msgid "Logs each checkpoint." msgstr "Logga varje checkpoint." -#: utils/misc/guc_tables.c:1201 +#: utils/misc/guc_tables.c:1210 msgid "Logs each successful connection." msgstr "Logga varje lyckad anslutning." -#: utils/misc/guc_tables.c:1210 +#: utils/misc/guc_tables.c:1219 msgid "Logs details of pre-authentication connection handshake." msgstr "Logga detaljer om anslutningshandskakning före autentisering." -#: utils/misc/guc_tables.c:1220 +#: utils/misc/guc_tables.c:1229 msgid "Logs end of a session, including duration." msgstr "Loggar slut på session, inklusive längden." -#: utils/misc/guc_tables.c:1229 +#: utils/misc/guc_tables.c:1238 msgid "Logs each replication command." msgstr "Loggar alla replikeringskommanon." -#: utils/misc/guc_tables.c:1238 +#: utils/misc/guc_tables.c:1247 msgid "Shows whether the running server has assertion checks enabled." msgstr "Visar om den körande servern har assert-kontroller påslagna." -#: utils/misc/guc_tables.c:1249 +#: utils/misc/guc_tables.c:1258 msgid "Terminate session on any error." msgstr "Avbryt sessionen vid fel." -#: utils/misc/guc_tables.c:1258 +#: utils/misc/guc_tables.c:1267 msgid "Reinitialize server after backend crash." msgstr "Återinitiera servern efter en backend-krash." -#: utils/misc/guc_tables.c:1267 +#: utils/misc/guc_tables.c:1276 msgid "Remove temporary files after backend crash." msgstr "Ta bort temporära filer efter en backend-krash." -#: utils/misc/guc_tables.c:1277 +#: utils/misc/guc_tables.c:1286 msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." msgstr "Skicka SIGABRT och inte SIGQUIT till barnprocesser efter att backend:en krashat." -#: utils/misc/guc_tables.c:1287 +#: utils/misc/guc_tables.c:1296 msgid "Send SIGABRT not SIGKILL to stuck child processes." msgstr "Skicka SIGABRT och inte SIGKILL till barnprocesser som fastnat." -#: utils/misc/guc_tables.c:1298 +#: utils/misc/guc_tables.c:1307 msgid "Logs the duration of each completed SQL statement." msgstr "Loggar tiden för varje avslutad SQL-sats." -#: utils/misc/guc_tables.c:1307 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's parse tree." msgstr "Loggar alla frågors parse-träd." -#: utils/misc/guc_tables.c:1316 +#: utils/misc/guc_tables.c:1325 msgid "Logs each query's rewritten parse tree." msgstr "Logga alla frågors omskrivet parse-träd." -#: utils/misc/guc_tables.c:1325 +#: utils/misc/guc_tables.c:1334 msgid "Logs each query's execution plan." msgstr "Logga alla frågors körningsplan." -#: utils/misc/guc_tables.c:1334 +#: utils/misc/guc_tables.c:1343 msgid "Indents parse and plan tree displays." msgstr "Indentera parse och planeringsträdutskrifter" -#: utils/misc/guc_tables.c:1343 +#: utils/misc/guc_tables.c:1352 msgid "Writes parser performance statistics to the server log." msgstr "Skriver parserns prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1352 +#: utils/misc/guc_tables.c:1361 msgid "Writes planner performance statistics to the server log." msgstr "Skriver planerarens prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1361 +#: utils/misc/guc_tables.c:1370 msgid "Writes executor performance statistics to the server log." msgstr "Skrivere exekverarens prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1370 +#: utils/misc/guc_tables.c:1379 msgid "Writes cumulative performance statistics to the server log." msgstr "Skriver ackumulerad prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1380 +#: utils/misc/guc_tables.c:1389 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations." msgstr "Loggar statisik för användning av systemresurser (minne och CPU) för olika B-tree-operationer." -#: utils/misc/guc_tables.c:1392 +#: utils/misc/guc_tables.c:1401 msgid "Collects information about executing commands." msgstr "Samla information om körda kommanon." -#: utils/misc/guc_tables.c:1393 +#: utils/misc/guc_tables.c:1402 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 "Slår på insamling av information om det nu körande kommandot för varje session, tillsammans med klockslaget när det kommandot började köra." -#: utils/misc/guc_tables.c:1403 +#: utils/misc/guc_tables.c:1412 msgid "Collects statistics on database activity." msgstr "Samla in statistik om databasaktivitet." -#: utils/misc/guc_tables.c:1412 +#: utils/misc/guc_tables.c:1421 msgid "Collects timing statistics for database I/O activity." msgstr "Samla in timingstatistik om databasens I/O-aktivitet." -#: utils/misc/guc_tables.c:1421 +#: utils/misc/guc_tables.c:1430 msgid "Collects timing statistics for WAL I/O activity." msgstr "Samla in timingstatistik om I/O-aktivitet för WAL." -#: utils/misc/guc_tables.c:1431 +#: utils/misc/guc_tables.c:1440 msgid "Updates the process title to show the active SQL command." msgstr "Uppdaterar processtitel till att visa aktivt SQL-kommando." -#: utils/misc/guc_tables.c:1432 +#: utils/misc/guc_tables.c:1441 msgid "Enables updating of the process title every time a new SQL command is received by the server." msgstr "Slår på uppdatering av processtiteln varje gång ett nytt SQL-kommando tas emot av servern." -#: utils/misc/guc_tables.c:1441 +#: utils/misc/guc_tables.c:1450 msgid "Starts the autovacuum subprocess." msgstr "Starta autovacuum-barnprocess." -#: utils/misc/guc_tables.c:1451 +#: utils/misc/guc_tables.c:1460 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Skapar debug-output för LISTEN och NOTIFY." -#: utils/misc/guc_tables.c:1463 +#: utils/misc/guc_tables.c:1472 msgid "Emits information about lock usage." msgstr "Visar information om låsanvändning." -#: utils/misc/guc_tables.c:1473 +#: utils/misc/guc_tables.c:1482 msgid "Emits information about user lock usage." msgstr "Visar information om användares låsanvändning." -#: utils/misc/guc_tables.c:1483 +#: utils/misc/guc_tables.c:1492 msgid "Emits information about lightweight lock usage." msgstr "Visar information om lättviktig låsanvändning." -#: utils/misc/guc_tables.c:1493 +#: utils/misc/guc_tables.c:1502 msgid "Dumps information about all current locks when a deadlock timeout occurs." msgstr "Dumpar information om alla aktuella lås när en deadlock-timeout sker." -#: utils/misc/guc_tables.c:1505 +#: utils/misc/guc_tables.c:1514 msgid "Logs long lock waits." msgstr "Loggar långa väntetider på lås." -#: utils/misc/guc_tables.c:1514 +#: utils/misc/guc_tables.c:1523 msgid "Logs standby recovery conflict waits." msgstr "Loggar väntande på återställningskonflikter i standby" -#: utils/misc/guc_tables.c:1523 +#: utils/misc/guc_tables.c:1532 msgid "Logs the host name in the connection logs." msgstr "Loggar hostnamnet i anslutningsloggen." -#: utils/misc/guc_tables.c:1524 +#: utils/misc/guc_tables.c:1533 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 "Som standard visar anslutningsloggen bara IP-adressen för den anslutande värden. Om du vill att värdnamnet skall visas så kan du slå på detta men beroende på hur uppsättningen av namnuppslag är gjored så kan detta ha en markant prestandapåverkan." -#: utils/misc/guc_tables.c:1535 +#: utils/misc/guc_tables.c:1544 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Tolkar \"uttryck=NULL\" som \"uttryck IS NULL\"." -#: utils/misc/guc_tables.c:1536 +#: utils/misc/guc_tables.c:1545 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 "Om påslagen så kommer uttryck på formen uttryck = NULL (eller NULL = uttryck) att behandlas som uttryck IS NULL, det vill säga returnera true om uttryck evalueras till värdet null eller evalueras till false annars. Det korrekta beteendet för uttryck = NULL är att alltid returnera null (okänt)." -#: utils/misc/guc_tables.c:1548 +#: utils/misc/guc_tables.c:1557 msgid "Sets the default read-only status of new transactions." msgstr "Ställer in standard read-only-status för nya transaktioner." -#: utils/misc/guc_tables.c:1558 +#: utils/misc/guc_tables.c:1567 msgid "Sets the current transaction's read-only status." msgstr "Ställer in nuvarande transaktions read-only-status." -#: utils/misc/guc_tables.c:1568 +#: utils/misc/guc_tables.c:1577 msgid "Sets the default deferrable status of new transactions." msgstr "Ställer in standard deferrable-status för nya transaktioner." -#: utils/misc/guc_tables.c:1577 +#: utils/misc/guc_tables.c:1586 msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures." msgstr "Bestämmer om en serialiserbar transaktion för läsning kommer fördröjas tills den kan köras utan serialiseringsfel." -#: utils/misc/guc_tables.c:1587 +#: utils/misc/guc_tables.c:1596 msgid "Enable row security." msgstr "Aktiverar radsäkerhet." -#: utils/misc/guc_tables.c:1588 +#: utils/misc/guc_tables.c:1597 msgid "When enabled, row security will be applied to all users." msgstr "Om aktiv så kommer radsäkerhet användas för alla användare." -#: utils/misc/guc_tables.c:1596 +#: utils/misc/guc_tables.c:1605 msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE." msgstr "Kontrollera funktionskroppen vid CREATE FUNCTION och CREATE PROCEDURE." -#: utils/misc/guc_tables.c:1605 +#: utils/misc/guc_tables.c:1614 msgid "Enable input of NULL elements in arrays." msgstr "Aktiverar inmatning av NULL-element i arrayer." -#: utils/misc/guc_tables.c:1606 +#: utils/misc/guc_tables.c:1615 msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally." msgstr "Om påslagen så kommer ej citerade NULL i indatavärden för en array betyda värdet null, annars tolkas det bokstavligt." -#: utils/misc/guc_tables.c:1622 +#: utils/misc/guc_tables.c:1631 msgid "WITH OIDS is no longer supported; this can only be false." msgstr "WITH OIDS stöds inte längre; denna kan bara vara false." -#: utils/misc/guc_tables.c:1632 +#: utils/misc/guc_tables.c:1641 msgid "Start a subprocess to capture stderr, csvlog and/or jsonlog into log files." msgstr "Starta en subprocess för att fånga stderr, csvlog och/eller jsonlog till loggfiler." -#: utils/misc/guc_tables.c:1641 +#: utils/misc/guc_tables.c:1650 msgid "Truncate existing log files of same name during log rotation." msgstr "Trunkera existerande loggfiler med samma namn under loggrotering." -#: utils/misc/guc_tables.c:1652 +#: utils/misc/guc_tables.c:1661 msgid "Emit information about resource usage in sorting." msgstr "Skicka ut information om resursanvändning vid sortering." -#: utils/misc/guc_tables.c:1666 +#: utils/misc/guc_tables.c:1675 msgid "Generate debugging output for synchronized scanning." msgstr "Generera debug-output för synkroniserad skanning." -#: utils/misc/guc_tables.c:1681 +#: utils/misc/guc_tables.c:1690 msgid "Enable bounded sorting using heap sort." msgstr "Slår på begränsad sortering med heap-sort." -#: utils/misc/guc_tables.c:1694 +#: utils/misc/guc_tables.c:1703 msgid "Emit WAL-related debugging output." msgstr "Skicka ut WAL-relaterad debug-data." -#: utils/misc/guc_tables.c:1706 +#: utils/misc/guc_tables.c:1715 msgid "Shows whether datetimes are integer based." msgstr "Visa hurvida datetime är heltalsbaserad" -#: utils/misc/guc_tables.c:1717 +#: utils/misc/guc_tables.c:1726 msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive." msgstr "Anger hurvida Kerberos- och GSSAPI-användarnamn skall tolkas skiftlägesokänsligt." -#: utils/misc/guc_tables.c:1727 +#: utils/misc/guc_tables.c:1736 msgid "Sets whether GSSAPI delegation should be accepted from the client." msgstr "Anger hurvida GSSAPI-delegering skall accpeteras från klienten." -#: utils/misc/guc_tables.c:1737 +#: utils/misc/guc_tables.c:1746 msgid "Warn about backslash escapes in ordinary string literals." msgstr "Varna om backåtstreck-escape i vanliga stränglitteraler." -#: utils/misc/guc_tables.c:1747 +#: utils/misc/guc_tables.c:1756 msgid "Causes '...' strings to treat backslashes literally." msgstr "Gör att '...'-stängar tolkar bakåtstreck bokstavligt." -#: utils/misc/guc_tables.c:1758 +#: utils/misc/guc_tables.c:1767 msgid "Enable synchronized sequential scans." msgstr "Slå på synkroniserad sekvensiell skanning." -#: utils/misc/guc_tables.c:1768 +#: utils/misc/guc_tables.c:1777 msgid "Sets whether to include or exclude transaction with recovery target." msgstr "Anger hurvida man skall inkludera eller exkludera transaktion för återställningmål." -#: utils/misc/guc_tables.c:1778 +#: utils/misc/guc_tables.c:1787 msgid "Starts the WAL summarizer process to enable incremental backup." msgstr "Startar process för WAL-summering för att tillåta inkrementella backuper." -#: utils/misc/guc_tables.c:1788 +#: utils/misc/guc_tables.c:1797 msgid "Allows connections and queries during recovery." msgstr "Tillåt anslutningar och frågor under återställning." -#: utils/misc/guc_tables.c:1798 +#: utils/misc/guc_tables.c:1807 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts." msgstr "Tillåter feedback från en hot standby till primären för att undvika frågekonflikter." -#: utils/misc/guc_tables.c:1808 +#: utils/misc/guc_tables.c:1817 msgid "Shows whether hot standby is currently active." msgstr "Visar hurvida hot standby är aktiv för närvarande." -#: utils/misc/guc_tables.c:1819 +#: utils/misc/guc_tables.c:1828 msgid "Allows modifications of the structure of system tables." msgstr "Tillåter strukturförändringar av systemtabeller." -#: utils/misc/guc_tables.c:1830 +#: utils/misc/guc_tables.c:1839 msgid "Disables reading from system indexes." msgstr "Stänger av läsning från systemindex." -#: utils/misc/guc_tables.c:1831 +#: utils/misc/guc_tables.c:1840 msgid "It does not prevent updating the indexes, so it is safe to use. The worst consequence is slowness." msgstr "Det förhindrar inte uppdatering av index så det är helt säkert att använda. Det värsta som kan hända är att det är långsamt." -#: utils/misc/guc_tables.c:1842 +#: utils/misc/guc_tables.c:1851 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "Tillåter tabellutrymmen direkt inuti pg_tblspc, för testning" -#: utils/misc/guc_tables.c:1853 +#: utils/misc/guc_tables.c:1862 msgid "Enables backward compatibility mode for privilege checks on large objects." msgstr "Slår på bakåtkompabilitetsläge för rättighetskontroller på stora objekt." -#: utils/misc/guc_tables.c:1854 +#: utils/misc/guc_tables.c:1863 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0." msgstr "Hoppar över rättighetskontroller vid läsning eller modifiering av stora objekt, för kompabilitet med PostgreSQL-releaser innan 9.0." -#: utils/misc/guc_tables.c:1864 +#: utils/misc/guc_tables.c:1873 msgid "When generating SQL fragments, quote all identifiers." msgstr "När SQL-fragment genereras så citera alla identifierare." -#: utils/misc/guc_tables.c:1874 +#: utils/misc/guc_tables.c:1883 msgid "Shows whether data checksums are turned on for this cluster." msgstr "Visar om datachecksummor är påslagna för detta kluster." -#: utils/misc/guc_tables.c:1885 +#: utils/misc/guc_tables.c:1894 msgid "Add sequence number to syslog messages to avoid duplicate suppression." msgstr "Lägg till sekvensnummer till syslog-meddelanden för att undvika att duplikat tas bort." -#: utils/misc/guc_tables.c:1895 +#: utils/misc/guc_tables.c:1904 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." msgstr "Dela meddelanden som skickas till syslog till egna rader och begränsa till 1024 byte." -#: utils/misc/guc_tables.c:1905 +#: utils/misc/guc_tables.c:1914 msgid "Controls whether Gather and Gather Merge also run subplans." msgstr "Bestämmer om \"Gather\" och \"Gather Merge\" också exekverar subplaner." -#: utils/misc/guc_tables.c:1906 +#: utils/misc/guc_tables.c:1915 msgid "Should gather nodes also run subplans or just gather tuples?" msgstr "Skall gather-noder också exekvera subplaner eller bara samla in tupler?" -#: utils/misc/guc_tables.c:1916 +#: utils/misc/guc_tables.c:1925 msgid "Allow JIT compilation." msgstr "Tillåt JIT-kompilering." -#: utils/misc/guc_tables.c:1927 +#: utils/misc/guc_tables.c:1936 msgid "Register JIT-compiled functions with debugger." msgstr "Registrera JIT-kompilerade funktioner hos debuggern." -#: utils/misc/guc_tables.c:1944 +#: utils/misc/guc_tables.c:1953 msgid "Write out LLVM bitcode to facilitate JIT debugging." msgstr "Skriv ut LLVM-bitkod för att möjliggöra JIT-debuggning." -#: utils/misc/guc_tables.c:1955 +#: utils/misc/guc_tables.c:1964 msgid "Allow JIT compilation of expressions." msgstr "Tillåt JIT-kompilering av uttryck." -#: utils/misc/guc_tables.c:1966 +#: utils/misc/guc_tables.c:1975 msgid "Register JIT-compiled functions with perf profiler." msgstr "Registrera JIT-kompilerade funktioner med perf-profilerare." -#: utils/misc/guc_tables.c:1983 +#: utils/misc/guc_tables.c:1992 msgid "Allow JIT compilation of tuple deforming." msgstr "Tillåt JIT-kompilering av tupeluppdelning." -#: utils/misc/guc_tables.c:1994 +#: utils/misc/guc_tables.c:2003 msgid "Whether to continue running after a failure to sync data files." msgstr "Hurvida vi skall fortsätta efter ett fel att synka datafiler." -#: utils/misc/guc_tables.c:2003 +#: utils/misc/guc_tables.c:2012 msgid "Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured." msgstr "Anger hurvida en WAL-mottagare skall skapa en temporär replikeringsslot om ingen permanent slot är konfigurerad." -#: utils/misc/guc_tables.c:2012 +#: utils/misc/guc_tables.c:2021 msgid "Enables event triggers." msgstr "Aktiverar händelsetriggrar." -#: utils/misc/guc_tables.c:2013 +#: utils/misc/guc_tables.c:2022 msgid "When enabled, event triggers will fire for all applicable statements." msgstr "Om aktiverad så kommer händelsetriggrar anropas för alla satser där det går." -#: utils/misc/guc_tables.c:2022 +#: utils/misc/guc_tables.c:2031 msgid "Enables a physical standby to synchronize logical failover replication slots from the primary server." msgstr "Tillåter att en fysisk standby synkroniserar logiska replikeringsslottar för failover från primära servern." -#: utils/misc/guc_tables.c:2040 +#: utils/misc/guc_tables.c:2049 msgid "Sets the amount of time to wait before forcing a switch to the next WAL file." msgstr "Sätter tiden vi väntar innan vi tvingar ett byte till nästa WAL-fil." -#: utils/misc/guc_tables.c:2051 +#: utils/misc/guc_tables.c:2060 msgid "Sets the amount of time to wait after authentication on connection startup." msgstr "Sätter tiden att vänta efter authentiserng vid uppstart av anslutningen." -#: utils/misc/guc_tables.c:2053 utils/misc/guc_tables.c:2780 +#: utils/misc/guc_tables.c:2062 utils/misc/guc_tables.c:2789 msgid "This allows attaching a debugger to the process." msgstr "Detta tillåter att man ansluter en debugger till processen." -#: utils/misc/guc_tables.c:2062 +#: utils/misc/guc_tables.c:2071 msgid "Sets the default statistics target." msgstr "Sätter standardstatistikmålet." -#: utils/misc/guc_tables.c:2063 +#: utils/misc/guc_tables.c:2072 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS." msgstr "Detta gäller tabellkolumner som inte har ett kolumnspecifikt mål satt med ALTER TABLE SET STATISTICS." -#: utils/misc/guc_tables.c:2072 +#: utils/misc/guc_tables.c:2081 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "Sätter en övre gräns på FROM-listans storlek där subfrågor slås isär." -#: utils/misc/guc_tables.c:2074 +#: utils/misc/guc_tables.c:2083 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items." msgstr "Planeraren kommer slå samman subfrågor med yttre frågor om den resulterande FROM-listan inte har fler än så här många poster." -#: utils/misc/guc_tables.c:2085 +#: utils/misc/guc_tables.c:2094 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "Sätter en övre gräns på FROM-listans storlek där JOIN-konstruktioner plattas till." -#: utils/misc/guc_tables.c:2087 +#: utils/misc/guc_tables.c:2096 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 "Planeraren kommer platta till explicita JOIN-konstruktioner till listor av FROM-poster när resultatet blir en lista med max så här många poster." -#: utils/misc/guc_tables.c:2098 +#: utils/misc/guc_tables.c:2107 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "Sätter en undre gräns på antal FROM-poster när GEQO används." -#: utils/misc/guc_tables.c:2108 +#: utils/misc/guc_tables.c:2117 msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "GEQO: effort används som standard för andra GEQO-parametrar." -#: utils/misc/guc_tables.c:2118 +#: utils/misc/guc_tables.c:2127 msgid "GEQO: number of individuals in the population." msgstr "GEQO: antal individer i populationen." -#: utils/misc/guc_tables.c:2119 utils/misc/guc_tables.c:2129 +#: utils/misc/guc_tables.c:2128 utils/misc/guc_tables.c:2138 msgid "Zero selects a suitable default value." msgstr "Noll väljer ett lämpligt standardvärde." -#: utils/misc/guc_tables.c:2128 +#: utils/misc/guc_tables.c:2137 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: antal iterationer för algoritmen." -#: utils/misc/guc_tables.c:2140 +#: utils/misc/guc_tables.c:2149 msgid "Sets the time to wait on a lock before checking for deadlock." msgstr "Sätter tiden som väntas på ett lås innan kontroll av deadlock sker." -#: utils/misc/guc_tables.c:2151 +#: utils/misc/guc_tables.c:2160 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data." msgstr "Sätter maximal fördröjning innan frågor avbryts när en \"hot standby\"-server processar arkiverad WAL-data." -#: utils/misc/guc_tables.c:2162 +#: utils/misc/guc_tables.c:2171 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data." msgstr "Sätter maximal fördröjning innan frågor avbryts när en \"hot stanby\"-server processar strömmad WAL-data." -#: utils/misc/guc_tables.c:2173 +#: utils/misc/guc_tables.c:2182 msgid "Sets the minimum delay for applying changes during recovery." msgstr "Ställer in minsta fördröjning för att applicera ändringar under återställning." -#: utils/misc/guc_tables.c:2184 +#: utils/misc/guc_tables.c:2193 msgid "Sets the maximum interval between WAL receiver status reports to the sending server." msgstr "Sätter maximalt intervall mellan statusrapporter till skickande server från WAL-mottagaren." -#: utils/misc/guc_tables.c:2195 +#: utils/misc/guc_tables.c:2204 msgid "Sets the maximum wait time to receive data from the sending server." msgstr "Sätter maximal väntetid för att ta emot data från skickande server." -#: utils/misc/guc_tables.c:2206 +#: utils/misc/guc_tables.c:2215 msgid "Sets the maximum number of concurrent connections." msgstr "Sätter maximalt antal samtidiga anslutningar." -#: utils/misc/guc_tables.c:2217 +#: utils/misc/guc_tables.c:2226 msgid "Sets the number of connection slots reserved for superusers." msgstr "Sätter antalet anslutningsslottar som reserverats för superusers." -#: utils/misc/guc_tables.c:2227 +#: utils/misc/guc_tables.c:2236 msgid "Sets the number of connection slots reserved for roles with privileges of pg_use_reserved_connections." msgstr "Sätter antalet anslutningsslottar som reserverats för roller med rättigheter från pg_use_reserved_connections." -#: utils/misc/guc_tables.c:2238 +#: utils/misc/guc_tables.c:2247 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Mängd dynamiskt delat minne som reserveras vid uppstart" -#: utils/misc/guc_tables.c:2253 +#: utils/misc/guc_tables.c:2262 msgid "Sets the number of shared memory buffers used by the server." msgstr "Sätter antalet delade minnesbuffrar som används av servern." -#: utils/misc/guc_tables.c:2264 +#: utils/misc/guc_tables.c:2273 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." msgstr "Sätter buffer-poolens storlek för VACUUM, ANALYZE och autovacuum." -#: utils/misc/guc_tables.c:2275 +#: utils/misc/guc_tables.c:2284 msgid "Shows the size of the server's main shared memory area (rounded up to the nearest MB)." msgstr "Visa storlek på serverns huvudsakliga delade minnesarea (avrundat upp till närmaste MB)." -#: utils/misc/guc_tables.c:2286 +#: utils/misc/guc_tables.c:2295 msgid "Shows the number of huge pages needed for the main shared memory area." msgstr "Visa antal stora sidor som krävs för den huvudsakliga delade minnesarean." -#: utils/misc/guc_tables.c:2287 +#: utils/misc/guc_tables.c:2296 msgid "-1 indicates that the value could not be determined." msgstr "-1 betyder att värdet inte kunde bestämmas." -#: utils/misc/guc_tables.c:2297 +#: utils/misc/guc_tables.c:2306 msgid "Sets the size of the dedicated buffer pool used for the commit timestamp cache." msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av commit-tidsstämplar." -#: utils/misc/guc_tables.c:2298 utils/misc/guc_tables.c:2353 -#: utils/misc/guc_tables.c:2364 +#: utils/misc/guc_tables.c:2307 utils/misc/guc_tables.c:2362 +#: utils/misc/guc_tables.c:2373 msgid "Specify 0 to have this value determined as a fraction of shared_buffers." msgstr "Ange 0 för att sätta detta värde till en bråkdel av shared_buffers." -#: utils/misc/guc_tables.c:2308 +#: utils/misc/guc_tables.c:2317 msgid "Sets the size of the dedicated buffer pool used for the MultiXact member cache." msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av MultiXact-medlemmar." -#: utils/misc/guc_tables.c:2319 +#: utils/misc/guc_tables.c:2328 msgid "Sets the size of the dedicated buffer pool used for the MultiXact offset cache." msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av MultiXact-offset." -#: utils/misc/guc_tables.c:2330 +#: utils/misc/guc_tables.c:2339 msgid "Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache." msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av LISTEN/NOTIFY-meddelande." -#: utils/misc/guc_tables.c:2341 +#: utils/misc/guc_tables.c:2350 msgid "Sets the size of the dedicated buffer pool used for the serializable transaction cache." msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av serialiserbara transaktioner." -#: utils/misc/guc_tables.c:2352 +#: utils/misc/guc_tables.c:2361 msgid "Sets the size of the dedicated buffer pool used for the subtransaction cache." msgstr "Sätter storlek på den dedikerade bufferpoolen som används som cache för undertransaktioner." -#: utils/misc/guc_tables.c:2363 +#: utils/misc/guc_tables.c:2372 msgid "Sets the size of the dedicated buffer pool used for the transaction status cache." msgstr "Sätter storlek på den dedikerade bufferpoolen som används till cache av transaktionsstatus." -#: utils/misc/guc_tables.c:2374 +#: utils/misc/guc_tables.c:2383 msgid "Sets the maximum number of temporary buffers used by each session." msgstr "Sätter maximalt antal temporära buffertar som används per session." -#: utils/misc/guc_tables.c:2385 +#: utils/misc/guc_tables.c:2394 msgid "Sets the TCP port the server listens on." msgstr "Sätter TCP-porten som servern lyssnar på." -#: utils/misc/guc_tables.c:2395 +#: utils/misc/guc_tables.c:2404 msgid "Sets the access permissions of the Unix-domain socket." msgstr "Sätter accessrättigheter för Unix-domainuttag (socket)." -#: utils/misc/guc_tables.c:2396 +#: utils/misc/guc_tables.c:2405 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 "Unixdomänuttag (socket) använder unix vanliga filsystemsrättigheter. Parametervärdet förväntas vara en numerisk rättighetsangivelse så som accepteras av systemanropen chmod och umask. (För att använda det vanliga oktala formatet så måste numret börja med 0 (noll).)" -#: utils/misc/guc_tables.c:2410 +#: utils/misc/guc_tables.c:2419 msgid "Sets the file permissions for log files." msgstr "Sätter filrättigheter för loggfiler." -#: utils/misc/guc_tables.c:2411 +#: utils/misc/guc_tables.c:2420 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 "Parametervärdet förväntas vara en numerisk rättighetsangivelse så som accepteras av systemanropen chmod och umask. (För att använda det vanliga oktala formatet så måste numret börja med 0 (noll).)" -#: utils/misc/guc_tables.c:2425 +#: utils/misc/guc_tables.c:2434 msgid "Shows the mode of the data directory." msgstr "Visar rättigheter för datakatalog" -#: utils/misc/guc_tables.c:2426 +#: utils/misc/guc_tables.c:2435 msgid "The parameter value is 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 "Parametervärdet är en numerisk rättighetsangivelse så som accepteras av systemanropen chmod och umask. (För att använda det vanliga oktala formatet så måste numret börja med 0 (noll).)" -#: utils/misc/guc_tables.c:2439 +#: utils/misc/guc_tables.c:2448 msgid "Sets the maximum memory to be used for query workspaces." msgstr "Sätter maximalt minne som används för frågors arbetsyta." -#: utils/misc/guc_tables.c:2440 +#: utils/misc/guc_tables.c:2449 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files." msgstr "Så här mycket minne kan användas av varje intern sorteringsoperation resp. hash-tabell innan temporära filer på disk börjar användas." -#: utils/misc/guc_tables.c:2457 +#: utils/misc/guc_tables.c:2466 msgid "Sets the maximum memory to be used for maintenance operations." msgstr "Sätter det maximala minnet som får användas för underhållsoperationer." -#: utils/misc/guc_tables.c:2458 +#: utils/misc/guc_tables.c:2467 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "Detta inkluderar operationer som VACUUM och CREATE INDEX." -#: utils/misc/guc_tables.c:2468 +#: utils/misc/guc_tables.c:2477 msgid "Sets the maximum memory to be used for logical decoding." msgstr "Sätter det maximala minnet som får användas för logisk avkodning." -#: utils/misc/guc_tables.c:2469 +#: utils/misc/guc_tables.c:2478 msgid "This much memory can be used by each internal reorder buffer before spilling to disk." msgstr "Så här mycket minne kan användas av varje intern omsorteringsbuffer innan data spills till disk." -#: utils/misc/guc_tables.c:2485 +#: utils/misc/guc_tables.c:2494 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Sätter det maximala stackdjupet, i kilobyte." -#: utils/misc/guc_tables.c:2496 +#: utils/misc/guc_tables.c:2505 msgid "Limits the total size of all temporary files used by each process." msgstr "Begränsar den totala storleken för alla temporära filer som används i en process." -#: utils/misc/guc_tables.c:2497 +#: utils/misc/guc_tables.c:2506 msgid "-1 means no limit." msgstr "-1 betyder ingen gräns." -#: utils/misc/guc_tables.c:2507 +#: utils/misc/guc_tables.c:2516 msgid "Vacuum cost for a page found in the buffer cache." msgstr "Vacuum-kostnad för en sida som hittas i buffer-cache:n." -#: utils/misc/guc_tables.c:2517 +#: utils/misc/guc_tables.c:2526 msgid "Vacuum cost for a page not found in the buffer cache." msgstr "Vacuum-kostnad för en sida som inte hittas i buffer-cache:n." -#: utils/misc/guc_tables.c:2527 +#: utils/misc/guc_tables.c:2536 msgid "Vacuum cost for a page dirtied by vacuum." msgstr "Vacuum-kostnad för sidor som smutsats ner vid vacuum." -#: utils/misc/guc_tables.c:2537 +#: utils/misc/guc_tables.c:2546 msgid "Vacuum cost amount available before napping." msgstr "Vacuum-kostnad kvar innan pausande." -#: utils/misc/guc_tables.c:2547 +#: utils/misc/guc_tables.c:2556 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "Vacuum-kostnad kvar innan pausande, för autovacuum." -#: utils/misc/guc_tables.c:2557 +#: utils/misc/guc_tables.c:2566 msgid "Sets the maximum number of simultaneously open files for each server process." msgstr "Sätter det maximala antalet filer som en serverprocess kan ha öppna på en gång." -#: utils/misc/guc_tables.c:2570 +#: utils/misc/guc_tables.c:2579 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "Sätter det maximala antalet förberedda transaktioner man får ha på en gång." -#: utils/misc/guc_tables.c:2581 +#: utils/misc/guc_tables.c:2590 msgid "Sets the minimum OID of tables for tracking locks." msgstr "Sätter minsta tabell-OID för spårning av lås." -#: utils/misc/guc_tables.c:2582 +#: utils/misc/guc_tables.c:2591 msgid "Is used to avoid output on system tables." msgstr "Används för att undvika utdata för systemtabeller." -#: utils/misc/guc_tables.c:2591 +#: utils/misc/guc_tables.c:2600 msgid "Sets the OID of the table with unconditionally lock tracing." msgstr "Sätter OID för tabellen med ovillkorlig låsspårning." -#: utils/misc/guc_tables.c:2603 +#: utils/misc/guc_tables.c:2612 msgid "Sets the maximum allowed duration of any statement." msgstr "Sätter den maximala tiden som en sats får köra." -#: utils/misc/guc_tables.c:2604 utils/misc/guc_tables.c:2615 -#: utils/misc/guc_tables.c:2626 utils/misc/guc_tables.c:2637 -#: utils/misc/guc_tables.c:2648 +#: utils/misc/guc_tables.c:2613 utils/misc/guc_tables.c:2624 +#: utils/misc/guc_tables.c:2635 utils/misc/guc_tables.c:2646 +#: utils/misc/guc_tables.c:2657 msgid "A value of 0 turns off the timeout." msgstr "Värdet 0 stänger av timeout:en." -#: utils/misc/guc_tables.c:2614 +#: utils/misc/guc_tables.c:2623 msgid "Sets the maximum allowed duration of any wait for a lock." msgstr "Sätter den maximala tiden som man får vänta på ett lås." -#: utils/misc/guc_tables.c:2625 +#: utils/misc/guc_tables.c:2634 msgid "Sets the maximum allowed idle time between queries, when in a transaction." msgstr "Sätter den maximalt tillåtna inaktiva tiden mellan frågor i en transaktion." -#: utils/misc/guc_tables.c:2636 +#: utils/misc/guc_tables.c:2645 msgid "Sets the maximum allowed duration of any transaction within a session (not a prepared transaction)." msgstr "Sätter den maximala tillåtana tiden för en transaktion i en session (ej en preparerad transaktion)." -#: utils/misc/guc_tables.c:2647 +#: utils/misc/guc_tables.c:2656 msgid "Sets the maximum allowed idle time between queries, when not in a transaction." msgstr "Sätter den maximalt tillåtna inaktiva tiden mellan frågor utanför en transaktion." -#: utils/misc/guc_tables.c:2658 +#: utils/misc/guc_tables.c:2667 msgid "Minimum age at which VACUUM should freeze a table row." msgstr "Minimal ålder där VACUUM skall frysa en tabellrad." -#: utils/misc/guc_tables.c:2668 +#: utils/misc/guc_tables.c:2677 msgid "Age at which VACUUM should scan whole table to freeze tuples." msgstr "Ålder där VACUUM skall skanna hela tabellen för att frysa tupler." -#: utils/misc/guc_tables.c:2678 +#: utils/misc/guc_tables.c:2687 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." msgstr "Minsta ålder där VACUUM skall frysa en MultiXactId i en tabellrad." -#: utils/misc/guc_tables.c:2688 +#: utils/misc/guc_tables.c:2697 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." msgstr "Multixact-ålder där VACUUM skall skanna hela tabellen för att frysa tupler." -#: utils/misc/guc_tables.c:2698 +#: utils/misc/guc_tables.c:2707 msgid "Age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Ålder där VACUUM skall startas som skyddsåtgärd för att undvika wraparound-stopp." -#: utils/misc/guc_tables.c:2707 +#: utils/misc/guc_tables.c:2716 msgid "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Multixact-ålder där VACUUM skall startas som skyddsåtgärd för att undvika wraparound-stopp." -#: utils/misc/guc_tables.c:2720 +#: utils/misc/guc_tables.c:2729 msgid "Sets the maximum number of locks per transaction." msgstr "Sätter det maximala antalet lås per transaktion." -#: utils/misc/guc_tables.c:2721 +#: utils/misc/guc_tables.c:2730 msgid "The shared lock table is sized on the assumption that at most \"max_locks_per_transaction\" objects per server process or prepared transaction will need to be locked at any one time." msgstr "Den delade låstabellen har storlek efter antagandet att maximalt \"max_locks_per_transaction\" objekt per serverprocess eller per förberedd transaktion kommer behöva låsas vid varje enskild tidpunkt." -#: utils/misc/guc_tables.c:2732 +#: utils/misc/guc_tables.c:2741 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Sätter det maximala antalet predikatlås per transaktion." -#: utils/misc/guc_tables.c:2733 +#: utils/misc/guc_tables.c:2742 msgid "The shared predicate lock table is sized on the assumption that at most \"max_pred_locks_per_transaction\" objects per server process or prepared transaction will need to be locked at any one time." msgstr "Den delade predikatlåstabellen har storlek efter antagandet att maximalt \"max_pred_locks_per_transaction\" objekt per serverprocess eller per förberedd transaktion kommer behöva låsas vid varje enskild tidpunkt." -#: utils/misc/guc_tables.c:2744 +#: utils/misc/guc_tables.c:2753 msgid "Sets the maximum number of predicate-locked pages and tuples per relation." msgstr "Sätter det maximala antalet predikatlåsta sidor och tupler per relation." -#: utils/misc/guc_tables.c:2745 +#: utils/misc/guc_tables.c:2754 msgid "If more than this total of pages and tuples in the same relation are locked by a connection, those locks are replaced by a relation-level lock." msgstr "Om fler än detta totala antal sidor och tupler för samma relation är låsta av en anslutning så ersätts dessa lås med ett lås på relationen." -#: utils/misc/guc_tables.c:2755 +#: utils/misc/guc_tables.c:2764 msgid "Sets the maximum number of predicate-locked tuples per page." msgstr "Sätter det maximala antalet predikatlåsta tupler per sida." -#: utils/misc/guc_tables.c:2756 +#: utils/misc/guc_tables.c:2765 msgid "If more than this number of tuples on the same page are locked by a connection, those locks are replaced by a page-level lock." msgstr "Om fler än detta antal tupler på samma sida är låsta av en anslutning så ersätts dessa lås med ett lås på sidan." -#: utils/misc/guc_tables.c:2766 +#: utils/misc/guc_tables.c:2775 msgid "Sets the maximum allowed time to complete client authentication." msgstr "Sätter maximalt tillåten tid att slutföra klientautentisering." -#: utils/misc/guc_tables.c:2778 +#: utils/misc/guc_tables.c:2787 msgid "Sets the amount of time to wait before authentication on connection startup." msgstr "Sätter tiden att vänta före authentiserng vid uppstart av anslutningen.." -#: utils/misc/guc_tables.c:2790 +#: utils/misc/guc_tables.c:2799 msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue." msgstr "Sätter det maximala antalet allokerade sidor till kö för NOTIFY / LISTEN." -#: utils/misc/guc_tables.c:2800 +#: utils/misc/guc_tables.c:2809 msgid "Buffer size for reading ahead in the WAL during recovery." msgstr "Bufferstorlek för read-ahead av WAL vid återställning." -#: utils/misc/guc_tables.c:2801 +#: utils/misc/guc_tables.c:2810 msgid "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." msgstr "Maximal längd att läsa i förväg av WAL för att prefetch:a refererade datablock." -#: utils/misc/guc_tables.c:2811 +#: utils/misc/guc_tables.c:2820 msgid "Sets the size of WAL files held for standby servers." msgstr "Sätter storlek på WAL-filer som sparas för standby-servrar." -#: utils/misc/guc_tables.c:2822 +#: utils/misc/guc_tables.c:2831 msgid "Sets the minimum size to shrink the WAL to." msgstr "Sätter maximal storlek som WAL kan krympas till." -#: utils/misc/guc_tables.c:2834 +#: utils/misc/guc_tables.c:2843 msgid "Sets the WAL size that triggers a checkpoint." msgstr "Sätter WAL-storlek som triggar en checkpoint." -#: utils/misc/guc_tables.c:2846 +#: utils/misc/guc_tables.c:2855 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "Sätter maximal tid mellan två automatiska WAL-checkpoint:er." -#: utils/misc/guc_tables.c:2857 +#: utils/misc/guc_tables.c:2866 msgid "Sets the maximum time before warning if checkpoints triggered by WAL volume happen too frequently." msgstr "Sätter maximal tid innan en varning ges för att stor WAL-volymn gör att checkpoint triggas för ofta." -#: utils/misc/guc_tables.c:2859 +#: utils/misc/guc_tables.c:2868 msgid "Write a message to the server log if checkpoints caused by the filling of WAL segment files happen more frequently than this amount of time. Zero turns off the warning." msgstr "Skriv ett meddelande i serverloggen om checkpoint:er som orsakas av fulla WAL-segmentfiler händer oftare än denna tid. Noll stänger av varningen." -#: utils/misc/guc_tables.c:2872 utils/misc/guc_tables.c:3090 -#: utils/misc/guc_tables.c:3144 +#: utils/misc/guc_tables.c:2881 utils/misc/guc_tables.c:3099 +#: utils/misc/guc_tables.c:3153 msgid "Number of pages after which previously performed writes are flushed to disk." msgstr "Antal sidor varefter tidigare skrivningar flush:as till disk." -#: utils/misc/guc_tables.c:2883 +#: utils/misc/guc_tables.c:2892 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "Sätter antal buffrar för disksidor i delat minne för WAL." -#: utils/misc/guc_tables.c:2884 +#: utils/misc/guc_tables.c:2893 msgid "Specify -1 to have this value determined as a fraction of shared_buffers." msgstr "Ange -1 för att sätta detta värde till en bråkdel av shared_buffers." -#: utils/misc/guc_tables.c:2894 +#: utils/misc/guc_tables.c:2903 msgid "Time between WAL flushes performed in the WAL writer." msgstr "Tid mellan WAL-flush:ar utförda i WAL-skrivaren." -#: utils/misc/guc_tables.c:2905 +#: utils/misc/guc_tables.c:2914 msgid "Amount of WAL written out by WAL writer that triggers a flush." msgstr "Mängden WAL utskrivna av WAL-skrivaren som triggar en flush." -#: utils/misc/guc_tables.c:2916 +#: utils/misc/guc_tables.c:2925 msgid "Minimum size of new file to fsync instead of writing WAL." msgstr "Minimal storlek på ny fil som skall fsync:as istället för att skriva till WAL." -#: utils/misc/guc_tables.c:2927 +#: utils/misc/guc_tables.c:2936 msgid "Sets the maximum number of simultaneously running WAL sender processes." msgstr "Sätter maximalt antal samtidigt körande WAL-sändarprocesser." -#: utils/misc/guc_tables.c:2938 +#: utils/misc/guc_tables.c:2947 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "Sätter maximalt antal samtidigt definierade replikeringsslottar." -#: utils/misc/guc_tables.c:2948 +#: utils/misc/guc_tables.c:2957 msgid "Sets the maximum WAL size that can be reserved by replication slots." msgstr "Sätter maximalt WAL-storlek som kan reserveras av replikeringsslottar." -#: utils/misc/guc_tables.c:2949 +#: utils/misc/guc_tables.c:2958 msgid "Replication slots will be marked as failed, and segments released for deletion or recycling, if this much space is occupied by WAL on disk." msgstr "Replikeringsslottar kommer markeras som misslyckade och segment kommer släppas till borttagning eller återanvändning när så här mycket plats används av WAL på disk." -#: utils/misc/guc_tables.c:2961 +#: utils/misc/guc_tables.c:2970 msgid "Sets the maximum time to wait for WAL replication." msgstr "Sätter maximal tid att vänta på WAL-replikering." -#: utils/misc/guc_tables.c:2972 +#: utils/misc/guc_tables.c:2981 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk." msgstr "Sätter fördröjning i mikrosekunder mellan transaktions-commit ochj flush:ning av WAL till disk." -#: utils/misc/guc_tables.c:2984 +#: utils/misc/guc_tables.c:2993 msgid "Sets the minimum number of concurrent open transactions required before performing \"commit_delay\"." msgstr "Sätter minsta antal samtida öppna transaktioner som krävs innan vi utför en \"commit_delay\"." -#: utils/misc/guc_tables.c:2995 +#: utils/misc/guc_tables.c:3004 msgid "Sets the number of digits displayed for floating-point values." msgstr "Sätter antal siffror som visas för flyttalsvärden." -#: utils/misc/guc_tables.c:2996 +#: utils/misc/guc_tables.c:3005 msgid "This affects real, double precision, and geometric data types. A zero or negative parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate). Any value greater than zero selects precise output mode." msgstr "Detta påverkar real, double precision och geometriska datatyper. Noll eller negativt parametervärde läggs till standard antal siffror (FLT_DIG eller DBL_DIG respektive). Ett värde större än noll väljer ett exakt utmatningsläge." -#: utils/misc/guc_tables.c:3008 +#: utils/misc/guc_tables.c:3017 msgid "Sets the minimum execution time above which a sample of statements will be logged. Sampling is determined by log_statement_sample_rate." msgstr "Sätter minimal körtid där ett urval av långsammare satser kommer loggas. Urvalet bestämms av log_statement_sample_rate." -#: utils/misc/guc_tables.c:3011 +#: utils/misc/guc_tables.c:3020 msgid "Zero logs a sample of all queries. -1 turns this feature off." msgstr "Noll loggar ett urval som inkluderar alla frågor. -1 stänger av denna funktion." -#: utils/misc/guc_tables.c:3021 +#: utils/misc/guc_tables.c:3030 msgid "Sets the minimum execution time above which all statements will be logged." msgstr "Sätter minimal körtid där alla långsammare satser kommer loggas." -#: utils/misc/guc_tables.c:3023 +#: utils/misc/guc_tables.c:3032 msgid "Zero prints all queries. -1 turns this feature off." msgstr "Noll skriver ut alla frågor. -1 stänger av denna finess." -#: utils/misc/guc_tables.c:3033 +#: utils/misc/guc_tables.c:3042 msgid "Sets the minimum execution time above which autovacuum actions will be logged." msgstr "Sätter minimal körtid där långsammare autovacuum-operationer kommer loggas." -#: utils/misc/guc_tables.c:3035 +#: utils/misc/guc_tables.c:3044 msgid "Zero prints all actions. -1 turns autovacuum logging off." msgstr "Noll skriver ut alla operationer. -1 stänger av autovacuum." -#: utils/misc/guc_tables.c:3045 +#: utils/misc/guc_tables.c:3054 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements." msgstr "Sätter maximal längd i byte på data som loggas för bind-parametrar vid loggning av satser." -#: utils/misc/guc_tables.c:3047 utils/misc/guc_tables.c:3059 +#: utils/misc/guc_tables.c:3056 utils/misc/guc_tables.c:3068 msgid "-1 to print values in full." msgstr "-1 för att skriva ut hela värden." -#: utils/misc/guc_tables.c:3057 +#: utils/misc/guc_tables.c:3066 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements, on error." msgstr "Sätter maximal längs i byte på data som loggas för bind-parametrar vid loggning av satser i samband med fel." -#: utils/misc/guc_tables.c:3069 +#: utils/misc/guc_tables.c:3078 msgid "Background writer sleep time between rounds." msgstr "Bakgrundsskrivarens sleep-tid mellan körningar." -#: utils/misc/guc_tables.c:3080 +#: utils/misc/guc_tables.c:3089 msgid "Background writer maximum number of LRU pages to flush per round." msgstr "Bakgrundsskrivarens maximala antal LRU-sidor som flush:as per omgång." -#: utils/misc/guc_tables.c:3103 +#: utils/misc/guc_tables.c:3112 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem." msgstr "Antal samtidiga förfrågningar som kan effektivt kan hanteras av disksystemet." -#: utils/misc/guc_tables.c:3117 +#: utils/misc/guc_tables.c:3126 msgid "A variant of \"effective_io_concurrency\" that is used for maintenance work." msgstr "En variant av \"effective_io_concurrency\" som används för underhållsarbete." -#: utils/misc/guc_tables.c:3132 +#: utils/misc/guc_tables.c:3141 msgid "Limit on the size of data reads and writes." msgstr "Begränsa storlek på data för läsning och skrivning." -#: utils/misc/guc_tables.c:3157 +#: utils/misc/guc_tables.c:3166 msgid "Maximum number of concurrent worker processes." msgstr "Maximalt antal samtidiga arbetsprocesser." -#: utils/misc/guc_tables.c:3169 +#: utils/misc/guc_tables.c:3178 msgid "Maximum number of logical replication worker processes." msgstr "Maximalt antal arbetsprocesser för logisk replikering." -#: utils/misc/guc_tables.c:3181 +#: utils/misc/guc_tables.c:3190 msgid "Maximum number of table synchronization workers per subscription." msgstr "Maximalt antal arbetare som synkroniserar tabeller per prenumeration." -#: utils/misc/guc_tables.c:3193 +#: utils/misc/guc_tables.c:3202 msgid "Maximum number of parallel apply workers per subscription." msgstr "Maximalt antal parallella arbetare som applicerar ändring per prenumeration." -#: utils/misc/guc_tables.c:3203 +#: utils/misc/guc_tables.c:3212 msgid "Sets the amount of time to wait before forcing log file rotation." msgstr "Sätter tiden vi väntar innan vi tvingar rotering av loggfil." -#: utils/misc/guc_tables.c:3215 +#: utils/misc/guc_tables.c:3224 msgid "Sets the maximum size a log file can reach before being rotated." msgstr "Sätter maximalt storlek en loggfil kan bli innan vi tvingar rotering." -#: utils/misc/guc_tables.c:3227 +#: utils/misc/guc_tables.c:3236 msgid "Shows the maximum number of function arguments." msgstr "Visar maximalt antal funktionsargument." -#: utils/misc/guc_tables.c:3238 +#: utils/misc/guc_tables.c:3247 msgid "Shows the maximum number of index keys." msgstr "Visar maximalt antal indexnycklar." -#: utils/misc/guc_tables.c:3249 +#: utils/misc/guc_tables.c:3258 msgid "Shows the maximum identifier length." msgstr "Visar den maximala identifierarlängden." -#: utils/misc/guc_tables.c:3260 +#: utils/misc/guc_tables.c:3269 msgid "Shows the size of a disk block." msgstr "Visar storleken på ett diskblock." -#: utils/misc/guc_tables.c:3271 +#: utils/misc/guc_tables.c:3280 msgid "Shows the number of pages per disk file." msgstr "Visar antal sidor per diskfil." -#: utils/misc/guc_tables.c:3282 +#: utils/misc/guc_tables.c:3291 msgid "Shows the block size in the write ahead log." msgstr "Visar blockstorleken i the write-ahead-loggen." -#: utils/misc/guc_tables.c:3293 +#: utils/misc/guc_tables.c:3302 msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgstr "Sätter väntetiden innan databasen försöker ta emot WAL efter ett misslyckat försök." -#: utils/misc/guc_tables.c:3305 +#: utils/misc/guc_tables.c:3314 msgid "Shows the size of write ahead log segments." msgstr "Visar storleken på write-ahead-log-segment." -#: utils/misc/guc_tables.c:3318 +#: utils/misc/guc_tables.c:3327 msgid "Time for which WAL summary files should be kept." msgstr "Tid som filer för WAL-summering skall behållas." -#: utils/misc/guc_tables.c:3331 +#: utils/misc/guc_tables.c:3340 msgid "Time to sleep between autovacuum runs." msgstr "Tid att sova mellan körningar av autovacuum." -#: utils/misc/guc_tables.c:3341 +#: utils/misc/guc_tables.c:3350 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "Minsta antal tupel-uppdateringar eller raderingar innan vacuum." -#: utils/misc/guc_tables.c:3350 +#: utils/misc/guc_tables.c:3359 msgid "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums." msgstr "Minsta antal tupel-insert innnan vacuum eller -1 för att stänga av insert-vacuum." -#: utils/misc/guc_tables.c:3359 +#: utils/misc/guc_tables.c:3368 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." msgstr "Minsta antal tupel-insert, -update eller -delete innan analyze." -#: utils/misc/guc_tables.c:3369 +#: utils/misc/guc_tables.c:3378 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound." msgstr "Ålder då autovacuum körs på en tabell för att förhindra wrapaound på transaktions-ID." -#: utils/misc/guc_tables.c:3381 +#: utils/misc/guc_tables.c:3390 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound." msgstr "Ålder på multixact då autovacuum körs på en tabell för att förhindra wrapaound på multixact." -#: utils/misc/guc_tables.c:3391 +#: utils/misc/guc_tables.c:3400 msgid "Sets the maximum number of simultaneously running autovacuum worker processes." msgstr "Sätter maximalt antal samtidigt körande arbetsprocesser för autovacuum." -#: utils/misc/guc_tables.c:3401 +#: utils/misc/guc_tables.c:3410 msgid "Sets the maximum number of parallel processes per maintenance operation." msgstr "Sätter maximalt antal parallella processer per underhållsoperation." -#: utils/misc/guc_tables.c:3411 +#: utils/misc/guc_tables.c:3420 msgid "Sets the maximum number of parallel processes per executor node." msgstr "Sätter maximalt antal parallella processer per exekveringsnod." -#: utils/misc/guc_tables.c:3422 +#: utils/misc/guc_tables.c:3431 msgid "Sets the maximum number of parallel workers that can be active at one time." msgstr "Sätter maximalt antal parallella arbetare som kan vara aktiva på en gång." -#: utils/misc/guc_tables.c:3433 +#: utils/misc/guc_tables.c:3442 msgid "Sets the maximum memory to be used by each autovacuum worker process." msgstr "Sätter maximalt minne som kan användas av varje arbetsprocess för autovacuum." -#: utils/misc/guc_tables.c:3444 +#: utils/misc/guc_tables.c:3453 msgid "Time between issuing TCP keepalives." msgstr "Tid mellan skickande av TCP-keepalive." -#: utils/misc/guc_tables.c:3445 utils/misc/guc_tables.c:3456 -#: utils/misc/guc_tables.c:3580 +#: utils/misc/guc_tables.c:3454 utils/misc/guc_tables.c:3465 +#: utils/misc/guc_tables.c:3589 msgid "A value of 0 uses the system default." msgstr "Värdet 0 anger systemets standardvärde." -#: utils/misc/guc_tables.c:3455 +#: utils/misc/guc_tables.c:3464 msgid "Time between TCP keepalive retransmits." msgstr "Tid mellan omsändning av TCP-keepalive." -#: utils/misc/guc_tables.c:3466 +#: utils/misc/guc_tables.c:3475 msgid "SSL renegotiation is no longer supported; this can only be 0." msgstr "SSL-förhandling stöds inte längre; denna kan bara vara 0." -#: utils/misc/guc_tables.c:3477 +#: utils/misc/guc_tables.c:3486 msgid "Maximum number of TCP keepalive retransmits." msgstr "Maximalt antal omsändningar av TCP-keepalive." -#: utils/misc/guc_tables.c:3478 +#: utils/misc/guc_tables.c:3487 msgid "Number of consecutive keepalive retransmits that can be lost before a connection is considered dead. A value of 0 uses the system default." msgstr "Atalet keepalive-omsändingar i rad som kan försvinna innan en anslutning anses vara död. Värdet 0 betyder systemstandardvärdet." -#: utils/misc/guc_tables.c:3489 +#: utils/misc/guc_tables.c:3498 msgid "Sets the maximum allowed result for exact search by GIN." msgstr "Sätter maximalt tillåtna resultat för exakt sökning med GIN." -#: utils/misc/guc_tables.c:3500 +#: utils/misc/guc_tables.c:3509 msgid "Sets the planner's assumption about the total size of the data caches." msgstr "Sätter planerarens antagande om totala storleken på datacachen." -#: utils/misc/guc_tables.c:3501 +#: utils/misc/guc_tables.c:3510 msgid "That is, the total size of the caches (kernel cache and shared buffers) used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each." msgstr "Det är totala storleken på cachen (kernelcache och delade buffertar) som användas för PostgreSQLs datafiler. Det mäts i disksidor som normalt är 8 kb styck." -#: utils/misc/guc_tables.c:3512 +#: utils/misc/guc_tables.c:3521 msgid "Sets the minimum amount of table data for a parallel scan." msgstr "Sätter minsta mängd tabelldata för en parallell skanning." -#: utils/misc/guc_tables.c:3513 +#: utils/misc/guc_tables.c:3522 msgid "If the planner estimates that it will read a number of table pages too small to reach this limit, a parallel scan will not be considered." msgstr "Om planeraren beräknar att den kommer läsa för få tabellsidor för att nå denna gräns så kommer den inte försöka med en parallell skanning." -#: utils/misc/guc_tables.c:3523 +#: utils/misc/guc_tables.c:3532 msgid "Sets the minimum amount of index data for a parallel scan." msgstr "Anger minimala mängden indexdata för en parallell scan." -#: utils/misc/guc_tables.c:3524 +#: utils/misc/guc_tables.c:3533 msgid "If the planner estimates that it will read a number of index pages too small to reach this limit, a parallel scan will not be considered." msgstr "Om planeraren beräknar att den kommer läsa för få indexsidor för att nå denna gräns så kommer den inte försöka med en parallell skanning." -#: utils/misc/guc_tables.c:3535 +#: utils/misc/guc_tables.c:3544 msgid "Shows the server version as an integer." msgstr "Visar serverns version som ett heltal." -#: utils/misc/guc_tables.c:3546 +#: utils/misc/guc_tables.c:3555 msgid "Log the use of temporary files larger than this number of kilobytes." msgstr "Logga användning av temporära filer som är större än detta antal kilobyte." -#: utils/misc/guc_tables.c:3547 +#: utils/misc/guc_tables.c:3556 msgid "Zero logs all files. The default is -1 (turning this feature off)." msgstr "Noll loggar alla filer. Standard är -1 (stänger av denna finess)." -#: utils/misc/guc_tables.c:3557 +#: utils/misc/guc_tables.c:3566 msgid "Sets the size reserved for pg_stat_activity.query, in bytes." msgstr "Ställer in storleken reserverad för pg_stat_activity.query, i byte." -#: utils/misc/guc_tables.c:3568 +#: utils/misc/guc_tables.c:3577 msgid "Sets the maximum size of the pending list for GIN index." msgstr "Sätter maximal storlek på väntelistan för GIN-index." -#: utils/misc/guc_tables.c:3579 +#: utils/misc/guc_tables.c:3588 msgid "TCP user timeout." msgstr "Användartimeout för TCP." -#: utils/misc/guc_tables.c:3590 +#: utils/misc/guc_tables.c:3599 msgid "The size of huge page that should be requested." msgstr "Storleken på stora sidor skall hämtas." -#: utils/misc/guc_tables.c:3601 +#: utils/misc/guc_tables.c:3610 msgid "Aggressively flush system caches for debugging purposes." msgstr "Flush:a systemcache aggressivt för att förenkla debugging." -#: utils/misc/guc_tables.c:3624 +#: utils/misc/guc_tables.c:3633 msgid "Sets the time interval between checks for disconnection while running queries." msgstr "Sätter tidsintervall mellan test för nedkoppling när frågor körs." -#: utils/misc/guc_tables.c:3635 +#: utils/misc/guc_tables.c:3644 msgid "Time between progress updates for long-running startup operations." msgstr "Tid mellan uppdatering av progress för startupoperationer som kör länge." -#: utils/misc/guc_tables.c:3637 +#: utils/misc/guc_tables.c:3646 msgid "0 turns this feature off." msgstr "0 stänger av denna finess." -#: utils/misc/guc_tables.c:3647 +#: utils/misc/guc_tables.c:3656 msgid "Sets the iteration count for SCRAM secret generation." msgstr "Sätter iterationsräknare för generering av SCRAM-hemlighet." -#: utils/misc/guc_tables.c:3667 +#: utils/misc/guc_tables.c:3676 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page." msgstr "Ställer in planerarens estimat av kostnaden för att hämta en disksida sekvensiellt." -#: utils/misc/guc_tables.c:3678 +#: utils/misc/guc_tables.c:3687 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page." msgstr "Ställer in planerarens estimat av kostnaden för att hämta en disksida icke-sekvensiellt." -#: utils/misc/guc_tables.c:3689 +#: utils/misc/guc_tables.c:3698 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "Ställer in planerarens estimat av kostnaden för att processa varje tupel (rad)." -#: utils/misc/guc_tables.c:3700 +#: utils/misc/guc_tables.c:3709 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan." msgstr "Sätter planerarens kostnadsuppskattning för att processa varje indexpost under en indexskanning." -#: utils/misc/guc_tables.c:3711 +#: utils/misc/guc_tables.c:3720 msgid "Sets the planner's estimate of the cost of processing each operator or function call." msgstr "Sätter planerarens kostnadsuppskattning för att processa varje operator- eller funktions-anrop." -#: utils/misc/guc_tables.c:3722 +#: utils/misc/guc_tables.c:3731 msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to leader backend." msgstr "Sätter planerarens kostnadsuppskattning för att skicka varje tupel (rad) från en arbetare till ledar-backend:en. " -#: utils/misc/guc_tables.c:3733 +#: utils/misc/guc_tables.c:3742 msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query." msgstr "Sätter planerarens kostnadsuppskattning för att starta upp en arbetsprocess för en parallell fråga." -#: utils/misc/guc_tables.c:3745 +#: utils/misc/guc_tables.c:3754 msgid "Perform JIT compilation if query is more expensive." msgstr "Utför JIT-kompilering om frågan är dyrare." -#: utils/misc/guc_tables.c:3746 +#: utils/misc/guc_tables.c:3755 msgid "-1 disables JIT compilation." msgstr "-1 stänger av JIT-kompilering." -#: utils/misc/guc_tables.c:3756 +#: utils/misc/guc_tables.c:3765 msgid "Optimize JIT-compiled functions if query is more expensive." msgstr "Optimera JIT-kompilerade funktioner om frågan är dyrare." -#: utils/misc/guc_tables.c:3757 +#: utils/misc/guc_tables.c:3766 msgid "-1 disables optimization." msgstr "-1 stänger av optimering." -#: utils/misc/guc_tables.c:3767 +#: utils/misc/guc_tables.c:3776 msgid "Perform JIT inlining if query is more expensive." msgstr "Utför JIT-\"inlining\" om frågan är dyrare." -#: utils/misc/guc_tables.c:3768 +#: utils/misc/guc_tables.c:3777 msgid "-1 disables inlining." msgstr "-1 stänger av \"inlining\"" -#: utils/misc/guc_tables.c:3778 +#: utils/misc/guc_tables.c:3787 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved." msgstr "Sätter planerarens uppskattning av hur stor del av markörens rader som kommer hämtas. " -#: utils/misc/guc_tables.c:3790 +#: utils/misc/guc_tables.c:3799 msgid "Sets the planner's estimate of the average size of a recursive query's working table." msgstr "Sätter planerarens uppskattning av genomsnittliga storleken på en rekursiv frågas arbetstabell." -#: utils/misc/guc_tables.c:3802 +#: utils/misc/guc_tables.c:3811 msgid "GEQO: selective pressure within the population." msgstr "GEQO: selektionstryck inom populationen." -#: utils/misc/guc_tables.c:3813 +#: utils/misc/guc_tables.c:3822 msgid "GEQO: seed for random path selection." msgstr "GEQO: slumptalsfrö för val av slumpad sökväg." -#: utils/misc/guc_tables.c:3824 +#: utils/misc/guc_tables.c:3833 msgid "Multiple of \"work_mem\" to use for hash tables." msgstr "Multipel av \"work_mem\" för att använda till hash-tabeller." -#: utils/misc/guc_tables.c:3835 +#: utils/misc/guc_tables.c:3844 msgid "Multiple of the average buffer usage to free per round." msgstr "Multipel av genomsnittlig bufferanvändning som frias per runda." -#: utils/misc/guc_tables.c:3845 +#: utils/misc/guc_tables.c:3854 msgid "Sets the seed for random-number generation." msgstr "Sätter fröet för slumptalsgeneratorn." -#: utils/misc/guc_tables.c:3856 +#: utils/misc/guc_tables.c:3865 msgid "Vacuum cost delay in milliseconds." msgstr "Städkostfördröjning i millisekunder." -#: utils/misc/guc_tables.c:3867 +#: utils/misc/guc_tables.c:3876 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Städkostfördröjning i millisekunder, för autovacuum." -#: utils/misc/guc_tables.c:3878 +#: utils/misc/guc_tables.c:3887 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples." msgstr "Antalet tupeluppdateringar eller borttagningar innan vacuum relativt reltuples." -#: utils/misc/guc_tables.c:3888 +#: utils/misc/guc_tables.c:3897 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." msgstr "Antal tupelinsättningar innan vacuum relativt reltuples." -#: utils/misc/guc_tables.c:3898 +#: utils/misc/guc_tables.c:3907 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples." msgstr "Antalet tupelinsättningar, uppdateringar eller borttagningar innan analyze relativt reltuples." -#: utils/misc/guc_tables.c:3908 +#: utils/misc/guc_tables.c:3917 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval." msgstr "Tid lagd på att flusha nedsmutsade buffrar vid checkpoint relativt checkpoint-intervallet." -#: utils/misc/guc_tables.c:3918 +#: utils/misc/guc_tables.c:3927 msgid "Fraction of statements exceeding \"log_min_duration_sample\" to be logged." msgstr "Bråkdel av satser som överskrider \"log_min_duration_sample\" som skall loggas." -#: utils/misc/guc_tables.c:3919 +#: utils/misc/guc_tables.c:3928 msgid "Use a value between 0.0 (never log) and 1.0 (always log)." msgstr "Använd ett värde mellan 0.0 (logga aldrig) och 1.0 (logga alltid)." -#: utils/misc/guc_tables.c:3928 +#: utils/misc/guc_tables.c:3937 msgid "Sets the fraction of transactions from which to log all statements." msgstr "Ställer in bråkdel av transaktionerna från vilka alla satser skall loggas." -#: utils/misc/guc_tables.c:3929 +#: utils/misc/guc_tables.c:3938 msgid "Use a value between 0.0 (never log) and 1.0 (log all statements for all transactions)." msgstr "Använd ett värde mellan 0.0 (logga aldrig) till 1.0 (logga all satser i alla transaktioner)." -#: utils/misc/guc_tables.c:3948 +#: utils/misc/guc_tables.c:3957 msgid "Sets the shell command that will be called to archive a WAL file." msgstr "Sätter shell-kommandot som kommer anropas för att arkivera en WAL-fil." -#: utils/misc/guc_tables.c:3949 +#: utils/misc/guc_tables.c:3958 msgid "This is used only if \"archive_library\" is not set." msgstr "Detta används enbart om \"archive_library\" inte är satt." -#: utils/misc/guc_tables.c:3958 +#: utils/misc/guc_tables.c:3967 msgid "Sets the library that will be called to archive a WAL file." msgstr "Sätter biblioteket som kommer anropas för att arkivera en WAL-fil." -#: utils/misc/guc_tables.c:3959 +#: utils/misc/guc_tables.c:3968 msgid "An empty string indicates that \"archive_command\" should be used." msgstr "En tom sträng betyder att \"archive_command\" skall användas." -#: utils/misc/guc_tables.c:3968 +#: utils/misc/guc_tables.c:3977 msgid "Sets the shell command that will be called to retrieve an archived WAL file." msgstr "Sätter shell-kommandot som kommer anropas för att få en arkiverad WAL-fil." -#: utils/misc/guc_tables.c:3978 +#: utils/misc/guc_tables.c:3987 msgid "Sets the shell command that will be executed at every restart point." msgstr "Sätter shell-kommandot som kommer anropas vid varje omstartspunkt." -#: utils/misc/guc_tables.c:3988 +#: utils/misc/guc_tables.c:3997 msgid "Sets the shell command that will be executed once at the end of recovery." msgstr "Sätter shell-kommandot som kommer anropas en gång i slutet av en återställning." -#: utils/misc/guc_tables.c:3998 +#: utils/misc/guc_tables.c:4007 msgid "Specifies the timeline to recover into." msgstr "Anger tidslinjen att återställa till." -#: utils/misc/guc_tables.c:4008 +#: utils/misc/guc_tables.c:4017 msgid "Set to \"immediate\" to end recovery as soon as a consistent state is reached." msgstr "Sätt till \"immediate\" för att avsluta återställning så snart ett konsistent tillstånd uppnås." -#: utils/misc/guc_tables.c:4017 +#: utils/misc/guc_tables.c:4026 msgid "Sets the transaction ID up to which recovery will proceed." msgstr "Sätter transaktions-ID som återställning kommer gå till." -#: utils/misc/guc_tables.c:4026 +#: utils/misc/guc_tables.c:4035 msgid "Sets the time stamp up to which recovery will proceed." msgstr "Sätter tidsstämpel som återställning kommer gå till." -#: utils/misc/guc_tables.c:4035 +#: utils/misc/guc_tables.c:4044 msgid "Sets the named restore point up to which recovery will proceed." msgstr "Sätter namngiven återställningspunkt som återställning kommer gå till." -#: utils/misc/guc_tables.c:4044 +#: utils/misc/guc_tables.c:4053 msgid "Sets the LSN of the write-ahead log location up to which recovery will proceed." msgstr "Sätter LSN för write-ahead-logg-position som återställning kommer få till." -#: utils/misc/guc_tables.c:4054 +#: utils/misc/guc_tables.c:4063 msgid "Sets the connection string to be used to connect to the sending server." msgstr "Sätter anslutningssträng som anvönds för att ansluta till skickande server." -#: utils/misc/guc_tables.c:4065 +#: utils/misc/guc_tables.c:4074 msgid "Sets the name of the replication slot to use on the sending server." msgstr "Sätter namnet på replikeringsslotten som skall användas av den skickande servern." -#: utils/misc/guc_tables.c:4075 +#: utils/misc/guc_tables.c:4084 msgid "Sets the client's character set encoding." msgstr "Ställer in klientens teckenkodning." -#: utils/misc/guc_tables.c:4086 +#: utils/misc/guc_tables.c:4095 msgid "Controls information prefixed to each log line." msgstr "Styr information prefixat till varje loggrad." -#: utils/misc/guc_tables.c:4087 +#: utils/misc/guc_tables.c:4096 msgid "If blank, no prefix is used." msgstr "Om tom så används inget prefix." -#: utils/misc/guc_tables.c:4096 +#: utils/misc/guc_tables.c:4105 msgid "Sets the time zone to use in log messages." msgstr "Sätter tidszonen som används i loggmeddelanden." -#: utils/misc/guc_tables.c:4106 +#: utils/misc/guc_tables.c:4115 msgid "Sets the display format for date and time values." msgstr "Sätter displayformat för datum och tidvärden." -#: utils/misc/guc_tables.c:4107 +#: utils/misc/guc_tables.c:4116 msgid "Also controls interpretation of ambiguous date inputs." msgstr "Styr också tolkning av tvetydig datumindata." -#: utils/misc/guc_tables.c:4118 +#: utils/misc/guc_tables.c:4127 msgid "Sets the default table access method for new tables." msgstr "Ställer in standard tabellaccessmetod för nya tabeller." -#: utils/misc/guc_tables.c:4129 +#: utils/misc/guc_tables.c:4138 msgid "Sets the default tablespace to create tables and indexes in." msgstr "Ställer in standard tabellutrymme där tabeller och index skapas." -#: utils/misc/guc_tables.c:4130 +#: utils/misc/guc_tables.c:4139 msgid "An empty string selects the database's default tablespace." msgstr "En tom sträng väljer databasens standardtabellutrymme." -#: utils/misc/guc_tables.c:4140 +#: utils/misc/guc_tables.c:4149 msgid "Sets the tablespace(s) to use for temporary tables and sort files." msgstr "Ställer in tablespace för temporära tabeller och sorteringsfiler." -#: utils/misc/guc_tables.c:4151 +#: utils/misc/guc_tables.c:4160 msgid "Sets whether a CREATEROLE user automatically grants the role to themselves, and with which options." msgstr "Sätter hurvida en CREATEROLE-användare automatiskt får rollen själva, och med vilka flaggor." -#: utils/misc/guc_tables.c:4163 +#: utils/misc/guc_tables.c:4172 msgid "Sets the path for dynamically loadable modules." msgstr "Sätter sökvägen till dynamiskt laddade moduler." -#: utils/misc/guc_tables.c:4164 +#: utils/misc/guc_tables.c:4173 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 "Om en dynamiskt laddad modul behöver öppnas och det angivna namnet inte har en katalogkomponent (dvs, namnet inte innehåller snedstreck) så kommer systemet använda denna sökväg för filen." -#: utils/misc/guc_tables.c:4177 +#: utils/misc/guc_tables.c:4186 msgid "Sets the location of the Kerberos server key file." msgstr "Ställer in platsen för Kerberos servernyckelfil." -#: utils/misc/guc_tables.c:4188 +#: utils/misc/guc_tables.c:4197 msgid "Sets the Bonjour service name." msgstr "Sätter Bonjour-tjänstens namn." -#: utils/misc/guc_tables.c:4198 +#: utils/misc/guc_tables.c:4207 msgid "Sets the language in which messages are displayed." msgstr "Sätter språket som meddelanden visas i." -#: utils/misc/guc_tables.c:4208 +#: utils/misc/guc_tables.c:4217 msgid "Sets the locale for formatting monetary amounts." msgstr "Sätter lokalen för att formattera monetära belopp." -#: utils/misc/guc_tables.c:4218 +#: utils/misc/guc_tables.c:4227 msgid "Sets the locale for formatting numbers." msgstr "Ställer in lokalen för att formattera nummer." -#: utils/misc/guc_tables.c:4228 +#: utils/misc/guc_tables.c:4237 msgid "Sets the locale for formatting date and time values." msgstr "Sätter lokalen för att formattera datum och tider." -#: utils/misc/guc_tables.c:4238 +#: utils/misc/guc_tables.c:4247 msgid "Lists shared libraries to preload into each backend." msgstr "Listar delade bibliotek som skall förladdas i varje backend." -#: utils/misc/guc_tables.c:4249 +#: utils/misc/guc_tables.c:4258 msgid "Lists shared libraries to preload into server." msgstr "Listar delade bibliotek som skall förladdas i servern." -#: utils/misc/guc_tables.c:4260 +#: utils/misc/guc_tables.c:4269 msgid "Lists unprivileged shared libraries to preload into each backend." msgstr "Listar ej priviligerade delade bibliotek som förladdas in i varje backend." -#: utils/misc/guc_tables.c:4271 +#: utils/misc/guc_tables.c:4280 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "Sätter schemats sökordning för namn som inte är schema-prefixade." -#: utils/misc/guc_tables.c:4283 +#: utils/misc/guc_tables.c:4292 msgid "Shows the server (database) character set encoding." msgstr "Visar serverns (databasens) teckenkodning." -#: utils/misc/guc_tables.c:4295 +#: utils/misc/guc_tables.c:4304 msgid "Shows the server version." msgstr "Visar serverversionen" -#: utils/misc/guc_tables.c:4307 +#: utils/misc/guc_tables.c:4316 msgid "Sets the current role." msgstr "Ställer in den aktiva rollen." -#: utils/misc/guc_tables.c:4319 +#: utils/misc/guc_tables.c:4328 msgid "Sets the session user name." msgstr "Sätter sessionens användarnamn." -#: utils/misc/guc_tables.c:4330 +#: utils/misc/guc_tables.c:4339 msgid "Sets the destination for server log output." msgstr "Sätter serverloggens destination." -#: utils/misc/guc_tables.c:4331 +#: utils/misc/guc_tables.c:4340 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\", and \"eventlog\", depending on the platform." msgstr "Giltiga värden är kombinationer av \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\" och \"eventlog\", beroende på plattform." -#: utils/misc/guc_tables.c:4342 +#: utils/misc/guc_tables.c:4351 msgid "Sets the destination directory for log files." msgstr "Sätter destinationskatalogen för loggfiler." -#: utils/misc/guc_tables.c:4343 +#: utils/misc/guc_tables.c:4352 msgid "Can be specified as relative to the data directory or as absolute path." msgstr "Kan anges relativt datakatalogen eller som en absolut sökväg." -#: utils/misc/guc_tables.c:4353 +#: utils/misc/guc_tables.c:4362 msgid "Sets the file name pattern for log files." msgstr "Sätter filnamnsmallen för loggfiler." -#: utils/misc/guc_tables.c:4364 +#: utils/misc/guc_tables.c:4373 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "Sätter programnamnet som används för att identifiera PostgreSQLs meddelanden i syslog." -#: utils/misc/guc_tables.c:4375 +#: utils/misc/guc_tables.c:4384 msgid "Sets the application name used to identify PostgreSQL messages in the event log." msgstr "Sätter applikationsnamnet som används för att identifiera PostgreSQLs meddelanden i händelseloggen." -#: utils/misc/guc_tables.c:4386 +#: utils/misc/guc_tables.c:4395 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "Ställer in tidszon för visande och tolkande av tidsstämplar." -#: utils/misc/guc_tables.c:4396 +#: utils/misc/guc_tables.c:4405 msgid "Selects a file of time zone abbreviations." msgstr "Väljer en fil för tidszonsförkortningar." -#: utils/misc/guc_tables.c:4406 +#: utils/misc/guc_tables.c:4415 msgid "Sets the owning group of the Unix-domain socket." msgstr "Sätter ägande grupp för Unix-domainuttaget (socket)." -#: utils/misc/guc_tables.c:4407 +#: utils/misc/guc_tables.c:4416 msgid "The owning user of the socket is always the user that starts the server." msgstr "Ägaren av uttaget (socker) är alltid användaren som startar servern." -#: utils/misc/guc_tables.c:4417 +#: utils/misc/guc_tables.c:4426 msgid "Sets the directories where Unix-domain sockets will be created." msgstr "Ställer in kataloger där Unix-domän-uttag (socket) kommer skapas." -#: utils/misc/guc_tables.c:4428 +#: utils/misc/guc_tables.c:4437 msgid "Sets the host name or IP address(es) to listen to." msgstr "Sätter värdnamn eller IP-adress(er) att lyssna på." -#: utils/misc/guc_tables.c:4443 +#: utils/misc/guc_tables.c:4452 msgid "Sets the server's data directory." msgstr "Ställer in serverns datakatalog." -#: utils/misc/guc_tables.c:4454 +#: utils/misc/guc_tables.c:4463 msgid "Sets the server's main configuration file." msgstr "Sätter serverns huvudkonfigurationsfil." -#: utils/misc/guc_tables.c:4465 +#: utils/misc/guc_tables.c:4474 msgid "Sets the server's \"hba\" configuration file." msgstr "Sätter serverns \"hba\"-konfigurationsfil." -#: utils/misc/guc_tables.c:4476 +#: utils/misc/guc_tables.c:4485 msgid "Sets the server's \"ident\" configuration file." msgstr "Sätter serverns \"ident\"-konfigurationsfil." -#: utils/misc/guc_tables.c:4487 +#: utils/misc/guc_tables.c:4496 msgid "Writes the postmaster PID to the specified file." msgstr "Skriver postmaster-PID till angiven fil." -#: utils/misc/guc_tables.c:4498 +#: utils/misc/guc_tables.c:4507 msgid "Shows the name of the SSL library." msgstr "Visar namnet på SSL-biblioteket." -#: utils/misc/guc_tables.c:4513 +#: utils/misc/guc_tables.c:4522 msgid "Location of the SSL server certificate file." msgstr "Plats för serverns SSL-certifikatfil." -#: utils/misc/guc_tables.c:4523 +#: utils/misc/guc_tables.c:4532 msgid "Location of the SSL server private key file." msgstr "Plats för serverns privata SSL-nyckelfil." -#: utils/misc/guc_tables.c:4533 +#: utils/misc/guc_tables.c:4542 msgid "Location of the SSL certificate authority file." msgstr "Plats för SSL-certifikats auktoritetsfil." -#: utils/misc/guc_tables.c:4543 +#: utils/misc/guc_tables.c:4552 msgid "Location of the SSL certificate revocation list file." msgstr "Plats för SSL-certifikats återkallningsfil." -#: utils/misc/guc_tables.c:4553 +#: utils/misc/guc_tables.c:4562 msgid "Location of the SSL certificate revocation list directory." msgstr "Plats av katalog för SSL-certifikats återkallningslistor." -#: utils/misc/guc_tables.c:4563 +#: utils/misc/guc_tables.c:4572 msgid "Number of synchronous standbys and list of names of potential synchronous ones." msgstr "Antalet synkrona standby och en lista med namn på potentiellt synkrona sådana." -#: utils/misc/guc_tables.c:4574 +#: utils/misc/guc_tables.c:4583 msgid "Sets default text search configuration." msgstr "Ställer in standard textsökkonfiguration." -#: utils/misc/guc_tables.c:4584 +#: utils/misc/guc_tables.c:4593 msgid "Sets the list of allowed SSL ciphers." msgstr "Ställer in listan med tillåtna SSL-krypton." -#: utils/misc/guc_tables.c:4599 +#: utils/misc/guc_tables.c:4608 msgid "Sets the curve to use for ECDH." msgstr "Ställer in kurvan att använda för ECDH." -#: utils/misc/guc_tables.c:4614 +#: utils/misc/guc_tables.c:4623 msgid "Location of the SSL DH parameters file." msgstr "Plats för SSL DH-parameterfil." -#: utils/misc/guc_tables.c:4625 +#: utils/misc/guc_tables.c:4634 msgid "Command to obtain passphrases for SSL." msgstr "Kommando för att hämta lösenfraser för SSL." -#: utils/misc/guc_tables.c:4636 +#: utils/misc/guc_tables.c:4645 msgid "Sets the application name to be reported in statistics and logs." msgstr "Sätter applikationsnamn som rapporteras i statistik och loggar." -#: utils/misc/guc_tables.c:4647 +#: utils/misc/guc_tables.c:4656 msgid "Sets the name of the cluster, which is included in the process title." msgstr "Sätter namnet på klustret som inkluderas i processtiteln." -#: utils/misc/guc_tables.c:4658 +#: utils/misc/guc_tables.c:4667 msgid "Sets the WAL resource managers for which WAL consistency checks are done." msgstr "Sätter WAL-resurshanterare som WAL-konsistenskontoller görs med." -#: utils/misc/guc_tables.c:4659 +#: utils/misc/guc_tables.c:4668 msgid "Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay." msgstr "Hela sidkopior kommer loggas för alla datablock och kontrolleras mot resultatet av en WAL-uppspelning." -#: utils/misc/guc_tables.c:4669 +#: utils/misc/guc_tables.c:4678 msgid "JIT provider to use." msgstr "JIT-leverantör som används." -#: utils/misc/guc_tables.c:4680 +#: utils/misc/guc_tables.c:4689 msgid "Log backtrace for errors in these functions." msgstr "Loggar backtrace vid fel i dessa funktioner." -#: utils/misc/guc_tables.c:4691 +#: utils/misc/guc_tables.c:4700 msgid "Use direct I/O for file access." msgstr "Använd direct-I/O för filaccess." -#: utils/misc/guc_tables.c:4702 +#: utils/misc/guc_tables.c:4711 msgid "Lists streaming replication standby server replication slot names that logical WAL sender processes will wait for." msgstr "Listar replikeringsslotnamn på server för replikering-standby som processen för skickande av logisk WAL väntar på." -#: utils/misc/guc_tables.c:4704 +#: utils/misc/guc_tables.c:4713 msgid "Logical WAL sender processes will send decoded changes to output plugins only after the specified replication slots have confirmed receiving WAL." msgstr "Processen för skickande av logisk WAL skickar avkodade ändringar till utdata-plugin:er enbart efter att de angivna replikeringsslottarna bekräftat att de tagit emot WAL." -#: utils/misc/guc_tables.c:4716 +#: utils/misc/guc_tables.c:4725 msgid "Prohibits access to non-system relations of specified kinds." msgstr "Förhindrar access till icke-system-relationer av angivna sorter." -#: utils/misc/guc_tables.c:4736 +#: utils/misc/guc_tables.c:4745 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Anger hurvida \"\\'\" tillåts i sträng-literaler." -#: utils/misc/guc_tables.c:4746 +#: utils/misc/guc_tables.c:4755 msgid "Sets the output format for bytea." msgstr "Ställer in output-format för bytea." -#: utils/misc/guc_tables.c:4756 +#: utils/misc/guc_tables.c:4765 msgid "Sets the message levels that are sent to the client." msgstr "Ställer in meddelandenivåer som skickas till klienten." -#: utils/misc/guc_tables.c:4757 utils/misc/guc_tables.c:4853 -#: utils/misc/guc_tables.c:4864 +#: utils/misc/guc_tables.c:4766 utils/misc/guc_tables.c:4862 +#: utils/misc/guc_tables.c:4873 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent." msgstr "Varje nivå inkluderar de efterföljande nivåerna. Ju senare nivå destå färre meddlanden skickas." -#: utils/misc/guc_tables.c:4767 +#: utils/misc/guc_tables.c:4776 msgid "Enables in-core computation of query identifiers." msgstr "Slår på intern uträkning av identifierare för frågor." -#: utils/misc/guc_tables.c:4777 +#: utils/misc/guc_tables.c:4786 msgid "Enables the planner to use constraints to optimize queries." msgstr "Slår på planerarens användning av integritetsvillkor för att optimera frågor." -#: utils/misc/guc_tables.c:4778 +#: utils/misc/guc_tables.c:4787 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query." msgstr "Tabellskanningar kommer hoppas över om dess integritetsvillkor garanterar att inga rader komma matchas av frågan." -#: utils/misc/guc_tables.c:4789 +#: utils/misc/guc_tables.c:4798 msgid "Sets the default compression method for compressible values." msgstr "Ställer in standard komprimeringsmetod för komprimeringsbara värden." -#: utils/misc/guc_tables.c:4800 +#: utils/misc/guc_tables.c:4809 msgid "Sets the transaction isolation level of each new transaction." msgstr "Ställer in isolationsnivån för nya transaktioner." -#: utils/misc/guc_tables.c:4810 +#: utils/misc/guc_tables.c:4819 msgid "Sets the current transaction's isolation level." msgstr "Sätter den aktuella transaktionsisolationsnivån." -#: utils/misc/guc_tables.c:4821 +#: utils/misc/guc_tables.c:4830 msgid "Sets the display format for interval values." msgstr "Ställer in visningsformat för intervallvärden." -#: utils/misc/guc_tables.c:4832 +#: utils/misc/guc_tables.c:4841 msgid "Log level for reporting invalid ICU locale strings." msgstr "Loggnivå för rapportering av ogiltiga ICU-lokalsträngar." -#: utils/misc/guc_tables.c:4842 +#: utils/misc/guc_tables.c:4851 msgid "Sets the verbosity of logged messages." msgstr "Ställer in pratighet för loggade meddelanden." -#: utils/misc/guc_tables.c:4852 +#: utils/misc/guc_tables.c:4861 msgid "Sets the message levels that are logged." msgstr "Ställer in meddelandenivåer som loggas." -#: utils/misc/guc_tables.c:4863 +#: utils/misc/guc_tables.c:4872 msgid "Causes all statements generating error at or above this level to be logged." msgstr "Gör att alla satser som genererar fel vid eller över denna nivå kommer loggas." -#: utils/misc/guc_tables.c:4874 +#: utils/misc/guc_tables.c:4883 msgid "Sets the type of statements logged." msgstr "Ställer in vilken sorts satser som loggas." -#: utils/misc/guc_tables.c:4884 +#: utils/misc/guc_tables.c:4893 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "Ställer in syslog-\"facility\" som används när syslog är påslagen." -#: utils/misc/guc_tables.c:4895 +#: utils/misc/guc_tables.c:4904 msgid "Sets the session's behavior for triggers and rewrite rules." msgstr "Sätter sessionens beteende för triggrar och omskrivningsregler." -#: utils/misc/guc_tables.c:4905 +#: utils/misc/guc_tables.c:4914 msgid "Sets the current transaction's synchronization level." msgstr "Ställer in den nuvarande transaktionens synkroniseringsnivå." -#: utils/misc/guc_tables.c:4915 +#: utils/misc/guc_tables.c:4924 msgid "Allows archiving of WAL files using \"archive_command\"." msgstr "Tillåter arkivering av WAL-filer med hjälp av \"archive_command\"." -#: utils/misc/guc_tables.c:4925 +#: utils/misc/guc_tables.c:4934 msgid "Sets the action to perform upon reaching the recovery target." msgstr "Sätter handling som skall utföras när återställningsmål nås." -#: utils/misc/guc_tables.c:4935 +#: utils/misc/guc_tables.c:4944 msgid "Collects function-level statistics on database activity." msgstr "Samlar in statistik på funktionsnivå över databasaktivitet." -#: utils/misc/guc_tables.c:4946 +#: utils/misc/guc_tables.c:4955 msgid "Sets the consistency of accesses to statistics data." msgstr "Sätter konsistensinställning för accesser av statistikdata." -#: utils/misc/guc_tables.c:4956 +#: utils/misc/guc_tables.c:4965 msgid "Compresses full-page writes written in WAL file with specified method." msgstr "Komprimerar skrivning av hela sidor i WAL-filen med angiven metod." -#: utils/misc/guc_tables.c:4966 +#: utils/misc/guc_tables.c:4975 msgid "Sets the level of information written to the WAL." msgstr "Ställer in mängden information som skrivs till WAL." -#: utils/misc/guc_tables.c:4976 +#: utils/misc/guc_tables.c:4985 msgid "Selects the dynamic shared memory implementation used." msgstr "Väljer implementation som används för dynamiskt delat minne." -#: utils/misc/guc_tables.c:4986 +#: utils/misc/guc_tables.c:4995 msgid "Selects the shared memory implementation used for the main shared memory region." msgstr "Väljer implementation för delat minne som används för det delade minnets huvudregionen." -#: utils/misc/guc_tables.c:4996 +#: utils/misc/guc_tables.c:5005 +msgid "Selects the method used for extending data files." +msgstr "Väljer metod för att utöka datafiler." + +#: utils/misc/guc_tables.c:5015 msgid "Selects the method used for forcing WAL updates to disk." msgstr "Väljer metod för att tvinga WAL-uppdateringar till disk." -#: utils/misc/guc_tables.c:5006 +#: utils/misc/guc_tables.c:5025 msgid "Sets how binary values are to be encoded in XML." msgstr "Ställer in hur binära värden kodas i XML." -#: utils/misc/guc_tables.c:5016 +#: utils/misc/guc_tables.c:5035 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments." msgstr "Anger hurvida XML-data vid implicit parsning och serialiseringsoperationer ses som dokument eller innehållsfragment." -#: utils/misc/guc_tables.c:5027 +#: utils/misc/guc_tables.c:5046 msgid "Use of huge pages on Linux or Windows." msgstr "Använd stora sidor på Linux resp. Windows." -#: utils/misc/guc_tables.c:5037 +#: utils/misc/guc_tables.c:5056 msgid "Indicates the status of huge pages." msgstr "Visas status för stora sidor." -#: utils/misc/guc_tables.c:5048 +#: utils/misc/guc_tables.c:5067 msgid "Prefetch referenced blocks during recovery." msgstr "Prefetch:a refererade block vid återställning." -#: utils/misc/guc_tables.c:5049 +#: utils/misc/guc_tables.c:5068 msgid "Look ahead in the WAL to find references to uncached data." msgstr "Sök framåt i WAL för att hitta referenser till icke cache:ad data." -#: utils/misc/guc_tables.c:5058 +#: utils/misc/guc_tables.c:5077 msgid "Forces the planner's use parallel query nodes." msgstr "Tvingar planeraren att använda parallella frågenoder." -#: utils/misc/guc_tables.c:5059 +#: utils/misc/guc_tables.c:5078 msgid "This can be useful for testing the parallel query infrastructure by forcing the planner to generate plans that contain nodes that perform tuple communication between workers and the main process." msgstr "Detta är användbart för att testa infrastrukturen för parallella frågor genom att tvinga planeraren att generera planer som innehåller noder som skickar tupler mellan arbetare och huvudprocessen." -#: utils/misc/guc_tables.c:5071 +#: utils/misc/guc_tables.c:5090 msgid "Chooses the algorithm for encrypting passwords." msgstr "Väljer algoritm för att kryptera lösenord." -#: utils/misc/guc_tables.c:5081 +#: utils/misc/guc_tables.c:5100 msgid "Controls the planner's selection of custom or generic plan." msgstr "Styr planerarens användning av egendefinierad eller generell plan." -#: utils/misc/guc_tables.c:5082 +#: utils/misc/guc_tables.c:5101 msgid "Prepared statements can have custom and generic plans, and the planner will attempt to choose which is better. This can be set to override the default behavior." msgstr "Preparerade satser kan ha egendefinierade och generella planer och planeraren kommer försöka välja den som är bäst. Detta kan anges att övertrumfa standardbeteendet." -#: utils/misc/guc_tables.c:5094 +#: utils/misc/guc_tables.c:5113 msgid "Sets the minimum SSL/TLS protocol version to use." msgstr "Sätter minsta SSL/TLS-protokollversion som skall användas." -#: utils/misc/guc_tables.c:5106 +#: utils/misc/guc_tables.c:5125 msgid "Sets the maximum SSL/TLS protocol version to use." msgstr "Sätter högsta SSL/TLS-protokollversion som skall användas." -#: utils/misc/guc_tables.c:5118 +#: utils/misc/guc_tables.c:5137 msgid "Sets the method for synchronizing the data directory before crash recovery." msgstr "Ställer in metoden för att synkronisera datakatalogen innan kraschåterställning." -#: utils/misc/guc_tables.c:5127 +#: utils/misc/guc_tables.c:5146 msgid "Forces immediate streaming or serialization of changes in large transactions." msgstr "Tvingar omedelbar strömning eller serialisering av ändringar i stora transaktioner." -#: utils/misc/guc_tables.c:5128 +#: utils/misc/guc_tables.c:5147 msgid "On the publisher, it allows streaming or serializing each change in logical decoding. On the subscriber, it allows serialization of all changes to files and notifies the parallel apply workers to read and apply them at the end of the transaction." msgstr "På publiceringssidan så tillåter detta strömning eller serialisering av varje ändring i den logiska kodningen. På prenumerationsstidan så tillåter det serialisering av alla ändringar till filer samt notifiering till den parallella appliceraren att läsa in och applicera dem i slutet av transaktionen." @@ -30964,12 +30995,12 @@ msgid "could not attach to dynamic shared area" msgstr "kunde inte ansluta till dynamisk delad area" -#: utils/mmgr/mcxt.c:1155 +#: utils/mmgr/mcxt.c:1158 #, c-format msgid "Failed on request of size %zu in memory context \"%s\"." msgstr "Misslyckades med förfrågan av storlek %zu i minneskontext \"%s\"." -#: utils/mmgr/mcxt.c:1299 +#: utils/mmgr/mcxt.c:1314 #, c-format msgid "logging memory contexts of PID %d" msgstr "loggar minneskontext för PID %d" @@ -31014,12 +31045,12 @@ msgid "could not seek to block %lld of temporary file" msgstr "kunde inte söka (seek) till block %lld i temporärfil" -#: utils/sort/sharedtuplestore.c:466 +#: utils/sort/sharedtuplestore.c:467 #, c-format msgid "unexpected chunk in shared tuplestore temporary file" msgstr "oväntad chunk i delad temporär lagringsfil för tupler" -#: utils/sort/sharedtuplestore.c:548 +#: utils/sort/sharedtuplestore.c:549 #, c-format msgid "could not seek to block %u in shared tuplestore temporary file" msgstr "kunde inte söka (seek) till block %u i delad temporär lagringsfil för tupler" diff -Nru postgresql-17-17.7/src/backend/po/uk.po postgresql-17-17.8/src/backend/po/uk.po --- postgresql-17-17.7/src/backend/po/uk.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/po/uk.po 2026-02-09 21:51:54.000000000 +0000 @@ -2,8 +2,8 @@ msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-03-29 10:30+0000\n" -"PO-Revision-Date: 2025-04-01 15:40\n" +"POT-Creation-Date: 2025-12-31 02:30+0000\n" +"PO-Revision-Date: 2026-01-02 12:56\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -88,15 +88,15 @@ #: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1353 access/transam/xlog.c:3477 -#: access/transam/xlog.c:4341 access/transam/xlogrecovery.c:1238 -#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373 -#: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123 +#: access/transam/twophase.c:1353 access/transam/xlog.c:3459 +#: access/transam/xlog.c:4323 access/transam/xlogrecovery.c:1248 +#: access/transam/xlogrecovery.c:1346 access/transam/xlogrecovery.c:1383 +#: access/transam/xlogrecovery.c:1450 backup/basebackup.c:2123 #: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764 #: replication/logical/origin.c:745 replication/logical/origin.c:781 -#: replication/logical/reorderbuffer.c:5113 -#: replication/logical/snapbuild.c:2052 replication/slot.c:2236 -#: replication/slot.c:2277 replication/walsender.c:655 +#: replication/logical/reorderbuffer.c:5243 +#: replication/logical/snapbuild.c:2099 replication/slot.c:2278 +#: replication/slot.c:2319 replication/walsender.c:673 #: storage/file/buffile.c:470 storage/file/copydir.c:185 #: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829 #, c-format @@ -104,10 +104,10 @@ msgstr "не вдалося прочитати файл \"%s\": %m" #: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 -#: access/transam/xlog.c:3482 access/transam/xlog.c:4346 +#: access/transam/xlog.c:3464 access/transam/xlog.c:4328 #: replication/logical/origin.c:750 replication/logical/origin.c:789 -#: replication/logical/snapbuild.c:2057 replication/slot.c:2240 -#: replication/slot.c:2281 replication/walsender.c:660 +#: replication/logical/snapbuild.c:2104 replication/slot.c:2282 +#: replication/slot.c:2323 replication/walsender.c:678 #: utils/cache/relmapper.c:833 #, c-format msgid "could not read file \"%s\": read %d of %zu" @@ -118,17 +118,17 @@ #: access/heap/rewriteheap.c:1141 access/heap/rewriteheap.c:1246 #: access/transam/timeline.c:392 access/transam/timeline.c:438 #: access/transam/timeline.c:512 access/transam/twophase.c:1365 -#: access/transam/twophase.c:1784 access/transam/xlog.c:3323 -#: access/transam/xlog.c:3517 access/transam/xlog.c:3522 -#: access/transam/xlog.c:3658 access/transam/xlog.c:4311 -#: access/transam/xlog.c:5246 commands/copyfrom.c:1799 commands/copyto.c:325 +#: access/transam/twophase.c:1784 access/transam/xlog.c:3305 +#: access/transam/xlog.c:3499 access/transam/xlog.c:3504 +#: access/transam/xlog.c:3640 access/transam/xlog.c:4293 +#: access/transam/xlog.c:5228 commands/copyfrom.c:1799 commands/copyto.c:325 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540 #: replication/logical/origin.c:683 replication/logical/origin.c:822 -#: replication/logical/reorderbuffer.c:5165 -#: replication/logical/snapbuild.c:1819 replication/logical/snapbuild.c:1943 -#: replication/slot.c:2126 replication/slot.c:2288 replication/walsender.c:670 -#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828 -#: storage/file/fd.c:3753 storage/file/fd.c:3859 utils/cache/relmapper.c:841 +#: replication/logical/reorderbuffer.c:5295 +#: replication/logical/snapbuild.c:1866 replication/logical/snapbuild.c:1990 +#: replication/slot.c:2166 replication/slot.c:2330 replication/walsender.c:688 +#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:825 +#: storage/file/fd.c:3750 storage/file/fd.c:3856 utils/cache/relmapper.c:841 #: utils/cache/relmapper.c:956 #, c-format msgid "could not close file \"%s\": %m" @@ -152,33 +152,33 @@ #: ../common/file_utils.c:406 ../common/file_utils.c:480 #: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111 #: access/transam/timeline.c:251 access/transam/timeline.c:348 -#: access/transam/twophase.c:1309 access/transam/xlog.c:3230 -#: access/transam/xlog.c:3393 access/transam/xlog.c:3432 -#: access/transam/xlog.c:3625 access/transam/xlog.c:4331 -#: access/transam/xlogrecovery.c:4264 access/transam/xlogrecovery.c:4367 +#: access/transam/twophase.c:1309 access/transam/xlog.c:3212 +#: access/transam/xlog.c:3375 access/transam/xlog.c:3414 +#: access/transam/xlog.c:3607 access/transam/xlog.c:4313 +#: access/transam/xlogrecovery.c:4285 access/transam/xlogrecovery.c:4388 #: access/transam/xlogutils.c:836 backup/basebackup.c:547 #: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624 #: postmaster/syslogger.c:1511 replication/logical/origin.c:735 -#: replication/logical/reorderbuffer.c:3766 -#: replication/logical/reorderbuffer.c:4320 -#: replication/logical/reorderbuffer.c:5093 -#: replication/logical/snapbuild.c:1774 replication/logical/snapbuild.c:1884 -#: replication/slot.c:2208 replication/walsender.c:628 -#: replication/walsender.c:3051 storage/file/copydir.c:151 -#: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740 -#: storage/file/fd.c:3830 storage/smgr/md.c:661 utils/cache/relmapper.c:818 +#: replication/logical/reorderbuffer.c:3896 +#: replication/logical/reorderbuffer.c:4450 +#: replication/logical/reorderbuffer.c:5223 +#: replication/logical/snapbuild.c:1821 replication/logical/snapbuild.c:1931 +#: replication/slot.c:2250 replication/walsender.c:646 +#: replication/walsender.c:3099 storage/file/copydir.c:151 +#: storage/file/fd.c:800 storage/file/fd.c:3507 storage/file/fd.c:3737 +#: storage/file/fd.c:3827 storage/smgr/md.c:661 utils/cache/relmapper.c:818 #: utils/cache/relmapper.c:935 utils/error/elog.c:2124 -#: utils/init/miscinit.c:1580 utils/init/miscinit.c:1714 -#: utils/init/miscinit.c:1791 utils/misc/guc.c:4777 utils/misc/guc.c:4827 +#: utils/init/miscinit.c:1581 utils/init/miscinit.c:1715 +#: utils/init/miscinit.c:1792 utils/misc/guc.c:4782 utils/misc/guc.c:4832 #, c-format msgid "could not open file \"%s\": %m" msgstr "не можливо відкрити файл \"%s\": %m" #: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249 #: access/transam/twophase.c:1757 access/transam/twophase.c:1766 -#: access/transam/xlog.c:9280 access/transam/xlogfuncs.c:698 +#: access/transam/xlog.c:9320 access/transam/xlogfuncs.c:698 #: backup/basebackup_server.c:173 backup/basebackup_server.c:266 -#: backup/walsummary.c:304 postmaster/postmaster.c:4127 +#: backup/walsummary.c:304 postmaster/postmaster.c:4129 #: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535 #: postmaster/syslogger.c:1548 utils/cache/relmapper.c:947 #, c-format @@ -190,12 +190,12 @@ #: access/heap/rewriteheap.c:925 access/heap/rewriteheap.c:1135 #: access/heap/rewriteheap.c:1240 access/transam/timeline.c:432 #: access/transam/timeline.c:506 access/transam/twophase.c:1778 -#: access/transam/xlog.c:3316 access/transam/xlog.c:3511 -#: access/transam/xlog.c:4304 access/transam/xlog.c:8655 -#: access/transam/xlog.c:8700 backup/basebackup_server.c:207 -#: commands/dbcommands.c:514 replication/logical/snapbuild.c:1812 -#: replication/slot.c:2112 replication/slot.c:2218 storage/file/fd.c:820 -#: storage/file/fd.c:3851 storage/smgr/md.c:1331 storage/smgr/md.c:1376 +#: access/transam/xlog.c:3298 access/transam/xlog.c:3493 +#: access/transam/xlog.c:4286 access/transam/xlog.c:8695 +#: access/transam/xlog.c:8740 backup/basebackup_server.c:207 +#: commands/dbcommands.c:514 replication/logical/snapbuild.c:1859 +#: replication/slot.c:2150 replication/slot.c:2260 storage/file/fd.c:817 +#: storage/file/fd.c:3848 storage/smgr/md.c:1331 storage/smgr/md.c:1376 #: storage/sync/sync.c:446 utils/misc/guc.c:4530 #, c-format msgid "could not fsync file \"%s\": %m" @@ -209,27 +209,28 @@ #: ../common/parse_manifest.c:852 ../common/psprintf.c:143 #: ../common/scram-common.c:268 ../common/stringinfo.c:314 ../port/path.c:828 #: ../port/path.c:865 ../port/path.c:882 access/transam/twophase.c:1418 -#: access/transam/xlogrecovery.c:564 lib/dshash.c:253 libpq/auth.c:1352 -#: libpq/auth.c:1396 libpq/auth.c:1953 libpq/be-secure-gssapi.c:524 -#: postmaster/bgworker.c:355 postmaster/bgworker.c:945 -#: postmaster/postmaster.c:3560 postmaster/postmaster.c:4021 -#: postmaster/postmaster.c:4383 postmaster/walsummarizer.c:935 +#: access/transam/xlogrecovery.c:564 lib/dshash.c:253 libpq/auth.c:1360 +#: libpq/auth.c:1404 libpq/auth.c:1961 libpq/be-secure-gssapi.c:534 +#: libpq/be-secure-gssapi.c:714 postmaster/bgworker.c:355 +#: postmaster/bgworker.c:945 postmaster/postmaster.c:3562 +#: postmaster/postmaster.c:4023 postmaster/postmaster.c:4385 +#: postmaster/walsummarizer.c:935 #: replication/libpqwalreceiver/libpqwalreceiver.c:387 -#: replication/logical/logical.c:210 replication/walsender.c:835 -#: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443 -#: storage/file/fd.c:1604 storage/file/fd.c:2531 storage/ipc/procarray.c:1465 +#: replication/logical/logical.c:212 replication/walsender.c:853 +#: storage/buffer/localbuf.c:606 storage/file/fd.c:909 storage/file/fd.c:1440 +#: storage/file/fd.c:1601 storage/file/fd.c:2528 storage/ipc/procarray.c:1465 #: storage/ipc/procarray.c:2219 storage/ipc/procarray.c:2226 #: storage/ipc/procarray.c:2731 storage/ipc/procarray.c:3435 -#: utils/adt/formatting.c:1725 utils/adt/formatting.c:1873 -#: utils/adt/formatting.c:2075 utils/adt/pg_locale.c:532 -#: utils/adt/pg_locale.c:696 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:516 -#: utils/hash/dynahash.c:616 utils/hash/dynahash.c:1099 utils/mb/mbutils.c:401 -#: utils/mb/mbutils.c:429 utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 -#: utils/misc/guc.c:649 utils/misc/guc.c:674 utils/misc/guc.c:1062 -#: utils/misc/guc.c:4508 utils/misc/tzparser.c:477 utils/mmgr/aset.c:451 -#: utils/mmgr/bump.c:183 utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729 -#: utils/mmgr/dsa.c:810 utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1154 -#: utils/mmgr/slab.c:370 +#: utils/activity/pgstat_shmem.c:508 utils/adt/formatting.c:1725 +#: utils/adt/formatting.c:1873 utils/adt/formatting.c:2075 +#: utils/adt/pg_locale.c:533 utils/adt/pg_locale.c:697 utils/fmgr/dfmgr.c:229 +#: utils/hash/dynahash.c:517 utils/hash/dynahash.c:617 +#: utils/hash/dynahash.c:1100 utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 +#: utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 utils/misc/guc.c:649 +#: utils/misc/guc.c:674 utils/misc/guc.c:1062 utils/misc/guc.c:4508 +#: utils/misc/tzparser.c:477 utils/mmgr/aset.c:451 utils/mmgr/bump.c:183 +#: utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729 utils/mmgr/dsa.c:810 +#: utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1157 utils/mmgr/slab.c:370 #, c-format msgid "out of memory" msgstr "недостатньо пам'яті" @@ -296,8 +297,8 @@ #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75 #: ../common/fe_memutils.c:98 ../common/fe_memutils.c:161 #: ../common/psprintf.c:145 ../port/path.c:830 ../port/path.c:867 -#: ../port/path.c:884 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201 -#: utils/misc/ps_status.c:228 utils/misc/ps_status.c:236 +#: ../port/path.c:884 utils/misc/ps_status.c:195 utils/misc/ps_status.c:203 +#: utils/misc/ps_status.c:230 utils/misc/ps_status.c:238 #, c-format msgid "out of memory\n" msgstr "недостатньо пам'яті\n" @@ -307,7 +308,7 @@ msgid "cannot duplicate null pointer (internal error)\n" msgstr "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" -#: ../common/file_utils.c:76 storage/file/fd.c:3516 +#: ../common/file_utils.c:76 storage/file/fd.c:3513 #, c-format msgid "could not synchronize file system for file \"%s\": %m" msgstr "не вдалося синхронізувати файлову систему для файлу \"%s\": %m" @@ -319,8 +320,8 @@ #: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1749 #: commands/copyto.c:700 commands/extension.c:3527 commands/tablespace.c:804 #: commands/tablespace.c:893 postmaster/pgarch.c:680 -#: replication/logical/snapbuild.c:1670 replication/logical/snapbuild.c:2173 -#: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564 +#: replication/logical/snapbuild.c:1717 replication/logical/snapbuild.c:2220 +#: storage/file/fd.c:1965 storage/file/fd.c:2051 storage/file/fd.c:3561 #: utils/adt/dbsize.c:105 utils/adt/dbsize.c:257 utils/adt/dbsize.c:337 #: utils/adt/genfile.c:437 utils/adt/genfile.c:612 utils/adt/misc.c:340 #, c-format @@ -334,23 +335,23 @@ #: ../common/file_utils.c:151 ../common/file_utils.c:281 #: ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:728 -#: commands/tablespace.c:738 postmaster/postmaster.c:1470 -#: storage/file/fd.c:2933 storage/file/reinit.c:126 utils/adt/misc.c:256 +#: commands/tablespace.c:738 postmaster/postmaster.c:1472 +#: storage/file/fd.c:2930 storage/file/reinit.c:126 utils/adt/misc.c:256 #: utils/misc/tzparser.c:339 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не вдалося відкрити каталог \"%s\": %m" #: ../common/file_utils.c:169 ../common/file_utils.c:315 -#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2945 +#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2942 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не вдалося прочитати каталог \"%s\": %m" #: ../common/file_utils.c:498 access/transam/xlogarchive.c:389 #: postmaster/pgarch.c:834 postmaster/syslogger.c:1559 -#: replication/logical/snapbuild.c:1831 replication/slot.c:936 -#: replication/slot.c:1998 replication/slot.c:2140 storage/file/fd.c:838 +#: replication/logical/snapbuild.c:1878 replication/slot.c:965 +#: replication/slot.c:2033 replication/slot.c:2182 storage/file/fd.c:835 #: utils/time/snapmgr.c:1255 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" @@ -360,101 +361,101 @@ msgid "internal error" msgstr "внутрішня помилка" -#: ../common/jsonapi.c:2121 +#: ../common/jsonapi.c:2124 msgid "Recursive descent parser cannot use incremental lexer." msgstr "Рекурсивний спуск не може використовувати інкрементний лексичний аналізатор." -#: ../common/jsonapi.c:2123 +#: ../common/jsonapi.c:2126 msgid "Incremental parser requires incremental lexer." msgstr "Інкрементний аналізатор потребує Інкрементний лексичний аналізатор." -#: ../common/jsonapi.c:2125 +#: ../common/jsonapi.c:2128 msgid "JSON nested too deep, maximum permitted depth is 6400." msgstr "JSON вкладений занадто глибокий, максимально дозволена глибина - 6400." -#: ../common/jsonapi.c:2127 +#: ../common/jsonapi.c:2130 #, c-format msgid "Escape sequence \"\\%.*s\" is invalid." msgstr "Неприпустима спеціальна послідовність \"\\%.*s\"." -#: ../common/jsonapi.c:2131 +#: ../common/jsonapi.c:2134 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Символ зі значенням 0x%02x повинен бути пропущений." -#: ../common/jsonapi.c:2135 +#: ../common/jsonapi.c:2138 #, c-format msgid "Expected end of input, but found \"%.*s\"." msgstr "Очікувався кінець введення, але знайдено \"%.*s\"." -#: ../common/jsonapi.c:2138 +#: ../common/jsonapi.c:2141 #, c-format msgid "Expected array element or \"]\", but found \"%.*s\"." msgstr "Очікувався елемент масиву або \"]\", але знайдено \"%.*s\"." -#: ../common/jsonapi.c:2141 +#: ../common/jsonapi.c:2144 #, c-format msgid "Expected \",\" or \"]\", but found \"%.*s\"." msgstr "Очікувалось \",\" або \"]\", але знайдено \"%.*s\"." -#: ../common/jsonapi.c:2144 +#: ../common/jsonapi.c:2147 #, c-format msgid "Expected \":\", but found \"%.*s\"." msgstr "Очікувалось \":\", але знайдено \"%.*s\"." -#: ../common/jsonapi.c:2147 +#: ../common/jsonapi.c:2150 #, c-format msgid "Expected JSON value, but found \"%.*s\"." msgstr "Очікувалось значення JSON, але знайдено \"%.*s\"." -#: ../common/jsonapi.c:2150 +#: ../common/jsonapi.c:2153 msgid "The input string ended unexpectedly." msgstr "Несподіваний кінець вхідного рядка." -#: ../common/jsonapi.c:2152 +#: ../common/jsonapi.c:2155 #, c-format msgid "Expected string or \"}\", but found \"%.*s\"." msgstr "Очікувався рядок або \"}\", але знайдено \"%.*s\"." -#: ../common/jsonapi.c:2155 +#: ../common/jsonapi.c:2158 #, c-format msgid "Expected \",\" or \"}\", but found \"%.*s\"." msgstr "Очікувалось \",\" або \"}\", але знайдено \"%.*s\"." -#: ../common/jsonapi.c:2158 +#: ../common/jsonapi.c:2161 #, c-format msgid "Expected string, but found \"%.*s\"." msgstr "Очікувався рядок, але знайдено \"%.*s\"." -#: ../common/jsonapi.c:2161 +#: ../common/jsonapi.c:2164 #, c-format msgid "Token \"%.*s\" is invalid." msgstr "Неприпустимий маркер \"%.*s\"." -#: ../common/jsonapi.c:2164 jsonpath_scan.l:608 +#: ../common/jsonapi.c:2167 jsonpath_scan.l:608 #, c-format msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 не можна перетворити в текст." -#: ../common/jsonapi.c:2166 +#: ../common/jsonapi.c:2169 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "За \"\\u\" повинні прямувати чотири шістнадцяткових числа." -#: ../common/jsonapi.c:2169 +#: ../common/jsonapi.c:2172 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." msgstr "Значення виходу Unicode не можна використовувати для значень кодових точок більше 007F, якщо кодування не UTF8." -#: ../common/jsonapi.c:2178 +#: ../common/jsonapi.c:2181 #, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." msgstr "Значення символу Unicode не вдалося перекласти в кодування сервера %s." -#: ../common/jsonapi.c:2185 jsonpath_scan.l:641 +#: ../common/jsonapi.c:2188 jsonpath_scan.l:641 #, c-format msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Старший сурогат Unicode не повинен прямувати за іншим старшим сурогатом." -#: ../common/jsonapi.c:2187 jsonpath_scan.l:652 jsonpath_scan.l:662 +#: ../common/jsonapi.c:2190 jsonpath_scan.l:652 jsonpath_scan.l:662 #: jsonpath_scan.l:713 #, c-format msgid "Unicode low surrogate must follow a high surrogate." @@ -640,8 +641,8 @@ #: ../common/percentrepl.c:79 ../common/percentrepl.c:85 #: ../common/percentrepl.c:118 ../common/percentrepl.c:124 #: tcop/backend_startup.c:741 utils/misc/guc.c:3167 utils/misc/guc.c:3208 -#: utils/misc/guc.c:3283 utils/misc/guc.c:4712 utils/misc/guc.c:6931 -#: utils/misc/guc.c:6972 +#: utils/misc/guc.c:3283 utils/misc/guc.c:4712 utils/misc/guc.c:6942 +#: utils/misc/guc.c:6983 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "неприпустиме значення параметру \"%s\": \"%s\"" @@ -703,12 +704,12 @@ #: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 #: access/transam/twophase.c:1717 access/transam/xlogarchive.c:119 -#: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1048 +#: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1050 #: postmaster/syslogger.c:1488 replication/logical/origin.c:591 -#: replication/logical/reorderbuffer.c:4589 -#: replication/logical/snapbuild.c:1712 replication/logical/snapbuild.c:2146 -#: replication/slot.c:2192 storage/file/fd.c:878 storage/file/fd.c:3378 -#: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343 +#: replication/logical/reorderbuffer.c:4719 +#: replication/logical/snapbuild.c:1759 replication/logical/snapbuild.c:2193 +#: replication/slot.c:2234 storage/file/fd.c:875 storage/file/fd.c:3375 +#: storage/file/fd.c:3437 storage/file/reinit.c:261 storage/ipc/dsm.c:343 #: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243 #: utils/time/snapmgr.c:1591 #, c-format @@ -716,8 +717,8 @@ msgstr "не можливо видалити файл \"%s\": %m" #: ../common/rmtree.c:124 commands/tablespace.c:767 commands/tablespace.c:780 -#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3370 -#: storage/file/fd.c:3779 +#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3367 +#: storage/file/fd.c:3776 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "не вдалося видалити каталог \"%s\": %m" @@ -751,7 +752,7 @@ msgid "could not look up effective user ID %ld: %s" msgstr "не можу знайти користувача з ефективним ID %ld: %s" -#: ../common/username.c:45 libpq/auth.c:1888 +#: ../common/username.c:45 libpq/auth.c:1896 msgid "user does not exist" msgstr "користувача не існує" @@ -820,25 +821,25 @@ msgid "could not get junction for \"%s\": %s\n" msgstr "не вдалося встановити сполучення для \"%s\": %s\n" -#: ../port/open.c:115 +#: ../port/open.c:125 #, c-format msgid "could not open file \"%s\": %s" msgstr "не вдалося відкрити файл \"%s\": %s" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "lock violation" msgstr "порушення блокування" -#: ../port/open.c:116 +#: ../port/open.c:126 msgid "sharing violation" msgstr "порушення спільного доступу" -#: ../port/open.c:117 +#: ../port/open.c:127 #, c-format msgid "Continuing to retry for 30 seconds." msgstr "Продовжую спроби протягом 30 секунд." -#: ../port/open.c:118 +#: ../port/open.c:128 #, c-format msgid "You might have antivirus, backup, or similar software interfering with the database system." msgstr "Ви можливо маєте антивірус, резервне копіювання або аналогічне програмне забезпечення, що втручається у роботу системи бази даних." @@ -930,7 +931,7 @@ #: access/brin/brin_pageops.c:75 access/brin/brin_pageops.c:361 #: access/brin/brin_pageops.c:851 access/gin/ginentrypage.c:109 -#: access/gist/gist.c:1463 access/spgist/spgdoinsert.c:2001 +#: access/gist/gist.c:1470 access/spgist/spgdoinsert.c:2001 #: access/spgist/spgdoinsert.c:2278 #, c-format msgid "index row size %zu exceeds maximum %zu for index \"%s\"" @@ -1068,67 +1069,72 @@ msgid "RESET must not include values for parameters" msgstr "RESET не має містити значення для параметрів" -#: access/common/reloptions.c:1263 +#: access/common/reloptions.c:1264 #, c-format msgid "unrecognized parameter namespace \"%s\"" msgstr "нерозпізнаний параметр простору імен \"%s\"" -#: access/common/reloptions.c:1300 commands/variable.c:1214 +#: access/common/reloptions.c:1294 commands/foreigncmds.c:86 +#, c-format +msgid "invalid option name \"%s\": must not contain \"=\"" +msgstr "неприпустиме ім'я параметра \"%s\": не може містити \"=\"" + +#: access/common/reloptions.c:1309 commands/variable.c:1214 #, c-format msgid "tables declared WITH OIDS are not supported" msgstr "таблиці, позначені WITH OIDS, не підтримуються" -#: access/common/reloptions.c:1468 +#: access/common/reloptions.c:1477 #, c-format msgid "unrecognized parameter \"%s\"" msgstr "нерозпізнаний параметр \"%s\"" -#: access/common/reloptions.c:1580 +#: access/common/reloptions.c:1589 #, c-format msgid "parameter \"%s\" specified more than once" msgstr "параметр «%s» вказано кілька разів" -#: access/common/reloptions.c:1596 +#: access/common/reloptions.c:1605 #, c-format msgid "invalid value for boolean option \"%s\": %s" msgstr "неприпустиме значення для булевого параметра \"%s\": %s" -#: access/common/reloptions.c:1608 +#: access/common/reloptions.c:1617 #, c-format msgid "invalid value for integer option \"%s\": %s" msgstr "неприпустиме значення для цілого параметра \"%s\": %s" -#: access/common/reloptions.c:1614 access/common/reloptions.c:1634 +#: access/common/reloptions.c:1623 access/common/reloptions.c:1643 #, c-format msgid "value %s out of bounds for option \"%s\"" msgstr "значення %s поза допустимими межами для параметра \"%s\"" -#: access/common/reloptions.c:1616 +#: access/common/reloptions.c:1625 #, c-format msgid "Valid values are between \"%d\" and \"%d\"." msgstr "Припустимі значення знаходяться між \"%d\" і \"%d\"." -#: access/common/reloptions.c:1628 +#: access/common/reloptions.c:1637 #, c-format msgid "invalid value for floating point option \"%s\": %s" msgstr "неприпустиме значення для числа з плавучою точкою параметра \"%s\": %s" -#: access/common/reloptions.c:1636 +#: access/common/reloptions.c:1645 #, c-format msgid "Valid values are between \"%f\" and \"%f\"." msgstr "Припустимі значення знаходяться між \"%f\" і \"%f\"." -#: access/common/reloptions.c:1658 +#: access/common/reloptions.c:1667 #, c-format msgid "invalid value for enum option \"%s\": %s" msgstr "недійсне значення для параметра перерахування \"%s\": %s" -#: access/common/reloptions.c:1989 +#: access/common/reloptions.c:1998 #, c-format msgid "cannot specify storage parameters for a partitioned table" msgstr "неможливо вказати параметри сховища для секціонованої таблиці" -#: access/common/reloptions.c:1990 +#: access/common/reloptions.c:1999 #, c-format msgid "Specify storage parameters for its leaf partitions instead." msgstr "Вкажіть параметри сховища для табличних розділів." @@ -1173,12 +1179,12 @@ msgid "failed to re-find tuple within index \"%s\"" msgstr "не вдалося повторно знайти кортеж в межах індексу \"%s\"" -#: access/gin/ginscan.c:436 +#: access/gin/ginscan.c:479 #, c-format msgid "old GIN indexes do not support whole-index scans nor searches for nulls" msgstr "старі індекси GIN не підтримують сканування цілого індексу й пошуки значення null" -#: access/gin/ginscan.c:437 +#: access/gin/ginscan.c:480 #, c-format msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "Щоб виправити це, зробіть REINDEX INDEX \"%s\"." @@ -1226,7 +1232,7 @@ msgid "Please REINDEX it." msgstr "Будь ласка, виконайте REINDEX." -#: access/gist/gist.c:1196 +#: access/gist/gist.c:1203 #, c-format msgid "fixing incomplete split in index \"%s\", block %u" msgstr "виправлення неповного розділу в індексі \"%s\", блок %u" @@ -1271,7 +1277,7 @@ #: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:673 #: catalog/heap.c:679 commands/createas.c:201 commands/createas.c:508 -#: commands/indexcmds.c:2021 commands/tablecmds.c:18209 commands/view.c:81 +#: commands/indexcmds.c:2021 commands/tablecmds.c:18252 commands/view.c:81 #: regex/regc_pg_locale.c:245 utils/adt/formatting.c:1653 #: utils/adt/formatting.c:1801 utils/adt/formatting.c:1991 utils/adt/like.c:189 #: utils/adt/like_support.c:1024 utils/adt/varchar.c:738 @@ -1326,39 +1332,39 @@ msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)" msgstr "сімейство операторів \"%s\" з методом доступу %s не містить міжтипового оператора (ів)" -#: access/heap/heapam.c:2206 +#: access/heap/heapam.c:2244 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "не вдалося вставити кортежі в паралельного працівника" -#: access/heap/heapam.c:2725 +#: access/heap/heapam.c:2767 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "не вдалося видалити кортежі під час паралельної операції" -#: access/heap/heapam.c:2772 +#: access/heap/heapam.c:2814 #, c-format msgid "attempted to delete invisible tuple" msgstr "спроба видалити невидимий кортеж" -#: access/heap/heapam.c:3220 access/heap/heapam.c:6501 access/index/genam.c:818 +#: access/heap/heapam.c:3264 access/heap/heapam.c:6632 access/index/genam.c:818 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "неможливо оновити кортежі під час паралельної операції" -#: access/heap/heapam.c:3397 +#: access/heap/heapam.c:3441 #, c-format msgid "attempted to update invisible tuple" msgstr "спроба оновити невидимий кортеж" -#: access/heap/heapam.c:4908 access/heap/heapam.c:4946 -#: access/heap/heapam.c:5211 access/heap/heapam_handler.c:468 +#: access/heap/heapam.c:4954 access/heap/heapam.c:4992 +#: access/heap/heapam.c:5259 access/heap/heapam_handler.c:468 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "не вдалося отримати блокування у рядку стосовно \"%s\"" -#: access/heap/heapam.c:6314 commands/trigger.c:3340 -#: executor/nodeModifyTable.c:2376 executor/nodeModifyTable.c:2467 +#: access/heap/heapam.c:6386 commands/trigger.c:3427 +#: executor/nodeModifyTable.c:2399 executor/nodeModifyTable.c:2490 #, c-format msgid "tuple to be updated was already modified by an operation triggered by the current command" msgstr "кортеж, який повинен бути оновленим, вже змінений в операції, яка викликана поточною командою" @@ -1380,13 +1386,13 @@ #: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 #: access/transam/timeline.c:329 access/transam/timeline.c:481 -#: access/transam/xlog.c:3255 access/transam/xlog.c:3446 -#: access/transam/xlog.c:4283 access/transam/xlog.c:9269 +#: access/transam/xlog.c:3237 access/transam/xlog.c:3428 +#: access/transam/xlog.c:4265 access/transam/xlog.c:9309 #: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149 #: backup/basebackup_server.c:242 commands/dbcommands.c:494 -#: postmaster/launch_backend.c:340 postmaster/postmaster.c:4114 +#: postmaster/launch_backend.c:340 postmaster/postmaster.c:4116 #: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603 -#: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230 +#: replication/slot.c:2094 storage/file/copydir.c:157 storage/smgr/md.c:230 #: utils/time/snapmgr.c:1234 #, c-format msgid "could not create file \"%s\": %m" @@ -1399,15 +1405,15 @@ #: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 #: access/transam/timeline.c:424 access/transam/timeline.c:498 -#: access/transam/xlog.c:3305 access/transam/xlog.c:3502 -#: access/transam/xlog.c:4295 commands/dbcommands.c:506 +#: access/transam/xlog.c:3287 access/transam/xlog.c:3484 +#: access/transam/xlog.c:4277 commands/dbcommands.c:506 #: postmaster/launch_backend.c:351 postmaster/launch_backend.c:363 #: replication/logical/origin.c:615 replication/logical/origin.c:657 -#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1788 -#: replication/slot.c:2094 storage/file/buffile.c:545 -#: storage/file/copydir.c:197 utils/init/miscinit.c:1655 -#: utils/init/miscinit.c:1666 utils/init/miscinit.c:1674 utils/misc/guc.c:4491 -#: utils/misc/guc.c:4522 utils/misc/guc.c:5675 utils/misc/guc.c:5693 +#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1835 +#: replication/slot.c:2130 storage/file/buffile.c:545 +#: storage/file/copydir.c:197 utils/init/miscinit.c:1656 +#: utils/init/miscinit.c:1667 utils/init/miscinit.c:1675 utils/misc/guc.c:4491 +#: utils/misc/guc.c:4522 utils/misc/guc.c:5680 utils/misc/guc.c:5698 #: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246 #, c-format msgid "could not write to file \"%s\": %m" @@ -1539,89 +1545,89 @@ msgid "system usage: %s" msgstr "використання системи: %s" -#: access/heap/vacuumlazy.c:2173 +#: access/heap/vacuumlazy.c:2178 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "таблиця \"%s\": видалено %lld мертвих ідентифікаторів елементів в %u сторінках" -#: access/heap/vacuumlazy.c:2327 +#: access/heap/vacuumlazy.c:2332 #, c-format msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans" msgstr "безпечне пропущення неістотного обслуговування таблиці \"%s.%s.%s\" після %d сканів індексу" -#: access/heap/vacuumlazy.c:2330 +#: access/heap/vacuumlazy.c:2335 #, c-format msgid "The table's relfrozenxid or relminmxid is too far in the past." msgstr "relfrozenxid або relminmxid таблиці занадто далеко в минулому." -#: access/heap/vacuumlazy.c:2331 +#: access/heap/vacuumlazy.c:2336 #, c-format msgid "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" "You might also need to consider other ways for VACUUM to keep up with the allocation of transaction IDs." msgstr "Можливо, слід збільшити параметр конфігурації \"maintenance_work_mem\" або \"autovacuum_work_mem\".\n" "Можливо, вам також доведеться розглянути інші способи, щоб VACUUM не відставав від розподілу ідентифікаторів транзакцій." -#: access/heap/vacuumlazy.c:2593 +#: access/heap/vacuumlazy.c:2598 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "\"%s\": зупинка скорочення через конфліктний запит блокування" -#: access/heap/vacuumlazy.c:2663 +#: access/heap/vacuumlazy.c:2668 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "таблиця \"%s: скорочена від %u до %u сторінок" -#: access/heap/vacuumlazy.c:2725 +#: access/heap/vacuumlazy.c:2730 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "таблиця \"%s: припинення скорочення через конфліктуючий запит блокування" -#: access/heap/vacuumlazy.c:2844 +#: access/heap/vacuumlazy.c:2849 #, c-format msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel" msgstr "вимкнення паралельної опції очищення на \"%s\" --- неможливо паралельно очистити тимчасові таблиці" -#: access/heap/vacuumlazy.c:3111 +#: access/heap/vacuumlazy.c:3118 #, c-format msgid "while scanning block %u offset %u of relation \"%s.%s\"" msgstr "під час сканування блоку %u зсувом %u відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3114 +#: access/heap/vacuumlazy.c:3121 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "у процесі сканування блоку %u відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3118 +#: access/heap/vacuumlazy.c:3125 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "у процесі сканування відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3126 +#: access/heap/vacuumlazy.c:3133 #, c-format msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" msgstr "під час очищення блоку %u зсувом %u відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3129 +#: access/heap/vacuumlazy.c:3136 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "у процесі очищення блоку %u відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3133 +#: access/heap/vacuumlazy.c:3140 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "у процесі очищення відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3138 commands/vacuumparallel.c:1112 +#: access/heap/vacuumlazy.c:3145 commands/vacuumparallel.c:1112 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "у процесі очищення індексу \"%s\" відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3143 commands/vacuumparallel.c:1118 +#: access/heap/vacuumlazy.c:3150 commands/vacuumparallel.c:1118 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "у процесі очищення індексу \"%s\" відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3149 +#: access/heap/vacuumlazy.c:3156 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "у процесі скорочення відношення \"%s.%s\" до %u блоків" @@ -1647,8 +1653,8 @@ msgstr "неможливо отримати доступ до індекса \"%s\" в процесі реіндексації" #: access/index/indexam.c:203 catalog/objectaddress.c:1356 -#: commands/indexcmds.c:2851 commands/tablecmds.c:281 commands/tablecmds.c:305 -#: commands/tablecmds.c:17904 commands/tablecmds.c:19793 +#: commands/indexcmds.c:2885 commands/tablecmds.c:281 commands/tablecmds.c:305 +#: commands/tablecmds.c:17937 commands/tablecmds.c:19848 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" не є індексом" @@ -1694,17 +1700,17 @@ msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it." msgstr "Це могло статися через переривання VACUUM у версії 9.3 або старше перед оновленням. Будь ласка, виконайте REINDEX." -#: access/nbtree/nbtutils.c:5108 +#: access/nbtree/nbtutils.c:5113 #, c-format msgid "index row size %zu exceeds btree version %u maximum %zu for index \"%s\"" msgstr "розмір рядка індексу %zu перевищує максимальний розмір для версії %u btree %zu для індексу \"%s\"" -#: access/nbtree/nbtutils.c:5114 +#: access/nbtree/nbtutils.c:5119 #, c-format msgid "Index row references tuple (%u,%u) in relation \"%s\"." msgstr "Рядок індексу посилається на кортеж (%u,,%u) у відношенні \"%s\"." -#: access/nbtree/nbtutils.c:5118 +#: access/nbtree/nbtutils.c:5123 #, c-format msgid "Values larger than 1/3 of a buffer page cannot be indexed.\n" "Consider a function index of an MD5 hash of the value, or use full text indexing." @@ -1752,7 +1758,7 @@ msgid "\"%s\" cannot be empty." msgstr "\"%s\" не може бути пустим." -#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4859 +#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4891 #, c-format msgid "\"%s\" is too long (maximum %d characters)." msgstr "\"%s\" занадто довгий (максимум %d символів)." @@ -1792,13 +1798,13 @@ msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Переконайтесь, що в конфігурації встановлений параметр \"%s\"." -#: access/transam/multixact.c:1091 +#: access/transam/multixact.c:1173 #, c-format msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database \"%s\"" msgstr "база даних не приймає команди, які призначають нові MultiXactId, щоб уникнути втрати даних через зациклення у базі даних \"%s\"" -#: access/transam/multixact.c:1093 access/transam/multixact.c:1100 -#: access/transam/multixact.c:1124 access/transam/multixact.c:1133 +#: access/transam/multixact.c:1175 access/transam/multixact.c:1182 +#: access/transam/multixact.c:1206 access/transam/multixact.c:1215 #: access/transam/varsup.c:158 access/transam/varsup.c:165 #, c-format msgid "Execute a database-wide VACUUM in that database.\n" @@ -1806,12 +1812,12 @@ msgstr "Виконати очистку (VACUUM) по всій базі даних.\n" "Можливо, вам доведеться зафіксувати, відкотити назад старі підготовані транзакції або видалити застарілі слоти реплікації." -#: access/transam/multixact.c:1098 +#: access/transam/multixact.c:1180 #, c-format msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database with OID %u" msgstr "база даних не приймає команди, які призначають нові MultiXactId, щоб уникнути втрати даних через зациклення у базі даних з OID %u" -#: access/transam/multixact.c:1119 access/transam/multixact.c:2474 +#: access/transam/multixact.c:1201 access/transam/multixact.c:2546 #, 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" @@ -1820,7 +1826,7 @@ msgstr[2] "баз даних \"%s\" повинні бути очищені (vacuumed) перед тим, як більшість MultiXactIds буде використано (%u)" msgstr[3] "баз даних \"%s\" повинні бути очищені (vacuumed) перед тим, як більшість MultiXactId буде використано (%u)" -#: access/transam/multixact.c:1128 access/transam/multixact.c:2483 +#: access/transam/multixact.c:1210 access/transam/multixact.c:2555 #, 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" @@ -1829,12 +1835,12 @@ msgstr[2] "баз даних з OID %u повинні бути очищені (vacuumed), перед тим як більшість MultiXactIds буде використано (%u)" msgstr[3] "баз даних з OID %u повинні бути очищені (vacuumed), перед тим як більшість MultiXactId буде використано (%u)" -#: access/transam/multixact.c:1189 +#: access/transam/multixact.c:1274 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "перевищено ліміт членів мультитранзакції" -#: access/transam/multixact.c:1190 +#: access/transam/multixact.c:1275 #, 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." @@ -1843,12 +1849,12 @@ msgstr[2] "Мультитранзакція створена цією командою з %u членів, але місця вистачає лише для %u членів." msgstr[3] "Мультитранзакція створена цією командою з %u членів, але місця вистачає лише для %u членів." -#: access/transam/multixact.c:1195 +#: access/transam/multixact.c:1280 #, 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 settings\"." -#: access/transam/multixact.c:1226 +#: access/transam/multixact.c:1311 #, c-format msgid "database with OID %u must be vacuumed before %d more multixact member is used" msgid_plural "database with OID %u must be vacuumed before %d more multixact members are used" @@ -1857,83 +1863,88 @@ msgstr[2] "база даних з OID %u повинна бути очищена перед використанням додаткових членів мультитранзакції (%d)" msgstr[3] "база даних з OID %u повинна бути очищена перед використанням додаткових членів мультитранзакції (%d)" -#: access/transam/multixact.c:1231 +#: access/transam/multixact.c:1316 #, 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\" settings." -#: access/transam/multixact.c:1371 +#: access/transam/multixact.c:1455 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "MultiXactId %u припинив існування -- очевидно відбулося зациклення" -#: access/transam/multixact.c:1377 +#: access/transam/multixact.c:1461 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %u ще не був створений -- очевидно відбулося зациклення" -#: access/transam/multixact.c:2479 access/transam/multixact.c:2488 +#: access/transam/multixact.c:1554 +#, c-format +msgid "MultiXact %u has invalid next offset" +msgstr "У MultiXact %u є недійсне наступне зміщення" + +#: access/transam/multixact.c:2551 access/transam/multixact.c:2560 #, c-format msgid "To avoid MultiXactId assignment failures, execute a database-wide VACUUM in that database.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots." msgstr "Щоб уникнути збоїв у призначенні MultiXactId, виконайте VACUUM для всієї бази даних у цій базі даних.\n" "Вам також може знадобитися зафіксувати або відкотити старі підготовлені транзакції, або видалити застарілі слоти реплікації." -#: access/transam/multixact.c:2767 +#: access/transam/multixact.c:2839 #, c-format msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk" msgstr "Захист від зациклення члену MultiXact вимкнена, оскільки найстаріша контрольна точка MultiXact %u не існує на диску" -#: access/transam/multixact.c:2789 +#: access/transam/multixact.c:2861 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "Захист від зациклення члену MultiXact наразі ввімкнена" -#: access/transam/multixact.c:3180 +#: access/transam/multixact.c:3252 #, c-format msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" msgstr "найстарішу MultiXact %u не знайдено, найновіша MultiXact %u, скорочення пропускається" -#: access/transam/multixact.c:3198 +#: access/transam/multixact.c:3270 #, c-format msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation" msgstr "неможливо виконати скорочення до MultiXact %u, оскільки її не існує на диску, скорочення пропускається" -#: access/transam/multixact.c:3517 +#: access/transam/multixact.c:3615 #, c-format msgid "invalid MultiXactId: %u" msgstr "неприпустимий MultiXactId: %u" -#: access/transam/parallel.c:748 access/transam/parallel.c:867 +#: access/transam/parallel.c:755 access/transam/parallel.c:874 #, c-format msgid "parallel worker failed to initialize" msgstr "не вдалося виконати ініціалізацію паралельного виконавця" -#: access/transam/parallel.c:749 access/transam/parallel.c:868 +#: access/transam/parallel.c:756 access/transam/parallel.c:875 #, c-format msgid "More details may be available in the server log." msgstr "Більше деталей можуть бути доступні в журналі серверу." -#: access/transam/parallel.c:929 +#: access/transam/parallel.c:936 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "postmaster завершився під час паралельної транзакції" -#: access/transam/parallel.c:1116 +#: access/transam/parallel.c:1123 #, c-format msgid "lost connection to parallel worker" msgstr "втрачено зв'язок з паралельним виконавцем" -#: access/transam/parallel.c:1172 access/transam/parallel.c:1174 +#: access/transam/parallel.c:1179 access/transam/parallel.c:1181 msgid "parallel worker" msgstr "паралельний виконавець" -#: access/transam/parallel.c:1344 replication/logical/applyparallelworker.c:890 +#: access/transam/parallel.c:1351 replication/logical/applyparallelworker.c:897 #, c-format msgid "could not map dynamic shared memory segment" msgstr "не вдалося відобразити динамічний сегмент спільної пам'яті" -#: access/transam/parallel.c:1349 replication/logical/applyparallelworker.c:896 +#: access/transam/parallel.c:1356 replication/logical/applyparallelworker.c:903 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "неприпустиме магічне число в динамічному сегменті спільної пам'яті" @@ -1994,65 +2005,65 @@ msgid "registered custom resource manager \"%s\" with ID %d" msgstr "зареєстрований користувацький менеджер ресурсів \"%s\" з ID %d" -#: access/transam/slru.c:361 +#: access/transam/slru.c:362 #, c-format msgid "\"%s\" must be a multiple of %d" msgstr "\"%s\" має бути кратним %d" -#: access/transam/slru.c:830 +#: access/transam/slru.c:831 #, c-format msgid "file \"%s\" doesn't exist, reading as zeroes" msgstr "файл \"%s\" не існує, вважається нульовим" -#: access/transam/slru.c:1059 access/transam/slru.c:1065 -#: access/transam/slru.c:1073 access/transam/slru.c:1078 -#: access/transam/slru.c:1085 access/transam/slru.c:1090 -#: access/transam/slru.c:1097 access/transam/slru.c:1104 +#: access/transam/slru.c:1060 access/transam/slru.c:1066 +#: access/transam/slru.c:1074 access/transam/slru.c:1079 +#: access/transam/slru.c:1086 access/transam/slru.c:1091 +#: access/transam/slru.c:1098 access/transam/slru.c:1105 #, c-format msgid "could not access status of transaction %u" msgstr "не можливо отримати статус транзакції %u" -#: access/transam/slru.c:1060 +#: access/transam/slru.c:1061 #, c-format msgid "Could not open file \"%s\": %m." msgstr "Не можливо відкрити файл \"%s\": %m." -#: access/transam/slru.c:1066 +#: access/transam/slru.c:1067 #, c-format msgid "Could not seek in file \"%s\" to offset %d: %m." msgstr "Не вдалося знайти у файлі \"%s\" до зсуву %d: %m." -#: access/transam/slru.c:1074 +#: access/transam/slru.c:1075 #, c-format msgid "Could not read from file \"%s\" at offset %d: %m." msgstr "Не вдалося прочитати з файлу \"%s\" по зсуву %d: %m." -#: access/transam/slru.c:1079 +#: access/transam/slru.c:1080 #, c-format msgid "Could not read from file \"%s\" at offset %d: read too few bytes." msgstr "Не вдалося прочитати з файлу \"%s\" по зсуву %d: прочитано занадто мало байтів." -#: access/transam/slru.c:1086 +#: access/transam/slru.c:1087 #, c-format msgid "Could not write to file \"%s\" at offset %d: %m." msgstr "Не вдалося записати до файлу \"%s\" зсув %d: %m." -#: access/transam/slru.c:1091 +#: access/transam/slru.c:1092 #, c-format msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes." msgstr "Не вдалося записати до файлу \"%s\" зсув %d: записано занадто мало байтів." -#: access/transam/slru.c:1098 +#: access/transam/slru.c:1099 #, c-format msgid "Could not fsync file \"%s\": %m." msgstr "Не вдалося синхронізувати файл \"%s\": %m." -#: access/transam/slru.c:1105 +#: access/transam/slru.c:1106 #, c-format msgid "Could not close file \"%s\": %m." msgstr "Не можливо закрити файл \"%s\": %m." -#: access/transam/slru.c:1431 +#: access/transam/slru.c:1432 #, c-format msgid "could not truncate directory \"%s\": apparent wraparound" msgstr "не вдалося спустошити каталог \"%s\": очевидно сталося зациклення" @@ -2197,8 +2208,8 @@ msgstr "обчислена контрольна сума CRC не відповідає значенню, збереженому у файлі \"%s\"" #: access/transam/twophase.c:1419 access/transam/xlogrecovery.c:565 -#: postmaster/walsummarizer.c:936 replication/logical/logical.c:211 -#: replication/walsender.c:836 +#: postmaster/walsummarizer.c:936 replication/logical/logical.c:213 +#: replication/walsender.c:854 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "Не вдалося розмістити обробник журналу транзакцій." @@ -2277,7 +2288,7 @@ msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk." msgstr "Файл 2-фазового стану був знайдений в запису WAL %X/%X, але ця транзакція вже відновлена з диску." -#: access/transam/twophase.c:2524 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209 +#: access/transam/twophase.c:2524 storage/file/fd.c:511 utils/fmgr/dfmgr.c:209 #, c-format msgid "could not access file \"%s\": %m" msgstr "немає доступу до файлу \"%s\": %m" @@ -2337,272 +2348,267 @@ msgid "cannot have more than 2^32-2 commands in a transaction" msgstr "в одній транзакції не може бути більше 2^32-2 команд" -#: access/transam/xact.c:1664 +#: access/transam/xact.c:1674 #, c-format msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "перевищено межу числа зафіксованих підтранзакцій (%d)" -#: access/transam/xact.c:2561 +#: access/transam/xact.c:2571 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary objects" msgstr "неможливо виконати PREPARE для транзакції, що здійснювалася на тимчасових об'єктах" -#: access/transam/xact.c:2571 +#: access/transam/xact.c:2581 #, c-format msgid "cannot PREPARE a transaction that has exported snapshots" msgstr "не можна виконати PREPARE для транзакції, яка має експортовані знімки" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3593 +#: access/transam/xact.c:3603 #, c-format msgid "%s cannot run inside a transaction block" msgstr "%s неможливо запустити всередині блоку транзакції" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3603 +#: access/transam/xact.c:3613 #, c-format msgid "%s cannot run inside a subtransaction" msgstr "%s неможливо запустити всередині підтранзакції" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3613 +#: access/transam/xact.c:3623 #, c-format msgid "%s cannot be executed within a pipeline" msgstr "%s не можна використовувати в межах конвеєра" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3623 +#: access/transam/xact.c:3633 #, c-format msgid "%s cannot be executed from a function" msgstr "%s неможливо виконати з функції" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3694 access/transam/xact.c:4019 -#: access/transam/xact.c:4098 access/transam/xact.c:4221 -#: access/transam/xact.c:4372 access/transam/xact.c:4441 -#: access/transam/xact.c:4552 +#: access/transam/xact.c:3704 access/transam/xact.c:4029 +#: access/transam/xact.c:4108 access/transam/xact.c:4231 +#: access/transam/xact.c:4382 access/transam/xact.c:4451 +#: access/transam/xact.c:4562 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%s може використовуватися тільки в блоках транзакції" -#: access/transam/xact.c:3905 +#: access/transam/xact.c:3915 #, c-format msgid "there is already a transaction in progress" msgstr "транзакція вже виконується" -#: access/transam/xact.c:4024 access/transam/xact.c:4103 -#: access/transam/xact.c:4226 +#: access/transam/xact.c:4034 access/transam/xact.c:4113 +#: access/transam/xact.c:4236 #, c-format msgid "there is no transaction in progress" msgstr "немає незавершеної транзакції" -#: access/transam/xact.c:4114 +#: access/transam/xact.c:4124 #, c-format msgid "cannot commit during a parallel operation" msgstr "не можна фіксувати транзакції під час паралельних операцій" -#: access/transam/xact.c:4237 +#: access/transam/xact.c:4247 #, c-format msgid "cannot abort during a parallel operation" msgstr "не можна перервати під час паралельних операцій" -#: access/transam/xact.c:4336 +#: access/transam/xact.c:4346 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "не можна визначати точки збереження під час паралельних операцій" -#: access/transam/xact.c:4423 +#: access/transam/xact.c:4433 #, c-format msgid "cannot release savepoints during a parallel operation" msgstr "не можна вивільняти точки збереження під час паралельних транзакцій" -#: access/transam/xact.c:4433 access/transam/xact.c:4484 -#: access/transam/xact.c:4544 access/transam/xact.c:4593 +#: access/transam/xact.c:4443 access/transam/xact.c:4494 +#: access/transam/xact.c:4554 access/transam/xact.c:4603 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "точка збереження \"%s\" не існує" -#: access/transam/xact.c:4490 access/transam/xact.c:4599 +#: access/transam/xact.c:4500 access/transam/xact.c:4609 #, c-format msgid "savepoint \"%s\" does not exist within current savepoint level" msgstr "точка збереження \"%s\" не існує на поточному рівні збереження точок" -#: access/transam/xact.c:4532 +#: access/transam/xact.c:4542 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "не можна відкотити назад до точки збереження під час паралельних операцій" -#: access/transam/xact.c:5376 +#: access/transam/xact.c:5386 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "в одній транзакції не може бути більше 2^32-1 підтранзакцій" -#: access/transam/xlog.c:1542 +#: access/transam/xlog.c:1543 #, c-format msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X" msgstr "запит на очищення минулого кінця згенерованого WAL; запит %X/%X, поточна позиція %X/%X" -#: access/transam/xlog.c:1769 +#: access/transam/xlog.c:1770 #, c-format msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X" msgstr "не вдалося прочитати останній кінець згенерованого WAL: запит %X/%X, поточна позиція %X/%X" -#: access/transam/xlog.c:2210 access/transam/xlog.c:4501 +#: access/transam/xlog.c:2211 access/transam/xlog.c:4483 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "Розмір сегмента WAL повинен бути степенем двійки від 1 МБ до 1 ГБ." -#: access/transam/xlog.c:2228 -#, c-format -msgid "\"%s\" must be set to -1 during binary upgrade mode." -msgstr "\"%s\" має бути встановлено на -1 під час двійкового режиму оновлення." - -#: access/transam/xlog.c:2477 +#: access/transam/xlog.c:2459 #, 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:3739 access/transam/xlogutils.c:831 -#: replication/walsender.c:3045 +#: access/transam/xlog.c:3721 access/transam/xlogutils.c:831 +#: replication/walsender.c:3093 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "запитуваний сегмент WAL %s вже видалений" -#: access/transam/xlog.c:4061 +#: access/transam/xlog.c:4043 #, c-format msgid "could not rename file \"%s\": %m" msgstr "не вдалося перейменувати файл \"%s\": %m" -#: access/transam/xlog.c:4104 access/transam/xlog.c:4115 -#: access/transam/xlog.c:4136 +#: access/transam/xlog.c:4086 access/transam/xlog.c:4097 +#: access/transam/xlog.c:4118 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "необхідний каталог WAL \"%s\" не існує" -#: access/transam/xlog.c:4121 access/transam/xlog.c:4142 +#: access/transam/xlog.c:4103 access/transam/xlog.c:4124 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "створюється відсутній каталог WAL \"%s\"" -#: access/transam/xlog.c:4125 access/transam/xlog.c:4145 +#: access/transam/xlog.c:4107 access/transam/xlog.c:4127 #: commands/dbcommands.c:3262 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "не вдалося створити відстуній каталог \"%s\": %m" -#: access/transam/xlog.c:4212 +#: access/transam/xlog.c:4194 #, c-format msgid "could not generate secret authorization token" msgstr "не вдалося згенерувати секретний токен для авторизації" -#: access/transam/xlog.c:4363 access/transam/xlog.c:4373 -#: access/transam/xlog.c:4399 access/transam/xlog.c:4407 -#: access/transam/xlog.c:4415 access/transam/xlog.c:4421 -#: access/transam/xlog.c:4429 access/transam/xlog.c:4437 -#: access/transam/xlog.c:4445 access/transam/xlog.c:4453 +#: access/transam/xlog.c:4345 access/transam/xlog.c:4355 +#: access/transam/xlog.c:4381 access/transam/xlog.c:4389 +#: access/transam/xlog.c:4397 access/transam/xlog.c:4403 +#: access/transam/xlog.c:4411 access/transam/xlog.c:4419 +#: access/transam/xlog.c:4427 access/transam/xlog.c:4435 +#: access/transam/xlog.c:4443 access/transam/xlog.c:4451 #: access/transam/xlog.c:4461 access/transam/xlog.c:4469 -#: access/transam/xlog.c:4479 access/transam/xlog.c:4487 -#: utils/init/miscinit.c:1812 +#: utils/init/miscinit.c:1813 #, c-format msgid "database files are incompatible with server" msgstr "файли бази даних є несумісними з даним сервером" -#: access/transam/xlog.c:4364 +#: access/transam/xlog.c:4346 #, 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 "Кластер бази даних було ініціалізовано з PG_CONTROL_VERSION %d (0x%08x), але сервер було скомпільовано з PG_CONTROL_VERSION %d (0x%08x)." -#: access/transam/xlog.c:4368 +#: access/transam/xlog.c:4350 #, c-format msgid "This could be a problem of mismatched byte ordering. It looks like you need to initdb." msgstr "Можливо, проблема викликана різним порядком байту. Здається, вам потрібно виконати команду \"initdb\"." -#: access/transam/xlog.c:4374 +#: access/transam/xlog.c:4356 #, c-format msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d." msgstr "Кластер баз даних був ініціалізований з PG_CONTROL_VERSION %d, але сервер скомпільований з PG_CONTROL_VERSION %d." -#: access/transam/xlog.c:4377 access/transam/xlog.c:4403 -#: access/transam/xlog.c:4411 access/transam/xlog.c:4417 +#: access/transam/xlog.c:4359 access/transam/xlog.c:4385 +#: access/transam/xlog.c:4393 access/transam/xlog.c:4399 #, c-format msgid "It looks like you need to initdb." msgstr "Здається, Вам треба виконати initdb." -#: access/transam/xlog.c:4389 +#: access/transam/xlog.c:4371 #, c-format msgid "incorrect checksum in control file" msgstr "помилка контрольної суми у файлі pg_control" -#: access/transam/xlog.c:4400 +#: access/transam/xlog.c:4382 #, c-format msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d." msgstr "Кластер бази даних було ініціалізовано з CATALOG_VERSION_NO %d, але сервер було скомпільовано з CATALOG_VERSION_NO %d." -#: access/transam/xlog.c:4408 +#: access/transam/xlog.c:4390 #, c-format msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d." msgstr "Кластер бази даних було ініціалізовано з MAXALIGN %d, але сервер було скомпільовано з MAXALIGN %d." -#: access/transam/xlog.c:4416 +#: access/transam/xlog.c:4398 #, c-format msgid "The database cluster appears to use a different floating-point number format than the server executable." msgstr "Здається, в кластері баз даних і в програмі сервера використовуються різні формати чисел з плаваючою точкою." -#: access/transam/xlog.c:4422 +#: access/transam/xlog.c:4404 #, c-format msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d." msgstr "Кластер бази даних було ініціалізовано з BLCKSZ %d, але сервер було скомпільовано з BLCKSZ %d." -#: access/transam/xlog.c:4425 access/transam/xlog.c:4433 -#: access/transam/xlog.c:4441 access/transam/xlog.c:4449 -#: access/transam/xlog.c:4457 access/transam/xlog.c:4465 -#: access/transam/xlog.c:4473 access/transam/xlog.c:4482 -#: access/transam/xlog.c:4490 +#: access/transam/xlog.c:4407 access/transam/xlog.c:4415 +#: access/transam/xlog.c:4423 access/transam/xlog.c:4431 +#: access/transam/xlog.c:4439 access/transam/xlog.c:4447 +#: access/transam/xlog.c:4455 access/transam/xlog.c:4464 +#: access/transam/xlog.c:4472 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "Здається, вам потрібно перекомпілювати сервер або виконати initdb." -#: access/transam/xlog.c:4430 +#: access/transam/xlog.c:4412 #, c-format msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d." msgstr "Кластер бази даних було ініціалізовано з ELSEG_SIZE %d, але сервер було скомпільовано з ELSEG_SIZE %d." -#: access/transam/xlog.c:4438 +#: access/transam/xlog.c:4420 #, c-format msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d." msgstr "Кластер бази даних було ініціалізовано з XLOG_BLCKSZ %d, але сервер було скомпільовано з XLOG_BLCKSZ %d." -#: access/transam/xlog.c:4446 +#: access/transam/xlog.c:4428 #, c-format msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d." msgstr "Кластер бази даних було ініціалізовано з NAMEDATALEN %d, але сервер було скомпільовано з NAMEDATALEN %d." -#: access/transam/xlog.c:4454 +#: access/transam/xlog.c:4436 #, c-format msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d." msgstr "Кластер бази даних було ініціалізовано з INDEX_MAX_KEYS %d, але сервер було скомпільовано з INDEX_MAX_KEYS %d." -#: access/transam/xlog.c:4462 +#: access/transam/xlog.c:4444 #, 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 "Кластер бази даних було ініціалізовано з TOAST_MAX_CHUNK_SIZE %d, але сервер було скомпільовано з TOAST_MAX_CHUNK_SIZE %d." -#: access/transam/xlog.c:4470 +#: access/transam/xlog.c:4452 #, c-format msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d." msgstr "Кластер бази даних було ініціалізовано з LOBLKSIZE %d, але сервер було скомпільовано з LOBLKSIZE %d." -#: access/transam/xlog.c:4480 +#: access/transam/xlog.c:4462 #, c-format msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL." msgstr "Кластер бази даних було ініціалізовано без USE_FLOAT8_BYVAL, але сервер було скомпільовано з USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4488 +#: access/transam/xlog.c:4470 #, c-format msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL." msgstr "Кластер бази даних було ініціалізовано з USE_FLOAT8_BYVAL, але сервер було скомпільовано без USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4497 +#: access/transam/xlog.c:4479 #, c-format msgid "invalid WAL segment size in control file (%d byte)" msgid_plural "invalid WAL segment size in control file (%d bytes)" @@ -2611,292 +2617,292 @@ msgstr[2] "невірний розмір сегмента WAL у файлі керування (%d байтів)" msgstr[3] "невірний розмір сегмента WAL у файлі керування (%d байтів)" -#: access/transam/xlog.c:4510 +#: access/transam/xlog.c:4492 #, c-format msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "\"min_wal_size\" має бути мінімум у 2 рази більше, ніж \"wal_segment_size\"" -#: access/transam/xlog.c:4514 +#: access/transam/xlog.c:4496 #, c-format msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "\"max_wal_size\" має бути мінімум у 2 рази більше, ніж \"wal_segment_size\"" -#: access/transam/xlog.c:4662 catalog/namespace.c:4696 +#: access/transam/xlog.c:4644 catalog/namespace.c:4699 #: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 -#: replication/slot.c:2446 tcop/postgres.c:3715 utils/error/elog.c:2247 +#: replication/slot.c:2484 tcop/postgres.c:3715 utils/error/elog.c:2247 #, c-format msgid "List syntax is invalid." msgstr "Помилка синтаксису у списку." -#: access/transam/xlog.c:4708 commands/user.c:2545 commands/variable.c:173 +#: access/transam/xlog.c:4690 commands/user.c:2545 commands/variable.c:173 #: tcop/postgres.c:3731 utils/error/elog.c:2273 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Нерозпізнане ключове слово: \"%s\"." -#: access/transam/xlog.c:5129 +#: access/transam/xlog.c:5111 #, c-format msgid "could not write bootstrap write-ahead log file: %m" msgstr "не вдалося записати початкове завантаження випереджувального журналювання: %m" -#: access/transam/xlog.c:5137 +#: access/transam/xlog.c:5119 #, c-format msgid "could not fsync bootstrap write-ahead log file: %m" msgstr "не вдалося скинути на диск початкове завантаження випереджувального журналювання: %m" -#: access/transam/xlog.c:5143 +#: access/transam/xlog.c:5125 #, c-format msgid "could not close bootstrap write-ahead log file: %m" msgstr "не вдалося закрити початкове завантаження випереджувального журналювання: %m" -#: access/transam/xlog.c:5368 +#: access/transam/xlog.c:5350 #, c-format msgid "WAL was generated with \"wal_level=minimal\", cannot continue recovering" msgstr "WAL був створений з \"wal_level=minimal\", неможливо продовжити відновлення" -#: access/transam/xlog.c:5369 +#: access/transam/xlog.c:5351 #, c-format msgid "This happens if you temporarily set \"wal_level=minimal\" on the server." msgstr "Це трапляється, якщо ви тимчасово встановили \"wal_level=minimal\" на сервері." -#: access/transam/xlog.c:5370 +#: access/transam/xlog.c:5352 #, c-format msgid "Use a backup taken after setting \"wal_level\" to higher than \"minimal\"." msgstr "Використовуйте резервну копію, зроблену після встановлення значення wal_level, що перевищує мінимальний рівень." -#: access/transam/xlog.c:5435 +#: access/transam/xlog.c:5417 #, c-format msgid "control file contains invalid checkpoint location" msgstr "контрольний файл містить недійсне розташування контрольної точки" -#: access/transam/xlog.c:5446 +#: access/transam/xlog.c:5428 #, c-format msgid "database system was shut down at %s" msgstr "система бази даних була вимкнена %s" -#: access/transam/xlog.c:5452 +#: access/transam/xlog.c:5434 #, c-format msgid "database system was shut down in recovery at %s" msgstr "система бази даних завершила роботу у процесі відновлення %s" -#: access/transam/xlog.c:5458 +#: access/transam/xlog.c:5440 #, c-format msgid "database system shutdown was interrupted; last known up at %s" msgstr "завершення роботи бази даних було перервано; останній момент роботи %s" -#: access/transam/xlog.c:5464 +#: access/transam/xlog.c:5446 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "система бази даних була перервана в процесі відновлення %s" -#: access/transam/xlog.c:5466 +#: access/transam/xlog.c:5448 #, c-format msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery." msgstr "Це, ймовірно, означає, що деякі дані були пошкоджені, і вам доведеться відновити базу даних з останнього збереження." -#: access/transam/xlog.c:5472 +#: access/transam/xlog.c:5454 #, c-format msgid "database system was interrupted while in recovery at log time %s" msgstr "робота системи бази даних була перервана в процесі відновлення, час в журналі %s" -#: access/transam/xlog.c:5474 +#: access/transam/xlog.c:5456 #, 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 "Якщо це відбувається більше, ніж один раз, можливо, якісь дані були зіпсовані, і для відновлення треба вибрати більш ранню точку." -#: access/transam/xlog.c:5480 +#: access/transam/xlog.c:5462 #, c-format msgid "database system was interrupted; last known up at %s" msgstr "робота системи бази даних була перервана; останній момент роботи %s" -#: access/transam/xlog.c:5487 +#: access/transam/xlog.c:5469 #, c-format msgid "control file contains invalid database cluster state" msgstr "контрольний файл містить недійсний стан кластеру бази даних" -#: access/transam/xlog.c:5875 +#: access/transam/xlog.c:5857 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL завершився до завершення онлайн резервного копіювання" -#: access/transam/xlog.c:5876 +#: access/transam/xlog.c:5858 #, c-format msgid "All WAL generated while online backup was taken must be available at recovery." msgstr "Всі журнали WAL, створені під час резервного копіювання \"на ходу\", повинні бути в наявності для відновлення." -#: access/transam/xlog.c:5880 +#: access/transam/xlog.c:5862 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL завершився до узгодженої точки відновлення" -#: access/transam/xlog.c:5926 +#: access/transam/xlog.c:5908 #, c-format msgid "selected new timeline ID: %u" msgstr "вибрано новий ID часової лінії: %u" -#: access/transam/xlog.c:5959 +#: access/transam/xlog.c:5941 #, c-format msgid "archive recovery complete" msgstr "відновлення архіву завершено" -#: access/transam/xlog.c:6612 +#: access/transam/xlog.c:6594 #, c-format msgid "shutting down" msgstr "завершення роботи" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6651 +#: access/transam/xlog.c:6633 #, c-format msgid "restartpoint starting:%s%s%s%s%s%s%s%s" msgstr "початок точки перезапуску: %s%s%s%s%s%s%s%s" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6663 +#: access/transam/xlog.c:6645 #, c-format msgid "checkpoint starting:%s%s%s%s%s%s%s%s" msgstr "початок контрольної точки: %s%s%s%s%s%s%s%s" -#: access/transam/xlog.c:6728 +#: access/transam/xlog.c:6710 #, c-format msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X" msgstr "точка перезапуску завершена: записано %d буферів (%.1f%%); %d WAL файлів додано, %d видалено, %d перероблених; запис=%ld.%03d сек, синхронізація=%ld.%03d сек, усього=%ld.%03d сек; файли синхронізації=%d, найдовший=%ld.%03d сек, середній=%ld.%03d сек; дистанція=%d кб, приблизно=%d кб; lsn=%X/%X, lsn повтору=%X/%X" -#: access/transam/xlog.c:6751 +#: access/transam/xlog.c:6733 #, c-format msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X" msgstr "контрольна точка завершена: записано %d буферів (%.1f%%); %d WAL файлів додано, %d видалено, %d перероблених; запис=%ld.%03d сек, синхронізація=%ld.%03d сек, усього=%ld.%03d сек; файли синхронізації=%d, найдовший=%ld.%03d сек, середній=%ld.%03d сек; дистанція=%d кб, приблизно=%d кб; lsn=%X/%X, lsn повтору=%X/%X" -#: access/transam/xlog.c:7233 +#: access/transam/xlog.c:7225 #, c-format msgid "concurrent write-ahead log activity while database system is shutting down" msgstr "під час того вимкнення БД помічено конкурентну активність у випереджувальному журналюванні" -#: access/transam/xlog.c:7818 +#: access/transam/xlog.c:7838 #, c-format msgid "recovery restart point at %X/%X" msgstr "відновлення збереженої точки %X/%X" -#: access/transam/xlog.c:7820 +#: access/transam/xlog.c:7840 #, c-format msgid "Last completed transaction was at log time %s." msgstr "Остання завершена транзакція була в %s." -#: access/transam/xlog.c:8082 +#: access/transam/xlog.c:8106 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "точка відновлення \"%s\" створена в %X/%X" -#: access/transam/xlog.c:8289 +#: access/transam/xlog.c:8313 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "онлайн резервне копіювання скасовано, неможливо продовжити відновлення" -#: access/transam/xlog.c:8347 +#: access/transam/xlog.c:8371 #, c-format msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" msgstr "неочікуваний ID лінії часу %u (повинен бути %u) у записі контрольної точки вимкнення" -#: access/transam/xlog.c:8405 +#: access/transam/xlog.c:8437 #, c-format msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" msgstr "неочікуваний ID лінії часу %u (повинен бути %u) у записі контрольної точки онлайн" -#: access/transam/xlog.c:8434 +#: access/transam/xlog.c:8474 #, c-format msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" msgstr "неочікуваний ID лінії часу %u (повинен бути %u) у записі кінця відновлення" -#: access/transam/xlog.c:8705 +#: access/transam/xlog.c:8745 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "не вдалосьясинхронізувати файл наскрізного запису %s: %m" -#: access/transam/xlog.c:8710 +#: access/transam/xlog.c:8750 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "не вдалося fdatasync файл \"%s\": %m" -#: access/transam/xlog.c:8797 access/transam/xlog.c:9133 +#: access/transam/xlog.c:8837 access/transam/xlog.c:9173 #, c-format msgid "WAL level not sufficient for making an online backup" msgstr "Обраний рівень WAL недостатній для резервного копіювання \"на ходу\"" -#: access/transam/xlog.c:8798 access/transam/xlogfuncs.c:248 +#: access/transam/xlog.c:8838 access/transam/xlogfuncs.c:248 #, c-format msgid "\"wal_level\" must be set to \"replica\" or \"logical\" at server start." msgstr "\"wal_level\" потрібно задати \"replica\" або \"logical\" при запуску сервера." -#: access/transam/xlog.c:8803 +#: access/transam/xlog.c:8843 #, c-format msgid "backup label too long (max %d bytes)" msgstr "мітка резервного копіювання задовга (максимум %d байт)" -#: access/transam/xlog.c:8924 +#: access/transam/xlog.c:8964 #, c-format msgid "WAL generated with \"full_page_writes=off\" was replayed since last restartpoint" msgstr "Після останньої точки відновлення був відтворений WAL, створений в режимі \"full_page_writes=off\"" -#: access/transam/xlog.c:8926 access/transam/xlog.c:9222 +#: access/transam/xlog.c:8966 access/transam/xlog.c:9262 #, 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 primary, and then try an online backup again." msgstr "Це означає, що резервна копія, зроблена на резервному сервері пошкоджена і не повинна використовуватись. Активуйте \"full_page_writes\" і запустіть CHECKPOINT на основному сервері, а потім спробуйте ще раз створити резервну копію." -#: access/transam/xlog.c:9006 backup/basebackup.c:1417 utils/adt/misc.c:354 +#: access/transam/xlog.c:9046 backup/basebackup.c:1417 utils/adt/misc.c:354 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "не можливо прочитати символічне послання \"%s\": %m" -#: access/transam/xlog.c:9013 backup/basebackup.c:1422 utils/adt/misc.c:359 +#: access/transam/xlog.c:9053 backup/basebackup.c:1422 utils/adt/misc.c:359 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "таргет символічного посилання \"%s\" задовгий" -#: access/transam/xlog.c:9134 +#: access/transam/xlog.c:9174 #, c-format msgid "wal_level must be set to \"replica\" or \"logical\" at server start." msgstr "встановіть wal_level \"replica\" або \"logical\" при запуску серверу." -#: access/transam/xlog.c:9172 backup/basebackup.c:1281 +#: access/transam/xlog.c:9212 backup/basebackup.c:1281 #, c-format msgid "the standby was promoted during online backup" msgstr "режим очікування було підвищено у процесі резервного копіювання \"на ходу\"" -#: access/transam/xlog.c:9173 backup/basebackup.c:1282 +#: access/transam/xlog.c:9213 backup/basebackup.c:1282 #, c-format msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup." msgstr "Це означає, що вибрана резервна копія є пошкодженою і її не слід використовувати. Спробуйте використати іншу онлайн резервну копію." -#: access/transam/xlog.c:9220 +#: access/transam/xlog.c:9260 #, c-format msgid "WAL generated with \"full_page_writes=off\" was replayed during online backup" msgstr "WAL створений з \"full_page_writes=off\" було відтворено під час резервного копіювання" -#: access/transam/xlog.c:9336 +#: access/transam/xlog.c:9376 #, c-format msgid "base backup done, waiting for required WAL segments to be archived" msgstr "резервне копіювання виконане, очікуються необхідні сегменти WAL для архівації" -#: access/transam/xlog.c:9350 +#: access/transam/xlog.c:9390 #, c-format msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)" msgstr "все ще чекає на необхідні сегменти WAL для архівації (%d секунд пройшло)" -#: access/transam/xlog.c:9352 +#: access/transam/xlog.c:9392 #, c-format msgid "Check that your \"archive_command\" is executing properly. You can safely cancel this backup, but the database backup will not be usable without all the WAL segments." msgstr "Перевірте, що ваша \"archive_command\" виконується належним чином. Ви можете безпечно скасувати резервну копію, але резервне копіювання бази даних буде непридатним без всіх сегментів WAL." -#: access/transam/xlog.c:9359 +#: access/transam/xlog.c:9399 #, c-format msgid "all required WAL segments have been archived" msgstr "усі необхідні сегменти WAL архівовані" -#: access/transam/xlog.c:9363 +#: access/transam/xlog.c:9403 #, 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 "архівація WAL не налаштована; ви повинні забезпечити копіювання всіх необхідних сегментів WAL іншими засобами для отримання резервної копії" -#: access/transam/xlog.c:9402 +#: access/transam/xlog.c:9442 #, c-format msgid "aborting backup due to backend exiting before pg_backup_stop was called" msgstr "припинення резервного копіювання через завершення обслуговуючого процесу до виклику pg_backup_stop" @@ -3055,147 +3061,147 @@ msgid "contrecord is requested by %X/%X" msgstr "по зсуву %X/%X запитано продовження запису" -#: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134 +#: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1144 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "неприпустима довжина запису %X/%X: очікувалась мінімум %u, отримано %u" -#: access/transam/xlogreader.c:758 +#: access/transam/xlogreader.c:759 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "немає прапора contrecord на %X/%X" -#: access/transam/xlogreader.c:771 +#: access/transam/xlogreader.c:772 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%X" -#: access/transam/xlogreader.c:1142 +#: access/transam/xlogreader.c:1152 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "невірний ID менеджера ресурсів %u в %X/%X" -#: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171 +#: access/transam/xlogreader.c:1165 access/transam/xlogreader.c:1181 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "запис з неправильним попереднім посиланням %X/%X на %X/%X" -#: access/transam/xlogreader.c:1209 +#: access/transam/xlogreader.c:1219 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%X" -#: access/transam/xlogreader.c:1243 +#: access/transam/xlogreader.c:1253 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "невірне магічне число %04X в сегменті WAL %s, LSN %X/%X, зсув %u" -#: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300 +#: access/transam/xlogreader.c:1268 access/transam/xlogreader.c:1310 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "невірні інформаційні біти %04X в сегменті WAL %s, LSN %X/%X, зсув %u" -#: access/transam/xlogreader.c:1274 +#: access/transam/xlogreader.c:1284 #, c-format msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu" msgstr "WAL файл належить іншій системі баз даних: ідентифікатор системи баз даних де міститься WAL файл - %llu, а ідентифікатор системи баз даних pg_control - %llu" -#: access/transam/xlogreader.c:1282 +#: access/transam/xlogreader.c:1292 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "Файл WAL належить іншій системі баз даних: некоректний розмір сегменту в заголовку сторінки" -#: access/transam/xlogreader.c:1288 +#: access/transam/xlogreader.c:1298 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "Файл WAL належить іншій системі баз даних: некоректний XLOG_BLCKSZ в заголовку сторінки" -#: access/transam/xlogreader.c:1320 +#: access/transam/xlogreader.c:1330 #, c-format msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" msgstr "неочікуваний pageaddr %X/%X у сегменті WAL %s, LSN %X/%X, зміщення %u" -#: access/transam/xlogreader.c:1346 +#: access/transam/xlogreader.c:1356 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" msgstr "порушення послідовності ID лінії часу %u (після %u) у сегменті WAL %s, LSN %X/%X, зсув %u" -#: access/transam/xlogreader.c:1749 +#: access/transam/xlogreader.c:1759 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "ідентифікатор блока %u out-of-order в позиції %X/%X" -#: access/transam/xlogreader.c:1773 +#: access/transam/xlogreader.c:1783 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%X" -#: access/transam/xlogreader.c:1780 +#: access/transam/xlogreader.c:1790 #, 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:1816 +#: access/transam/xlogreader.c:1826 #, 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:1832 +#: access/transam/xlogreader.c:1842 #, 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:1846 +#: access/transam/xlogreader.c:1856 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%X" -#: access/transam/xlogreader.c:1861 +#: access/transam/xlogreader.c:1871 #, c-format msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" msgstr "ні BKPIMAGE_HAS_HOLE, ні BKPIMAGE_COMPRESSED не встановлені, але довжина образу блока дорівнює %u в позиції %X/%X" -#: access/transam/xlogreader.c:1877 +#: access/transam/xlogreader.c:1887 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%X" -#: access/transam/xlogreader.c:1889 +#: access/transam/xlogreader.c:1899 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "невірний ідентифікатор блоку %u в позиції %X/%X" -#: access/transam/xlogreader.c:1956 +#: access/transam/xlogreader.c:1966 #, c-format msgid "record with invalid length at %X/%X" msgstr "запис з невірною довжиною на %X/%X" -#: access/transam/xlogreader.c:1982 +#: access/transam/xlogreader.c:1992 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не вдалося знайти блок резервної копії з ID %d у записі WAL" -#: access/transam/xlogreader.c:2066 +#: access/transam/xlogreader.c:2076 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "не вдалося відновити зображення %X/%X з недійсним вказаним блоком %d" -#: access/transam/xlogreader.c:2073 +#: access/transam/xlogreader.c:2083 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "не вдалося відновити зображення %X/%X з недійсним станом, блок %d" -#: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117 +#: access/transam/xlogreader.c:2110 access/transam/xlogreader.c:2127 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "не вдалося відновити зображення в %X/%X, стиснуте %s, не підтримується збіркою, блок %d" -#: access/transam/xlogreader.c:2126 +#: access/transam/xlogreader.c:2136 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "не вдалося відновити зображення %X/%X стиснуте з невідомим методом, блок %d" -#: access/transam/xlogreader.c:2134 +#: access/transam/xlogreader.c:2144 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не вдалося розпакувати зображення на %X/%X, блок %d" @@ -3254,422 +3260,443 @@ msgid "could not locate a valid checkpoint record at %X/%X" msgstr "не вдалося знайти запис допустимої контрольної точки в %X/%X" -#: access/transam/xlogrecovery.c:806 +#: access/transam/xlogrecovery.c:807 +#, c-format +msgid "could not find redo location %X/%08X referenced by checkpoint record at %X/%08X" +msgstr "не вдалося знайти місце перезапису %X/%08X, на який посилається запис контрольної точки в %X/%08X" + +#: access/transam/xlogrecovery.c:816 #, c-format msgid "entering standby mode" msgstr "перехід у режим очікування" -#: access/transam/xlogrecovery.c:809 +#: access/transam/xlogrecovery.c:819 #, c-format msgid "starting point-in-time recovery to XID %u" msgstr "починається відновлення точки в часі до XID %u" -#: access/transam/xlogrecovery.c:813 +#: access/transam/xlogrecovery.c:823 #, c-format msgid "starting point-in-time recovery to %s" msgstr "починається відновлення точки в часі до %s" -#: access/transam/xlogrecovery.c:817 +#: access/transam/xlogrecovery.c:827 #, c-format msgid "starting point-in-time recovery to \"%s\"" msgstr "починається відновлення точки в часі до \"%s\"" -#: access/transam/xlogrecovery.c:821 +#: access/transam/xlogrecovery.c:831 #, c-format msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" msgstr "починається відновлення точки в часі до локації WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:825 +#: access/transam/xlogrecovery.c:835 #, c-format msgid "starting point-in-time recovery to earliest consistent point" msgstr "починається відновлення даних до першої точки домовленості" -#: access/transam/xlogrecovery.c:828 +#: access/transam/xlogrecovery.c:838 #, c-format msgid "starting archive recovery" msgstr "початок відновлення архіву" -#: access/transam/xlogrecovery.c:849 +#: access/transam/xlogrecovery.c:859 #, c-format msgid "requested timeline %u is not a child of this server's history" msgstr "запитувана лінія часу %u не є відгалуженням історії цього серверу" -#: access/transam/xlogrecovery.c:851 +#: access/transam/xlogrecovery.c:861 #, 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 "Остання контрольна точка %X/%X на лінії часу %u, але в історії запитуваної лінії часу сервер відгалузився з цієї лінії в %X/%X." -#: access/transam/xlogrecovery.c:865 +#: access/transam/xlogrecovery.c:875 #, c-format msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u" msgstr "запитувана лінія часу %u не містить мінімальну точку відновлення %X/%X на лінії часу %u" -#: access/transam/xlogrecovery.c:893 +#: access/transam/xlogrecovery.c:903 #, c-format msgid "invalid next transaction ID" msgstr "невірний ID наступної транзакції" -#: access/transam/xlogrecovery.c:898 +#: access/transam/xlogrecovery.c:908 #, c-format msgid "invalid redo in checkpoint record" msgstr "невірний запис REDO в контрольній точці" -#: access/transam/xlogrecovery.c:909 +#: access/transam/xlogrecovery.c:919 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "невірний запис REDO в контрольній точці вимкнення" -#: access/transam/xlogrecovery.c:938 +#: access/transam/xlogrecovery.c:948 #, c-format msgid "database system was not properly shut down; automatic recovery in progress" msgstr "робота системи бази даних не була завершена належним чином; відбувається автоматичне відновлення" -#: access/transam/xlogrecovery.c:942 +#: access/transam/xlogrecovery.c:952 #, c-format msgid "crash recovery starts in timeline %u and has target timeline %u" msgstr "відновлення після збою починається на лінії часу %u і має цільову лінію часу: %u" -#: access/transam/xlogrecovery.c:985 +#: access/transam/xlogrecovery.c:995 #, c-format msgid "backup_label contains data inconsistent with control file" msgstr "backup_label містить дані, які не узгоджені з файлом pg_control" -#: access/transam/xlogrecovery.c:986 +#: access/transam/xlogrecovery.c:996 #, c-format msgid "This means that the backup is corrupted and you will have to use another backup for recovery." msgstr "Це означає, що резервна копія була пошкоджена і вам доведеться використати іншу резервну копію для відновлення." -#: access/transam/xlogrecovery.c:1040 +#: access/transam/xlogrecovery.c:1050 #, c-format msgid "using recovery command file \"%s\" is not supported" msgstr "використання файлу команд відновлення \"%s\" не підтримується" -#: access/transam/xlogrecovery.c:1105 +#: access/transam/xlogrecovery.c:1115 #, c-format msgid "standby mode is not supported by single-user servers" msgstr "режим очікування не підтримується однокористувацьким сервером" -#: access/transam/xlogrecovery.c:1122 +#: access/transam/xlogrecovery.c:1132 #, c-format msgid "specified neither \"primary_conninfo\" nor \"restore_command\"" msgstr "не вказано ні \"primary_conninfo\", ані \"restore_command\"" -#: access/transam/xlogrecovery.c:1123 +#: access/transam/xlogrecovery.c:1133 #, c-format msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there." msgstr "Сервер бази даних буде регулярно опитувати підкатолог pg_wal і перевіряти файли, що містяться у ньому." -#: access/transam/xlogrecovery.c:1131 +#: access/transam/xlogrecovery.c:1141 #, c-format msgid "must specify \"restore_command\" when standby mode is not enabled" msgstr "необхідно вказати \"restore_command\", якщо не ввімкнено режиму очікування" -#: access/transam/xlogrecovery.c:1169 +#: access/transam/xlogrecovery.c:1179 #, c-format msgid "recovery target timeline %u does not exist" msgstr "цільова лінія часу відновлення %u не існує" -#: access/transam/xlogrecovery.c:1252 access/transam/xlogrecovery.c:1259 -#: access/transam/xlogrecovery.c:1318 access/transam/xlogrecovery.c:1406 -#: access/transam/xlogrecovery.c:1415 access/transam/xlogrecovery.c:1435 +#: access/transam/xlogrecovery.c:1262 access/transam/xlogrecovery.c:1269 +#: access/transam/xlogrecovery.c:1328 access/transam/xlogrecovery.c:1416 +#: access/transam/xlogrecovery.c:1425 access/transam/xlogrecovery.c:1445 #, c-format msgid "invalid data in file \"%s\"" msgstr "невірні дані у файлі \"%s\"" -#: access/transam/xlogrecovery.c:1319 +#: access/transam/xlogrecovery.c:1329 #, c-format msgid "Timeline ID parsed is %u, but expected %u." msgstr "Проаналізовано ID часової лінії %u, очіувалося %u." -#: access/transam/xlogrecovery.c:1330 +#: access/transam/xlogrecovery.c:1340 #, c-format msgid "this is an incremental backup, not a data directory" msgstr "це інкрементна резервна копія, а не каталог даних" -#: access/transam/xlogrecovery.c:1331 +#: access/transam/xlogrecovery.c:1341 #, c-format msgid "Use pg_combinebackup to reconstruct a valid data directory." msgstr "Використовуйте pg_combinebackup для відновлення правильного каталогу даних." -#: access/transam/xlogrecovery.c:1717 +#: access/transam/xlogrecovery.c:1727 #, c-format msgid "unexpected record type found at redo point %X/%X" msgstr "знайдено неочікуваний тип запису в точці повторення %X/%X" -#: access/transam/xlogrecovery.c:1740 +#: access/transam/xlogrecovery.c:1750 #, c-format msgid "redo starts at %X/%X" msgstr "запис REDO починається з %X/%X" -#: access/transam/xlogrecovery.c:1753 +#: access/transam/xlogrecovery.c:1763 #, c-format msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X" msgstr "запис REDO триває, минуло часу: %ld.%02d s, поточний LSN: %X/%X" -#: access/transam/xlogrecovery.c:1843 +#: access/transam/xlogrecovery.c:1853 #, c-format msgid "requested recovery stop point is before consistent recovery point" msgstr "запитувана точка відновлення передує узгодженій точці відновлення" -#: access/transam/xlogrecovery.c:1875 +#: access/transam/xlogrecovery.c:1885 #, c-format msgid "redo done at %X/%X system usage: %s" msgstr "повторно виконано через %X/%X системне використання: %s" -#: access/transam/xlogrecovery.c:1881 +#: access/transam/xlogrecovery.c:1891 #, c-format msgid "last completed transaction was at log time %s" msgstr "остання завершена транзакція була в %s" -#: access/transam/xlogrecovery.c:1890 +#: access/transam/xlogrecovery.c:1900 #, c-format msgid "redo is not required" msgstr "дані REDO не потрібні" -#: access/transam/xlogrecovery.c:1901 +#: access/transam/xlogrecovery.c:1911 #, c-format msgid "recovery ended before configured recovery target was reached" msgstr "відновлення завершилось до досягення налаштованої цілі відновлення" -#: access/transam/xlogrecovery.c:2095 +#: access/transam/xlogrecovery.c:2105 #, c-format msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" msgstr "успішно пропущений відсутній contrecord при %X/%X, перезаписано на %s" -#: access/transam/xlogrecovery.c:2162 +#: access/transam/xlogrecovery.c:2172 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "знайдено неочікуваний запис каталогу \"%s\" в %s" -#: access/transam/xlogrecovery.c:2164 +#: access/transam/xlogrecovery.c:2174 #, c-format msgid "All directory entries in pg_tblspc/ should be symbolic links." msgstr "Всі записи каталогу в pg_tblspc/ повинні бути символічними посиланнями." -#: access/transam/xlogrecovery.c:2165 +#: access/transam/xlogrecovery.c:2175 #, c-format msgid "Remove those directories, or set \"allow_in_place_tablespaces\" to ON transiently to let recovery complete." msgstr "Видаліть ті каталоги, або тимчасово встановіть для параметра \"allow_in_place_tablespaces\" значення ON, щоб завершити відновлення." -#: access/transam/xlogrecovery.c:2217 +#: access/transam/xlogrecovery.c:2227 #, c-format msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X" msgstr "завершено відновлення резервної копії з LSN повторення %X/%X і LSN закінчення %X/%X" -#: access/transam/xlogrecovery.c:2247 +#: access/transam/xlogrecovery.c:2257 #, c-format msgid "consistent recovery state reached at %X/%X" msgstr "узгоджений стан відновлення досягнутий %X/%X" #. translator: %s is a WAL record description -#: access/transam/xlogrecovery.c:2285 +#: access/transam/xlogrecovery.c:2295 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "запис REDO в WAL в позиції %X/%X для %s" -#: access/transam/xlogrecovery.c:2383 +#: access/transam/xlogrecovery.c:2393 #, c-format msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record" msgstr "несподіваний ID попередньої лінії часу %u (ID теперішньої лінії часу %u) в записі контрольної точки" -#: access/transam/xlogrecovery.c:2392 +#: access/transam/xlogrecovery.c:2402 #, c-format msgid "unexpected timeline ID %u (after %u) in checkpoint record" msgstr "неочікуваний ID лінії часу %u (після %u) в записі контрольної точки" -#: access/transam/xlogrecovery.c:2408 +#: access/transam/xlogrecovery.c:2418 #, c-format msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u" msgstr "неочікуваний ID лінії часу %u в записі контрольної точки, до досягнення мінімальної точки відновлення %X/%X на лінії часу %u" -#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868 +#: access/transam/xlogrecovery.c:2602 access/transam/xlogrecovery.c:2878 #, c-format msgid "recovery stopping after reaching consistency" msgstr "відновлення зупиняється після досягнення узгодженості" -#: access/transam/xlogrecovery.c:2613 +#: access/transam/xlogrecovery.c:2623 #, c-format msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" msgstr "відновлення зупиняється перед позицією WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2703 +#: access/transam/xlogrecovery.c:2713 #, c-format msgid "recovery stopping before commit of transaction %u, time %s" msgstr "відновлення припиняється до підтвердження транзакції %u, час %s" -#: access/transam/xlogrecovery.c:2710 +#: access/transam/xlogrecovery.c:2720 #, c-format msgid "recovery stopping before abort of transaction %u, time %s" msgstr "відновлення припиняється до скасування транзакції %u, час %s" -#: access/transam/xlogrecovery.c:2763 +#: access/transam/xlogrecovery.c:2773 #, c-format msgid "recovery stopping at restore point \"%s\", time %s" msgstr "відновлення припиняється в точці відновлення\"%s\", час %s" -#: access/transam/xlogrecovery.c:2781 +#: access/transam/xlogrecovery.c:2791 #, c-format msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" msgstr "відновлення припиняється пісня локації WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2848 +#: access/transam/xlogrecovery.c:2858 #, c-format msgid "recovery stopping after commit of transaction %u, time %s" msgstr "відновлення припиняється після підтвердження транзакції %u, час %s" -#: access/transam/xlogrecovery.c:2856 +#: access/transam/xlogrecovery.c:2866 #, c-format msgid "recovery stopping after abort of transaction %u, time %s" msgstr "відновлення припиняється після скасування транзакції %u, час %s" -#: access/transam/xlogrecovery.c:2937 +#: access/transam/xlogrecovery.c:2947 #, c-format msgid "pausing at the end of recovery" msgstr "пауза в кінці відновлення" -#: access/transam/xlogrecovery.c:2938 +#: access/transam/xlogrecovery.c:2948 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "Виконайте pg_wal_replay_resume() для підвищення рівня." -#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4679 +#: access/transam/xlogrecovery.c:2951 access/transam/xlogrecovery.c:4700 #, c-format msgid "recovery has paused" msgstr "відновлення зупинено" -#: access/transam/xlogrecovery.c:2942 +#: access/transam/xlogrecovery.c:2952 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "Виконайте pg_wal_replay_resume(), щоб продовжити." -#: access/transam/xlogrecovery.c:3205 +#: access/transam/xlogrecovery.c:3215 #, c-format msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u" msgstr "неочікуваний ID лінії часу %u в сегменті WAL %s, LSN %X/%X, offset %u" -#: access/transam/xlogrecovery.c:3413 +#: access/transam/xlogrecovery.c:3423 #, c-format msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m" msgstr "не вдалося прочитати сегмент журналу %s, LSN %X/%X, зсув %u: %m" -#: access/transam/xlogrecovery.c:3420 +#: access/transam/xlogrecovery.c:3430 #, c-format msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu" msgstr "не вдалося прочитати сегмент WAL %s, LSN %X/%X, зсув %u: прочитано %d з %zu" -#: access/transam/xlogrecovery.c:4061 +#: access/transam/xlogrecovery.c:4082 #, c-format msgid "invalid checkpoint location" msgstr "невірне розташування контрольної точки" -#: access/transam/xlogrecovery.c:4071 +#: access/transam/xlogrecovery.c:4092 #, c-format msgid "invalid checkpoint record" msgstr "невірний запис контрольної точки" -#: access/transam/xlogrecovery.c:4077 +#: access/transam/xlogrecovery.c:4098 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "невірний ID менеджера ресурсів в записі контрольної точки" -#: access/transam/xlogrecovery.c:4085 +#: access/transam/xlogrecovery.c:4106 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "невірний xl_info у записі контрольної точки" -#: access/transam/xlogrecovery.c:4091 +#: access/transam/xlogrecovery.c:4112 #, c-format msgid "invalid length of checkpoint record" msgstr "невірна довжина запису контрольної точки" -#: access/transam/xlogrecovery.c:4145 +#: access/transam/xlogrecovery.c:4166 #, c-format msgid "new timeline %u is not a child of database system timeline %u" msgstr "нова лінія часу %u не є дочірньою для лінії часу системи бази даних %u" -#: access/transam/xlogrecovery.c:4159 +#: access/transam/xlogrecovery.c:4180 #, c-format msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X" msgstr "нова лінія часу %u відгалузилась від поточної лінії часу бази даних %u до поточної точки відновлення %X/%X" -#: access/transam/xlogrecovery.c:4178 +#: access/transam/xlogrecovery.c:4199 #, c-format msgid "new target timeline is %u" msgstr "нова цільова лінія часу %u" -#: access/transam/xlogrecovery.c:4381 +#: access/transam/xlogrecovery.c:4402 #, c-format msgid "WAL receiver process shutdown requested" msgstr "Запит на вимкнення процесу приймача WAL" -#: access/transam/xlogrecovery.c:4441 +#: access/transam/xlogrecovery.c:4462 #, c-format msgid "received promote request" msgstr "отримано запит підвищення статусу" -#: access/transam/xlogrecovery.c:4670 +#: access/transam/xlogrecovery.c:4691 #, c-format msgid "hot standby is not possible because of insufficient parameter settings" msgstr "hot standby неможливий через недостатнє налаштування параметрів" -#: access/transam/xlogrecovery.c:4671 access/transam/xlogrecovery.c:4698 -#: access/transam/xlogrecovery.c:4728 +#: access/transam/xlogrecovery.c:4692 access/transam/xlogrecovery.c:4719 +#: access/transam/xlogrecovery.c:4749 #, c-format msgid "%s = %d is a lower setting than on the primary server, where its value was %d." msgstr "%s = %d є нижчим параметром, ніж на основному сервері, де його значення було %d." -#: access/transam/xlogrecovery.c:4680 +#: access/transam/xlogrecovery.c:4701 #, c-format msgid "If recovery is unpaused, the server will shut down." msgstr "Якщо відновлення не буде зупинено, сервер завершить роботу." -#: access/transam/xlogrecovery.c:4681 +#: access/transam/xlogrecovery.c:4702 #, c-format msgid "You can then restart the server after making the necessary configuration changes." msgstr "Після здійснення необхідних змін у конфігурації, ви можете перезапустити сервер." -#: access/transam/xlogrecovery.c:4692 +#: access/transam/xlogrecovery.c:4713 #, c-format msgid "promotion is not possible because of insufficient parameter settings" msgstr "підвищення неможливе через недостатнє налаштування параметрів" -#: access/transam/xlogrecovery.c:4702 +#: access/transam/xlogrecovery.c:4723 #, c-format msgid "Restart the server after making the necessary configuration changes." msgstr "Перезапустити сервер після здійснення необхідних змін у конфігурації." -#: access/transam/xlogrecovery.c:4726 +#: access/transam/xlogrecovery.c:4747 #, c-format msgid "recovery aborted because of insufficient parameter settings" msgstr "відновлення перервано через недостатнє налаштування параметрів" -#: access/transam/xlogrecovery.c:4732 +#: access/transam/xlogrecovery.c:4753 #, c-format msgid "You can restart the server after making the necessary configuration changes." msgstr "Ви можете перезапустити сервер, після здійснення необхідних змін у конфігурації." -#: access/transam/xlogrecovery.c:4774 +#: access/transam/xlogrecovery.c:4773 access/transam/xlogrecovery.c:4775 +#: catalog/dependency.c:1153 catalog/dependency.c:1160 +#: catalog/dependency.c:1171 commands/tablecmds.c:1459 +#: commands/tablecmds.c:15152 commands/tablespace.c:460 commands/user.c:1302 +#: commands/vacuum.c:213 commands/view.c:441 executor/execExprInterp.c:4655 +#: executor/execExprInterp.c:4663 libpq/auth.c:332 +#: replication/logical/applyparallelworker.c:1048 replication/slot.c:261 +#: replication/slot.c:2499 replication/slot.c:2501 replication/syncrep.c:1078 +#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1432 utils/misc/guc.c:3169 +#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6836 +#: utils/misc/guc.c:6870 utils/misc/guc.c:6904 utils/misc/guc.c:6947 +#: utils/misc/guc.c:6989 +#, c-format +msgid "%s" +msgstr "%s" + +#: access/transam/xlogrecovery.c:4806 #, c-format msgid "multiple recovery targets specified" msgstr "вказано декілька цілей відновлення" -#: access/transam/xlogrecovery.c:4775 +#: access/transam/xlogrecovery.c:4807 #, c-format msgid "At most one of \"recovery_target\", \"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\", \"recovery_target_xid\" may be set." msgstr "Максимум один із \"recovery_target\", \"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\", \"recovery_target_xid\" може бути встановлений." -#: access/transam/xlogrecovery.c:4786 +#: access/transam/xlogrecovery.c:4818 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "Єдиним дозволеним значенням є \"immediate\"." -#: access/transam/xlogrecovery.c:4938 utils/adt/timestamp.c:202 +#: access/transam/xlogrecovery.c:4970 utils/adt/timestamp.c:202 #: utils/adt/timestamp.c:455 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "позначка часу поза діапазоном: \"%s\"" -#: access/transam/xlogrecovery.c:4983 +#: access/transam/xlogrecovery.c:5015 #, c-format msgid "\"recovery_target_timeline\" is not a valid number." msgstr "\"recovery_target_timeline\" не є допустимим числом." @@ -3700,7 +3727,7 @@ msgid "archive command was terminated by exception 0x%X" msgstr "команда архівації була перервана винятком 0x%X" -#: archive/shell_archive.c:109 postmaster/postmaster.c:3095 +#: archive/shell_archive.c:109 postmaster/postmaster.c:3097 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "Опис цього Шістнадцяткового значення дивіться у включаємому C-файлі \"ntstatus.h\"." @@ -3974,7 +4001,7 @@ #: backup/basebackup_server.c:102 commands/dbcommands.c:477 #: commands/tablespace.c:157 commands/tablespace.c:173 -#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:1986 +#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:2021 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" @@ -4207,20 +4234,20 @@ msgstr "речення IN SCHEMA не можна використати в GRANT/REVOKE ON SCHEMAS" #: catalog/aclchk.c:1617 catalog/catalog.c:659 catalog/objectaddress.c:1523 -#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:951 -#: commands/sequence.c:1655 commands/tablecmds.c:7572 commands/tablecmds.c:7726 -#: commands/tablecmds.c:7776 commands/tablecmds.c:7850 -#: commands/tablecmds.c:7920 commands/tablecmds.c:8050 -#: commands/tablecmds.c:8179 commands/tablecmds.c:8273 -#: commands/tablecmds.c:8374 commands/tablecmds.c:8501 -#: commands/tablecmds.c:8531 commands/tablecmds.c:8673 -#: commands/tablecmds.c:8766 commands/tablecmds.c:8900 -#: commands/tablecmds.c:9012 commands/tablecmds.c:12828 -#: commands/tablecmds.c:13020 commands/tablecmds.c:13181 -#: commands/tablecmds.c:14370 commands/tablecmds.c:16997 commands/trigger.c:942 +#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:988 +#: commands/sequence.c:1655 commands/tablecmds.c:7574 commands/tablecmds.c:7728 +#: commands/tablecmds.c:7778 commands/tablecmds.c:7852 +#: commands/tablecmds.c:7922 commands/tablecmds.c:8052 +#: commands/tablecmds.c:8181 commands/tablecmds.c:8275 +#: commands/tablecmds.c:8376 commands/tablecmds.c:8503 +#: commands/tablecmds.c:8533 commands/tablecmds.c:8675 +#: commands/tablecmds.c:8768 commands/tablecmds.c:8902 +#: commands/tablecmds.c:9014 commands/tablecmds.c:12838 +#: commands/tablecmds.c:13030 commands/tablecmds.c:13191 +#: commands/tablecmds.c:14403 commands/tablecmds.c:17030 commands/trigger.c:943 #: parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067 #: parser/parse_type.c:144 parser/parse_utilcmd.c:3409 -#: parser/parse_utilcmd.c:3449 parser/parse_utilcmd.c:3491 utils/adt/acl.c:2923 +#: parser/parse_utilcmd.c:3449 parser/parse_utilcmd.c:3491 utils/adt/acl.c:2940 #: utils/adt/ruleutils.c:2812 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" @@ -4231,15 +4258,15 @@ msgid "\"%s\" is an index" msgstr "\"%s\" є індексом" -#: catalog/aclchk.c:1869 commands/tablecmds.c:14527 commands/tablecmds.c:17913 +#: catalog/aclchk.c:1869 commands/tablecmds.c:14560 commands/tablecmds.c:17946 #, c-format msgid "\"%s\" is a composite type" msgstr "\"%s\" це складений тип" #: catalog/aclchk.c:1877 catalog/objectaddress.c:1363 commands/tablecmds.c:263 -#: commands/tablecmds.c:17877 utils/adt/acl.c:2107 utils/adt/acl.c:2137 -#: utils/adt/acl.c:2170 utils/adt/acl.c:2206 utils/adt/acl.c:2237 -#: utils/adt/acl.c:2268 +#: commands/tablecmds.c:17910 utils/adt/acl.c:2124 utils/adt/acl.c:2154 +#: utils/adt/acl.c:2187 utils/adt/acl.c:2223 utils/adt/acl.c:2254 +#: utils/adt/acl.c:2285 #, c-format msgid "\"%s\" is not a sequence" msgstr "\"%s\" не є послідовністю" @@ -4766,20 +4793,6 @@ msgid "cannot drop %s because other objects depend on it" msgstr "неможливо видалити %s, тому що від нього залежать інші об'єкти" -#: catalog/dependency.c:1153 catalog/dependency.c:1160 -#: catalog/dependency.c:1171 commands/tablecmds.c:1459 -#: commands/tablecmds.c:15119 commands/tablespace.c:460 commands/user.c:1302 -#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4655 -#: executor/execExprInterp.c:4663 libpq/auth.c:324 -#: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011 -#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1432 utils/misc/guc.c:3169 -#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6825 -#: utils/misc/guc.c:6859 utils/misc/guc.c:6893 utils/misc/guc.c:6936 -#: utils/misc/guc.c:6978 -#, c-format -msgid "%s" -msgstr "%s" - #: catalog/dependency.c:1154 catalog/dependency.c:1161 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." @@ -4826,7 +4839,7 @@ msgid "tables can have at most %d columns" msgstr "таблиці можуть містити максимум %d стовпців" -#: catalog/heap.c:486 commands/tablecmds.c:7463 +#: catalog/heap.c:486 commands/tablecmds.c:7465 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "ім'я стовпця \"%s\" конфліктує з системним іменем стовпця" @@ -4907,8 +4920,8 @@ msgid "check constraint \"%s\" already exists" msgstr "обмеження перевірки \"%s\" вже інсує" -#: catalog/heap.c:2624 catalog/index.c:913 catalog/pg_constraint.c:724 -#: commands/tablecmds.c:9387 +#: catalog/heap.c:2624 catalog/index.c:913 catalog/pg_constraint.c:725 +#: commands/tablecmds.c:9389 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "обмеження \"%s\" відношення \"%s\" вже існує" @@ -4933,9 +4946,9 @@ msgid "merging constraint \"%s\" with inherited definition" msgstr "злиття обмеження \"%s\" з успадкованим визначенням" -#: catalog/heap.c:2683 catalog/pg_constraint.c:853 commands/tablecmds.c:3074 +#: catalog/heap.c:2683 catalog/pg_constraint.c:854 commands/tablecmds.c:3074 #: commands/tablecmds.c:3377 commands/tablecmds.c:7089 -#: commands/tablecmds.c:15938 commands/tablecmds.c:16069 +#: commands/tablecmds.c:15971 commands/tablecmds.c:16102 #, c-format msgid "too many inheritance parents" msgstr "занадто багато батьків наслідування" @@ -4965,14 +4978,14 @@ msgid "generation expression is not immutable" msgstr "вираз генерації не є незмінним" -#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1276 +#: catalog/heap.c:2859 rewrite/rewriteHandler.c:1279 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "стовпець \"%s\" має тип %s, але тип виразу за замовчуванням %s" #: catalog/heap.c:2864 commands/prepare.c:331 parser/analyze.c:2758 #: parser/parse_target.c:592 parser/parse_target.c:882 -#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1281 +#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1284 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Потрібно буде переписати або привести вираз." @@ -5063,7 +5076,7 @@ msgid "pg_class index OID value not set when in binary upgrade mode" msgstr "значення OID індекса в pg_class не встановлено в режимі двійкового оновлення" -#: catalog/index.c:951 utils/cache/relcache.c:3791 +#: catalog/index.c:951 utils/cache/relcache.c:3807 #, c-format msgid "index relfilenumber value not set when in binary upgrade mode" msgstr "значення індексу relfilenumber не встановлено в режимі двійкового оновлення" @@ -5073,34 +5086,34 @@ msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLY повинен бути першою дією в транзакції" -#: catalog/index.c:3668 +#: catalog/index.c:3675 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "повторно індексувати тимчасові таблиці інших сеансів не можна" -#: catalog/index.c:3679 commands/indexcmds.c:3626 +#: catalog/index.c:3686 commands/indexcmds.c:3660 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "переіндексувати неприпустимий індекс в таблиці TOAST не можна" -#: catalog/index.c:3695 commands/indexcmds.c:3504 commands/indexcmds.c:3650 +#: catalog/index.c:3702 commands/indexcmds.c:3538 commands/indexcmds.c:3684 #: commands/tablecmds.c:3581 #, c-format msgid "cannot move system relation \"%s\"" msgstr "перемістити системне відношення \"%s\" не можна" -#: catalog/index.c:3832 +#: catalog/index.c:3839 #, c-format msgid "index \"%s\" was reindexed" msgstr "індекс \"%s\" був перебудований" -#: catalog/index.c:3998 +#: catalog/index.c:4005 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "переіндексувати неприпустимий індекс \"%s.%s\" в таблиці TOAST не можна, пропускається" #: catalog/namespace.c:462 catalog/namespace.c:666 catalog/namespace.c:758 -#: commands/trigger.c:5729 +#: commands/trigger.c:5817 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "cross-database посилання не реалізовані: \"%s.%s.%s\"" @@ -5131,7 +5144,7 @@ msgid "relation \"%s\" does not exist" msgstr "відношення \"%s\" не існує" -#: catalog/namespace.c:704 catalog/namespace.c:3522 commands/extension.c:1607 +#: catalog/namespace.c:704 catalog/namespace.c:3525 commands/extension.c:1607 #: commands/extension.c:1613 #, c-format msgid "no schema has been selected to create in" @@ -5157,105 +5170,105 @@ msgid "statistics object \"%s\" does not exist" msgstr "об'єкт статистики \"%s\" не існує" -#: catalog/namespace.c:2761 +#: catalog/namespace.c:2764 #, c-format msgid "text search parser \"%s\" does not exist" msgstr "парсер текстового пошуку \"%s\" не існує" -#: catalog/namespace.c:2906 utils/adt/regproc.c:1459 +#: catalog/namespace.c:2909 utils/adt/regproc.c:1459 #, c-format msgid "text search dictionary \"%s\" does not exist" msgstr "словник текстового пошуку \"%s\" не існує" -#: catalog/namespace.c:3052 +#: catalog/namespace.c:3055 #, c-format msgid "text search template \"%s\" does not exist" msgstr "шаблон текстового пошуку \"%s\" не існує" -#: catalog/namespace.c:3197 commands/tsearchcmds.c:1168 +#: catalog/namespace.c:3200 commands/tsearchcmds.c:1168 #: utils/adt/regproc.c:1349 utils/cache/ts_cache.c:635 #, c-format msgid "text search configuration \"%s\" does not exist" msgstr "конфігурація текстового пошуку \"%s\" не існує" -#: catalog/namespace.c:3329 parser/parse_expr.c:868 parser/parse_target.c:1259 +#: catalog/namespace.c:3332 parser/parse_expr.c:869 parser/parse_target.c:1259 #, c-format msgid "cross-database references are not implemented: %s" msgstr "міжбазові посилання не реалізовані: %s" -#: catalog/namespace.c:3335 parser/parse_expr.c:875 parser/parse_target.c:1266 -#: gram.y:19181 gram.y:19221 +#: catalog/namespace.c:3338 parser/parse_expr.c:876 parser/parse_target.c:1266 +#: gram.y:19188 gram.y:19228 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неправильне повне ім'я (забагато компонентів): %s" -#: catalog/namespace.c:3465 +#: catalog/namespace.c:3468 #, c-format msgid "cannot move objects into or out of temporary schemas" msgstr "не можна переміщати об'єкти в або з тимчасових схем" -#: catalog/namespace.c:3471 +#: catalog/namespace.c:3474 #, c-format msgid "cannot move objects into or out of TOAST schema" msgstr "не можна переміщати об'єкти в або з схем TOAST" -#: catalog/namespace.c:3544 commands/schemacmds.c:264 commands/schemacmds.c:344 +#: catalog/namespace.c:3547 commands/schemacmds.c:264 commands/schemacmds.c:344 #: commands/tablecmds.c:1404 utils/adt/regproc.c:1688 #, c-format msgid "schema \"%s\" does not exist" msgstr "схема \"%s\" не існує" -#: catalog/namespace.c:3575 +#: catalog/namespace.c:3578 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "неправильне ім'я зв'язку (забагато компонентів): %s" -#: catalog/namespace.c:4016 utils/adt/regproc.c:1056 +#: catalog/namespace.c:4019 utils/adt/regproc.c:1056 #, c-format msgid "collation \"%s\" for encoding \"%s\" does not exist" msgstr "правило сортування \"%s\" для кодування \"%s\" не існує" -#: catalog/namespace.c:4071 +#: catalog/namespace.c:4074 #, c-format msgid "conversion \"%s\" does not exist" msgstr "перетворення\"%s\" не існує" -#: catalog/namespace.c:4412 +#: catalog/namespace.c:4415 #, c-format msgid "permission denied to create temporary tables in database \"%s\"" msgstr "немає дозволу для створення тимчасових таблиць в базі даних \"%s\"" -#: catalog/namespace.c:4428 +#: catalog/namespace.c:4431 #, c-format msgid "cannot create temporary tables during recovery" msgstr "не можна створити тимчасові таблиці під час відновлення" -#: catalog/namespace.c:4434 +#: catalog/namespace.c:4437 #, c-format msgid "cannot create temporary tables during a parallel operation" msgstr "не можна створити тимчасові таблиці під час паралельної операції" #: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373 #: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2327 -#: commands/tablecmds.c:12956 +#: commands/tablecmds.c:12966 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\" не є таблицею" #: catalog/objectaddress.c:1378 commands/tablecmds.c:269 -#: commands/tablecmds.c:17882 commands/view.c:114 +#: commands/tablecmds.c:17915 commands/view.c:114 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\" не є поданням" #: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275 -#: commands/tablecmds.c:17887 +#: commands/tablecmds.c:17920 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\" не є матеріалізованим поданням" #: catalog/objectaddress.c:1392 commands/tablecmds.c:293 -#: commands/tablecmds.c:17892 +#: commands/tablecmds.c:17925 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" не є сторонньою таблицею" @@ -5278,7 +5291,7 @@ #: catalog/objectaddress.c:1618 commands/functioncmds.c:132 #: commands/tablecmds.c:285 commands/typecmds.c:278 commands/typecmds.c:3843 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801 -#: utils/adt/acl.c:4560 +#: utils/adt/acl.c:4577 #, c-format msgid "type \"%s\" does not exist" msgstr "тип \"%s\" не існує" @@ -5298,8 +5311,9 @@ msgid "user mapping for user \"%s\" on server \"%s\" does not exist" msgstr "відображення користувача для користувача \"%s\" на сервері \"%s\"не існує" -#: catalog/objectaddress.c:1834 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:713 +#: catalog/objectaddress.c:1834 commands/foreigncmds.c:441 +#: commands/foreigncmds.c:1004 commands/foreigncmds.c:1367 +#: foreign/foreign.c:713 #, c-format msgid "server \"%s\" does not exist" msgstr "сервер \"%s\" не існує" @@ -5938,17 +5952,17 @@ msgid "collation \"%s\" for encoding \"%s\" already exists" msgstr "правило сортування \"%s \" для кодування \"%s\" вже існує" -#: catalog/pg_constraint.c:732 +#: catalog/pg_constraint.c:733 #, c-format msgid "constraint \"%s\" for domain %s already exists" msgstr "обмеження \"%s\" для домену %s вже існує" -#: catalog/pg_constraint.c:932 catalog/pg_constraint.c:1025 +#: catalog/pg_constraint.c:933 catalog/pg_constraint.c:1026 #, c-format msgid "constraint \"%s\" for table \"%s\" does not exist" msgstr "індексу \"%s\" для таблиці \"%s\" не існує" -#: catalog/pg_constraint.c:1125 +#: catalog/pg_constraint.c:1126 #, c-format msgid "constraint \"%s\" for domain %s does not exist" msgstr "обмеження \"%s\" для домену \"%s\" не існує" @@ -6034,7 +6048,7 @@ msgstr "Розділ відключається одночасно або має незакінчене відключення." #: catalog/pg_inherits.c:595 commands/tablecmds.c:4800 -#: commands/tablecmds.c:16184 +#: commands/tablecmds.c:16217 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "Використайте ALTER TABLE ... DETACH PARTITION ... FINALIZE щоб завершити очікувану операцію відключення." @@ -6369,12 +6383,12 @@ msgid "cannot reassign ownership of objects owned by %s because they are required by the database system" msgstr "не вдалося змінити власника об'єктів, що належать ролі %s, тому що вони необхідні системі баз даних" -#: catalog/pg_subscription.c:438 +#: catalog/pg_subscription.c:463 #, c-format msgid "could not drop relation mapping for subscription \"%s\"" msgstr "не вдалося видалити зіставлення відношень для підписки \"%s\"" -#: catalog/pg_subscription.c:440 +#: catalog/pg_subscription.c:465 #, c-format msgid "Table synchronization for relation \"%s\" is in progress and is in state \"%c\"." msgstr "Синхронізація таблиць для відношення \"%s\" у процесі та знаходиться у стані \"%c\"." @@ -6382,7 +6396,7 @@ #. translator: first %s is a SQL ALTER command and second %s is a #. SQL DROP command #. -#: catalog/pg_subscription.c:447 +#: catalog/pg_subscription.c:472 #, c-format msgid "Use %s to enable subscription if not already enabled or use %s to drop the subscription." msgstr "Використайте %s, щоб активувати підписку, якщо вона ще не активована, або використайте %s, щоб видалити підписку." @@ -6428,7 +6442,7 @@ msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute." msgstr "Ви можете вручну вказати назву багатодіапазонного типу за допомогою атрибуту \"multirange_type_name\"." -#: catalog/storage.c:533 storage/buffer/bufmgr.c:1540 +#: catalog/storage.c:533 storage/buffer/bufmgr.c:1547 #, c-format msgid "invalid page in block %u of relation %s" msgstr "неприпустима сторінка в блоці %u відношення %s" @@ -6523,17 +6537,17 @@ msgid "parameter \"%s\" must be READ_ONLY, SHAREABLE, or READ_WRITE" msgstr "параметр \"%s\" має мати значення READ_ONLY, SHAREABLE, або READ_WRITE" -#: commands/alter.c:83 commands/event_trigger.c:191 +#: commands/alter.c:83 commands/event_trigger.c:195 #, c-format msgid "event trigger \"%s\" already exists" msgstr "тригер подій \"%s\" вже існує" -#: commands/alter.c:86 commands/foreigncmds.c:593 +#: commands/alter.c:86 commands/foreigncmds.c:604 #, c-format msgid "foreign-data wrapper \"%s\" already exists" msgstr "джерело сторонніх даних \"%s\" вже існує" -#: commands/alter.c:89 commands/foreigncmds.c:884 +#: commands/alter.c:89 commands/foreigncmds.c:895 #, c-format msgid "server \"%s\" already exists" msgstr "сервер \"%s\" вже існує" @@ -6590,14 +6604,14 @@ #: commands/alter.c:256 commands/subscriptioncmds.c:648 #: commands/subscriptioncmds.c:1129 commands/subscriptioncmds.c:1212 -#: commands/subscriptioncmds.c:1918 +#: commands/subscriptioncmds.c:1920 #, c-format msgid "password_required=false is superuser-only" msgstr "password_required=false тільки для суперкористувачів" #: commands/alter.c:257 commands/subscriptioncmds.c:649 #: commands/subscriptioncmds.c:1130 commands/subscriptioncmds.c:1213 -#: commands/subscriptioncmds.c:1919 +#: commands/subscriptioncmds.c:1921 #, c-format msgid "Subscriptions with the password_required option set to false may only be created or modified by the superuser." msgstr "Підписки з налаштуванням password_required=false можуть бути створені або змінені тільки суперкористувачем." @@ -6633,8 +6647,8 @@ msgid "handler function is not specified" msgstr "функція-обробник не вказана" -#: commands/amcmds.c:264 commands/event_trigger.c:200 -#: commands/foreigncmds.c:489 commands/proclang.c:78 commands/trigger.c:702 +#: commands/amcmds.c:264 commands/event_trigger.c:204 +#: commands/foreigncmds.c:500 commands/proclang.c:78 commands/trigger.c:703 #: parser/parse_clause.c:943 #, c-format msgid "function %s must return type %s" @@ -6685,27 +6699,27 @@ msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "пропускається аналіз дерева наслідування \"%s.%s\" --- це дерево наслідування не містить аналізуючих дочірніх таблиць" -#: commands/async.c:612 +#: commands/async.c:611 #, c-format msgid "channel name cannot be empty" msgstr "ім'я каналу не може бути пустим" -#: commands/async.c:618 +#: commands/async.c:617 #, c-format msgid "channel name too long" msgstr "ім'я каналу задовге" -#: commands/async.c:623 +#: commands/async.c:622 #, c-format msgid "payload string too long" msgstr "рядок навантаження задовгий" -#: commands/async.c:842 +#: commands/async.c:841 #, c-format msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" msgstr "виконати PREPARE для транзакції, яка виконала LISTEN, UNLISTEN або NOTIFY неможливо" -#: commands/async.c:946 +#: commands/async.c:945 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "занадто багато сповіщень у черзі NOTIFY" @@ -6740,7 +6754,7 @@ msgid "there is no previously clustered index for table \"%s\"" msgstr "немає попереднього кластеризованого індексу для таблиці \"%s\"" -#: commands/cluster.c:191 commands/tablecmds.c:14828 commands/tablecmds.c:16760 +#: commands/cluster.c:191 commands/tablecmds.c:14861 commands/tablecmds.c:16793 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "індекс \"%s\" для таблці \"%s\" не існує" @@ -6755,7 +6769,7 @@ msgid "cannot vacuum temporary tables of other sessions" msgstr "не можна очищати тимчасові таблиці з інших сеансів" -#: commands/cluster.c:513 commands/tablecmds.c:16770 +#: commands/cluster.c:513 commands/tablecmds.c:16803 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" не є індексом для таблиці \"%s\"" @@ -6818,13 +6832,13 @@ msgstr "атрибут collation \"%s\" не розпізнаний" #: commands/collationcmds.c:123 commands/collationcmds.c:129 -#: commands/define.c:388 commands/tablecmds.c:8160 -#: replication/pgoutput/pgoutput.c:314 replication/pgoutput/pgoutput.c:337 -#: replication/pgoutput/pgoutput.c:351 replication/pgoutput/pgoutput.c:361 -#: replication/pgoutput/pgoutput.c:371 replication/pgoutput/pgoutput.c:381 -#: replication/pgoutput/pgoutput.c:393 replication/walsender.c:1146 -#: replication/walsender.c:1168 replication/walsender.c:1178 -#: replication/walsender.c:1187 replication/walsender.c:1426 +#: commands/define.c:388 commands/tablecmds.c:8162 +#: replication/pgoutput/pgoutput.c:315 replication/pgoutput/pgoutput.c:338 +#: replication/pgoutput/pgoutput.c:352 replication/pgoutput/pgoutput.c:362 +#: replication/pgoutput/pgoutput.c:372 replication/pgoutput/pgoutput.c:382 +#: replication/pgoutput/pgoutput.c:394 replication/walsender.c:1164 +#: replication/walsender.c:1186 replication/walsender.c:1196 +#: replication/walsender.c:1205 replication/walsender.c:1444 #, c-format msgid "conflicting or redundant options" msgstr "конфліктуючі або надлишкові параметри" @@ -6893,9 +6907,9 @@ #. translator: %s is an SQL command #. translator: %s is an SQL ALTER command #: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376 -#: commands/tablecmds.c:7936 commands/tablecmds.c:7946 -#: commands/tablecmds.c:7948 commands/tablecmds.c:14530 -#: commands/tablecmds.c:17915 commands/tablecmds.c:17936 +#: commands/tablecmds.c:7938 commands/tablecmds.c:7948 +#: commands/tablecmds.c:7950 commands/tablecmds.c:14563 +#: commands/tablecmds.c:17948 commands/tablecmds.c:17969 #: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226 #, c-format msgid "Use %s instead." @@ -7021,148 +7035,160 @@ msgid "Only roles with privileges of the \"%s\" role may COPY to a file." msgstr "Тільки ролі з правами \"%s\" можуть виконувати COPY в файл." -#: commands/copy.c:193 +#: commands/copy.c:180 +#, c-format +msgid "generated columns are not supported in COPY FROM WHERE conditions" +msgstr "згенеровані стовпці не підтримуються в умовах COPY FROM WHERE" + +#: commands/copy.c:181 commands/tablecmds.c:12858 commands/tablecmds.c:18092 +#: commands/tablecmds.c:18171 commands/trigger.c:657 +#: rewrite/rewriteHandler.c:944 rewrite/rewriteHandler.c:979 +#, c-format +msgid "Column \"%s\" is a generated column." +msgstr "Стовпець \"%s\" є згенерованим стовпцем." + +#: commands/copy.c:230 #, c-format msgid "COPY FROM not supported with row-level security" msgstr "COPY FROM не підтримується із захистом на рівні рядків" -#: commands/copy.c:194 +#: commands/copy.c:231 #, c-format msgid "Use INSERT statements instead." msgstr "Використайте оператори INSERT замість цього." -#: commands/copy.c:375 +#: commands/copy.c:412 #, c-format msgid "cannot use \"%s\" with HEADER in COPY TO" msgstr "використовувати \"%s\" з HEADER в COPY TO не можна" -#: commands/copy.c:384 +#: commands/copy.c:421 #, c-format msgid "%s requires a Boolean value or \"match\"" msgstr "%s потребує Boolean або \"відповідність\"" #. translator: first %s is the name of a COPY option, e.g. ON_ERROR, #. second %s is a COPY with direction, e.g. COPY TO -#: commands/copy.c:402 commands/copy.c:782 commands/copy.c:798 -#: commands/copy.c:815 commands/copy.c:841 commands/copy.c:851 +#: commands/copy.c:439 commands/copy.c:819 commands/copy.c:835 +#: commands/copy.c:852 commands/copy.c:878 commands/copy.c:888 #, c-format msgid "COPY %s cannot be used with %s" msgstr "COPY %s не можна використовувати з %s" #. translator: first %s is the name of a COPY option, e.g. ON_ERROR -#: commands/copy.c:416 commands/copy.c:441 +#: commands/copy.c:453 commands/copy.c:478 #, c-format msgid "COPY %s \"%s\" not recognized" msgstr "COPY %s \"%s\" не розпізнано" -#: commands/copy.c:502 +#: commands/copy.c:539 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "Формат \"%s\" для COPY не розпізнано" -#: commands/copy.c:560 commands/copy.c:575 commands/copy.c:590 -#: commands/copy.c:609 +#: commands/copy.c:597 commands/copy.c:612 commands/copy.c:627 +#: commands/copy.c:646 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "аргументом функції \"%s\" повинен бути список імен стовпців" -#: commands/copy.c:621 +#: commands/copy.c:658 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "аргументом функції \"%s\" повинне бути припустиме ім'я коду" -#: commands/copy.c:642 commands/dbcommands.c:866 commands/dbcommands.c:2381 +#: commands/copy.c:679 commands/dbcommands.c:866 commands/dbcommands.c:2381 #, c-format msgid "option \"%s\" not recognized" msgstr "параметр \"%s\" не розпізнано" #. translator: %s is the name of a COPY option, e.g. ON_ERROR -#: commands/copy.c:655 commands/copy.c:660 commands/copy.c:665 -#: commands/copy.c:740 +#: commands/copy.c:692 commands/copy.c:697 commands/copy.c:702 +#: commands/copy.c:777 #, c-format msgid "cannot specify %s in BINARY mode" msgstr "не можна вказати %s в режимі BINARY" -#: commands/copy.c:670 +#: commands/copy.c:707 #, c-format msgid "only ON_ERROR STOP is allowed in BINARY mode" msgstr "в режимі BINARY допускається лише ON_ERROR STOP" -#: commands/copy.c:692 +#: commands/copy.c:729 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "роздільник для COPY повинен бути однобайтовим символом" -#: commands/copy.c:699 +#: commands/copy.c:736 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "Роздільник для COPY не може бути символом нового рядка або повернення каретки" -#: commands/copy.c:705 +#: commands/copy.c:742 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "Подання NULL для COPY не може включати символ нового рядка або повернення каретки" -#: commands/copy.c:715 +#: commands/copy.c:752 #, c-format msgid "COPY default representation cannot use newline or carriage return" msgstr "Подання для COPY за замовчуванням не може включати символ нового рядка або повернення каретки" -#: commands/copy.c:733 +#: commands/copy.c:770 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "роздільник COPY не може бути \"%s\"" #. translator: %s is the name of a COPY option, e.g. ON_ERROR -#: commands/copy.c:747 commands/copy.c:764 commands/copy.c:776 -#: commands/copy.c:791 commands/copy.c:807 +#: commands/copy.c:784 commands/copy.c:801 commands/copy.c:813 +#: commands/copy.c:828 commands/copy.c:844 #, c-format msgid "COPY %s requires CSV mode" msgstr "Для COPY %s потрібен режим CSV" -#: commands/copy.c:752 +#: commands/copy.c:789 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "лапки для COPY повинні бути однобайтовим символом" -#: commands/copy.c:757 +#: commands/copy.c:794 #, c-format msgid "COPY delimiter and quote must be different" msgstr "роздільник і лапки для COPY повинні бути різними" -#: commands/copy.c:769 +#: commands/copy.c:806 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "вихід для COPY повинен бути однобайтовим символом" #. translator: %s is the name of a COPY option, e.g. NULL -#: commands/copy.c:823 commands/copy.c:859 +#: commands/copy.c:860 commands/copy.c:896 #, c-format msgid "COPY delimiter character must not appear in the %s specification" msgstr "символ розділювача для COPY не повинен з'являтися в специфікації %s" #. translator: %s is the name of a COPY option, e.g. NULL -#: commands/copy.c:832 commands/copy.c:868 +#: commands/copy.c:869 commands/copy.c:905 #, c-format msgid "CSV quote character must not appear in the %s specification" msgstr "лапки CSV не повинні з'являтися у специфікації %s" -#: commands/copy.c:877 +#: commands/copy.c:914 #, c-format msgid "NULL specification and DEFAULT specification cannot be the same" msgstr "Специфікація NULL і специфікація DEFAULT не може співпадати" -#: commands/copy.c:939 +#: commands/copy.c:976 #, c-format msgid "column \"%s\" is a generated column" msgstr "стовпець \"%s\" є згенерованим стовпцем" -#: commands/copy.c:941 +#: commands/copy.c:978 #, c-format msgid "Generated columns cannot be used in COPY." msgstr "Згенеровані стовпці не можна використовувати в COPY." -#: commands/copy.c:956 commands/indexcmds.c:1890 commands/statscmds.c:239 +#: commands/copy.c:993 commands/indexcmds.c:1890 commands/statscmds.c:260 #: commands/tablecmds.c:2526 commands/tablecmds.c:2997 #: commands/tablecmds.c:3808 parser/parse_relation.c:3692 #: parser/parse_relation.c:3702 parser/parse_relation.c:3720 @@ -7172,7 +7198,7 @@ msgid "column \"%s\" does not exist" msgstr "стовпця \"%s\" не існує" -#: commands/copy.c:963 commands/tablecmds.c:2552 commands/trigger.c:951 +#: commands/copy.c:1000 commands/tablecmds.c:2552 commands/trigger.c:952 #: parser/parse_target.c:1083 parser/parse_target.c:1094 #, c-format msgid "column \"%s\" specified more than once" @@ -7264,7 +7290,7 @@ msgid "%s column \"%s\" not referenced by COPY" msgstr "%s стовпець \"%s\" не фігурує в COPY" -#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385 +#: commands/copyfrom.c:1544 utils/mb/mbutils.c:386 #, c-format msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "функції за замовчуванням перетворення з кодування \"%s\" в \"%s\" не існує" @@ -7325,17 +7351,17 @@ msgstr "не вдалося прочитати файл COPY: %m" #: commands/copyfromparse.c:278 commands/copyfromparse.c:303 -#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:381 +#: replication/walsender.c:774 replication/walsender.c:800 tcop/postgres.c:381 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "неочікуваний обрив з'єднання з клієнтом при відкритій транзакції" -#: commands/copyfromparse.c:294 replication/walsender.c:772 +#: commands/copyfromparse.c:294 replication/walsender.c:790 #, c-format msgid "unexpected message type 0x%02X during COPY from stdin" msgstr "неочікуваний тип повідомлення 0x%02X під час COPY з stdin" -#: commands/copyfromparse.c:317 replication/walsender.c:803 +#: commands/copyfromparse.c:317 replication/walsender.c:821 #, c-format msgid "COPY from stdin failed: %s" msgstr "помилка при stdin COPY: %s" @@ -7810,7 +7836,7 @@ msgstr "каталог даних з вказаним OID %u вже існує" #: commands/dbcommands.c:1571 commands/dbcommands.c:1586 -#: utils/adt/pg_locale.c:2588 +#: utils/adt/pg_locale.c:2591 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "кодування \"%s\" не відповідає локалі \"%s\"" @@ -7900,7 +7926,7 @@ msgstr "Перед тим, як виконувати цю команду, вам треба повернути їх в табличний простір за замовчуванням для цієї бази даних." #: commands/dbcommands.c:2256 commands/dbcommands.c:2999 -#: commands/dbcommands.c:3299 commands/dbcommands.c:3412 +#: commands/dbcommands.c:3299 commands/dbcommands.c:3413 #, c-format msgid "some useless files may be left behind in old database directory \"%s\"" msgstr "у старому каталозі бази даних \"%s\" могли залишитися непотрібні файли" @@ -8014,7 +8040,7 @@ #: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3892 #: commands/tablecmds.c:4050 commands/tablecmds.c:4102 -#: commands/tablecmds.c:17192 tcop/utility.c:1325 +#: commands/tablecmds.c:17225 tcop/utility.c:1325 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "відношення \"%s\" не існує, пропускаємо" @@ -8044,7 +8070,7 @@ msgid "conversion \"%s\" does not exist, skipping" msgstr "перетворення \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:288 commands/statscmds.c:664 +#: commands/dropcmds.c:288 commands/statscmds.c:685 #, c-format msgid "statistics object \"%s\" does not exist, skipping" msgstr "об'єкту статистики \"%s\" не існує, пропускаємо" @@ -8139,7 +8165,7 @@ msgid "foreign-data wrapper \"%s\" does not exist, skipping" msgstr "джерела сторонніх даних \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:448 commands/foreigncmds.c:1360 +#: commands/dropcmds.c:448 commands/foreigncmds.c:1371 #, c-format msgid "server \"%s\" does not exist, skipping" msgstr "серверу \"%s\" не існує, пропускаємо" @@ -8159,79 +8185,79 @@ msgid "publication \"%s\" does not exist, skipping" msgstr "публікації \"%s\" не існує, пропускаємо" -#: commands/event_trigger.c:137 +#: commands/event_trigger.c:141 #, c-format msgid "permission denied to create event trigger \"%s\"" msgstr "немає дозволу для створення тригера подій %s\"" -#: commands/event_trigger.c:139 +#: commands/event_trigger.c:143 #, c-format msgid "Must be superuser to create an event trigger." msgstr "Тільки суперкористувач може створити тригер подій." -#: commands/event_trigger.c:149 +#: commands/event_trigger.c:153 #, c-format msgid "unrecognized event name \"%s\"" msgstr "нерозпізнане ім'я подій \"%s\"" -#: commands/event_trigger.c:166 +#: commands/event_trigger.c:170 #, c-format msgid "unrecognized filter variable \"%s\"" msgstr "нерозпізнана змінна фільтру \"%s\"" -#: commands/event_trigger.c:181 +#: commands/event_trigger.c:185 #, c-format msgid "tag filtering is not supported for login event triggers" msgstr "фільтрація тегів не підтримується для тригерів події входу" -#: commands/event_trigger.c:224 +#: commands/event_trigger.c:228 #, 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:230 commands/event_trigger.c:252 +#: commands/event_trigger.c:234 commands/event_trigger.c:256 #, c-format msgid "event triggers are not supported for %s" msgstr "для %s тригери подій не підтримуються" -#: commands/event_trigger.c:265 +#: commands/event_trigger.c:269 #, c-format msgid "filter variable \"%s\" specified more than once" msgstr "змінну фільтра \"%s\" вказано кілька разів" -#: commands/event_trigger.c:438 commands/event_trigger.c:490 -#: commands/event_trigger.c:584 +#: commands/event_trigger.c:442 commands/event_trigger.c:494 +#: commands/event_trigger.c:588 #, c-format msgid "event trigger \"%s\" does not exist" msgstr "тригеру подій \"%s\" не існує" -#: commands/event_trigger.c:522 +#: commands/event_trigger.c:526 #, c-format msgid "event trigger with OID %u does not exist" msgstr "тригер подій %u з OID не існує" -#: commands/event_trigger.c:552 +#: commands/event_trigger.c:556 #, c-format msgid "permission denied to change owner of event trigger \"%s\"" msgstr "немає дозволу для зміни власника тригера подій \"%s\"" -#: commands/event_trigger.c:554 +#: commands/event_trigger.c:558 #, c-format msgid "The owner of an event trigger must be a superuser." msgstr "Власником тригеру подій може бути тільки суперкористувач." -#: commands/event_trigger.c:1409 +#: commands/event_trigger.c:1536 #, c-format msgid "%s can only be called in a sql_drop event trigger function" msgstr "%s можливо викликати лише в подієвій тригерній функції sql_drop" -#: commands/event_trigger.c:1502 commands/event_trigger.c:1523 +#: commands/event_trigger.c:1629 commands/event_trigger.c:1650 #, c-format msgid "%s can only be called in a table_rewrite event trigger function" msgstr "%s можливо викликати лише в подієвій тригерній функції table_rewrite" -#: commands/event_trigger.c:1936 +#: commands/event_trigger.c:2063 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%s можливо викликати тільки в подієвій тригерній функції" @@ -8549,112 +8575,112 @@ msgid "file \"%s\" is too large" msgstr "файл \"%s\" занадто великий" -#: commands/foreigncmds.c:148 commands/foreigncmds.c:157 +#: commands/foreigncmds.c:159 commands/foreigncmds.c:168 #, c-format msgid "option \"%s\" not found" msgstr "параметр \"%s\" не знайдено" -#: commands/foreigncmds.c:167 +#: commands/foreigncmds.c:178 #, c-format msgid "option \"%s\" provided more than once" msgstr "параметр \"%s\" надано більше одного разу" -#: commands/foreigncmds.c:221 commands/foreigncmds.c:229 +#: commands/foreigncmds.c:232 commands/foreigncmds.c:240 #, c-format msgid "permission denied to change owner of foreign-data wrapper \"%s\"" msgstr "немає дозволу для зміни власника джерела сторонніх даних \"%s\"" -#: commands/foreigncmds.c:223 +#: commands/foreigncmds.c:234 #, c-format msgid "Must be superuser to change owner of a foreign-data wrapper." msgstr "Треба бути суперкористувачем, щоб змінити власника джерела сторонніх даних." -#: commands/foreigncmds.c:231 +#: commands/foreigncmds.c:242 #, c-format msgid "The owner of a foreign-data wrapper must be a superuser." msgstr "Власником джерела сторонніх даних може бути тільки суперкористувач." -#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:691 +#: commands/foreigncmds.c:302 commands/foreigncmds.c:718 foreign/foreign.c:691 #, c-format msgid "foreign-data wrapper \"%s\" does not exist" msgstr "джерела сторонніх даних \"%s\" не існує" -#: commands/foreigncmds.c:325 +#: commands/foreigncmds.c:336 #, c-format msgid "foreign-data wrapper with OID %u does not exist" msgstr "джерело сторонніх даних з OID %u не існує" -#: commands/foreigncmds.c:462 +#: commands/foreigncmds.c:473 #, c-format msgid "foreign server with OID %u does not exist" msgstr "стороннього серверу з OID %u не усніє" -#: commands/foreigncmds.c:580 +#: commands/foreigncmds.c:591 #, c-format msgid "permission denied to create foreign-data wrapper \"%s\"" msgstr "немає дозволу для створення джерела сторонніх даних %s\"" -#: commands/foreigncmds.c:582 +#: commands/foreigncmds.c:593 #, c-format msgid "Must be superuser to create a foreign-data wrapper." msgstr "Треба бути суперкористувачем, щоб створити джерело сторонніх даних." -#: commands/foreigncmds.c:697 +#: commands/foreigncmds.c:708 #, c-format msgid "permission denied to alter foreign-data wrapper \"%s\"" msgstr "немає дозволу на зміну джерела сторонніх даних \"%s\"" -#: commands/foreigncmds.c:699 +#: commands/foreigncmds.c:710 #, c-format msgid "Must be superuser to alter a foreign-data wrapper." msgstr "Треба бути суперкористувачем, щоб змінити джерело сторонніх даних." -#: commands/foreigncmds.c:730 +#: commands/foreigncmds.c:741 #, c-format msgid "changing the foreign-data wrapper handler can change behavior of existing foreign tables" msgstr "при зміні обробника в обгортці сторонніх даних може змінитися поведінка існуючих сторонніх таблиць" -#: commands/foreigncmds.c:745 +#: commands/foreigncmds.c:756 #, c-format msgid "changing the foreign-data wrapper validator can cause the options for dependent objects to become invalid" msgstr "при зміні функції перевірки в обгортці сторонніх даних параметри залежних об'єктів можуть стати невірними" -#: commands/foreigncmds.c:876 +#: commands/foreigncmds.c:887 #, c-format msgid "server \"%s\" already exists, skipping" msgstr "сервер \"%s\" вже існує, пропускаємо" -#: commands/foreigncmds.c:1144 +#: commands/foreigncmds.c:1155 #, c-format msgid "user mapping for \"%s\" already exists for server \"%s\", skipping" msgstr "зіставлення користувача \"%s\" для сервера \"%s\" вже існує, пропускаємо" -#: commands/foreigncmds.c:1154 +#: commands/foreigncmds.c:1165 #, c-format msgid "user mapping for \"%s\" already exists for server \"%s\"" msgstr "зіставлення користувача \"%s\" для сервера \"%s\" вже існує\"" -#: commands/foreigncmds.c:1254 commands/foreigncmds.c:1374 +#: commands/foreigncmds.c:1265 commands/foreigncmds.c:1385 #, c-format msgid "user mapping for \"%s\" does not exist for server \"%s\"" msgstr "зіставлення користувача \"%s\" не існує для сервера \"%s\"" -#: commands/foreigncmds.c:1379 +#: commands/foreigncmds.c:1390 #, c-format msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping" msgstr "зіставлення користувача \"%s\" не існує для сервера \"%s\", пропускаємо" -#: commands/foreigncmds.c:1507 foreign/foreign.c:404 +#: commands/foreigncmds.c:1518 foreign/foreign.c:404 #, c-format msgid "foreign-data wrapper \"%s\" has no handler" msgstr "джерело сторонніх даних \"%s\" не має обробника" -#: commands/foreigncmds.c:1513 +#: commands/foreigncmds.c:1524 #, c-format msgid "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA" msgstr "джерело сторонніх даних \"%s\" не підтримує IMPORT FOREIGN SCHEMA" -#: commands/foreigncmds.c:1615 +#: commands/foreigncmds.c:1626 #, c-format msgid "importing foreign table \"%s\"" msgstr "імпорт сторонньої таблиці \"%s\"" @@ -9180,8 +9206,8 @@ msgid "could not determine which collation to use for index expression" msgstr "не вдалося визначити, яке правило сортування використати для індексного виразу" -#: commands/indexcmds.c:2028 commands/tablecmds.c:18216 commands/typecmds.c:811 -#: parser/parse_expr.c:2793 parser/parse_type.c:568 parser/parse_utilcmd.c:3771 +#: commands/indexcmds.c:2028 commands/tablecmds.c:18259 commands/typecmds.c:811 +#: parser/parse_expr.c:2794 parser/parse_type.c:568 parser/parse_utilcmd.c:3771 #: utils/adt/misc.c:630 #, c-format msgid "collations are not supported by type %s" @@ -9217,8 +9243,8 @@ msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "метод доступу \"%s\" не підтримує параметри NULLS FIRST/LAST" -#: commands/indexcmds.c:2210 commands/tablecmds.c:18241 -#: commands/tablecmds.c:18247 commands/typecmds.c:2311 +#: commands/indexcmds.c:2210 commands/tablecmds.c:18284 +#: commands/tablecmds.c:18290 commands/typecmds.c:2311 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "тип даних %s не має класу операторів за замовчуванням для методу доступу \"%s\"" @@ -9244,88 +9270,88 @@ msgid "there are multiple default operator classes for data type %s" msgstr "для типу даних %s є кілька класів операторів за замовчуванням" -#: commands/indexcmds.c:2681 +#: commands/indexcmds.c:2715 #, c-format msgid "unrecognized REINDEX option \"%s\"" msgstr "нерозпізнаний параметр REINDEX \"%s\"" -#: commands/indexcmds.c:2913 +#: commands/indexcmds.c:2947 #, c-format msgid "table \"%s\" has no indexes that can be reindexed concurrently" msgstr "таблиця \"%s\" не має індексів, які можна переіндексувати паралельно" -#: commands/indexcmds.c:2927 +#: commands/indexcmds.c:2961 #, c-format msgid "table \"%s\" has no indexes to reindex" msgstr "таблиця \"%s\" не має індексів для переіндексування" -#: commands/indexcmds.c:2974 commands/indexcmds.c:3485 -#: commands/indexcmds.c:3615 +#: commands/indexcmds.c:3008 commands/indexcmds.c:3519 +#: commands/indexcmds.c:3649 #, c-format msgid "cannot reindex system catalogs concurrently" msgstr "не можна конкурентно переіндексувати системні каталоги" -#: commands/indexcmds.c:2998 +#: commands/indexcmds.c:3032 #, c-format msgid "can only reindex the currently open database" msgstr "переіндексувати можна тільки наразі відкриту базу даних" -#: commands/indexcmds.c:3090 +#: commands/indexcmds.c:3124 #, c-format msgid "cannot reindex system catalogs concurrently, skipping all" msgstr "не можна конкурентно переіндексувати системні каталоги, пропускаємо" -#: commands/indexcmds.c:3123 +#: commands/indexcmds.c:3157 #, c-format msgid "cannot move system relations, skipping all" msgstr "не можна перемістити системні відношення, пропускаються усі" -#: commands/indexcmds.c:3169 +#: commands/indexcmds.c:3203 #, c-format msgid "while reindexing partitioned table \"%s.%s\"" msgstr "під час переіндексування секціонованої таблиці \"%s.%s\"" -#: commands/indexcmds.c:3172 +#: commands/indexcmds.c:3206 #, c-format msgid "while reindexing partitioned index \"%s.%s\"" msgstr "під час переіндексування секціонованого індексу \"%s.%s\"" -#: commands/indexcmds.c:3365 commands/indexcmds.c:4241 +#: commands/indexcmds.c:3399 commands/indexcmds.c:4283 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "таблиця \"%s.%s\" була переіндексована" -#: commands/indexcmds.c:3517 commands/indexcmds.c:3570 +#: commands/indexcmds.c:3551 commands/indexcmds.c:3604 #, c-format msgid "skipping reindex of invalid index \"%s.%s\"" msgstr "пропуск пере індексації недійсного індексу \"%s.%s\"" -#: commands/indexcmds.c:3520 commands/indexcmds.c:3573 +#: commands/indexcmds.c:3554 commands/indexcmds.c:3607 #, c-format msgid "Use DROP INDEX or REINDEX INDEX." msgstr "Використовуйте DROP INDEX або REINDEX INDEX." -#: commands/indexcmds.c:3524 +#: commands/indexcmds.c:3558 #, c-format msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping" msgstr "неможливо переіндексувати індекс обмеження-виключення \"%s.%s\" паралельно, пропускається" -#: commands/indexcmds.c:3680 +#: commands/indexcmds.c:3714 #, c-format msgid "cannot reindex this type of relation concurrently" msgstr "неможливо переіндексувати цей тип відношень паралельон" -#: commands/indexcmds.c:3698 +#: commands/indexcmds.c:3732 #, c-format msgid "cannot move non-shared relation to tablespace \"%s\"" msgstr "не можна перемістити не спільне відношення до табличного простору \"%s\"" -#: commands/indexcmds.c:4222 commands/indexcmds.c:4234 +#: commands/indexcmds.c:4264 commands/indexcmds.c:4276 #, c-format msgid "index \"%s.%s\" was reindexed" msgstr "індекс \"%s.%s\" був перебудований" -#: commands/indexcmds.c:4224 commands/indexcmds.c:4243 +#: commands/indexcmds.c:4266 commands/indexcmds.c:4285 #, c-format msgid "%s." msgstr "%s." @@ -9340,7 +9366,7 @@ msgid "CONCURRENTLY cannot be used when the materialized view is not populated" msgstr "CONCURRENTLY не може використовуватись, коли матеріалізоване подання не наповнено" -#: commands/matview.c:212 gram.y:18918 +#: commands/matview.c:212 gram.y:18925 #, c-format msgid "%s and %s options cannot be used together" msgstr "параметри %s та %s не можуть бути використані разом" @@ -9654,12 +9680,12 @@ msgid "operator attribute \"%s\" cannot be changed if it has already been set" msgstr "атрибут оператора \"%s\" не може бути змінений, якщо він вже встановлений" -#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146 +#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:152 #: commands/tablecmds.c:1740 commands/tablecmds.c:2340 #: commands/tablecmds.c:3702 commands/tablecmds.c:6605 -#: commands/tablecmds.c:9668 commands/tablecmds.c:17803 -#: commands/tablecmds.c:17838 commands/trigger.c:316 commands/trigger.c:1332 -#: commands/trigger.c:1442 rewrite/rewriteDefine.c:268 +#: commands/tablecmds.c:9670 commands/tablecmds.c:17836 +#: commands/tablecmds.c:17871 commands/trigger.c:317 commands/trigger.c:1333 +#: commands/trigger.c:1443 rewrite/rewriteDefine.c:268 #: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74 #, c-format msgid "permission denied: \"%s\" is a system catalog" @@ -9711,7 +9737,7 @@ msgstr "не можна створити курсос WITH HOLD в межах операції з обмеженням по безпеці" #: commands/portalcmds.c:189 commands/portalcmds.c:242 -#: executor/execCurrent.c:70 utils/adt/xml.c:2936 utils/adt/xml.c:3106 +#: executor/execCurrent.c:70 utils/adt/xml.c:2938 utils/adt/xml.c:3108 #, c-format msgid "cursor \"%s\" does not exist" msgstr "курсор \"%s\" не існує" @@ -9756,8 +9782,8 @@ msgid "must be superuser to create custom procedural language" msgstr "для створення користувацької мови потрібно бути суперкористувачем" -#: commands/publicationcmds.c:124 postmaster/postmaster.c:1108 -#: postmaster/postmaster.c:1210 utils/init/miscinit.c:1865 +#: commands/publicationcmds.c:124 postmaster/postmaster.c:1110 +#: postmaster/postmaster.c:1212 utils/init/miscinit.c:1866 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "неприпустимий синтаксис списку в параметрі \"%s\"" @@ -10108,13 +10134,13 @@ msgid "cannot change ownership of identity sequence" msgstr "змінити власника послідовності ідентифікації не можна" -#: commands/sequence.c:1671 commands/tablecmds.c:14517 -#: commands/tablecmds.c:17212 +#: commands/sequence.c:1671 commands/tablecmds.c:14550 +#: commands/tablecmds.c:17245 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "Послідовність \"%s\" зв'язана з таблицею \"%s\"." -#: commands/statscmds.c:106 commands/statscmds.c:115 tcop/utility.c:1883 +#: commands/statscmds.c:106 commands/statscmds.c:115 #, c-format msgid "only a single relation is allowed in CREATE STATISTICS" msgstr "в CREATE STATISTICS можна вказати лише одне відношення" @@ -10124,72 +10150,72 @@ msgid "cannot define statistics for relation \"%s\"" msgstr "визначити статистику відношення \"%s\" не можна" -#: commands/statscmds.c:187 +#: commands/statscmds.c:208 #, c-format msgid "statistics object \"%s\" already exists, skipping" msgstr "об'єкт статистики \"%s\" вже існує, пропускається" -#: commands/statscmds.c:195 +#: commands/statscmds.c:216 #, c-format msgid "statistics object \"%s\" already exists" msgstr "об'єкт статистики \"%s\" вже існує" -#: commands/statscmds.c:206 +#: commands/statscmds.c:227 #, c-format msgid "cannot have more than %d columns in statistics" msgstr "в статистиці не може бути більше ніж %d стовпців" -#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304 +#: commands/statscmds.c:268 commands/statscmds.c:291 commands/statscmds.c:325 #, c-format msgid "statistics creation on system columns is not supported" msgstr "створення статистики для системних стовпців не підтримується" -#: commands/statscmds.c:254 commands/statscmds.c:277 +#: commands/statscmds.c:275 commands/statscmds.c:298 #, c-format msgid "column \"%s\" cannot be used in statistics because its type %s has no default btree operator class" msgstr "стовпець \"%s\" не можна використати в статистиці, тому що для його типу %s не визначений клас оператора (btree) за замовчуванням" -#: commands/statscmds.c:321 +#: commands/statscmds.c:342 #, c-format msgid "expression cannot be used in multivariate statistics because its type %s has no default btree operator class" msgstr "вираз не може використовуватись у багатоваріативній статистиці, тому що його тип %s немає визначеного класу оператора btree за замовчуванням" -#: commands/statscmds.c:342 +#: commands/statscmds.c:363 #, c-format msgid "when building statistics on a single expression, statistics kinds may not be specified" msgstr "при побудові статистики для одного виразу види статистики можуть не вказуватись" -#: commands/statscmds.c:371 +#: commands/statscmds.c:392 #, c-format msgid "unrecognized statistics kind \"%s\"" msgstr "нерозпізнаний вид статистики \"%s\"" -#: commands/statscmds.c:400 +#: commands/statscmds.c:421 #, c-format msgid "extended statistics require at least 2 columns" msgstr "для розширеної статистики потрібно мінімум 2 стовпці" -#: commands/statscmds.c:418 +#: commands/statscmds.c:439 #, c-format msgid "duplicate column name in statistics definition" msgstr "дублювання імені стовпця у визначенні статистики" -#: commands/statscmds.c:453 +#: commands/statscmds.c:474 #, c-format msgid "duplicate expression in statistics definition" msgstr "дублікат виразу у визначенні статистики" -#: commands/statscmds.c:628 commands/tablecmds.c:8651 +#: commands/statscmds.c:649 commands/tablecmds.c:8653 #, c-format msgid "statistics target %d is too low" msgstr "мета статистики занадто мала %d" -#: commands/statscmds.c:636 commands/tablecmds.c:8659 +#: commands/statscmds.c:657 commands/tablecmds.c:8661 #, c-format msgid "lowering statistics target to %d" msgstr "мета статистики знижується до %d" -#: commands/statscmds.c:660 +#: commands/statscmds.c:681 #, c-format msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "об'єкт статистики \"%s.%s\" не існує, пропускається" @@ -10199,7 +10225,7 @@ msgid "unrecognized subscription parameter: \"%s\"" msgstr "нерозпізнаний параметр підписки: \"%s\"" -#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:404 +#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:405 #, c-format msgid "unrecognized origin value: \"%s\"" msgstr "нерозпізнане значення походження: \"%s\"" @@ -10248,8 +10274,8 @@ msgstr "Тільки ролі з правами \"%s\" можуть створювати підписки." #: commands/subscriptioncmds.c:758 commands/subscriptioncmds.c:891 -#: commands/subscriptioncmds.c:1524 replication/logical/tablesync.c:1345 -#: replication/logical/worker.c:4514 +#: commands/subscriptioncmds.c:1524 replication/logical/tablesync.c:1371 +#: replication/logical/worker.c:4524 #, c-format msgid "could not connect to the publisher: %s" msgstr "не вдалося підключитись до сервера публікації: %s" @@ -10269,8 +10295,8 @@ msgid "To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription." msgstr "Щоб ініціювати реплікацію, необхідно вручну створити слот реплікації, підключити підписку і оновити підписку." -#: commands/subscriptioncmds.c:1109 commands/subscriptioncmds.c:1590 -#: commands/subscriptioncmds.c:1973 utils/cache/lsyscache.c:3684 +#: commands/subscriptioncmds.c:1109 commands/subscriptioncmds.c:1592 +#: commands/subscriptioncmds.c:1975 utils/cache/lsyscache.c:3684 #, c-format msgid "subscription \"%s\" does not exist" msgstr "підписка \"%s\" не існує" @@ -10336,37 +10362,37 @@ msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X" msgstr "пропустити розташування WAL (LSN %X/%X) повинно бути більше, ніж origin LSN %X/%X" -#: commands/subscriptioncmds.c:1594 +#: commands/subscriptioncmds.c:1596 #, c-format msgid "subscription \"%s\" does not exist, skipping" msgstr "підписка \"%s\" не існує, пропускається" -#: commands/subscriptioncmds.c:1863 +#: commands/subscriptioncmds.c:1865 #, c-format msgid "dropped replication slot \"%s\" on publisher" msgstr "видалено слот реплікації \"%s\" на сервері публікації" -#: commands/subscriptioncmds.c:1872 commands/subscriptioncmds.c:1880 +#: commands/subscriptioncmds.c:1874 commands/subscriptioncmds.c:1882 #, c-format msgid "could not drop replication slot \"%s\" on publisher: %s" msgstr "не вдалося видалити слот реплікації \"%s\" на сервері публікації: %s" -#: commands/subscriptioncmds.c:2005 +#: commands/subscriptioncmds.c:2007 #, c-format msgid "subscription with OID %u does not exist" msgstr "підписки %u з OID не існує" -#: commands/subscriptioncmds.c:2079 commands/subscriptioncmds.c:2204 +#: commands/subscriptioncmds.c:2081 commands/subscriptioncmds.c:2206 #, c-format msgid "could not receive list of replicated tables from the publisher: %s" msgstr "не вдалося отримати список реплікованих таблиць із сервера публікації: %s" -#: commands/subscriptioncmds.c:2115 +#: commands/subscriptioncmds.c:2117 #, c-format msgid "subscription \"%s\" requested copy_data with origin = NONE but might copy data that had a different origin" msgstr "підписка \"%s\" запросив copy_data зі походженням = NONE, але може скопіювати дані, що мають інше походження" -#: commands/subscriptioncmds.c:2117 +#: commands/subscriptioncmds.c:2119 #, c-format msgid "The subscription being created subscribes to a publication (%s) that contains tables that are written to by other subscriptions." msgid_plural "The subscription being created subscribes to publications (%s) that contain tables that are written to by other subscriptions." @@ -10375,49 +10401,49 @@ msgstr[2] "Створювана підписка підписується на публікації (%s), яка містить таблиці, до яких записуються інші підписки." msgstr[3] "Створювана підписка підписується на публікації (%s), яка містить таблиці, до яких записуються інші підписки." -#: commands/subscriptioncmds.c:2120 +#: commands/subscriptioncmds.c:2122 #, c-format msgid "Verify that initial data copied from the publisher tables did not come from other origins." msgstr "Переконайтеся, що вихідні дані, скопійовані з таблиць публікатора, не були отримані з інших джерел." -#: commands/subscriptioncmds.c:2226 replication/logical/tablesync.c:906 -#: replication/pgoutput/pgoutput.c:1143 +#: commands/subscriptioncmds.c:2228 replication/logical/tablesync.c:932 +#: replication/pgoutput/pgoutput.c:1155 #, c-format msgid "cannot use different column lists for table \"%s.%s\" in different publications" msgstr "використовувати різні списки стовпців для таблиці \"%s.%s\" в різних публікаціях не можна" -#: commands/subscriptioncmds.c:2276 +#: commands/subscriptioncmds.c:2278 #, c-format msgid "could not connect to publisher when attempting to drop replication slot \"%s\": %s" msgstr "не вдалося з'єднатись з сервером публікації під час спроби видалити слот реплікації \"%s\": %s" #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:2279 +#: commands/subscriptioncmds.c:2281 #, c-format msgid "Use %s to disable the subscription, and then use %s to disassociate it from the slot." msgstr "Використовуйте %s, щоб вимкнути підписку, а потім використайте %s, щоб від'єднати її від слоту." -#: commands/subscriptioncmds.c:2310 +#: commands/subscriptioncmds.c:2312 #, c-format msgid "publication name \"%s\" used more than once" msgstr "ім'я публікації \"%s\" використовується більше ніж один раз" -#: commands/subscriptioncmds.c:2354 +#: commands/subscriptioncmds.c:2356 #, c-format msgid "publication \"%s\" is already in subscription \"%s\"" msgstr "публікація \"%s\" вже в підписці \"%s\"" -#: commands/subscriptioncmds.c:2368 +#: commands/subscriptioncmds.c:2370 #, c-format msgid "publication \"%s\" is not in subscription \"%s\"" msgstr "публікація \"%s\" не знаходиться в підписці \"%s\"" -#: commands/subscriptioncmds.c:2379 +#: commands/subscriptioncmds.c:2381 #, c-format msgid "cannot drop all the publications from a subscription" msgstr "не можна видалити всі публікації з підписки" -#: commands/subscriptioncmds.c:2436 +#: commands/subscriptioncmds.c:2438 #, c-format msgid "%s requires a Boolean value or \"parallel\"" msgstr "%s потребує логічне значення або \"parallel\"" @@ -10478,7 +10504,7 @@ msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Використайте DROP MATERIALIZED VIEW, щоб видалити матеріалізоване подання." -#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19836 +#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19891 #: parser/parse_utilcmd.c:2251 #, c-format msgid "index \"%s\" does not exist" @@ -10502,8 +10528,8 @@ msgid "Use DROP TYPE to remove a type." msgstr "Використайте DROP TYPE, щоб видалити тип." -#: commands/tablecmds.c:291 commands/tablecmds.c:14356 -#: commands/tablecmds.c:16917 +#: commands/tablecmds.c:291 commands/tablecmds.c:14389 +#: commands/tablecmds.c:16950 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "зовнішня таблиця \"%s\" не існує" @@ -10527,7 +10553,7 @@ msgid "cannot create temporary table within security-restricted operation" msgstr "неможливо створити тимчасову таблицю в межах операції з обмеженням безпеки" -#: commands/tablecmds.c:801 commands/tablecmds.c:15776 +#: commands/tablecmds.c:801 commands/tablecmds.c:15809 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "відношення \"%s\" буде успадковуватись більш ніж один раз" @@ -10552,7 +10578,7 @@ msgid "Table \"%s\" contains indexes that are unique." msgstr "Таблиця \"%s\" містить індекси, які унікальні." -#: commands/tablecmds.c:1338 commands/tablecmds.c:13372 +#: commands/tablecmds.c:1338 commands/tablecmds.c:13382 #, c-format msgid "too many array dimensions" msgstr "занадто багато вимірів масиву" @@ -10603,7 +10629,7 @@ msgid "cannot truncate temporary tables of other sessions" msgstr "тимчасові таблиці інших сеансів не можна скоротити" -#: commands/tablecmds.c:2606 commands/tablecmds.c:15673 +#: commands/tablecmds.c:2606 commands/tablecmds.c:15706 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "успадкування від секціонованої таблиці \"%s\" не допускається" @@ -10624,18 +10650,18 @@ msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "створити тимчасове відношення як секцію постійного відношення\"%s\" не можна" -#: commands/tablecmds.c:2640 commands/tablecmds.c:15652 +#: commands/tablecmds.c:2640 commands/tablecmds.c:15685 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "тимчасове відношення \"%s\" не може успадковуватись" -#: commands/tablecmds.c:2650 commands/tablecmds.c:15660 +#: commands/tablecmds.c:2650 commands/tablecmds.c:15693 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "успадкування від тимчасового відношення іншого сеансу неможливе" #: commands/tablecmds.c:2791 commands/tablecmds.c:2845 -#: commands/tablecmds.c:13055 parser/parse_utilcmd.c:1265 +#: commands/tablecmds.c:13065 parser/parse_utilcmd.c:1265 #: parser/parse_utilcmd.c:1308 parser/parse_utilcmd.c:1735 #: parser/parse_utilcmd.c:1843 #, c-format @@ -10736,7 +10762,7 @@ msgstr "конфлікт правил сортування в стовпці \"%s\"" #: commands/tablecmds.c:3164 commands/tablecmds.c:3326 -#: commands/tablecmds.c:7080 +#: commands/tablecmds.c:7080 parser/parse_expr.c:4771 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\" проти \"%s\"" @@ -10929,12 +10955,12 @@ msgid "cannot add column to a partition" msgstr "неможливо додати стовпець до розділу" -#: commands/tablecmds.c:7072 commands/tablecmds.c:15891 +#: commands/tablecmds.c:7072 commands/tablecmds.c:15924 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "дочірня таблиця \"%s\" має інший тип для стовпця \"%s\"" -#: commands/tablecmds.c:7078 commands/tablecmds.c:15897 +#: commands/tablecmds.c:7078 commands/tablecmds.c:15930 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "дочірня таблиця \"%s\" має інше правило сортування для стовпця \"%s\"" @@ -10949,980 +10975,973 @@ msgid "cannot recursively add identity column to table that has child tables" msgstr "неможливо додати стовпець ідентифікації в таблицю, яка має дочірні таблиці" -#: commands/tablecmds.c:7393 +#: commands/tablecmds.c:7395 #, c-format msgid "column must be added to child tables too" msgstr "стовпець також повинен бути доданий до дочірніх таблиць" -#: commands/tablecmds.c:7471 +#: commands/tablecmds.c:7473 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "стовпець \"%s\" відношення \"%s\" вже існує, пропускається" -#: commands/tablecmds.c:7478 +#: commands/tablecmds.c:7480 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "стовпець \"%s\" відношення \"%s\" вже існує" -#: commands/tablecmds.c:7544 commands/tablecmds.c:12683 +#: commands/tablecmds.c:7546 commands/tablecmds.c:12693 #, c-format msgid "cannot remove constraint from only the partitioned table when partitions exist" msgstr "неможливо видалити обмеження тільки з секціонованої таблиці, коли існують секції" -#: commands/tablecmds.c:7545 commands/tablecmds.c:7859 -#: commands/tablecmds.c:8037 commands/tablecmds.c:8144 -#: commands/tablecmds.c:8261 commands/tablecmds.c:9080 -#: commands/tablecmds.c:12684 +#: commands/tablecmds.c:7547 commands/tablecmds.c:7861 +#: commands/tablecmds.c:8039 commands/tablecmds.c:8146 +#: commands/tablecmds.c:8263 commands/tablecmds.c:9082 +#: commands/tablecmds.c:12694 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Не вказуйте ключове слово ONLY." -#: commands/tablecmds.c:7581 commands/tablecmds.c:7785 -#: commands/tablecmds.c:7927 commands/tablecmds.c:8059 -#: commands/tablecmds.c:8188 commands/tablecmds.c:8282 -#: commands/tablecmds.c:8383 commands/tablecmds.c:8540 -#: commands/tablecmds.c:8693 commands/tablecmds.c:8774 -#: commands/tablecmds.c:8908 commands/tablecmds.c:12837 -#: commands/tablecmds.c:14379 commands/tablecmds.c:17006 +#: commands/tablecmds.c:7583 commands/tablecmds.c:7787 +#: commands/tablecmds.c:7929 commands/tablecmds.c:8061 +#: commands/tablecmds.c:8190 commands/tablecmds.c:8284 +#: commands/tablecmds.c:8385 commands/tablecmds.c:8542 +#: commands/tablecmds.c:8695 commands/tablecmds.c:8776 +#: commands/tablecmds.c:8910 commands/tablecmds.c:12847 +#: commands/tablecmds.c:14412 commands/tablecmds.c:17039 #, c-format msgid "cannot alter system column \"%s\"" msgstr "не можна змінити системний стовпець \"%s\"" -#: commands/tablecmds.c:7587 commands/tablecmds.c:7933 +#: commands/tablecmds.c:7589 commands/tablecmds.c:7935 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "стовпець \"%s\" відношення \"%s\" є стовпцем ідентифікації" -#: commands/tablecmds.c:7628 +#: commands/tablecmds.c:7630 #, c-format msgid "column \"%s\" is in a primary key" msgstr "стовпець \"%s\" входить до первинного ключа" -#: commands/tablecmds.c:7633 +#: commands/tablecmds.c:7635 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "стовпець \"%s\" в індексі, що використовується як ідентифікація репліки" -#: commands/tablecmds.c:7656 +#: commands/tablecmds.c:7658 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "стовпець \"%s\" в батьківській таблиці позначений як NOT NULL" -#: commands/tablecmds.c:7856 commands/tablecmds.c:9564 +#: commands/tablecmds.c:7858 commands/tablecmds.c:9566 #, c-format msgid "constraint must be added to child tables too" msgstr "обмеження повинно бути додано у дочірні таблиці також" -#: commands/tablecmds.c:7857 +#: commands/tablecmds.c:7859 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "Стовпець \"%s\" відношення \"%s\" вже не NOT NULL." -#: commands/tablecmds.c:7942 +#: commands/tablecmds.c:7944 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "стовпець \"%s\" відношення \"%s\" є згенерованим стовпцем" -#: commands/tablecmds.c:8036 +#: commands/tablecmds.c:8038 #, c-format msgid "cannot add identity to a column of only the partitioned table" msgstr "не може додати ідентифікатор до стовпця лише розділеної таблиці" -#: commands/tablecmds.c:8042 +#: commands/tablecmds.c:8044 #, c-format msgid "cannot add identity to a column of a partition" msgstr "не може додати ідентифікатор до стовпця розділу" -#: commands/tablecmds.c:8070 +#: commands/tablecmds.c:8072 #, c-format msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added" msgstr "стовпець \"%s\" відношення \"%s\" повинен бути оголошений як NOT NULL, щоб додати ідентифікацію" -#: commands/tablecmds.c:8076 +#: commands/tablecmds.c:8078 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "стовпець \"%s\" відношення \"%s\" вже є стовпцем ідентифікації" -#: commands/tablecmds.c:8082 +#: commands/tablecmds.c:8084 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "стовпець \"%s\" відношення \"%s\" вже має значення за замовчуванням" -#: commands/tablecmds.c:8143 +#: commands/tablecmds.c:8145 #, c-format msgid "cannot change identity column of only the partitioned table" msgstr "не можна змінювати стовпець ідентичності лише в розбитій на розділи таблиці" -#: commands/tablecmds.c:8149 +#: commands/tablecmds.c:8151 #, c-format msgid "cannot change identity column of a partition" msgstr "не можна змінити стовпець ідентичності розділу" -#: commands/tablecmds.c:8194 commands/tablecmds.c:8290 +#: commands/tablecmds.c:8196 commands/tablecmds.c:8292 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "стовпець \"%s\" відношення \"%s\" не є стовпцем ідентифікації" -#: commands/tablecmds.c:8260 +#: commands/tablecmds.c:8262 #, c-format msgid "cannot drop identity from a column of only the partitioned table" msgstr "не можна вилучити ідентифікатор зі стовпця лише розбитої на розділи таблиці" -#: commands/tablecmds.c:8266 +#: commands/tablecmds.c:8268 #, c-format msgid "cannot drop identity from a column of a partition" msgstr "не можна вилучити ідентифікатор зі стовпця розділу" -#: commands/tablecmds.c:8295 +#: commands/tablecmds.c:8297 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "стовпець \"%s\" відношення \"%s\" не є стовпцем ідентифікації, пропускається" -#: commands/tablecmds.c:8389 +#: commands/tablecmds.c:8391 #, c-format msgid "column \"%s\" of relation \"%s\" is not a generated column" msgstr "стовпець \"%s\" відношення \"%s\" не є згенерованим стовпцем" -#: commands/tablecmds.c:8487 +#: commands/tablecmds.c:8489 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSION повинен бути застосований і до дочірніх таблиць" -#: commands/tablecmds.c:8509 +#: commands/tablecmds.c:8511 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "не можна видалити вираз генерації з успадкованого стовпця" -#: commands/tablecmds.c:8548 +#: commands/tablecmds.c:8550 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "стовпець \"%s\" відношення \"%s\" не є збереженим згенерованим стовпцем" -#: commands/tablecmds.c:8553 +#: commands/tablecmds.c:8555 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "стовпець \"%s\" відношення \"%s\" не є збереженим згенерованим стовпцем, пропускається" -#: commands/tablecmds.c:8631 +#: commands/tablecmds.c:8633 #, c-format msgid "cannot refer to non-index column by number" msgstr "не можна посилатись на неіндексований стовпець за номером" -#: commands/tablecmds.c:8683 +#: commands/tablecmds.c:8685 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "стовпець з номером %d відношення %s не існує" -#: commands/tablecmds.c:8702 +#: commands/tablecmds.c:8704 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "змінити статистику включеного стовпця \"%s\" індексу \"%s\" не можна" -#: commands/tablecmds.c:8707 +#: commands/tablecmds.c:8709 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "змінити статистику невираженого стовпця \"%s\" індексу \"%s\" не можна" -#: commands/tablecmds.c:8709 +#: commands/tablecmds.c:8711 #, c-format msgid "Alter statistics on table column instead." msgstr "Замість цього змініть статистику стовпця в таблиці." -#: commands/tablecmds.c:8955 +#: commands/tablecmds.c:8957 #, c-format msgid "cannot drop column from typed table" msgstr "не можна видалити стовпець з типізованої таблиці" -#: commands/tablecmds.c:9018 +#: commands/tablecmds.c:9020 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "стовпець \"%s\" відношення \"%s\" не існує, пропускається" -#: commands/tablecmds.c:9031 +#: commands/tablecmds.c:9033 #, c-format msgid "cannot drop system column \"%s\"" msgstr "не можна видалити системний стовпець \"%s\"" -#: commands/tablecmds.c:9041 +#: commands/tablecmds.c:9043 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "не можна видалити успадкований стовпець \"%s\"" -#: commands/tablecmds.c:9054 +#: commands/tablecmds.c:9056 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "не можна видалити стовпець \"%s\", тому що він є частиною ключа секції відношення \"%s\"" -#: commands/tablecmds.c:9079 +#: commands/tablecmds.c:9081 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "видалити стовпець тільки з секціонованої таблиці, коли існують секції, не можна" -#: commands/tablecmds.c:9284 +#: commands/tablecmds.c:9286 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX не підтримується із секціонованими таблицями" -#: commands/tablecmds.c:9309 +#: commands/tablecmds.c:9311 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX перейменує індекс \"%s\" в \"%s\"" -#: commands/tablecmds.c:9646 +#: commands/tablecmds.c:9648 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "не можна використати ONLY для стороннього ключа в секціонованій таблиці \"%s\", який посилається на відношення \"%s\"" -#: commands/tablecmds.c:9652 +#: commands/tablecmds.c:9654 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "не можна додати сторонній ключ з характеристикою NOT VALID в секціоновану таблицю \"%s\", який посилається на відношення \"%s\"" -#: commands/tablecmds.c:9655 +#: commands/tablecmds.c:9657 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "Ця функція ще не підтримується з секціонованими таблицями." -#: commands/tablecmds.c:9662 commands/tablecmds.c:10123 +#: commands/tablecmds.c:9664 commands/tablecmds.c:10146 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "вказане відношення \"%s\" не є таблицею" -#: commands/tablecmds.c:9685 +#: commands/tablecmds.c:9687 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "обмеження в постійних таблицях можуть посилатись лише на постійні таблиці" -#: commands/tablecmds.c:9692 +#: commands/tablecmds.c:9694 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "обмеження в нежурнальованих таблицях можуть посилатись тільки на постійні або нежурналюємі таблиці" -#: commands/tablecmds.c:9698 +#: commands/tablecmds.c:9700 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "обмеження в тимчасових таблицях можуть посилатись лише на тимчасові таблиці" -#: commands/tablecmds.c:9702 +#: commands/tablecmds.c:9704 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "обмеження в тимчасових таблицях повинні посилатись лише на тичасові таблиці поточного сеансу" -#: commands/tablecmds.c:9766 commands/tablecmds.c:9772 +#: commands/tablecmds.c:9769 commands/tablecmds.c:9775 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "неприпустима дія %s для обмеження зовнішнього ключа, який містить згеренований стовпець" -#: commands/tablecmds.c:9788 +#: commands/tablecmds.c:9791 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "число стовпців в джерелі і призначенні зовнішнього ключа не збігається" -#: commands/tablecmds.c:9895 +#: commands/tablecmds.c:9898 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "обмеження зовнішнього ключа \"%s\" не можна реалізувати" -#: commands/tablecmds.c:9897 +#: commands/tablecmds.c:9900 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Стовпці ключа \"%s\" і \"%s\" містять несумісні типи: %s і %s." -#: commands/tablecmds.c:10066 +#: commands/tablecmds.c:10075 #, c-format msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" msgstr "стовпець \"%s\" вказаний у дії ON DELETE SET повинен бути частиною зовнішнього ключа" -#: commands/tablecmds.c:10423 commands/tablecmds.c:10863 +#: commands/tablecmds.c:10446 commands/tablecmds.c:10873 #: parser/parse_utilcmd.c:822 parser/parse_utilcmd.c:945 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "обмеження зовнішнього ключа для сторонніх таблиць не підтримуються" -#: commands/tablecmds.c:10846 +#: commands/tablecmds.c:10856 #, c-format msgid "cannot attach table \"%s\" as a partition because it is referenced by foreign key \"%s\"" msgstr "не можна підключити таблицю \"%s\" в якості секції, тому що на неї посилається сторонній ключ \"%s\"" -#: commands/tablecmds.c:11447 commands/tablecmds.c:11728 -#: commands/tablecmds.c:12640 commands/tablecmds.c:12714 +#: commands/tablecmds.c:11457 commands/tablecmds.c:11738 +#: commands/tablecmds.c:12650 commands/tablecmds.c:12724 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "обмеження \"%s\" відношення \"%s\" не існує" -#: commands/tablecmds.c:11454 +#: commands/tablecmds.c:11464 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "обмеження \"%s\" відношення \"%s\" не є обмеженням зовнішнього ключа" -#: commands/tablecmds.c:11492 +#: commands/tablecmds.c:11502 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "неможливо змінити обмеження \"%s\" відношення \"%s\"" -#: commands/tablecmds.c:11495 +#: commands/tablecmds.c:11505 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "Обмеження \"%s\" походить з обмеження \"%s\" відношення \"%s\"." -#: commands/tablecmds.c:11497 +#: commands/tablecmds.c:11507 #, c-format msgid "You may alter the constraint it derives from instead." msgstr "Натомість ви можете змінити початкове обмеження." -#: commands/tablecmds.c:11736 +#: commands/tablecmds.c:11746 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "обмеження \"%s\" відношення \"%s\" не є зовнішнім ключем або перевіркою обмеженням " -#: commands/tablecmds.c:11813 +#: commands/tablecmds.c:11823 #, c-format msgid "constraint must be validated on child tables too" msgstr "обмеження повинно дотримуватися в дочірніх таблицях також" -#: commands/tablecmds.c:11900 +#: commands/tablecmds.c:11910 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "стовпець \"%s\", вказаний в обмеженні зовнішнього ключа, не існує" -#: commands/tablecmds.c:11906 +#: commands/tablecmds.c:11916 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "в зовнішніх ключах не можна використовувати системні стовпці" -#: commands/tablecmds.c:11910 +#: commands/tablecmds.c:11920 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "у зовнішньому ключі не може бути більш ніж %d ключів" -#: commands/tablecmds.c:11975 +#: commands/tablecmds.c:11985 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "використовувати затримуваний первинний ключ в цільовій зовнішній таблиці \"%s\" не можна" -#: commands/tablecmds.c:11992 +#: commands/tablecmds.c:12002 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "у цільовій зовнішній таблиці \"%s\" немає первинного ключа" -#: commands/tablecmds.c:12060 +#: commands/tablecmds.c:12070 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "у списку стовпців зовнішнього ключа не повинно бути повторень" -#: commands/tablecmds.c:12152 +#: commands/tablecmds.c:12162 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "використовувати затримане обмеження унікальності в цільовій зовнішній таблиці \"%s\" не можна" -#: commands/tablecmds.c:12157 +#: commands/tablecmds.c:12167 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "у цільовій зовнішній таблиці \"%s\" немає обмеження унікальності, відповідного даним ключам" -#: commands/tablecmds.c:12596 +#: commands/tablecmds.c:12606 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "видалити успадковане обмеження \"%s\" відношення \"%s\" не можна" -#: commands/tablecmds.c:12646 +#: commands/tablecmds.c:12656 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "обмеження \"%s\" відношення \"%s\" не існує, пропускається" -#: commands/tablecmds.c:12821 +#: commands/tablecmds.c:12831 #, c-format msgid "cannot alter column type of typed table" msgstr "змінити тип стовпця в типізованій таблиці не можна" -#: commands/tablecmds.c:12847 +#: commands/tablecmds.c:12857 #, c-format msgid "cannot specify USING when altering type of generated column" msgstr "не можна вказати USING під час зміни типу згенерованого стовпця" -#: commands/tablecmds.c:12848 commands/tablecmds.c:18059 -#: commands/tablecmds.c:18149 commands/trigger.c:656 -#: rewrite/rewriteHandler.c:941 rewrite/rewriteHandler.c:976 -#, c-format -msgid "Column \"%s\" is a generated column." -msgstr "Стовпець \"%s\" є згенерованим стовпцем." - -#: commands/tablecmds.c:12858 +#: commands/tablecmds.c:12868 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "змінити успадкований стовпець \"%s\" не можна" -#: commands/tablecmds.c:12867 +#: commands/tablecmds.c:12877 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "не можна змінити стовпець \"%s\", тому що він є частиною ключа секції відношення \"%s\"" -#: commands/tablecmds.c:12917 +#: commands/tablecmds.c:12927 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "результати речення USING для стовпця \"%s\" не можна автоматично наведено для типу %s" -#: commands/tablecmds.c:12920 +#: commands/tablecmds.c:12930 #, c-format msgid "You might need to add an explicit cast." msgstr "Можливо, необхідно додати явне приведення типу." -#: commands/tablecmds.c:12924 +#: commands/tablecmds.c:12934 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "стовпець \"%s\" не можна автоматично привести до типу %s" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12928 +#: commands/tablecmds.c:12938 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Можливо, необхідно вказати \"USING %s::%s\"." -#: commands/tablecmds.c:13027 +#: commands/tablecmds.c:13037 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "не можна змінити успадкований стовпець \"%s\" відношення \"%s\"" -#: commands/tablecmds.c:13056 +#: commands/tablecmds.c:13066 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "Вираз USING містить посилання на тип усього рядка таблиці." -#: commands/tablecmds.c:13067 +#: commands/tablecmds.c:13077 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "тип успадкованого стовпця \"%s\" повинен бути змінений і в дочірніх таблицях" -#: commands/tablecmds.c:13192 +#: commands/tablecmds.c:13202 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "не можна змінити тип стовпця \"%s\" двічі" -#: commands/tablecmds.c:13230 +#: commands/tablecmds.c:13240 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "вираз генерації для стовпця \"%s\" не можна автоматично привести до типу %s" -#: commands/tablecmds.c:13235 +#: commands/tablecmds.c:13245 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "значення за замовчуванням для стовпця \"%s\" не можна автоматично привести до типу %s" -#: commands/tablecmds.c:13539 +#: commands/tablecmds.c:13549 #, c-format msgid "cannot alter type of a column used by a function or procedure" msgstr "неможливо змінити тип стовпця, який використовується функцією або процедурою" -#: commands/tablecmds.c:13540 commands/tablecmds.c:13555 -#: commands/tablecmds.c:13575 commands/tablecmds.c:13594 -#: commands/tablecmds.c:13653 +#: commands/tablecmds.c:13550 commands/tablecmds.c:13565 +#: commands/tablecmds.c:13585 commands/tablecmds.c:13604 +#: commands/tablecmds.c:13663 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s залежить від стовпця \"%s\"" -#: commands/tablecmds.c:13554 +#: commands/tablecmds.c:13564 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "змінити тип стовпця, залученого в поданні або правилі, не можна" -#: commands/tablecmds.c:13574 +#: commands/tablecmds.c:13584 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "неможливо змінити тип стовпця, що використовується у визначенні тригеру" -#: commands/tablecmds.c:13593 +#: commands/tablecmds.c:13603 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "неможливо змінити тип стовпця, що використовується у визначенні політики" -#: commands/tablecmds.c:13624 +#: commands/tablecmds.c:13634 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "змінити тип стовпця, який використовується згенерованим стовпцем, не можна" -#: commands/tablecmds.c:13625 +#: commands/tablecmds.c:13635 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Стовпець \"%s\" використовується згенерованим стовпцем \"%s\"." -#: commands/tablecmds.c:13652 +#: commands/tablecmds.c:13662 #, c-format msgid "cannot alter type of a column used by a publication WHERE clause" msgstr "неможливо змінити тип стовпця, який використовується публікацією в реченні WHERE" -#: commands/tablecmds.c:14487 commands/tablecmds.c:14499 +#: commands/tablecmds.c:14520 commands/tablecmds.c:14532 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "неможливо змінити власника індексу \"%s\"" -#: commands/tablecmds.c:14489 commands/tablecmds.c:14501 +#: commands/tablecmds.c:14522 commands/tablecmds.c:14534 #, c-format msgid "Change the ownership of the index's table instead." msgstr "Замість цього змініть власника таблиці, що містить цей індекс." -#: commands/tablecmds.c:14515 +#: commands/tablecmds.c:14548 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "неможливо змінити власника послідовності \"%s\"" -#: commands/tablecmds.c:14540 +#: commands/tablecmds.c:14573 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "неможливо змінити власника відношення \"%s\"" -#: commands/tablecmds.c:15007 +#: commands/tablecmds.c:15040 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "в одній інструкції не може бути декілька підкоманд SET TABLESPACE" -#: commands/tablecmds.c:15084 +#: commands/tablecmds.c:15117 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "неможливо встановити параметри відношення \"%s\"" -#: commands/tablecmds.c:15118 commands/view.c:440 +#: commands/tablecmds.c:15151 commands/view.c:440 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION підтримується лише з автооновлюваними поданнями" -#: commands/tablecmds.c:15369 +#: commands/tablecmds.c:15402 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "у табличних просторах існують лише таблиці, індекси та матеріалізовані подання" -#: commands/tablecmds.c:15381 +#: commands/tablecmds.c:15414 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "переміщувати відношення у або з табличного простору pg_global не можна" -#: commands/tablecmds.c:15473 +#: commands/tablecmds.c:15506 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "переривання через блокування відношення \"%s.%s\" неможливе" -#: commands/tablecmds.c:15489 +#: commands/tablecmds.c:15522 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr " табличному просторі \"%s\" не знайдені відповідні відносини" -#: commands/tablecmds.c:15611 +#: commands/tablecmds.c:15644 #, c-format msgid "cannot change inheritance of typed table" msgstr "змінити успадкування типізованої таблиці не можна" -#: commands/tablecmds.c:15616 commands/tablecmds.c:16116 +#: commands/tablecmds.c:15649 commands/tablecmds.c:16149 #, c-format msgid "cannot change inheritance of a partition" msgstr "змінити успадкування секції не можна" -#: commands/tablecmds.c:15621 +#: commands/tablecmds.c:15654 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "змінити успадкування секціонованої таблиці не можна" -#: commands/tablecmds.c:15667 +#: commands/tablecmds.c:15700 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "успадкування для тимчасового відношення іншого сеансу не можливе" -#: commands/tablecmds.c:15680 +#: commands/tablecmds.c:15713 #, c-format msgid "cannot inherit from a partition" msgstr "успадкування від секції неможливе" -#: commands/tablecmds.c:15702 commands/tablecmds.c:18560 +#: commands/tablecmds.c:15735 commands/tablecmds.c:18603 #, c-format msgid "circular inheritance not allowed" msgstr "циклічне успадкування неприпустиме" -#: commands/tablecmds.c:15703 commands/tablecmds.c:18561 +#: commands/tablecmds.c:15736 commands/tablecmds.c:18604 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" вже є нащадком \"%s\"." -#: commands/tablecmds.c:15716 +#: commands/tablecmds.c:15749 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "тригер \"%s\" не дозволяє таблиці \"%s\" стати нащадком успадкування" -#: commands/tablecmds.c:15718 +#: commands/tablecmds.c:15751 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "Тригери ROW з перехідними таблицями не підтримуються в ієрархіях успадкування." -#: commands/tablecmds.c:15907 +#: commands/tablecmds.c:15940 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "стовпець \"%s\" в дочірній таблиці має бути позначений як NOT NULL" -#: commands/tablecmds.c:15916 +#: commands/tablecmds.c:15949 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "стовпець \"%s\" у дочірній таблиці повинен бути згенерованим стовпцем" -#: commands/tablecmds.c:15920 +#: commands/tablecmds.c:15953 #, c-format msgid "column \"%s\" in child table must not be a generated column" msgstr "стовпець \"%s\" у дочірній таблиці повинен бути не генерованим стовпцем" -#: commands/tablecmds.c:15958 +#: commands/tablecmds.c:15991 #, c-format msgid "child table is missing column \"%s\"" msgstr "у дочірній таблиці не вистачає стовпця \"%s\"" -#: commands/tablecmds.c:16039 +#: commands/tablecmds.c:16072 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "дочірня таблиця \"%s\" має інше визначення перевірочного обмеження \"%s\"" -#: commands/tablecmds.c:16046 +#: commands/tablecmds.c:16079 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "обмеження \"%s\" конфліктує з неуспадкованим обмеженням дочірньої таблиці \"%s\"" -#: commands/tablecmds.c:16056 +#: commands/tablecmds.c:16089 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "обмеження \"%s\" конфліктує з NOT VALID обмеженням дочірньої таблиці \"%s\"" -#: commands/tablecmds.c:16094 +#: commands/tablecmds.c:16127 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "у дочірній таблиці не вистачає обмеження \"%s\"" -#: commands/tablecmds.c:16180 +#: commands/tablecmds.c:16213 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "розділ \"%s\" вже очікує відключення в секціонованій таблиці \"%s.%s\"" -#: commands/tablecmds.c:16209 commands/tablecmds.c:16255 +#: commands/tablecmds.c:16242 commands/tablecmds.c:16288 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "відношення \"%s\" не є секцією відношення \"%s\"" -#: commands/tablecmds.c:16261 +#: commands/tablecmds.c:16294 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "відношення \"%s\" не є предком відношення \"%s\"" -#: commands/tablecmds.c:16488 +#: commands/tablecmds.c:16521 #, c-format msgid "typed tables cannot inherit" msgstr "типізовані таблиці не можуть успадковуватись" -#: commands/tablecmds.c:16518 +#: commands/tablecmds.c:16551 #, c-format msgid "table is missing column \"%s\"" msgstr "у таблиці не вистачає стовпця \"%s\"" -#: commands/tablecmds.c:16529 +#: commands/tablecmds.c:16562 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "таблиця містить стовпець \"%s\", а тип потребує \"%s\"" -#: commands/tablecmds.c:16538 +#: commands/tablecmds.c:16571 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "таблиця \"%s\" містить стовпець \"%s\" іншого типу" -#: commands/tablecmds.c:16552 +#: commands/tablecmds.c:16585 #, c-format msgid "table has extra column \"%s\"" msgstr "таблиця містить зайвий стовпець \"%s\"" -#: commands/tablecmds.c:16604 +#: commands/tablecmds.c:16637 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\" - не типізована таблиця" -#: commands/tablecmds.c:16778 +#: commands/tablecmds.c:16811 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "для ідентифікації репліки не можна використати неунікальний індекс \"%s\"" -#: commands/tablecmds.c:16784 +#: commands/tablecmds.c:16817 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "для ідентифікації репліки не можна використати небезпосередній індекс \"%s\"" -#: commands/tablecmds.c:16790 +#: commands/tablecmds.c:16823 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "для ідентифікації репліки не можна використати індекс з виразом \"%s\"" -#: commands/tablecmds.c:16796 +#: commands/tablecmds.c:16829 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "для ідентифікації репліки не можна використати частковий індекс \"%s\"" -#: commands/tablecmds.c:16813 +#: commands/tablecmds.c:16846 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "індекс \"%s\" не можна використати як ідентифікацію репліки, тому що стовпець %d - системний стовпець" -#: commands/tablecmds.c:16820 +#: commands/tablecmds.c:16853 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "індекс \"%s\" не можна використати як ідентифікацію репліки, тому що стовпець \"%s\" допускає Null" -#: commands/tablecmds.c:17072 +#: commands/tablecmds.c:17105 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "змінити стан журналювання таблиці \"%s\" не можна, тому що вона тимчасова" -#: commands/tablecmds.c:17096 +#: commands/tablecmds.c:17129 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "таблицю \"%s\" не можна змінити на нежурнальовану, тому що вона є частиною публікації" -#: commands/tablecmds.c:17098 +#: commands/tablecmds.c:17131 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Нежурнальовані відношення не підтримують реплікацію." -#: commands/tablecmds.c:17143 +#: commands/tablecmds.c:17176 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "не вдалося змінити таблицю \"%s\" на журнальовану, тому що вона посилається на нежурнальовану таблицю \"%s\"" -#: commands/tablecmds.c:17153 +#: commands/tablecmds.c:17186 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "не вдалося змінити таблицю \"%s\" на нежурнальовану, тому що вона посилається на журнальовану таблицю \"%s\"" -#: commands/tablecmds.c:17211 +#: commands/tablecmds.c:17244 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "перемістити послідовність з власником в іншу схему не можна" -#: commands/tablecmds.c:17319 +#: commands/tablecmds.c:17352 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "відношення \"%s\" вже існує в схемі \"%s\"" -#: commands/tablecmds.c:17744 +#: commands/tablecmds.c:17777 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\" не є таблицею або матеріалізованим поданням" -#: commands/tablecmds.c:17897 +#: commands/tablecmds.c:17930 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\" - не складений тип" -#: commands/tablecmds.c:17927 +#: commands/tablecmds.c:17960 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "змінити схему індексу \"%s\" не можна" -#: commands/tablecmds.c:17929 commands/tablecmds.c:17943 +#: commands/tablecmds.c:17962 commands/tablecmds.c:17976 #, c-format msgid "Change the schema of the table instead." msgstr "Замість цього змініть схему таблиці." -#: commands/tablecmds.c:17933 +#: commands/tablecmds.c:17966 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "змінити схему складеного типу \"%s\" не можна" -#: commands/tablecmds.c:17941 +#: commands/tablecmds.c:17974 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "змінити схему таблиці TOAST \"%s\" не можна" -#: commands/tablecmds.c:17973 +#: commands/tablecmds.c:18006 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "стратегія секціонування \"по списку\" не може використовувати декілька стовпців" -#: commands/tablecmds.c:18039 +#: commands/tablecmds.c:18072 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "стовпець \"%s\", згаданий в ключі секціонування, не існує" -#: commands/tablecmds.c:18047 +#: commands/tablecmds.c:18080 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "системний стовпець \"%s\" не можна використати в ключі секціонування" -#: commands/tablecmds.c:18058 commands/tablecmds.c:18148 +#: commands/tablecmds.c:18091 commands/tablecmds.c:18170 #, c-format msgid "cannot use generated column in partition key" msgstr "використати згенерований стовпець в ключі секції, не можна" -#: commands/tablecmds.c:18131 +#: commands/tablecmds.c:18160 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "вирази ключа секціонування не можуть містити посилання на системний стовпець" -#: commands/tablecmds.c:18178 +#: commands/tablecmds.c:18221 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "функції у виразі ключа секціонування повинні бути позначені як IMMUTABLE" -#: commands/tablecmds.c:18187 +#: commands/tablecmds.c:18230 #, c-format msgid "cannot use constant expression as partition key" msgstr "не можна використати константий вираз як ключ секціонування" -#: commands/tablecmds.c:18208 +#: commands/tablecmds.c:18251 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "не вдалося визначити, яке правило сортування використати для виразу секціонування" -#: commands/tablecmds.c:18243 +#: commands/tablecmds.c:18286 #, c-format msgid "You must specify a hash operator class or define a default hash operator class for the data type." msgstr "Ви повинні вказати клас операторів гешування або визначити клас операторів гешування за замовчуванням для цього типу даних." -#: commands/tablecmds.c:18249 +#: commands/tablecmds.c:18292 #, c-format msgid "You must specify a btree operator class or define a default btree operator class for the data type." msgstr "Ви повинні вказати клас операторів (btree) або визначити клас операторів (btree) за замовчуванням для цього типу даних." -#: commands/tablecmds.c:18500 +#: commands/tablecmds.c:18543 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\" вже є секцією" -#: commands/tablecmds.c:18506 +#: commands/tablecmds.c:18549 #, c-format msgid "cannot attach a typed table as partition" msgstr "неможливо підключити типізовану таблицю в якості секції" -#: commands/tablecmds.c:18522 +#: commands/tablecmds.c:18565 #, c-format msgid "cannot attach inheritance child as partition" msgstr "неможливо підключити нащадка успадкування в якості секції" -#: commands/tablecmds.c:18536 +#: commands/tablecmds.c:18579 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "неможливо підключити предка успадкування в якості секції" -#: commands/tablecmds.c:18570 +#: commands/tablecmds.c:18613 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "неможливо підкючити тимчасове відношення в якості секції постійного відношення \"%s\"" -#: commands/tablecmds.c:18578 +#: commands/tablecmds.c:18621 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "неможливо підключити постійне відношення в якості секції тимчасового відношення \"%s\"" -#: commands/tablecmds.c:18586 +#: commands/tablecmds.c:18629 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "неможливо підключити секцію до тимчасового відношення в іншому сеансі" -#: commands/tablecmds.c:18593 +#: commands/tablecmds.c:18636 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "неможливо підключити тимчасове відношення з іншого сеансу в якості секції" -#: commands/tablecmds.c:18613 +#: commands/tablecmds.c:18656 #, c-format msgid "table \"%s\" being attached contains an identity column \"%s\"" msgstr "таблиця \"%s\", що додається, містить стовпець ідентичності \"%s\"" -#: commands/tablecmds.c:18615 +#: commands/tablecmds.c:18658 #, c-format msgid "The new partition may not contain an identity column." msgstr "Новий розділ може не містити стовпця ідентичності." -#: commands/tablecmds.c:18623 +#: commands/tablecmds.c:18666 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "таблиця \"%s\" містить стовпець \"%s\", відсутній в батьківській \"%s\"" -#: commands/tablecmds.c:18626 +#: commands/tablecmds.c:18669 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "Нова секція може містити лише стовпці, що є у батьківській таблиці." -#: commands/tablecmds.c:18638 +#: commands/tablecmds.c:18681 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "тригер \"%s\" не дозволяє зробити таблицю \"%s\" секцією" -#: commands/tablecmds.c:18640 +#: commands/tablecmds.c:18683 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "Тригери ROW з перехідними таблицями не підтримуються для секцій." -#: commands/tablecmds.c:18816 +#: commands/tablecmds.c:18859 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "не можна підключити зовнішню таблицю \"%s\" в якості секції секціонованої таблиці \"%s\"" -#: commands/tablecmds.c:18819 +#: commands/tablecmds.c:18862 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Секціонована таблиця \"%s\" містить унікальні індекси." -#: commands/tablecmds.c:19141 +#: commands/tablecmds.c:19185 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "не можна одночасно відключити розділи, коли існує розділ за замовчуванням" -#: commands/tablecmds.c:19250 +#: commands/tablecmds.c:19297 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "секціоновану таблицю \"%s\" було видалено одночасно" -#: commands/tablecmds.c:19256 +#: commands/tablecmds.c:19303 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "розділ \"%s\" було видалено паралельно" -#: commands/tablecmds.c:19870 commands/tablecmds.c:19890 -#: commands/tablecmds.c:19911 commands/tablecmds.c:19930 -#: commands/tablecmds.c:19972 +#: commands/tablecmds.c:19925 commands/tablecmds.c:19945 +#: commands/tablecmds.c:19966 commands/tablecmds.c:19985 +#: commands/tablecmds.c:20027 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "неможливо підключити індекс \"%s\" в якості секції індексу \"%s\"" -#: commands/tablecmds.c:19873 +#: commands/tablecmds.c:19928 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Індекс \"%s\" вже підключений до іншого індексу." -#: commands/tablecmds.c:19893 +#: commands/tablecmds.c:19948 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Індекс \"%s\" не є індексом жодної секції таблиці \"%s\"." -#: commands/tablecmds.c:19914 +#: commands/tablecmds.c:19969 #, c-format msgid "The index definitions do not match." msgstr "Визначення індексів не співпадають." -#: commands/tablecmds.c:19933 +#: commands/tablecmds.c:19988 #, c-format msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." msgstr "Індекс \"%s\" належить обмеженню в таблиці \"%s\", але обмеження для індексу \"%s\" не існує." -#: commands/tablecmds.c:19975 +#: commands/tablecmds.c:20030 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "До секції \"%s\" вже підключений інший індекс." -#: commands/tablecmds.c:20211 +#: commands/tablecmds.c:20266 #, c-format msgid "column data type %s does not support compression" msgstr "тип даних стовпця %s не підтримує стискання" -#: commands/tablecmds.c:20218 +#: commands/tablecmds.c:20273 #, c-format msgid "invalid compression method \"%s\"" msgstr "неприпустимий метод стискання \"%s\"" -#: commands/tablecmds.c:20244 +#: commands/tablecmds.c:20299 #, c-format msgid "invalid storage type \"%s\"" msgstr "неприпустимий тип сховища \"%s\"" -#: commands/tablecmds.c:20254 +#: commands/tablecmds.c:20309 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "тип даних стовпця %s може мати тільки сховище PLAIN" @@ -12049,281 +12068,286 @@ msgid "You can remove the directories manually if necessary." msgstr "За потреби ви можете видалити каталоги вручну." -#: commands/trigger.c:225 commands/trigger.c:236 +#: commands/trigger.c:226 commands/trigger.c:237 #, c-format msgid "\"%s\" is a table" msgstr "\"%s\" - таблиця" -#: commands/trigger.c:227 commands/trigger.c:238 +#: commands/trigger.c:228 commands/trigger.c:239 #, c-format msgid "Tables cannot have INSTEAD OF triggers." msgstr "Таблиці не можуть мати тригери INSTEAD OF." -#: commands/trigger.c:259 +#: commands/trigger.c:260 #, c-format msgid "\"%s\" is a partitioned table" msgstr "\"%s\" є секційною таблицею" -#: commands/trigger.c:261 +#: commands/trigger.c:262 #, c-format msgid "ROW triggers with transition tables are not supported on partitioned tables." msgstr "Тригери ROW з перехідними таблицями не підтримуються для секційованих таблиць." -#: commands/trigger.c:273 commands/trigger.c:280 commands/trigger.c:444 +#: commands/trigger.c:274 commands/trigger.c:281 commands/trigger.c:445 #, c-format msgid "\"%s\" is a view" msgstr "\"%s\" - подання" -#: commands/trigger.c:275 +#: commands/trigger.c:276 #, c-format msgid "Views cannot have row-level BEFORE or AFTER triggers." msgstr "Подання не можуть мати рядкові тригери BEFORE або AFTER." -#: commands/trigger.c:282 +#: commands/trigger.c:283 #, c-format msgid "Views cannot have TRUNCATE triggers." msgstr "Подання не можуть мати тригери TRUNCATE." -#: commands/trigger.c:290 commands/trigger.c:302 commands/trigger.c:437 +#: commands/trigger.c:291 commands/trigger.c:303 commands/trigger.c:438 #, c-format msgid "\"%s\" is a foreign table" msgstr "\"%s\" - зовнішня таблиця" -#: commands/trigger.c:292 +#: commands/trigger.c:293 #, c-format msgid "Foreign tables cannot have INSTEAD OF triggers." msgstr "Зовнішні таблиці не можуть мати тригери INSTEAD OF." -#: commands/trigger.c:304 +#: commands/trigger.c:305 #, c-format msgid "Foreign tables cannot have constraint triggers." msgstr "Зовнішні таблиці не можуть мати обмежувальні тригери." -#: commands/trigger.c:309 commands/trigger.c:1325 commands/trigger.c:1432 +#: commands/trigger.c:310 commands/trigger.c:1326 commands/trigger.c:1433 #, c-format msgid "relation \"%s\" cannot have triggers" msgstr "відношення \"%s\" не може мати тригери" -#: commands/trigger.c:380 +#: commands/trigger.c:381 #, c-format msgid "TRUNCATE FOR EACH ROW triggers are not supported" msgstr "Тригери TRUNCATE FOR EACH ROW не підтримуються" -#: commands/trigger.c:388 +#: commands/trigger.c:389 #, c-format msgid "INSTEAD OF triggers must be FOR EACH ROW" msgstr "Тригери INSTEAD OF повинні мати тип FOR EACH ROW" -#: commands/trigger.c:392 +#: commands/trigger.c:393 #, c-format msgid "INSTEAD OF triggers cannot have WHEN conditions" msgstr "Тригери INSTEAD OF не можуть мати умови WHEN" -#: commands/trigger.c:396 +#: commands/trigger.c:397 #, c-format msgid "INSTEAD OF triggers cannot have column lists" msgstr "Тригери INSTEAD OF не можуть мати список стовпців" -#: commands/trigger.c:425 +#: commands/trigger.c:426 #, c-format msgid "ROW variable naming in the REFERENCING clause is not supported" msgstr "Змінна іменування ROW в реченні REFERENCING не підтримується" -#: commands/trigger.c:426 +#: commands/trigger.c:427 #, c-format msgid "Use OLD TABLE or NEW TABLE for naming transition tables." msgstr "Використайте OLD TABLE або NEW TABLE для іменування перехідних таблиць." -#: commands/trigger.c:439 +#: commands/trigger.c:440 #, c-format msgid "Triggers on foreign tables cannot have transition tables." msgstr "Тригери зовнішніх таблиць не можуть використовувати перехідні таблиці." -#: commands/trigger.c:446 +#: commands/trigger.c:447 #, c-format msgid "Triggers on views cannot have transition tables." msgstr "Тригери подань не можуть використовувати перехідні таблиці." -#: commands/trigger.c:462 +#: commands/trigger.c:463 #, c-format msgid "ROW triggers with transition tables are not supported on partitions" msgstr "Тригери ROW з перехідними таблицями для секцій не підтримуються" -#: commands/trigger.c:466 +#: commands/trigger.c:467 #, c-format msgid "ROW triggers with transition tables are not supported on inheritance children" msgstr "Тригери ROW з перехідними таблицями для нащадків успадкування не підтримуються" -#: commands/trigger.c:472 +#: commands/trigger.c:473 #, c-format msgid "transition table name can only be specified for an AFTER trigger" msgstr "ім'я перехідної таблиці можна задати лише для тригеру AFTER" -#: commands/trigger.c:477 +#: commands/trigger.c:478 #, c-format msgid "TRUNCATE triggers with transition tables are not supported" msgstr "Тригери TRUNCATE з перехідними таблицями не підтримуються" -#: commands/trigger.c:494 +#: commands/trigger.c:495 #, c-format msgid "transition tables cannot be specified for triggers with more than one event" msgstr "перехідні таблиці не можна задати для тригерів, призначених для кількох подій" -#: commands/trigger.c:505 +#: commands/trigger.c:506 #, c-format msgid "transition tables cannot be specified for triggers with column lists" msgstr "перехідні таблиці не можна задати для тригерів зі списками стовпців" -#: commands/trigger.c:522 +#: commands/trigger.c:523 #, c-format msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger" msgstr "NEW TABLE можна задати лише для тригерів INSERT або UPDATE" -#: commands/trigger.c:527 +#: commands/trigger.c:528 #, c-format msgid "NEW TABLE cannot be specified multiple times" msgstr "NEW TABLE не можна задавати декілька разів" -#: commands/trigger.c:537 +#: commands/trigger.c:538 #, c-format msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger" msgstr "OLD TABLE можна задати лише для тригерів DELETE або UPDATE" -#: commands/trigger.c:542 +#: commands/trigger.c:543 #, c-format msgid "OLD TABLE cannot be specified multiple times" msgstr "OLD TABLE не можна задавати декілька разів" -#: commands/trigger.c:552 +#: commands/trigger.c:553 #, c-format msgid "OLD TABLE name and NEW TABLE name cannot be the same" msgstr "Ім'я OLD TABLE та ім'я NEW TABLE не можуть бути однаковими" -#: commands/trigger.c:616 commands/trigger.c:629 +#: commands/trigger.c:617 commands/trigger.c:630 #, c-format msgid "statement trigger's WHEN condition cannot reference column values" msgstr "в умові WHEN операторного тригера не можна посилатись на значення стовпця" -#: commands/trigger.c:621 +#: commands/trigger.c:622 #, c-format msgid "INSERT trigger's WHEN condition cannot reference OLD values" msgstr "В умові WHEN тригеру INSERT не можна посилатись на значення OLD" -#: commands/trigger.c:634 +#: commands/trigger.c:635 #, c-format msgid "DELETE trigger's WHEN condition cannot reference NEW values" msgstr "В умові WHEN тригера DELETE не можна посилатись на значення NEW" -#: commands/trigger.c:639 +#: commands/trigger.c:640 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns" msgstr "В умові WHEN тригера BEFORE не можна посилатись на системні стовпці NEW" -#: commands/trigger.c:647 commands/trigger.c:655 +#: commands/trigger.c:648 commands/trigger.c:656 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns" msgstr "В умові WHEN тригера BEFORE не можна посилатись на згенеровані стовпці NEW" -#: commands/trigger.c:648 +#: commands/trigger.c:649 #, c-format msgid "A whole-row reference is used and the table contains generated columns." msgstr "Використовується посилання на весь рядок і таблиця містить згенеровані стовпці." -#: commands/trigger.c:763 commands/trigger.c:1607 +#: commands/trigger.c:764 commands/trigger.c:1608 #, c-format msgid "trigger \"%s\" for relation \"%s\" already exists" msgstr "тригер \"%s\" для відношення \"%s\" вже існує" -#: commands/trigger.c:776 +#: commands/trigger.c:777 #, c-format msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger" msgstr "тригер \"%s\" для відношення \"%s\" є зовнішнім або дочірнім тригером" -#: commands/trigger.c:795 +#: commands/trigger.c:796 #, c-format msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger" msgstr "тригер \"%s\" для відношення \"%s\" є зовнішнім тригером" -#: commands/trigger.c:1397 commands/trigger.c:1550 commands/trigger.c:1831 +#: commands/trigger.c:1398 commands/trigger.c:1551 commands/trigger.c:1832 #, c-format msgid "trigger \"%s\" for table \"%s\" does not exist" msgstr "тригер \"%s\" для таблиці \"%s\" не існує" -#: commands/trigger.c:1522 +#: commands/trigger.c:1523 #, c-format msgid "cannot rename trigger \"%s\" on table \"%s\"" msgstr "перейменувати тригер \"%s\" для таблиці \"%s\" не можна" -#: commands/trigger.c:1524 +#: commands/trigger.c:1525 #, c-format msgid "Rename the trigger on the partitioned table \"%s\" instead." msgstr "Замість цього перейменуйте тригер для секціонованої таблиці \"%s\"." -#: commands/trigger.c:1624 +#: commands/trigger.c:1625 #, c-format msgid "renamed trigger \"%s\" on relation \"%s\"" msgstr "перейменовано тригер \"%s\" для відношення \"%s\"" -#: commands/trigger.c:1770 +#: commands/trigger.c:1771 #, c-format msgid "permission denied: \"%s\" is a system trigger" msgstr "немає доступу: \"%s\" - системний тригер" -#: commands/trigger.c:2379 +#: commands/trigger.c:2382 #, c-format msgid "trigger function %u returned null value" msgstr "тригерна функція %u повернула значення null" -#: commands/trigger.c:2439 commands/trigger.c:2657 commands/trigger.c:2910 -#: commands/trigger.c:3263 +#: commands/trigger.c:2442 commands/trigger.c:2669 commands/trigger.c:2959 +#: commands/trigger.c:3349 #, c-format msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "Тригер BEFORE STATEMENT не може повертати значення" -#: commands/trigger.c:2515 +#: commands/trigger.c:2518 #, c-format msgid "moving row to another partition during a BEFORE FOR EACH ROW trigger is not supported" msgstr "переміщення рядка до іншої секції під час тригеру BEFORE FOR EACH ROW не підтримується" -#: commands/trigger.c:2516 +#: commands/trigger.c:2519 #, c-format msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." msgstr "Перед виконанням тригера \"%s\", рядок повинен був бути в секції \"%s.%s\"." -#: commands/trigger.c:3341 executor/nodeModifyTable.c:1541 -#: executor/nodeModifyTable.c:1615 executor/nodeModifyTable.c:2377 -#: executor/nodeModifyTable.c:2468 executor/nodeModifyTable.c:3132 -#: executor/nodeModifyTable.c:3302 +#: commands/trigger.c:2548 commands/trigger.c:2827 commands/trigger.c:3190 +#, c-format +msgid "cannot collect transition tuples from child foreign tables" +msgstr "неможливо зібрати перехідні кортежі з дочірніх сторонніх таблиць" + +#: commands/trigger.c:3428 executor/nodeModifyTable.c:1563 +#: executor/nodeModifyTable.c:1637 executor/nodeModifyTable.c:2400 +#: executor/nodeModifyTable.c:2491 executor/nodeModifyTable.c:3155 +#: executor/nodeModifyTable.c:3347 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "Можливо, для поширення змін в інші рядки слід використати тригер AFTER замість тригера BEFORE." -#: commands/trigger.c:3382 executor/nodeLockRows.c:228 -#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:314 -#: executor/nodeModifyTable.c:1557 executor/nodeModifyTable.c:2394 -#: executor/nodeModifyTable.c:2618 +#: commands/trigger.c:3470 executor/nodeLockRows.c:228 +#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:335 +#: executor/nodeModifyTable.c:1579 executor/nodeModifyTable.c:2417 +#: executor/nodeModifyTable.c:2641 #, c-format msgid "could not serialize access due to concurrent update" msgstr "не вдалося серіалізувати доступ через паралельне оновлення" -#: commands/trigger.c:3390 executor/nodeModifyTable.c:1647 -#: executor/nodeModifyTable.c:2485 executor/nodeModifyTable.c:2642 -#: executor/nodeModifyTable.c:3150 +#: commands/trigger.c:3478 executor/nodeModifyTable.c:1669 +#: executor/nodeModifyTable.c:2508 executor/nodeModifyTable.c:2665 +#: executor/nodeModifyTable.c:3173 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "не вдалося серіалізувати доступ через паралельне видалення" -#: commands/trigger.c:4599 +#: commands/trigger.c:4687 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "не можна виконати відкладений тригер в межах операції з обмеженням по безпеці" -#: commands/trigger.c:5780 +#: commands/trigger.c:5868 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "обмеження \"%s\" не є відкладеним" -#: commands/trigger.c:5803 +#: commands/trigger.c:5891 #, c-format msgid "constraint \"%s\" does not exist" msgstr "обмеження \"%s\" не існує" @@ -12792,7 +12816,7 @@ msgstr "Тільки ролі з атрибутом %s можуть створювати ролі з атрибутом %s." #: commands/user.c:354 commands/user.c:1386 commands/user.c:1393 -#: utils/adt/acl.c:5574 utils/adt/acl.c:5580 gram.y:17310 gram.y:17356 +#: utils/adt/acl.c:5591 utils/adt/acl.c:5597 gram.y:17317 gram.y:17363 #, c-format msgid "role name \"%s\" is reserved" msgstr "ім'я ролі \"%s\" зарезервовано" @@ -12887,8 +12911,8 @@ #: commands/user.c:1135 commands/user.c:1357 commands/variable.c:851 #: commands/variable.c:854 commands/variable.c:971 commands/variable.c:974 -#: utils/adt/acl.c:365 utils/adt/acl.c:385 utils/adt/acl.c:5429 -#: utils/adt/acl.c:5477 utils/adt/acl.c:5505 utils/adt/acl.c:5524 +#: utils/adt/acl.c:382 utils/adt/acl.c:402 utils/adt/acl.c:5446 +#: utils/adt/acl.c:5494 utils/adt/acl.c:5522 utils/adt/acl.c:5541 #: utils/adt/regproc.c:1571 utils/init/miscinit.c:799 #, c-format msgid "role \"%s\" does not exist" @@ -13079,159 +13103,159 @@ msgid "Only roles with privileges of role \"%s\" may revoke privileges granted by this role." msgstr "Тільки ролі з привілеями ролі \"%s\" можуть відкликати привілеї, надані цією роллю." -#: commands/user.c:2491 utils/adt/acl.c:1324 +#: commands/user.c:2491 utils/adt/acl.c:1341 #, c-format msgid "dependent privileges exist" msgstr "залежні права існують" -#: commands/user.c:2492 utils/adt/acl.c:1325 +#: commands/user.c:2492 utils/adt/acl.c:1342 #, c-format msgid "Use CASCADE to revoke them too." msgstr "Використайте CASCADE, щоб відкликати їх." -#: commands/vacuum.c:134 +#: commands/vacuum.c:136 #, c-format msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" msgstr "\"vacuum_buffer_usage_limit\" має бути 0 або між %d та %d kB" -#: commands/vacuum.c:209 +#: commands/vacuum.c:211 #, c-format msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB" msgstr "Параметр BUFFER_USAGE_LIMIT повинен бути 0 або між %d та %d kB" -#: commands/vacuum.c:219 +#: commands/vacuum.c:221 #, c-format msgid "unrecognized ANALYZE option \"%s\"" msgstr "нерозпізнаний параметр ANALYZE \"%s\"" -#: commands/vacuum.c:259 +#: commands/vacuum.c:261 #, c-format msgid "parallel option requires a value between 0 and %d" msgstr "паралельний параметр потребує значення між 0 і %d" -#: commands/vacuum.c:271 +#: commands/vacuum.c:273 #, c-format msgid "parallel workers for vacuum must be between 0 and %d" msgstr "одночасні процеси для очищення повинні бути між 0 і %d" -#: commands/vacuum.c:292 +#: commands/vacuum.c:294 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "нерозпізнаний параметр VACUUM \"%s\"" -#: commands/vacuum.c:318 +#: commands/vacuum.c:320 #, c-format msgid "VACUUM FULL cannot be performed in parallel" msgstr "VACUUM FULL не можна виконати паралельно" -#: commands/vacuum.c:329 +#: commands/vacuum.c:331 #, c-format msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL" msgstr "BUFFER_USAGE_LIMIT не можна задати для VACUUM FULL" -#: commands/vacuum.c:343 +#: commands/vacuum.c:345 #, c-format msgid "ANALYZE option must be specified when a column list is provided" msgstr "Якщо задається список стовпців, необхідно вказати параметр ANALYZE" -#: commands/vacuum.c:355 +#: commands/vacuum.c:357 #, c-format msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL" msgstr "Параметр VACUUM DISABLE_PAGE_SKIPPING не можна використовувати з FULL" -#: commands/vacuum.c:362 +#: commands/vacuum.c:364 #, c-format msgid "PROCESS_TOAST required with VACUUM FULL" msgstr "PROCESS_TOAST потребується з VACUUM FULL" -#: commands/vacuum.c:371 +#: commands/vacuum.c:373 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables" msgstr "ONLY_DATABASE_STATS не можна вказувати зі списком таблиць" -#: commands/vacuum.c:380 +#: commands/vacuum.c:382 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" msgstr "ONLY_DATABASE_STATS не можна вказувати з іншими опціями VACUUUM" -#: commands/vacuum.c:515 +#: commands/vacuum.c:517 #, c-format msgid "%s cannot be executed from VACUUM or ANALYZE" msgstr "%s не можна виконати під час VACUUM або ANALYZE" -#: commands/vacuum.c:730 +#: commands/vacuum.c:742 #, c-format msgid "permission denied to vacuum \"%s\", skipping it" msgstr "немає дозволу для очистки\"%s\", пропускаємо його" -#: commands/vacuum.c:743 +#: commands/vacuum.c:755 #, c-format msgid "permission denied to analyze \"%s\", skipping it" msgstr "відмовлено в дозволі на аналіз \"%s\", пропуск" -#: commands/vacuum.c:821 commands/vacuum.c:918 +#: commands/vacuum.c:833 commands/vacuum.c:930 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "очистка \"%s\" пропускається --- блокування недоступне" -#: commands/vacuum.c:826 +#: commands/vacuum.c:838 #, c-format msgid "skipping vacuum of \"%s\" --- relation no longer exists" msgstr "очистка \"%s\" пропускається --- це відношення більше не існує" -#: commands/vacuum.c:842 commands/vacuum.c:923 +#: commands/vacuum.c:854 commands/vacuum.c:935 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "пропуск аналізу об'єкта \"%s\" --- блокування недоступне" -#: commands/vacuum.c:847 +#: commands/vacuum.c:859 #, c-format msgid "skipping analyze of \"%s\" --- relation no longer exists" msgstr "пропуск аналізу об'єкта\"%s\" --- відношення більше не існує" -#: commands/vacuum.c:1139 +#: commands/vacuum.c:1151 #, c-format msgid "cutoff for removing and freezing tuples is far in the past" msgstr "відсікання для видалення та заморожування кортежів залишилося далеко в минулому" -#: commands/vacuum.c:1140 commands/vacuum.c:1145 +#: commands/vacuum.c:1152 commands/vacuum.c:1157 #, c-format msgid "Close open transactions soon to avoid wraparound problems.\n" "You might also need to commit or roll back old prepared transactions, or drop stale replication slots." msgstr "Завершіть відкриті транзакції якнайшвидше, щоб уникнути проблеми зациклення.\n" "Можливо, вам також доведеться затвердити або відкотити старі підготовленні транзакції, або видалити застарілі слоти реплікації." -#: commands/vacuum.c:1144 +#: commands/vacuum.c:1156 #, c-format msgid "cutoff for freezing multixacts is far in the past" msgstr "відсікання для заморожування мультитранзакцій залишилося далеко в минулому" -#: commands/vacuum.c:1900 +#: commands/vacuum.c:1912 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "деякі бази даних не очищалися протягом більш ніж 2 мільярдів транзакцій" -#: commands/vacuum.c:1901 +#: commands/vacuum.c:1913 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "Можливо, ви вже втратили дані в результаті зациклення транзакцій." -#: commands/vacuum.c:2080 +#: commands/vacuum.c:2105 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "пропускається \"%s\" --- очищати не таблиці або спеціальні системні таблиці не можна" -#: commands/vacuum.c:2512 +#: commands/vacuum.c:2552 #, c-format msgid "scanned index \"%s\" to remove %lld row versions" msgstr "просканований індекс \"%s\", видалено версій рядків %lld" -#: commands/vacuum.c:2531 +#: commands/vacuum.c:2571 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "індекс \"%s\" наразі містить %.0f версій рядків у %u сторінках" -#: commands/vacuum.c:2535 +#: commands/vacuum.c:2575 #, c-format msgid "%.0f index row versions were removed.\n" "%u index pages were newly deleted.\n" @@ -13253,7 +13277,7 @@ #, c-format msgid "launched %d parallel vacuum worker for index cleanup (planned: %d)" msgid_plural "launched %d parallel vacuum workers for index cleanup (planned: %d)" -msgstr[0] "запущений %d паралельний виконавець очистки для очищення індексу (заплановано: %d)" +msgstr[0] "запущено %d паралельний виконавець очистки для очищення індексу (заплановано: %d)" msgstr[1] "запущено %d паралельних виконавців очистки для очищення індексу (заплановано: %d)" msgstr[2] "запущено %d паралельних виконавців очистки для очищення індексу (заплановано: %d)" msgstr[3] "запущено %d паралельних виконавців очистки для очищення індексу (заплановано: %d)" @@ -13485,31 +13509,31 @@ msgstr "не знайдено значення для параметру %d" #: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655 -#: executor/execExprInterp.c:4852 executor/execExprInterp.c:4869 -#: executor/execExprInterp.c:4968 executor/nodeModifyTable.c:203 -#: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231 -#: executor/nodeModifyTable.c:239 +#: executor/execExprInterp.c:4851 executor/execExprInterp.c:4868 +#: executor/execExprInterp.c:4967 executor/nodeModifyTable.c:204 +#: executor/nodeModifyTable.c:223 executor/nodeModifyTable.c:240 +#: executor/nodeModifyTable.c:250 executor/nodeModifyTable.c:260 #, c-format msgid "table row type and query-specified row type do not match" msgstr "тип рядка таблиці відрізняється від типу рядка-результату запиту" -#: executor/execExpr.c:643 executor/nodeModifyTable.c:204 +#: executor/execExpr.c:643 executor/nodeModifyTable.c:205 #, c-format msgid "Query has too many columns." msgstr "Запит повертає дуже багато стовпців." -#: executor/execExpr.c:650 executor/nodeModifyTable.c:232 +#: executor/execExpr.c:650 executor/nodeModifyTable.c:224 #, c-format msgid "Query provides a value for a dropped column at ordinal position %d." msgstr "Запит надає значення для видаленого стовпця з порядковим номером %d." -#: executor/execExpr.c:656 executor/execExprInterp.c:4870 -#: executor/nodeModifyTable.c:215 +#: executor/execExpr.c:656 executor/execExprInterp.c:4869 +#: executor/nodeModifyTable.c:251 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "Таблиця має тип %s у порядковому розташуванні %d, але запит очікує %s." -#: executor/execExpr.c:1104 parser/parse_agg.c:838 +#: executor/execExpr.c:1104 parser/parse_agg.c:891 #, c-format msgid "window function calls cannot be nested" msgstr "виклики віконних функцій не можуть бути вкладеними" @@ -13648,7 +13672,7 @@ msgid "could not coerce %s expression (%s) to the RETURNING type" msgstr "не вдалося привести %s вираз (%s) до типу RETURNING" -#: executor/execExprInterp.c:4853 +#: executor/execExprInterp.c:4852 #, c-format msgid "Table row contains %d attribute, but query expects %d." msgid_plural "Table row contains %d attributes, but query expects %d." @@ -13657,7 +13681,7 @@ msgstr[2] "Рядок таблиці містить %d атрибутів, але запит очікував %d." msgstr[3] "Рядок таблиці містить %d атрибутів, але запит очікував %d." -#: executor/execExprInterp.c:4969 executor/execSRF.c:977 +#: executor/execExprInterp.c:4968 executor/execSRF.c:977 #, c-format msgid "Physical storage mismatch on dropped attribute at ordinal position %d." msgstr "Невідповідність параметрів фізичного зберігання видаленого атрибуту %d." @@ -13697,139 +13721,139 @@ msgid "Key conflicts with existing key." msgstr "Ключ конфліктує з існуючим ключем." -#: executor/execMain.c:1039 +#: executor/execMain.c:1057 #, c-format msgid "cannot change sequence \"%s\"" msgstr "послідовність \"%s\" не можна змінити" -#: executor/execMain.c:1045 +#: executor/execMain.c:1063 #, c-format msgid "cannot change TOAST relation \"%s\"" msgstr "TOAST-відношення \"%s\" не можна змінити" -#: executor/execMain.c:1064 +#: executor/execMain.c:1082 #, c-format msgid "cannot change materialized view \"%s\"" msgstr "змінити матеріалізоване подання \"%s\" не можна" -#: executor/execMain.c:1076 +#: executor/execMain.c:1094 #, c-format msgid "cannot insert into foreign table \"%s\"" msgstr "вставляти дані в зовнішню таблицю \"%s\" не можна" -#: executor/execMain.c:1082 +#: executor/execMain.c:1100 #, c-format msgid "foreign table \"%s\" does not allow inserts" msgstr "зовнішня таблиця \"%s\" не допускає додавання даних" -#: executor/execMain.c:1089 +#: executor/execMain.c:1107 #, c-format msgid "cannot update foreign table \"%s\"" msgstr "оновити зовнішню таблицю \"%s\" не можна" -#: executor/execMain.c:1095 +#: executor/execMain.c:1113 #, c-format msgid "foreign table \"%s\" does not allow updates" msgstr "зовнішня таблиця \"%s\" не дозволяє оновлення" -#: executor/execMain.c:1102 +#: executor/execMain.c:1120 #, c-format msgid "cannot delete from foreign table \"%s\"" msgstr "видаляти дані з зовнішньої таблиці \"%s\" не можна" -#: executor/execMain.c:1108 +#: executor/execMain.c:1126 #, c-format msgid "foreign table \"%s\" does not allow deletes" msgstr "зовнішня таблиця \"%s\" не дозволяє видалення даних" -#: executor/execMain.c:1119 +#: executor/execMain.c:1137 #, c-format msgid "cannot change relation \"%s\"" msgstr "відношення \"%s\" не можна змінити" -#: executor/execMain.c:1146 +#: executor/execMain.c:1176 #, c-format msgid "cannot lock rows in sequence \"%s\"" msgstr "блокувати рядки в послідовності \"%s\" не можна" -#: executor/execMain.c:1153 +#: executor/execMain.c:1183 #, c-format msgid "cannot lock rows in TOAST relation \"%s\"" msgstr "блокувати рядки в TOAST-відношенні \"%s\" не можна" -#: executor/execMain.c:1160 +#: executor/execMain.c:1190 #, c-format msgid "cannot lock rows in view \"%s\"" msgstr "блокувати рядки в поданні \"%s\" не можна" -#: executor/execMain.c:1168 +#: executor/execMain.c:1198 #, c-format msgid "cannot lock rows in materialized view \"%s\"" msgstr "блокувати рядки в матеріалізованому поданні \"%s\" не можна" -#: executor/execMain.c:1177 executor/execMain.c:2689 +#: executor/execMain.c:1207 executor/execMain.c:2729 #: executor/nodeLockRows.c:135 #, c-format msgid "cannot lock rows in foreign table \"%s\"" msgstr "блокувати рядки в зовнішній таблиці \"%s\" не можна" -#: executor/execMain.c:1183 +#: executor/execMain.c:1213 #, c-format msgid "cannot lock rows in relation \"%s\"" msgstr "блокувати рядки у відношенні \"%s\" не можна" -#: executor/execMain.c:1901 +#: executor/execMain.c:1941 #, c-format msgid "new row for relation \"%s\" violates partition constraint" msgstr "новий рядок для відношення \"%s\" порушує обмеження секції" -#: executor/execMain.c:1903 executor/execMain.c:1987 executor/execMain.c:2038 -#: executor/execMain.c:2148 +#: executor/execMain.c:1943 executor/execMain.c:2027 executor/execMain.c:2078 +#: executor/execMain.c:2188 #, c-format msgid "Failing row contains %s." msgstr "Помилковий рядок містить %s." -#: executor/execMain.c:1984 +#: executor/execMain.c:2024 #, c-format msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint" msgstr "null значення в стовпці \"%s\" відношення \"%s\" порушує not-null обмеження" -#: executor/execMain.c:2036 +#: executor/execMain.c:2076 #, c-format msgid "new row for relation \"%s\" violates check constraint \"%s\"" msgstr "новий рядок для відношення \"%s\" порушує перевірне обмеження перевірку \"%s\"" -#: executor/execMain.c:2146 +#: executor/execMain.c:2186 #, c-format msgid "new row violates check option for view \"%s\"" msgstr "новий рядок порушує параметр перевірки для подання \"%s\"" -#: executor/execMain.c:2156 +#: executor/execMain.c:2196 #, c-format msgid "new row violates row-level security policy \"%s\" for table \"%s\"" msgstr "новий рядок порушує політику захисту на рівні рядків \"%s\" для таблиці \"%s\"" -#: executor/execMain.c:2161 +#: executor/execMain.c:2201 #, c-format msgid "new row violates row-level security policy for table \"%s\"" msgstr "новий рядок порушує політику захисту на рівні рядків для таблиці \"%s\"" -#: executor/execMain.c:2169 +#: executor/execMain.c:2209 #, c-format msgid "target row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "цільовий рядок порушує політику захисту на рівні рядків \"%s\" (вираз USING) для таблиці \"%s\"" -#: executor/execMain.c:2174 +#: executor/execMain.c:2214 #, c-format msgid "target row violates row-level security policy (USING expression) for table \"%s\"" msgstr "цільовий рядок порушує політику захисту на рівні рядків (вираз USING) для таблиці \"%s\"" -#: executor/execMain.c:2181 +#: executor/execMain.c:2221 #, c-format msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "новий рядок порушує політику захисту на рівні рядків \"%s\" (вираз USING) для таблиці \"%s\"" -#: executor/execMain.c:2186 +#: executor/execMain.c:2226 #, c-format msgid "new row violates row-level security policy (USING expression) for table \"%s\"" msgstr "новий рядок порушує політику захисту на рівні рядків (вираз USING) для таблиці \"%s\"" @@ -13859,7 +13883,7 @@ msgid "concurrent delete, retrying" msgstr "паралельне видалення, триває повторна спроба" -#: executor/execReplication.c:352 parser/parse_cte.c:302 +#: executor/execReplication.c:352 parser/parse_cte.c:303 #: parser/parse_oper.c:221 utils/adt/array_userfuncs.c:1334 #: utils/adt/array_userfuncs.c:1477 utils/adt/arrayfuncs.c:3852 #: utils/adt/arrayfuncs.c:4407 utils/adt/arrayfuncs.c:6428 @@ -14067,7 +14091,7 @@ msgid "aggregate %u needs to have compatible input type and transition type" msgstr "агрегатна функція %u повинна мати сумісні тип введення і тип переходу" -#: executor/nodeAgg.c:3966 parser/parse_agg.c:680 parser/parse_agg.c:708 +#: executor/nodeAgg.c:3966 parser/parse_agg.c:687 parser/parse_agg.c:730 #, c-format msgid "aggregate function calls cannot be nested" msgstr "виклики агрегатних функцій не можуть бути вкладеними" @@ -14107,64 +14131,69 @@ msgid "FULL JOIN is only supported with merge-joinable join conditions" msgstr "FULL JOIN підтримується лише з умовами, які допускають з'єднання злиттям" -#: executor/nodeModifyTable.c:240 +#: executor/nodeModifyTable.c:241 +#, c-format +msgid "Query provides a value for a generated column at ordinal position %d." +msgstr "Запит надає значення для згенерованого стовпця з порядковим номером %d." + +#: executor/nodeModifyTable.c:261 #, c-format msgid "Query has too few columns." msgstr "Запит повертає дуже мало стовпців." -#: executor/nodeModifyTable.c:1540 executor/nodeModifyTable.c:1614 +#: executor/nodeModifyTable.c:1562 executor/nodeModifyTable.c:1636 #, c-format msgid "tuple to be deleted was already modified by an operation triggered by the current command" msgstr "кортеж, який підлягає видаленню, вже змінений в операції, яка викликана поточною командою" -#: executor/nodeModifyTable.c:1769 +#: executor/nodeModifyTable.c:1791 #, c-format msgid "invalid ON UPDATE specification" msgstr "неприпустима специфікація ON UPDATE" -#: executor/nodeModifyTable.c:1770 +#: executor/nodeModifyTable.c:1792 #, c-format msgid "The result tuple would appear in a different partition than the original tuple." msgstr "Результуючий кортеж з'явиться в іншій секції в порівнянні з оригінальним кортежем." -#: executor/nodeModifyTable.c:2226 +#: executor/nodeModifyTable.c:2249 #, c-format msgid "cannot move tuple across partitions when a non-root ancestor of the source partition is directly referenced in a foreign key" msgstr "не можна пересувати кортеж між різними партиціями, коли не кореневий предок секції джерела безпосередньо посилається на зовнішній ключ" -#: executor/nodeModifyTable.c:2227 +#: executor/nodeModifyTable.c:2250 #, c-format msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." msgstr "Зовнішній ключ вказує на предка \"%s\", але не на кореневого предка \"%s\"." -#: executor/nodeModifyTable.c:2230 +#: executor/nodeModifyTable.c:2253 #, c-format msgid "Consider defining the foreign key on table \"%s\"." msgstr "Розгляньте визначення зовнішнього ключа для таблиці \"%s\"." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2596 executor/nodeModifyTable.c:3138 -#: executor/nodeModifyTable.c:3308 +#: executor/nodeModifyTable.c:2619 executor/nodeModifyTable.c:3161 +#: executor/nodeModifyTable.c:3353 #, c-format msgid "%s command cannot affect row a second time" msgstr "команда %s не може вплинути на рядок вдруге" -#: executor/nodeModifyTable.c:2598 +#: executor/nodeModifyTable.c:2621 #, c-format msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "Переконайтеся, що немає рядків для вставки з тією ж командою з дуплікованими обмежувальними значеннями." -#: executor/nodeModifyTable.c:3131 executor/nodeModifyTable.c:3301 +#: executor/nodeModifyTable.c:3154 executor/nodeModifyTable.c:3346 #, c-format msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" msgstr "кортеж, який підлягає оновленню або видаленню, вже змінено операцією, викликаною поточною командою" -#: executor/nodeModifyTable.c:3140 executor/nodeModifyTable.c:3310 +#: executor/nodeModifyTable.c:3163 executor/nodeModifyTable.c:3355 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "Переконайтесь, що не більше ніж один вихідний рядок відповідає будь-якому одному цільовому рядку." -#: executor/nodeModifyTable.c:3209 +#: executor/nodeModifyTable.c:3232 #, c-format msgid "tuple to be merged was already moved to another partition due to concurrent update" msgstr "кортеж, який підлягає об'єднанню, вже переміщено в іншу секцію в результаті паралельного оновлення" @@ -14179,8 +14208,8 @@ msgid "TABLESAMPLE REPEATABLE parameter cannot be null" msgstr "Параметр TABLESAMPLE REPEATABLE не може бути null" -#: executor/nodeSubplan.c:325 executor/nodeSubplan.c:351 -#: executor/nodeSubplan.c:405 executor/nodeSubplan.c:1174 +#: executor/nodeSubplan.c:306 executor/nodeSubplan.c:332 +#: executor/nodeSubplan.c:386 executor/nodeSubplan.c:1158 #, c-format msgid "more than one row returned by a subquery used as an expression" msgstr "підзапит, використаний в якості вираження, повернув більше ніж один рядок" @@ -14286,7 +14315,7 @@ msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE не підтримується" -#: executor/spi.c:1719 parser/analyze.c:2928 +#: executor/spi.c:1719 parser/analyze.c:2929 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Курсори з прокручуванням повинні бути READ ONLY." @@ -14327,7 +14356,7 @@ msgid "user mapping not found for user \"%s\", server \"%s\"" msgstr "зіставлення користувача не знайдено для користувача \"%s\", сервер \"%s\"" -#: foreign/foreign.c:336 optimizer/plan/createplan.c:7153 +#: foreign/foreign.c:336 optimizer/plan/createplan.c:7155 #: optimizer/util/plancat.c:540 #, c-format msgid "access to non-system foreign table is restricted" @@ -14514,413 +14543,413 @@ msgid "Garbage found at the end of client-final-message." msgstr "Сміття знайдено в кінці останнього повідомлення клієнта." -#: libpq/auth.c:269 +#: libpq/auth.c:277 #, c-format msgid "authentication failed for user \"%s\": host rejected" msgstr "користувач \"%s\" не пройшов автентифікацію: відхилений хост" -#: libpq/auth.c:272 +#: libpq/auth.c:280 #, c-format msgid "\"trust\" authentication failed for user \"%s\"" msgstr "користувач \"%s\" не пройшов автентифікацію \"trust\"" -#: libpq/auth.c:275 +#: libpq/auth.c:283 #, c-format msgid "Ident authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію Ident" -#: libpq/auth.c:278 +#: libpq/auth.c:286 #, c-format msgid "Peer authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію Peer" -#: libpq/auth.c:283 +#: libpq/auth.c:291 #, c-format msgid "password authentication failed for user \"%s\"" msgstr "користувач \"%s\" не пройшов автентифікацію за допомогою пароля" -#: libpq/auth.c:288 +#: libpq/auth.c:296 #, c-format msgid "GSSAPI authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію GSSAPI" -#: libpq/auth.c:291 +#: libpq/auth.c:299 #, c-format msgid "SSPI authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію SSPI" -#: libpq/auth.c:294 +#: libpq/auth.c:302 #, c-format msgid "PAM authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію PAM" -#: libpq/auth.c:297 +#: libpq/auth.c:305 #, c-format msgid "BSD authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію BSD" -#: libpq/auth.c:300 +#: libpq/auth.c:308 #, c-format msgid "LDAP authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію LDAP" -#: libpq/auth.c:303 +#: libpq/auth.c:311 #, c-format msgid "certificate authentication failed for user \"%s\"" msgstr "користувач \"%s\" не пройшов автентифікацію за сертифікатом" -#: libpq/auth.c:306 +#: libpq/auth.c:314 #, c-format msgid "RADIUS authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію RADIUS" -#: libpq/auth.c:309 +#: libpq/auth.c:317 #, c-format msgid "authentication failed for user \"%s\": invalid authentication method" msgstr "користувач \"%s\" не пройшов автентифікацію: неприпустимий метод автентифікації" -#: libpq/auth.c:313 +#: libpq/auth.c:321 #, c-format msgid "Connection matched file \"%s\" line %d: \"%s\"" msgstr "З'єднання відповідає файлу \"%s\" рядок %d: \"%s\"" -#: libpq/auth.c:357 +#: libpq/auth.c:365 #, c-format msgid "authentication identifier set more than once" msgstr "ідентифікатор автентифікації встановлено більш ніж один раз" -#: libpq/auth.c:358 +#: libpq/auth.c:366 #, c-format msgid "previous identifier: \"%s\"; new identifier: \"%s\"" msgstr "попередній ідентифікатор: \"%s\"; новий ідентифікатор: \"%s\"" -#: libpq/auth.c:368 +#: libpq/auth.c:376 #, c-format msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)" msgstr "підключення автентифіковано: ідентифікатор=\"%s\" метод=%s (%s:%d)" -#: libpq/auth.c:408 +#: libpq/auth.c:416 #, c-format msgid "client certificates can only be checked if a root certificate store is available" msgstr "сертифікати клієнтів можуть перевірятися, лише якщо доступне сховище кореневих сертифікатів" -#: libpq/auth.c:419 +#: libpq/auth.c:427 #, c-format msgid "connection requires a valid client certificate" msgstr "підключення потребує припустимий сертифікат клієнта" -#: libpq/auth.c:450 libpq/auth.c:496 +#: libpq/auth.c:458 libpq/auth.c:504 msgid "GSS encryption" msgstr "Шифрування GSS" -#: libpq/auth.c:453 libpq/auth.c:499 +#: libpq/auth.c:461 libpq/auth.c:507 msgid "SSL encryption" msgstr "Шифрування SSL" -#: libpq/auth.c:455 libpq/auth.c:501 +#: libpq/auth.c:463 libpq/auth.c:509 msgid "no encryption" msgstr "без шифрування" #. translator: last %s describes encryption state -#: libpq/auth.c:461 +#: libpq/auth.c:469 #, c-format msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s" msgstr "pg_hba.conf відхиляє підключення реплікації для хосту \"%s\", користувача \"%s\", %s" #. translator: last %s describes encryption state -#: libpq/auth.c:468 +#: libpq/auth.c:476 #, c-format msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s" msgstr "pg_hba.conf відхиляє підключення для хосту \"%s\", користувача \"%s\", бази даних \"%s\", %s" -#: libpq/auth.c:506 +#: libpq/auth.c:514 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup matches." msgstr "IP-адреса клієнта дозволяється в \"%s\", відповідає прямому перетворенню." -#: libpq/auth.c:509 +#: libpq/auth.c:517 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup not checked." msgstr "IP-адреса клієнта дозволяється в \"%s\", пряме перетворення не перевірялося." -#: libpq/auth.c:512 +#: libpq/auth.c:520 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup does not match." msgstr "IP-адреса клієнта дозволяється в \"%s\", не відповідає прямому перетворенню." -#: libpq/auth.c:515 +#: libpq/auth.c:523 #, c-format msgid "Could not translate client host name \"%s\" to IP address: %s." msgstr "Перекласти ім'я клієнтського хосту \"%s\" в IP-адресу: %s, не вдалося." -#: libpq/auth.c:520 +#: libpq/auth.c:528 #, c-format msgid "Could not resolve client IP address to a host name: %s." msgstr "Отримати ім'я хосту з IP-адреси клієнта: %s, не вдалося." #. translator: last %s describes encryption state -#: libpq/auth.c:528 +#: libpq/auth.c:536 #, c-format msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s" msgstr "в pg_hba.conf немає запису, що дозволяє підключення для реплікації з хосту \"%s\", користувача \"%s\", %s" #. translator: last %s describes encryption state -#: libpq/auth.c:536 +#: libpq/auth.c:544 #, c-format msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s" msgstr "в pg_hba.conf немає запису для хосту \"%s\", користувача \"%s\", бази даних \"%s\", %s" -#: libpq/auth.c:656 +#: libpq/auth.c:664 #, c-format msgid "connection authenticated: user=\"%s\" method=%s (%s:%d)" msgstr "підключення автентифіковано: user=\"%s\" method=%s (%s:%d)" -#: libpq/auth.c:725 +#: libpq/auth.c:733 #, c-format msgid "expected password response, got message type %d" msgstr "очікувалася відповід з паролем, але отримано тип повідомлення %d" -#: libpq/auth.c:746 +#: libpq/auth.c:754 #, c-format msgid "invalid password packet size" msgstr "неприпустимий розмір пакету з паролем" -#: libpq/auth.c:764 +#: libpq/auth.c:772 #, c-format msgid "empty password returned by client" msgstr "клієнт повернув пустий пароль" -#: libpq/auth.c:892 +#: libpq/auth.c:900 #, c-format msgid "could not generate random MD5 salt" msgstr "не вдалося створити випадкову сіль для MD5" -#: libpq/auth.c:943 libpq/be-secure-gssapi.c:540 +#: libpq/auth.c:951 libpq/be-secure-gssapi.c:550 #, c-format msgid "could not set environment: %m" msgstr "не вдалося встановити середовище: %m" -#: libpq/auth.c:982 +#: libpq/auth.c:990 #, c-format msgid "expected GSS response, got message type %d" msgstr "очікувалася відповідь GSS, але отримано тип повідомлення %d" -#: libpq/auth.c:1048 +#: libpq/auth.c:1056 msgid "accepting GSS security context failed" msgstr "прийняти контекст безпеки GSS не вдалось" -#: libpq/auth.c:1089 +#: libpq/auth.c:1097 msgid "retrieving GSS user name failed" msgstr "отримання ім'я користувача GSS не виконано" -#: libpq/auth.c:1235 +#: libpq/auth.c:1243 msgid "could not acquire SSPI credentials" msgstr "не вдалось отримати облікові дані SSPI" -#: libpq/auth.c:1260 +#: libpq/auth.c:1268 #, c-format msgid "expected SSPI response, got message type %d" msgstr "очікувалась відповідь SSPI, але отримано тип повідомлення %d" -#: libpq/auth.c:1338 +#: libpq/auth.c:1346 msgid "could not accept SSPI security context" msgstr "прийняти контекст безпеки SSPI не вдалося" -#: libpq/auth.c:1379 +#: libpq/auth.c:1387 msgid "could not get token from SSPI security context" msgstr "не вдалося отримати маркер з контексту безпеки SSPI" -#: libpq/auth.c:1515 libpq/auth.c:1534 +#: libpq/auth.c:1523 libpq/auth.c:1542 #, c-format msgid "could not translate name" msgstr "не вдалося перекласти ім'я" -#: libpq/auth.c:1547 +#: libpq/auth.c:1555 #, c-format msgid "realm name too long" msgstr "ім'я області дуже довге" -#: libpq/auth.c:1562 +#: libpq/auth.c:1570 #, c-format msgid "translated account name too long" msgstr "ім'я перекладеного облікового запису дуже довге" -#: libpq/auth.c:1741 +#: libpq/auth.c:1749 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "не вдалося створити сокет для підключення до серверу Ident: %m" -#: libpq/auth.c:1756 +#: libpq/auth.c:1764 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "не вдалося прив'язатися до локальної адреси \"%s\": %m" -#: libpq/auth.c:1768 +#: libpq/auth.c:1776 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "не вдалося підключитися до Ident-серверу за адресою \"%s\", порт %s: %m" -#: libpq/auth.c:1790 +#: libpq/auth.c:1798 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "не вдалося надіслати запит до Ident -серверу за адресою \"%s\", порт %s: %m" -#: libpq/auth.c:1807 +#: libpq/auth.c:1815 #, c-format msgid "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "не вдалося отримати відповідь від Ident-серверу за адресою \"%s\", порт %s: %m" -#: libpq/auth.c:1817 +#: libpq/auth.c:1825 #, c-format msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "неприпустимо форматована відповідь від Ident-серверу: \"%s\"" -#: libpq/auth.c:1870 +#: libpq/auth.c:1878 #, c-format msgid "peer authentication is not supported on this platform" msgstr "автентифікація peer не підтримується на цій платформі" -#: libpq/auth.c:1874 +#: libpq/auth.c:1882 #, c-format msgid "could not get peer credentials: %m" msgstr "не вдалося отримати облікові дані користувача через peer: %m" -#: libpq/auth.c:1886 +#: libpq/auth.c:1894 #, c-format msgid "could not look up local user ID %ld: %s" msgstr "не вдалося знайти локального користувача за ідентифікатором (%ld): %s" -#: libpq/auth.c:1988 +#: libpq/auth.c:1996 #, c-format msgid "error from underlying PAM layer: %s" msgstr "помилка у нижчому шарі PAM: %s" -#: libpq/auth.c:1999 +#: libpq/auth.c:2007 #, c-format msgid "unsupported PAM conversation %d/\"%s\"" msgstr "непідтримувана розмова PAM %d/\"%s\"" -#: libpq/auth.c:2056 +#: libpq/auth.c:2064 #, c-format msgid "could not create PAM authenticator: %s" msgstr "не вдалося створити автентифікатор PAM: %s" -#: libpq/auth.c:2067 +#: libpq/auth.c:2075 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "помилка в pam_set_item(PAM_USER): %s" -#: libpq/auth.c:2099 +#: libpq/auth.c:2107 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "помилка в pam_set_item(PAM_RHOST): %s" -#: libpq/auth.c:2111 +#: libpq/auth.c:2119 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "помилка в pam_set_item(PAM_CONV): %s" -#: libpq/auth.c:2124 +#: libpq/auth.c:2132 #, c-format msgid "pam_authenticate failed: %s" msgstr "помилка в pam_authenticate: %sв" -#: libpq/auth.c:2137 +#: libpq/auth.c:2145 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "помилка в pam_acct_mgmt: %s" -#: libpq/auth.c:2148 +#: libpq/auth.c:2156 #, c-format msgid "could not release PAM authenticator: %s" msgstr "не вдалося вивільнити автентифікатор PAM: %s" -#: libpq/auth.c:2228 +#: libpq/auth.c:2236 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "не вдалося ініціалізувати протокол LDAP: код помилки %d" -#: libpq/auth.c:2265 +#: libpq/auth.c:2273 #, c-format msgid "could not extract domain name from ldapbasedn" msgstr "не вдалося отримати назву домена з ldapbasedn" -#: libpq/auth.c:2273 +#: libpq/auth.c:2281 #, c-format msgid "LDAP authentication could not find DNS SRV records for \"%s\"" msgstr "Автентифікація LDAP не змогла знайти записи DNS SRV для \"%s\"" -#: libpq/auth.c:2275 +#: libpq/auth.c:2283 #, c-format msgid "Set an LDAP server name explicitly." msgstr "Встановіть назву сервера LDAP, явно." -#: libpq/auth.c:2327 +#: libpq/auth.c:2335 #, c-format msgid "could not initialize LDAP: %s" msgstr "не вдалося ініціалізувати протокол LDAP: %s" -#: libpq/auth.c:2337 +#: libpq/auth.c:2345 #, c-format msgid "ldaps not supported with this LDAP library" msgstr "протокол ldaps з поточною бібліотекою LDAP не підтримується" -#: libpq/auth.c:2345 +#: libpq/auth.c:2353 #, c-format msgid "could not initialize LDAP: %m" msgstr "не вдалося ініціалізувати протокол LDAP: %m" -#: libpq/auth.c:2355 +#: libpq/auth.c:2363 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "не вдалося встановити версію протоколу LDAP: %s" -#: libpq/auth.c:2371 +#: libpq/auth.c:2379 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "не вдалося почати сеанс протоколу LDAP TLS: %s" -#: libpq/auth.c:2448 +#: libpq/auth.c:2456 #, c-format msgid "LDAP server not specified, and no ldapbasedn" msgstr "Сервер LDAP не вказаний, і не ldapbasedn" -#: libpq/auth.c:2455 +#: libpq/auth.c:2463 #, c-format msgid "LDAP server not specified" msgstr "LDAP-сервер не вказаний" -#: libpq/auth.c:2517 +#: libpq/auth.c:2525 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "неприпустимий символ в імені користувача для автентифікації LDAP" -#: libpq/auth.c:2534 +#: libpq/auth.c:2542 #, c-format msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s" msgstr "не вдалося виконати початкову прив'язку LDAP для ldapbinddn \"%s\" на сервері \"%s\": %s" -#: libpq/auth.c:2564 +#: libpq/auth.c:2572 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "не вдалося виконати LDAP-пошук за фільтром \"%s\" на сервері \"%s\": %s" -#: libpq/auth.c:2580 +#: libpq/auth.c:2588 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "LDAP-користувач \"%s\" не існує" -#: libpq/auth.c:2581 +#: libpq/auth.c:2589 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "LDAP-пошук за фільтром \"%s\" на сервері \"%s\" не повернув записів." -#: libpq/auth.c:2585 +#: libpq/auth.c:2593 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "LDAP-користувач \"%s\" не унікальний" -#: libpq/auth.c:2586 +#: libpq/auth.c:2594 #, 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." @@ -14929,132 +14958,132 @@ msgstr[2] "LDAP-пошук за фільтром \"%s\" на сервері \"%s\" повернув %d записів." msgstr[3] "LDAP-пошук за фільтром \"%s\" на сервері \"%s\" повернув %d записів." -#: libpq/auth.c:2606 +#: libpq/auth.c:2614 #, c-format msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" msgstr "не вдалося отримати dn для першого результату, що відповідає \"%s\" на сервері \"%s\": %s" -#: libpq/auth.c:2633 +#: libpq/auth.c:2641 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "Помилка під час реєстрації в протоколі LDAP користувача \"%s\" на сервері \"%s\": %s" -#: libpq/auth.c:2665 +#: libpq/auth.c:2673 #, c-format msgid "LDAP diagnostics: %s" msgstr "Діагностика LDAP: %s" -#: libpq/auth.c:2703 +#: libpq/auth.c:2711 #, c-format msgid "certificate authentication failed for user \"%s\": client certificate contains no user name" msgstr "помилка автентифікації сертифіката для користувача \"%s\": сертифікат клієнта не містить імені користувача" -#: libpq/auth.c:2724 +#: libpq/auth.c:2732 #, c-format msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN" msgstr "помилка автентифікації сертифікату для користувача \"%s\": не вдалося отримати DN суб'єкта" -#: libpq/auth.c:2747 +#: libpq/auth.c:2755 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch" msgstr "помилка перевірки сертифікату (clientcert=verify-full) для користувача \"%s\": DN невідповідність" -#: libpq/auth.c:2752 +#: libpq/auth.c:2760 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch" msgstr "помилка перевірки сертифікату (clientcert=verify-full) для користувача \"%s\": CN невідповідність" -#: libpq/auth.c:2854 +#: libpq/auth.c:2862 #, c-format msgid "RADIUS server not specified" msgstr "RADIUS-сервер не вказаний" -#: libpq/auth.c:2861 +#: libpq/auth.c:2869 #, c-format msgid "RADIUS secret not specified" msgstr "Секрет RADIUS не вказаний" -#: libpq/auth.c:2875 +#: libpq/auth.c:2883 #, c-format msgid "RADIUS authentication does not support passwords longer than %d characters" msgstr "Автентифікація RADIUS не підтримує паролі довші ніж %d символів" -#: libpq/auth.c:2977 libpq/hba.c:2352 +#: libpq/auth.c:2985 libpq/hba.c:2352 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "не вдалося перетворити ім'я серверу RADIUS \"%s\" в адресу: %s" -#: libpq/auth.c:2991 +#: libpq/auth.c:2999 #, c-format msgid "could not generate random encryption vector" msgstr "не вдалося створити випадковий вектор шифрування" -#: libpq/auth.c:3028 +#: libpq/auth.c:3036 #, c-format msgid "could not perform MD5 encryption of password: %s" msgstr "не вдалося виконати MD5 шифрування паролю: %s" -#: libpq/auth.c:3055 +#: libpq/auth.c:3063 #, c-format msgid "could not create RADIUS socket: %m" msgstr "не вдалося створити сокет RADIUS: %m" -#: libpq/auth.c:3071 +#: libpq/auth.c:3079 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "не вдалося прив'язатися до локального сокету RADIUS: %m" -#: libpq/auth.c:3081 +#: libpq/auth.c:3089 #, c-format msgid "could not send RADIUS packet: %m" msgstr "не вдалося відправити пакет RADIUS: %m" -#: libpq/auth.c:3115 libpq/auth.c:3141 +#: libpq/auth.c:3123 libpq/auth.c:3149 #, c-format msgid "timeout waiting for RADIUS response from %s" msgstr "перевищено час очікування відповіді RADIUS від %s" -#: libpq/auth.c:3134 +#: libpq/auth.c:3142 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "не вдалося перевірити статус сокету RADIUS: %m" -#: libpq/auth.c:3164 +#: libpq/auth.c:3172 #, c-format msgid "could not read RADIUS response: %m" msgstr "не вдалося прочитати відповідь RADIUS: %m" -#: libpq/auth.c:3172 +#: libpq/auth.c:3180 #, c-format msgid "RADIUS response from %s was sent from incorrect port: %d" msgstr "Відповідь RADIUS від %s була відправлена з неправильного порту: %d" -#: libpq/auth.c:3180 +#: libpq/auth.c:3188 #, c-format msgid "RADIUS response from %s too short: %d" msgstr "Занадто коротка відповідь RADIUS від %s: %d" -#: libpq/auth.c:3187 +#: libpq/auth.c:3195 #, c-format msgid "RADIUS response from %s has corrupt length: %d (actual length %d)" msgstr "У відповіді RADIUS від %s покшоджена довжина: %d (фактична довжина %d)" -#: libpq/auth.c:3195 +#: libpq/auth.c:3203 #, c-format msgid "RADIUS response from %s is to a different request: %d (should be %d)" msgstr "Прийшла відповідь RADIUS від %s на інший запит: %d (очікувалася %d)" -#: libpq/auth.c:3220 +#: libpq/auth.c:3228 #, c-format msgid "could not perform MD5 encryption of received packet: %s" msgstr "не вдалося виконати MD5 шифрування отриманого пакету: %s" -#: libpq/auth.c:3230 +#: libpq/auth.c:3238 #, c-format msgid "RADIUS response from %s has incorrect MD5 signature" msgstr "Відповідь RADIUS від %s має неправильний підпис MD5" -#: libpq/auth.c:3248 +#: libpq/auth.c:3256 #, c-format msgid "RADIUS response from %s has invalid code (%d) for user \"%s\"" msgstr "Відповідь RADIUS від %s має неприпустимий код (%d) для користувача \"%s\"" @@ -15146,44 +15175,39 @@ msgid "File must have permissions u=rw (0600) or less if owned by the database user, or permissions u=rw,g=r (0640) or less if owned by root." msgstr "Файл повинен мати дозволи u=rw (0600) або менше, якщо він належить користувачу бази даних, або u=rw,g=r (0640) або менше, якщо він належить кореню." -#: libpq/be-secure-gssapi.c:201 +#: libpq/be-secure-gssapi.c:208 msgid "GSSAPI wrap error" msgstr "помилка при згортанні GSSAPI" -#: libpq/be-secure-gssapi.c:208 +#: libpq/be-secure-gssapi.c:215 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" msgstr "вихідне повідомлення GSSAPI не буде використовувати конфіденційність" -#: libpq/be-secure-gssapi.c:215 libpq/be-secure-gssapi.c:634 +#: libpq/be-secure-gssapi.c:222 libpq/be-secure-gssapi.c:644 #, c-format msgid "server tried to send oversize GSSAPI packet (%zu > %zu)" msgstr "сервер намагався надіслати переповнений пакет GSSAPI (%zu > %zu)" -#: libpq/be-secure-gssapi.c:351 +#: libpq/be-secure-gssapi.c:358 libpq/be-secure-gssapi.c:585 #, c-format msgid "oversize GSSAPI packet sent by the client (%zu > %zu)" msgstr "переповнений пакет GSSAPI, надісланий клієнтом (%zu > %zu)" -#: libpq/be-secure-gssapi.c:389 +#: libpq/be-secure-gssapi.c:396 msgid "GSSAPI unwrap error" msgstr "помилка при розгортанні GSSAPI" -#: libpq/be-secure-gssapi.c:396 +#: libpq/be-secure-gssapi.c:403 #, c-format msgid "incoming GSSAPI message did not use confidentiality" msgstr "вхідне повідомлення GSSAPI не використовувало конфіденційність" -#: libpq/be-secure-gssapi.c:575 -#, c-format -msgid "oversize GSSAPI packet sent by the client (%zu > %d)" -msgstr "переповнений пакет GSSAPI, надісланий клієнтом (%zu > %d)" - -#: libpq/be-secure-gssapi.c:600 +#: libpq/be-secure-gssapi.c:610 msgid "could not accept GSSAPI security context" msgstr "не вдалося прийняти контекст безпеки GSSAPI" -#: libpq/be-secure-gssapi.c:701 +#: libpq/be-secure-gssapi.c:728 msgid "GSSAPI size check error" msgstr "помилка перевірки розміру GSSAPI" @@ -16248,14 +16272,14 @@ msgid "ExtensibleNodeMethods \"%s\" was not registered" msgstr "Методи розширеного вузла \"%s\" не зареєстровані" -#: nodes/makefuncs.c:152 nodes/makefuncs.c:178 statistics/extended_stats.c:2310 +#: nodes/makefuncs.c:152 nodes/makefuncs.c:178 statistics/extended_stats.c:2290 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "відношення \"%s\" не має складеного типу" #: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2604 #: parser/parse_coerce.c:2742 parser/parse_coerce.c:2789 -#: parser/parse_expr.c:2120 parser/parse_func.c:710 parser/parse_oper.c:869 +#: parser/parse_expr.c:2121 parser/parse_func.c:710 parser/parse_oper.c:869 #: utils/fmgr/funcapi.c:669 #, c-format msgid "could not find array type for data type %s" @@ -16276,8 +16300,8 @@ msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN підтримується лише з умовами, які допускають з'єднання злиттям або хеш-з'єднанням" -#: optimizer/plan/createplan.c:7175 parser/parse_merge.c:203 -#: rewrite/rewriteHandler.c:1680 +#: optimizer/plan/createplan.c:7177 parser/parse_merge.c:203 +#: rewrite/rewriteHandler.c:1683 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "не можна виконати MERGE для відношення \"%s\"" @@ -16289,44 +16313,44 @@ msgstr "%s не можна застосовувати до нульової сторони зовнішнього з’єднання" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1380 parser/analyze.c:1771 parser/analyze.c:2029 -#: parser/analyze.c:3247 +#: optimizer/plan/planner.c:1413 parser/analyze.c:1771 parser/analyze.c:2029 +#: parser/analyze.c:3248 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s несумісно з UNION/INTERSECT/EXCEPT" -#: optimizer/plan/planner.c:2121 optimizer/plan/planner.c:4108 +#: optimizer/plan/planner.c:2154 optimizer/plan/planner.c:4184 #, c-format msgid "could not implement GROUP BY" msgstr "не вдалося реалізувати GROUP BY" -#: optimizer/plan/planner.c:2122 optimizer/plan/planner.c:4109 -#: optimizer/plan/planner.c:4790 optimizer/prep/prepunion.c:1320 +#: optimizer/plan/planner.c:2155 optimizer/plan/planner.c:4185 +#: optimizer/plan/planner.c:4866 optimizer/prep/prepunion.c:1320 #, c-format msgid "Some of the datatypes only support hashing, while others only support sorting." msgstr "Деякі типи даних підтримують лише хешування, в той час як інші підтримують тільки сортування." -#: optimizer/plan/planner.c:4789 +#: optimizer/plan/planner.c:4865 #, c-format msgid "could not implement DISTINCT" msgstr "не вдалося реалізувати DISTINCT" -#: optimizer/plan/planner.c:6134 +#: optimizer/plan/planner.c:6210 #, c-format msgid "could not implement window PARTITION BY" msgstr "не вдалося реалізувати PARTITION BY для вікна" -#: optimizer/plan/planner.c:6135 +#: optimizer/plan/planner.c:6211 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "Стовпці, що розділяють вікна, повинні мати типи даних з можливістю сортування." -#: optimizer/plan/planner.c:6139 +#: optimizer/plan/planner.c:6215 #, c-format msgid "could not implement window ORDER BY" msgstr "не вдалося реалізувати ORDER BY для вікна" -#: optimizer/plan/planner.c:6140 +#: optimizer/plan/planner.c:6216 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "Стовпці, що впорядковують вікна, повинні мати типи даних з можливістю сортування." @@ -16347,7 +16371,7 @@ msgid "could not implement %s" msgstr "не вдалося реалізувати %s" -#: optimizer/util/clauses.c:4963 +#: optimizer/util/clauses.c:4965 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "Впроваджена в код SQL-функція \"%s\"" @@ -16357,22 +16381,22 @@ msgid "cannot access temporary or unlogged relations during recovery" msgstr "отримати доступ до тимчасових або нежурнальованих відношень під час відновлення не можна" -#: optimizer/util/plancat.c:768 +#: optimizer/util/plancat.c:773 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "вказівки з посиланням на весь рядок для вибору унікального індексу не підтримуються" -#: optimizer/util/plancat.c:785 +#: optimizer/util/plancat.c:790 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "з обмеженням в реченні ON CONFLICT не пов'язаний індекс" -#: optimizer/util/plancat.c:835 +#: optimizer/util/plancat.c:840 #, c-format msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" msgstr "ON CONFLICT DO UPDATE не підтримується з обмеженнями-винятками" -#: optimizer/util/plancat.c:945 +#: optimizer/util/plancat.c:950 #, c-format msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "немає унікального обмеження або обмеження-виключення відповідного специфікації ON CONFLICT" @@ -16403,7 +16427,7 @@ msgstr "SELECT ... INTO не дозволяється тут" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:1673 parser/analyze.c:3479 +#: parser/analyze.c:1673 parser/analyze.c:3480 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s не можна застосовувати до VALUES" @@ -16463,467 +16487,477 @@ msgstr "змінна \"%s\" має тип %s, але вираз має тип %s" #. translator: %s is a SQL keyword -#: parser/analyze.c:2878 parser/analyze.c:2886 +#: parser/analyze.c:2879 parser/analyze.c:2887 #, c-format msgid "cannot specify both %s and %s" msgstr "не можна вказати як %s, так і %s" -#: parser/analyze.c:2906 +#: parser/analyze.c:2907 #, c-format msgid "DECLARE CURSOR must not contain data-modifying statements in WITH" msgstr "DECLARE CURSOR не повинен містити операторів, які змінюють дані в WITH" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2914 +#: parser/analyze.c:2915 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s не підтримується" -#: parser/analyze.c:2917 +#: parser/analyze.c:2918 #, c-format msgid "Holdable cursors must be READ ONLY." msgstr "Курсори, що зберігаються повинні бути READ ONLY." #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2925 +#: parser/analyze.c:2926 #, c-format msgid "DECLARE SCROLL CURSOR ... %s is not supported" msgstr "DECLARE SCROLL CURSOR ... %s не підтримується" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2936 +#: parser/analyze.c:2937 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s не є припустимим" -#: parser/analyze.c:2939 +#: parser/analyze.c:2940 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Нечутливі курсори повинні бути READ ONLY." -#: parser/analyze.c:3033 +#: parser/analyze.c:3034 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "в матеріалізованих поданнях не повинні використовуватись оператори, які змінюють дані в WITH" -#: parser/analyze.c:3043 +#: parser/analyze.c:3044 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "в матеріалізованих поданнях не повинні використовуватись тимчасові таблиці або подання" -#: parser/analyze.c:3053 +#: parser/analyze.c:3054 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "визначати матеріалізовані подання з зв'язаними параметрами не можна" -#: parser/analyze.c:3065 +#: parser/analyze.c:3066 #, c-format msgid "materialized views cannot be unlogged" msgstr "матеріалізовані подання не можуть бути нежурнальованими" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3254 +#: parser/analyze.c:3255 #, c-format msgid "%s is not allowed with DISTINCT clause" msgstr "%s не дозволяється з реченням DISTINCT" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3261 +#: parser/analyze.c:3262 #, c-format msgid "%s is not allowed with GROUP BY clause" msgstr "%s не дозволяється з реченням GROUP BY" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3268 +#: parser/analyze.c:3269 #, c-format msgid "%s is not allowed with HAVING clause" msgstr "%s не дозволяється з реченням HAVING" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3275 +#: parser/analyze.c:3276 #, c-format msgid "%s is not allowed with aggregate functions" msgstr "%s не дозволяється з агрегатними функціями" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3282 +#: parser/analyze.c:3283 #, c-format msgid "%s is not allowed with window functions" msgstr "%s не дозволяється з віконними функціями" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3289 +#: parser/analyze.c:3290 #, c-format msgid "%s is not allowed with set-returning functions in the target list" msgstr "%s не дозволяється з функціями, які повертають безлічі, в цільовому списку" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3388 +#: parser/analyze.c:3389 #, c-format msgid "%s must specify unqualified relation names" msgstr "для %s потрібно вказати некваліфіковані імена відносин" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3452 +#: parser/analyze.c:3453 #, c-format msgid "%s cannot be applied to a join" msgstr "%s не можна застосовувати до з'єднання" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3461 +#: parser/analyze.c:3462 #, c-format msgid "%s cannot be applied to a function" msgstr "%s не можна застосовувати до функції" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3470 +#: parser/analyze.c:3471 #, c-format msgid "%s cannot be applied to a table function" msgstr "%s не можна застосовувати до табличної функції" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3488 +#: parser/analyze.c:3489 #, c-format msgid "%s cannot be applied to a WITH query" msgstr "%s не можна застосовувати до запиту WITH" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3497 +#: parser/analyze.c:3498 #, c-format msgid "%s cannot be applied to a named tuplestore" msgstr "%s не можна застосовувати до іменованого джерела кортежів" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3517 +#: parser/analyze.c:3518 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "відношення \"%s\" в реченні %s не знайдено в реченні FROM" -#: parser/parse_agg.c:210 parser/parse_oper.c:215 +#: parser/parse_agg.c:213 parser/parse_oper.c:215 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "для типу %s не вдалося визначити оператора сортування" -#: parser/parse_agg.c:212 +#: parser/parse_agg.c:215 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "Агрегатним функціям з DISTINCT необхідно сортувати їх вхідні дані." -#: parser/parse_agg.c:270 +#: parser/parse_agg.c:273 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "GROUPING повинно містити меньше, ніж 32 аргумента" -#: parser/parse_agg.c:373 +#: parser/parse_agg.c:377 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "агрегатні функції не дозволяються в умовах JOIN" -#: parser/parse_agg.c:375 +#: parser/parse_agg.c:379 msgid "grouping operations are not allowed in JOIN conditions" msgstr "операції групування не дозволяються в умовах JOIN" -#: parser/parse_agg.c:385 +#: parser/parse_agg.c:389 msgid "aggregate functions are not allowed in FROM clause of their own query level" msgstr "агрегатні функції не можна застосовувати в реченні FROM їх рівня запиту" -#: parser/parse_agg.c:387 +#: parser/parse_agg.c:391 msgid "grouping operations are not allowed in FROM clause of their own query level" msgstr "операції групування не можна застосовувати в реченні FROM їх рівня запиту" -#: parser/parse_agg.c:392 +#: parser/parse_agg.c:396 msgid "aggregate functions are not allowed in functions in FROM" msgstr "агрегатні функції не можна застосовувати у функціях у FROM" -#: parser/parse_agg.c:394 +#: parser/parse_agg.c:398 msgid "grouping operations are not allowed in functions in FROM" msgstr "операції групування не можна застосовувати у функціях у FROM" -#: parser/parse_agg.c:402 +#: parser/parse_agg.c:406 msgid "aggregate functions are not allowed in policy expressions" msgstr "агрегатні функції не можна застосовувати у виразах політики" -#: parser/parse_agg.c:404 +#: parser/parse_agg.c:408 msgid "grouping operations are not allowed in policy expressions" msgstr "операції групування не можна застосовувати у виразах політики" -#: parser/parse_agg.c:421 +#: parser/parse_agg.c:425 msgid "aggregate functions are not allowed in window RANGE" msgstr "агрегатні функції не можна застосовувати у вікні RANGE " -#: parser/parse_agg.c:423 +#: parser/parse_agg.c:427 msgid "grouping operations are not allowed in window RANGE" msgstr "операції групування не можна застосовувати у вікні RANGE" -#: parser/parse_agg.c:428 +#: parser/parse_agg.c:432 msgid "aggregate functions are not allowed in window ROWS" msgstr "агрегатні функції не можна застосовувати у вікні ROWS" -#: parser/parse_agg.c:430 +#: parser/parse_agg.c:434 msgid "grouping operations are not allowed in window ROWS" msgstr "операції групування не можна застосовувати у вікні ROWS" -#: parser/parse_agg.c:435 +#: parser/parse_agg.c:439 msgid "aggregate functions are not allowed in window GROUPS" msgstr "агрегатні функції не можна застосовувати у вікні GROUPS" -#: parser/parse_agg.c:437 +#: parser/parse_agg.c:441 msgid "grouping operations are not allowed in window GROUPS" msgstr "операції групування не можна застосовувати у вікні GROUPS" -#: parser/parse_agg.c:450 +#: parser/parse_agg.c:454 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "агрегатні функції не можна застосовувати в умовах MERGE WHEN" -#: parser/parse_agg.c:452 +#: parser/parse_agg.c:456 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "операції групування не можна застосовувати в умовах MERGE WHEN" -#: parser/parse_agg.c:479 +#: parser/parse_agg.c:483 msgid "aggregate functions are not allowed in check constraints" msgstr "агрегатні функції не можна застосовувати в перевірці обмежень" -#: parser/parse_agg.c:481 +#: parser/parse_agg.c:485 msgid "grouping operations are not allowed in check constraints" msgstr "операції групування не можна застосовувати в перевірці обмежень" -#: parser/parse_agg.c:488 +#: parser/parse_agg.c:492 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "агрегатні функції не можна застосовувати у виразах DEFAULT" -#: parser/parse_agg.c:490 +#: parser/parse_agg.c:494 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "операції групування не можна застосовувати у виразах DEFAULT" -#: parser/parse_agg.c:495 +#: parser/parse_agg.c:499 msgid "aggregate functions are not allowed in index expressions" msgstr "агрегатні функції не можна застосовувати у виразах індексів" -#: parser/parse_agg.c:497 +#: parser/parse_agg.c:501 msgid "grouping operations are not allowed in index expressions" msgstr "операції групування не можна застосовувати у виразах індексів" -#: parser/parse_agg.c:502 +#: parser/parse_agg.c:506 msgid "aggregate functions are not allowed in index predicates" msgstr "агрегатні функції не можна застосовувати в предикатах індексів" -#: parser/parse_agg.c:504 +#: parser/parse_agg.c:508 msgid "grouping operations are not allowed in index predicates" msgstr "операції групування не можна застосовувати в предикатах індексів" -#: parser/parse_agg.c:509 +#: parser/parse_agg.c:513 msgid "aggregate functions are not allowed in statistics expressions" msgstr "агрегатні функції не можна застосовувати у виразах статистики" -#: parser/parse_agg.c:511 +#: parser/parse_agg.c:515 msgid "grouping operations are not allowed in statistics expressions" msgstr "операції групування не можна застосовувати у виразах статистики" -#: parser/parse_agg.c:516 +#: parser/parse_agg.c:520 msgid "aggregate functions are not allowed in transform expressions" msgstr "агрегатні функції не можна застосовувати у виразах перетворювання" -#: parser/parse_agg.c:518 +#: parser/parse_agg.c:522 msgid "grouping operations are not allowed in transform expressions" msgstr "операції групування не можна застосовувати у виразах перетворювання" -#: parser/parse_agg.c:523 +#: parser/parse_agg.c:527 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "агрегатні функції не можна застосовувати в параметрах EXECUTE" -#: parser/parse_agg.c:525 +#: parser/parse_agg.c:529 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "операції групування не можна застосовувати в параметрах EXECUTE" -#: parser/parse_agg.c:530 +#: parser/parse_agg.c:534 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "агрегатні функції не можна застосовувати в умовах для тригерів WHEN" -#: parser/parse_agg.c:532 +#: parser/parse_agg.c:536 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "операції групування не можна застосовувати в умовах для тригерів WHEN" -#: parser/parse_agg.c:537 +#: parser/parse_agg.c:541 msgid "aggregate functions are not allowed in partition bound" msgstr "агрегатні функції не можна застосовувати в границі секції" -#: parser/parse_agg.c:539 +#: parser/parse_agg.c:543 msgid "grouping operations are not allowed in partition bound" msgstr "операції групування не можна застосовувати в границі секції" -#: parser/parse_agg.c:544 +#: parser/parse_agg.c:548 msgid "aggregate functions are not allowed in partition key expressions" msgstr "агрегатні функції не можна застосовувати у виразах ключа секціонування" -#: parser/parse_agg.c:546 +#: parser/parse_agg.c:550 msgid "grouping operations are not allowed in partition key expressions" msgstr "операції групування не можна застосовувати у виразах ключа секціонування" -#: parser/parse_agg.c:552 +#: parser/parse_agg.c:556 msgid "aggregate functions are not allowed in column generation expressions" msgstr "агрегатні функції не можна застосовувати у виразах генерації стовпців" -#: parser/parse_agg.c:554 +#: parser/parse_agg.c:558 msgid "grouping operations are not allowed in column generation expressions" msgstr "операції групування не можна застосовувати у виразах генерації стовпців" -#: parser/parse_agg.c:560 +#: parser/parse_agg.c:564 msgid "aggregate functions are not allowed in CALL arguments" msgstr "агрегатні функції не можна застосовувати в аргументах CALL" -#: parser/parse_agg.c:562 +#: parser/parse_agg.c:566 msgid "grouping operations are not allowed in CALL arguments" msgstr "операції групування не можна застосовувати в аргументах CALL" -#: parser/parse_agg.c:568 +#: parser/parse_agg.c:572 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" msgstr "агрегатні функції не можна застосовувати в умовах COPY FROM WHERE" -#: parser/parse_agg.c:570 +#: parser/parse_agg.c:574 msgid "grouping operations are not allowed in COPY FROM WHERE conditions" msgstr "операції групування не можна застосовувати в умовах COPY FROM WHERE" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:597 parser/parse_clause.c:1962 +#: parser/parse_agg.c:601 parser/parse_clause.c:1962 #, c-format msgid "aggregate functions are not allowed in %s" msgstr "агрегатні функції не можна застосовувати в %s" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:600 +#: parser/parse_agg.c:604 #, c-format msgid "grouping operations are not allowed in %s" msgstr "операції групування не можна застосовувати в %s" -#: parser/parse_agg.c:701 +#: parser/parse_agg.c:700 parser/parse_agg.c:737 +#, c-format +msgid "outer-level aggregate cannot use a nested CTE" +msgstr "агрегатна функція зовнішнього рівня не може використовувати вкладений CTE" + +#: parser/parse_agg.c:701 parser/parse_agg.c:738 +#, c-format +msgid "CTE \"%s\" is below the aggregate's semantic level." +msgstr "CTE \"%s\" знаходиться нижче семантичного рівня агрегату." + +#: parser/parse_agg.c:723 #, c-format msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments" msgstr "агрегат зовнішнього рівня не може містити змінну нижчого рівня у своїх аргументах" -#: parser/parse_agg.c:779 +#: parser/parse_agg.c:808 #, c-format msgid "aggregate function calls cannot contain set-returning function calls" msgstr "виклики агрегатної функції не можуть містити викликів функції, що повертають множину" -#: parser/parse_agg.c:780 parser/parse_expr.c:1762 parser/parse_expr.c:2253 +#: parser/parse_agg.c:809 parser/parse_expr.c:1763 parser/parse_expr.c:2254 #: parser/parse_func.c:885 #, c-format msgid "You might be able to move the set-returning function into a LATERAL FROM item." msgstr "Можливо перемістити функцію, що повертає множину, в елемент LATERAL FROM." -#: parser/parse_agg.c:785 +#: parser/parse_agg.c:814 #, c-format msgid "aggregate function calls cannot contain window function calls" msgstr "виклики агрегатних функцій не можуть містити виклики віконних функцій" -#: parser/parse_agg.c:864 +#: parser/parse_agg.c:917 msgid "window functions are not allowed in JOIN conditions" msgstr "віконні функції не можна застосовувати в умовах JOIN" -#: parser/parse_agg.c:871 +#: parser/parse_agg.c:924 msgid "window functions are not allowed in functions in FROM" msgstr "віконні функції не можна застосовувати у функціях в FROM" -#: parser/parse_agg.c:877 +#: parser/parse_agg.c:930 msgid "window functions are not allowed in policy expressions" msgstr "віконні функції не можна застосовувати у виразах політики" -#: parser/parse_agg.c:890 +#: parser/parse_agg.c:943 msgid "window functions are not allowed in window definitions" msgstr "віконні функції не можна застосовувати у визначенні вікна" -#: parser/parse_agg.c:901 +#: parser/parse_agg.c:954 msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "віконні функції не можна застосовувати в умовах MERGE WHEN" -#: parser/parse_agg.c:926 +#: parser/parse_agg.c:979 msgid "window functions are not allowed in check constraints" msgstr "віконні функції не можна застосовувати в перевірках обмежень" -#: parser/parse_agg.c:930 +#: parser/parse_agg.c:983 msgid "window functions are not allowed in DEFAULT expressions" msgstr "віконні функції не можна застосовувати у виразах DEFAULT" -#: parser/parse_agg.c:933 +#: parser/parse_agg.c:986 msgid "window functions are not allowed in index expressions" msgstr "віконні функції не можна застосовувати у виразах індексів" -#: parser/parse_agg.c:936 +#: parser/parse_agg.c:989 msgid "window functions are not allowed in statistics expressions" msgstr "віконні функції не можна застосовувати у виразах статистики" -#: parser/parse_agg.c:939 +#: parser/parse_agg.c:992 msgid "window functions are not allowed in index predicates" msgstr "віконні функції не можна застосовувати в предикатах індексів" -#: parser/parse_agg.c:942 +#: parser/parse_agg.c:995 msgid "window functions are not allowed in transform expressions" msgstr "віконні функції не можна застосовувати у виразах перетворювання" -#: parser/parse_agg.c:945 +#: parser/parse_agg.c:998 msgid "window functions are not allowed in EXECUTE parameters" msgstr "віконні функції не можна застосовувати в параметрах EXECUTE" -#: parser/parse_agg.c:948 +#: parser/parse_agg.c:1001 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "віконні функції не можна застосовувати в умовах WHEN для тригерів" -#: parser/parse_agg.c:951 +#: parser/parse_agg.c:1004 msgid "window functions are not allowed in partition bound" msgstr "віконні функції не можна застосовувати в границі секції" -#: parser/parse_agg.c:954 +#: parser/parse_agg.c:1007 msgid "window functions are not allowed in partition key expressions" msgstr "віконні функції не можна застосовувати у виразах ключа секціонування" -#: parser/parse_agg.c:957 +#: parser/parse_agg.c:1010 msgid "window functions are not allowed in CALL arguments" msgstr "віконні функції не можна застосовувати в аргументах CALL" -#: parser/parse_agg.c:960 +#: parser/parse_agg.c:1013 msgid "window functions are not allowed in COPY FROM WHERE conditions" msgstr "віконні функції не можна застосовувати в умовах COPY FROM WHERE" -#: parser/parse_agg.c:963 +#: parser/parse_agg.c:1016 msgid "window functions are not allowed in column generation expressions" msgstr "віконні функції не можна застосовувати у виразах генерації стовпців" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:986 parser/parse_clause.c:1971 +#: parser/parse_agg.c:1039 parser/parse_clause.c:1971 #, c-format msgid "window functions are not allowed in %s" msgstr "віконні функції не можна застосовувати в %s" -#: parser/parse_agg.c:1020 parser/parse_clause.c:2804 +#: parser/parse_agg.c:1073 parser/parse_clause.c:2804 #, c-format msgid "window \"%s\" does not exist" msgstr "вікно \"%s\" не існує" -#: parser/parse_agg.c:1108 +#: parser/parse_agg.c:1161 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "забагато наборів групування (максимум 4096)" -#: parser/parse_agg.c:1248 +#: parser/parse_agg.c:1301 #, c-format msgid "aggregate functions are not allowed in a recursive query's recursive term" msgstr "агрегатні функції не дозволені у рекурсивному терміні рекурсивного запиту" -#: parser/parse_agg.c:1441 +#: parser/parse_agg.c:1494 #, c-format msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function" msgstr "стовпець \"%s.%s\" повинен з'являтися у реченні Група BY або використовуватися в агрегатній функції" -#: parser/parse_agg.c:1444 +#: parser/parse_agg.c:1497 #, c-format msgid "Direct arguments of an ordered-set aggregate must use only grouped columns." msgstr "Прямі аргументи сортувального агрегату можуть використовувати лише згруповані стовпці." -#: parser/parse_agg.c:1449 +#: parser/parse_agg.c:1502 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "вкладений запит використовує не згруповані стовпці \"%s.%s\" з зовнішнього запиту" -#: parser/parse_agg.c:1613 +#: parser/parse_agg.c:1666 #, c-format msgid "arguments to GROUPING must be grouping expressions of the associated query level" msgstr "аргументами групування мають бути вирази групування пов'язаного рівня запиту" @@ -17203,8 +17237,8 @@ #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2154 parser/parse_expr.c:2762 parser/parse_expr.c:3413 -#: parser/parse_expr.c:3642 parser/parse_target.c:998 +#: parser/parse_expr.c:2155 parser/parse_expr.c:2763 parser/parse_expr.c:3414 +#: parser/parse_expr.c:3643 parser/parse_target.c:998 #, c-format msgid "cannot cast type %s to %s" msgstr "неможливо транслювати тип %s в %s" @@ -17399,471 +17433,471 @@ msgid "recursive reference to query \"%s\" must not appear within EXCEPT" msgstr "рекурсивне посилання на запит \"%s\" не повинне з'являтись в EXCEPT" -#: parser/parse_cte.c:136 +#: parser/parse_cte.c:137 #, c-format msgid "WITH query name \"%s\" specified more than once" msgstr "Ім’я запиту WITH \"%s\" вказано неодноразово" -#: parser/parse_cte.c:308 +#: parser/parse_cte.c:309 #, c-format msgid "could not identify an inequality operator for type %s" msgstr "не вдалося визначити оператора нерівності для типу %s" -#: parser/parse_cte.c:335 +#: parser/parse_cte.c:336 #, c-format msgid "WITH clause containing a data-modifying statement must be at the top level" msgstr "Речення WITH, яке містить оператор, що змінює дані, повинне бути на верхньому рівні" -#: parser/parse_cte.c:384 +#: parser/parse_cte.c:385 #, c-format msgid "recursive query \"%s\" column %d has type %s in non-recursive term but type %s overall" msgstr "у рекурсивному запиті \"%s\" стовпець %d має тип %s у нерекурсивній частині, але загалом тип %s" -#: parser/parse_cte.c:390 +#: parser/parse_cte.c:391 #, c-format msgid "Cast the output of the non-recursive term to the correct type." msgstr "Приведіть результат нерекурсивної частини до правильного типу." -#: parser/parse_cte.c:395 +#: parser/parse_cte.c:396 #, c-format msgid "recursive query \"%s\" column %d has collation \"%s\" in non-recursive term but collation \"%s\" overall" msgstr "у рекурсивному запиті \"%s\" стовпець %d має параметри сортування \"%s\" у нерекурсивній частині, але загалом параметри сортування \"%s\"" -#: parser/parse_cte.c:399 +#: parser/parse_cte.c:400 #, c-format msgid "Use the COLLATE clause to set the collation of the non-recursive term." msgstr "Використайте речення COLLATE, щоб встановити параметри сортування в нерекурсивній частині." -#: parser/parse_cte.c:420 +#: parser/parse_cte.c:421 #, c-format msgid "WITH query is not recursive" msgstr "Запит WITH не є рекурсивним" -#: parser/parse_cte.c:451 +#: parser/parse_cte.c:452 #, c-format msgid "with a SEARCH or CYCLE clause, the left side of the UNION must be a SELECT" msgstr "з реченням з SEARCH або CYCLE, ліва сторона UNION повинна бути SELECT" -#: parser/parse_cte.c:456 +#: parser/parse_cte.c:457 #, c-format msgid "with a SEARCH or CYCLE clause, the right side of the UNION must be a SELECT" msgstr "з реченням з SEARCH або CYCLE, права сторона UNION повинна бути SELECT" -#: parser/parse_cte.c:471 +#: parser/parse_cte.c:472 #, c-format msgid "search column \"%s\" not in WITH query column list" msgstr "пошуковий стовпець \"%s\" відсутній в списку стовпців запиту WITH" -#: parser/parse_cte.c:478 +#: parser/parse_cte.c:479 #, c-format msgid "search column \"%s\" specified more than once" msgstr "пошуковий стовпець \"%s\" вказано більше одного разу" -#: parser/parse_cte.c:487 +#: parser/parse_cte.c:488 #, c-format msgid "search sequence column name \"%s\" already used in WITH query column list" msgstr "назва послідовності пошуку \"%s\" вже використовується у списку стовпців запиту WITH" -#: parser/parse_cte.c:504 +#: parser/parse_cte.c:505 #, c-format msgid "cycle column \"%s\" not in WITH query column list" msgstr "стовпець циклу \"%s\" відсутній в списку стовпців запиту WITH" -#: parser/parse_cte.c:511 +#: parser/parse_cte.c:512 #, c-format msgid "cycle column \"%s\" specified more than once" msgstr "стовпець циклу \"%s\" вказано більше одного разу" -#: parser/parse_cte.c:520 +#: parser/parse_cte.c:521 #, c-format msgid "cycle mark column name \"%s\" already used in WITH query column list" msgstr "назва стовпця позначки циклу \"%s\" вже використовується у списку стовпців запиту WITH" -#: parser/parse_cte.c:527 +#: parser/parse_cte.c:528 #, c-format msgid "cycle path column name \"%s\" already used in WITH query column list" msgstr "назва стовпця циклу шляху \"%s\" вже використовується у списку стовпців запиту WITH" -#: parser/parse_cte.c:535 +#: parser/parse_cte.c:536 #, c-format msgid "cycle mark column name and cycle path column name are the same" msgstr "назва стовпця позначки циклу і назва стовпця циклу шляху однакові" -#: parser/parse_cte.c:545 +#: parser/parse_cte.c:546 #, c-format msgid "search sequence column name and cycle mark column name are the same" msgstr "назва стовпця послідовності пошуку і назва стовпця позначки циклу однакові" -#: parser/parse_cte.c:552 +#: parser/parse_cte.c:553 #, c-format msgid "search sequence column name and cycle path column name are the same" msgstr "назва стовпця послідовності пошуку і назва стовпця циклу шляху однакові" -#: parser/parse_cte.c:636 +#: parser/parse_cte.c:637 #, c-format msgid "WITH query \"%s\" has %d columns available but %d columns specified" msgstr "Запит WITH \"%s\" має %d доступних стовпців, але %d стовпців вказано" -#: parser/parse_cte.c:816 +#: parser/parse_cte.c:882 #, c-format msgid "mutual recursion between WITH items is not implemented" msgstr "взаємна рекурсія між елементами WITH не реалізована" -#: parser/parse_cte.c:868 +#: parser/parse_cte.c:934 #, c-format msgid "recursive query \"%s\" must not contain data-modifying statements" msgstr "рекурсивний запит \"%s\" не повинен містити оператори, які змінюють дані" -#: parser/parse_cte.c:876 +#: parser/parse_cte.c:942 #, c-format msgid "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] recursive-term" msgstr "рекурсивний запит \"%s\" не має форми (нерекурсивна частина) UNION [ALL] (рекурсивна частина)" -#: parser/parse_cte.c:911 +#: parser/parse_cte.c:977 #, c-format msgid "ORDER BY in a recursive query is not implemented" msgstr "ORDER BY в рекурсивному запиті не реалізовано" -#: parser/parse_cte.c:917 +#: parser/parse_cte.c:983 #, c-format msgid "OFFSET in a recursive query is not implemented" msgstr "OFFSET у рекурсивному запиті не реалізовано" -#: parser/parse_cte.c:923 +#: parser/parse_cte.c:989 #, c-format msgid "LIMIT in a recursive query is not implemented" msgstr "LIMIT у рекурсивному запиті не реалізовано" -#: parser/parse_cte.c:929 +#: parser/parse_cte.c:995 #, c-format msgid "FOR UPDATE/SHARE in a recursive query is not implemented" msgstr "FOR UPDATE/SHARE в рекурсивному запиті не реалізовано" -#: parser/parse_cte.c:1008 +#: parser/parse_cte.c:1074 #, c-format msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "рекурсивне посилання на запит \"%s\" не повинне з'являтись неодноразово" -#: parser/parse_expr.c:313 +#: parser/parse_expr.c:314 #, c-format msgid "DEFAULT is not allowed in this context" msgstr "DEFAULT не допускається в цьому контексті" -#: parser/parse_expr.c:406 parser/parse_relation.c:3691 +#: parser/parse_expr.c:407 parser/parse_relation.c:3691 #: parser/parse_relation.c:3701 parser/parse_relation.c:3719 #: parser/parse_relation.c:3726 parser/parse_relation.c:3740 #, c-format msgid "column %s.%s does not exist" msgstr "стовпець %s.%s не існує" -#: parser/parse_expr.c:418 +#: parser/parse_expr.c:419 #, c-format msgid "column \"%s\" not found in data type %s" msgstr "стовпець \"%s\" не знайдено в типі даних %s" -#: parser/parse_expr.c:424 +#: parser/parse_expr.c:425 #, c-format msgid "could not identify column \"%s\" in record data type" msgstr "не вдалося ідентифікувати стовпець \"%s\" в типі запису" -#: parser/parse_expr.c:430 +#: parser/parse_expr.c:431 #, c-format msgid "column notation .%s applied to type %s, which is not a composite type" msgstr "запис імені стовпця .%s застосований до типу %s, котрий не є складеним типом" -#: parser/parse_expr.c:461 parser/parse_target.c:732 +#: parser/parse_expr.c:462 parser/parse_target.c:732 #, c-format msgid "row expansion via \"*\" is not supported here" msgstr "розширення рядка через \"*\" тут не підтримується" -#: parser/parse_expr.c:584 +#: parser/parse_expr.c:585 msgid "cannot use column reference in DEFAULT expression" msgstr "у виразі DEFAULT не можна використовувати посилання на стовпець" -#: parser/parse_expr.c:587 +#: parser/parse_expr.c:588 msgid "cannot use column reference in partition bound expression" msgstr "у виразі границі секції не можна використовувати посилання на стовпці" -#: parser/parse_expr.c:846 parser/parse_relation.c:833 +#: parser/parse_expr.c:847 parser/parse_relation.c:833 #: parser/parse_relation.c:915 parser/parse_target.c:1238 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "посилання на стовпець \"%s\" є неоднозначним" -#: parser/parse_expr.c:902 parser/parse_param.c:110 parser/parse_param.c:142 +#: parser/parse_expr.c:903 parser/parse_param.c:110 parser/parse_param.c:142 #: parser/parse_param.c:204 parser/parse_param.c:303 #, c-format msgid "there is no parameter $%d" msgstr "параметр $%d не існує" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1103 parser/parse_expr.c:3073 +#: parser/parse_expr.c:1104 parser/parse_expr.c:3074 #, c-format msgid "%s requires = operator to yield boolean" msgstr "%s потребує, щоб оператор = повертав логічне значення" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1109 parser/parse_expr.c:3080 +#: parser/parse_expr.c:1110 parser/parse_expr.c:3081 #, c-format msgid "%s must not return a set" msgstr "%s не повинна повертати набір" -#: parser/parse_expr.c:1395 +#: parser/parse_expr.c:1396 #, c-format msgid "MERGE_ACTION() can only be used in the RETURNING list of a MERGE command" msgstr "MERGE_ACTION() можна використовувати лише в списку RETURNING для команди MERGE" -#: parser/parse_expr.c:1519 parser/parse_expr.c:1551 +#: parser/parse_expr.c:1520 parser/parse_expr.c:1552 #, c-format msgid "number of columns does not match number of values" msgstr "кількість стовпців не відповідає кількості значень" -#: parser/parse_expr.c:1565 +#: parser/parse_expr.c:1566 #, c-format msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression" msgstr "джерелом для елементу UPDATE з декількома стовпцями повинен бути вкладений SELECT або вираз ROW()" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_expr.c:1760 parser/parse_expr.c:2251 parser/parse_func.c:2679 +#: parser/parse_expr.c:1761 parser/parse_expr.c:2252 parser/parse_func.c:2679 #, c-format msgid "set-returning functions are not allowed in %s" msgstr "функції, повертаючі набори, не дозволяються в %s" -#: parser/parse_expr.c:1824 +#: parser/parse_expr.c:1825 msgid "cannot use subquery in check constraint" msgstr "в обмеженні-перевірці не можна використовувати підзапити" -#: parser/parse_expr.c:1828 +#: parser/parse_expr.c:1829 msgid "cannot use subquery in DEFAULT expression" msgstr "у виразі DEFAULT не можна використовувати підзапити" -#: parser/parse_expr.c:1831 +#: parser/parse_expr.c:1832 msgid "cannot use subquery in index expression" msgstr "в індексному виразі не можна використовувати підзапити" -#: parser/parse_expr.c:1834 +#: parser/parse_expr.c:1835 msgid "cannot use subquery in index predicate" msgstr "в предикаті індексу не можна використовувати підзапити" -#: parser/parse_expr.c:1837 +#: parser/parse_expr.c:1838 msgid "cannot use subquery in statistics expression" msgstr "у виразі статистики не можна використовувати підзапит" -#: parser/parse_expr.c:1840 +#: parser/parse_expr.c:1841 msgid "cannot use subquery in transform expression" msgstr "у виразі перетворення не можна використовувати підзапити" -#: parser/parse_expr.c:1843 +#: parser/parse_expr.c:1844 msgid "cannot use subquery in EXECUTE parameter" msgstr "в параметрі EXECUTE не можна використовувати підзапити" -#: parser/parse_expr.c:1846 +#: parser/parse_expr.c:1847 msgid "cannot use subquery in trigger WHEN condition" msgstr "в умові WHEN для тригеру не можна використовувати підзапити" -#: parser/parse_expr.c:1849 +#: parser/parse_expr.c:1850 msgid "cannot use subquery in partition bound" msgstr "в границі секції не можна використовувати підзапити" -#: parser/parse_expr.c:1852 +#: parser/parse_expr.c:1853 msgid "cannot use subquery in partition key expression" msgstr "у виразі ключа секціонування не можна використовувати підзапити" -#: parser/parse_expr.c:1855 +#: parser/parse_expr.c:1856 msgid "cannot use subquery in CALL argument" msgstr "в аргументі CALL не можна використовувати підзапити" -#: parser/parse_expr.c:1858 +#: parser/parse_expr.c:1859 msgid "cannot use subquery in COPY FROM WHERE condition" msgstr "не можна використовувати підзапити в умові COPY FROM WHERE" -#: parser/parse_expr.c:1861 +#: parser/parse_expr.c:1862 msgid "cannot use subquery in column generation expression" msgstr "у виразі генерації стовпців не можна використовувати підзапити" -#: parser/parse_expr.c:1914 parser/parse_expr.c:3772 +#: parser/parse_expr.c:1915 parser/parse_expr.c:3773 #, c-format msgid "subquery must return only one column" msgstr "підзапит повинен повертати лише один стовпець" -#: parser/parse_expr.c:1985 +#: parser/parse_expr.c:1986 #, c-format msgid "subquery has too many columns" msgstr "підзапит має занадто багато стовпців" -#: parser/parse_expr.c:1990 +#: parser/parse_expr.c:1991 #, c-format msgid "subquery has too few columns" msgstr "підзапит має занадто мало стовпців" -#: parser/parse_expr.c:2094 +#: parser/parse_expr.c:2095 #, c-format msgid "cannot determine type of empty array" msgstr "тип пустого масиву визначити не можна" -#: parser/parse_expr.c:2095 +#: parser/parse_expr.c:2096 #, c-format msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." msgstr "Приведіть його до бажаного типу явним чином, наприклад ARRAY[]::integer[]." -#: parser/parse_expr.c:2109 +#: parser/parse_expr.c:2110 #, c-format msgid "could not find element type for data type %s" msgstr "не вдалося знайти тип елементу для типу даних %s" -#: parser/parse_expr.c:2192 +#: parser/parse_expr.c:2193 #, c-format msgid "ROW expressions can have at most %d entries" msgstr "ROW вирази можуть мати максимум %d елементів" -#: parser/parse_expr.c:2397 +#: parser/parse_expr.c:2398 #, c-format msgid "unnamed XML attribute value must be a column reference" msgstr "замість значення XML-атрибуту без імені повинен вказуватись стовпець" -#: parser/parse_expr.c:2398 +#: parser/parse_expr.c:2399 #, c-format msgid "unnamed XML element value must be a column reference" msgstr "замість значення XML-елементу без імені повинен вказуватись стовпець" -#: parser/parse_expr.c:2413 +#: parser/parse_expr.c:2414 #, c-format msgid "XML attribute name \"%s\" appears more than once" msgstr "Ім'я XML-атрибуту \"%s\" з'являється неодноразово" -#: parser/parse_expr.c:2521 +#: parser/parse_expr.c:2522 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "привести результат XMLSERIALIZE до %s не можна" -#: parser/parse_expr.c:2835 parser/parse_expr.c:3031 +#: parser/parse_expr.c:2836 parser/parse_expr.c:3032 #, c-format msgid "unequal number of entries in row expressions" msgstr "неоднакова кількість елементів у виразах рядка" -#: parser/parse_expr.c:2845 +#: parser/parse_expr.c:2846 #, c-format msgid "cannot compare rows of zero length" msgstr "рядки нульової довжини порівнювати не можна" -#: parser/parse_expr.c:2870 +#: parser/parse_expr.c:2871 #, c-format msgid "row comparison operator must yield type boolean, not type %s" msgstr "оператор порівняння рядків повинен видавати логічний тип, а не %s" -#: parser/parse_expr.c:2877 +#: parser/parse_expr.c:2878 #, c-format msgid "row comparison operator must not return a set" msgstr "оператор порівняння рядків повинен вертати набір" -#: parser/parse_expr.c:2936 parser/parse_expr.c:2977 +#: parser/parse_expr.c:2937 parser/parse_expr.c:2978 #, c-format msgid "could not determine interpretation of row comparison operator %s" msgstr "не вдалося визначити інтерпретацію оператора порівняння рядків %s" -#: parser/parse_expr.c:2938 +#: parser/parse_expr.c:2939 #, c-format msgid "Row comparison operators must be associated with btree operator families." msgstr "Оператори порівняння рядків повинні бути пов'язанні з сімейством операторів btree." -#: parser/parse_expr.c:2979 +#: parser/parse_expr.c:2980 #, c-format msgid "There are multiple equally-plausible candidates." msgstr "Існує декілька рівноцінних кандидатів." -#: parser/parse_expr.c:3314 +#: parser/parse_expr.c:3315 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" msgstr "Вираз JSON ENCODING дозволено лише для типу введення bytea" -#: parser/parse_expr.c:3378 +#: parser/parse_expr.c:3379 #, c-format msgid "cannot use non-string types with implicit FORMAT JSON clause" msgstr "використовувати типи, які не є string з неявним виразом FORMAT JSON не можна" -#: parser/parse_expr.c:3379 +#: parser/parse_expr.c:3380 #, c-format msgid "cannot use non-string types with explicit FORMAT JSON clause" msgstr "використовувати типи, які не є string з явним виразом FORMAT JSON не можна" -#: parser/parse_expr.c:3468 +#: parser/parse_expr.c:3469 #, c-format msgid "cannot use JSON format with non-string output types" msgstr "використовувати формат JSON з типами виводу, які не є string не можна" -#: parser/parse_expr.c:3481 +#: parser/parse_expr.c:3482 #, c-format msgid "cannot set JSON encoding for non-bytea output types" msgstr "встановити кодування JSON для типів виводу, які не є bytea не можна" -#: parser/parse_expr.c:3486 +#: parser/parse_expr.c:3487 #, c-format msgid "unsupported JSON encoding" msgstr "непідтримуване JSON кодування" -#: parser/parse_expr.c:3487 +#: parser/parse_expr.c:3488 #, c-format msgid "Only UTF8 JSON encoding is supported." msgstr "Підтримується лише кодування UTF8 формату JSON." -#: parser/parse_expr.c:3524 +#: parser/parse_expr.c:3525 #, c-format msgid "returning SETOF types is not supported in SQL/JSON functions" msgstr "повернення типів SETOF не підтримується у функціях SQL/JSON" -#: parser/parse_expr.c:3529 +#: parser/parse_expr.c:3530 #, c-format msgid "returning pseudo-types is not supported in SQL/JSON functions" msgstr "повернення псевдо-типів не підтримується у функціях SQL/JSON" -#: parser/parse_expr.c:3857 parser/parse_func.c:866 +#: parser/parse_expr.c:3858 parser/parse_func.c:866 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "агрегатне речення ORDER BY для віконних функцій не реалізовано" -#: parser/parse_expr.c:4080 +#: parser/parse_expr.c:4081 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "використовувати вираз JSON FORMAT ENCODING для типів введення, які не є bytea не можна" -#: parser/parse_expr.c:4100 +#: parser/parse_expr.c:4101 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "використовувати тип %s в предикаті IS JSON не можна" -#: parser/parse_expr.c:4126 parser/parse_expr.c:4247 +#: parser/parse_expr.c:4127 parser/parse_expr.c:4248 #, c-format msgid "cannot use type %s in RETURNING clause of %s" msgstr "неможливо використати тип %s в реченні RETURNING %s" -#: parser/parse_expr.c:4128 +#: parser/parse_expr.c:4129 #, c-format msgid "Try returning json or jsonb." msgstr "Спробуйте повернути json або jsonb." -#: parser/parse_expr.c:4176 +#: parser/parse_expr.c:4177 #, c-format msgid "cannot use non-string types with WITH UNIQUE KEYS clause" msgstr "не можна використовувати не строкові типи з пунктом WITH UNIQUE KEYS" -#: parser/parse_expr.c:4250 +#: parser/parse_expr.c:4251 #, c-format msgid "Try returning a string type or bytea." msgstr "Спробуйте повернути тип string або bytea." -#: parser/parse_expr.c:4315 +#: parser/parse_expr.c:4319 #, c-format msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" msgstr "не можна вказати FORMAT JSON в реченні RETURNING %s()" -#: parser/parse_expr.c:4328 +#: parser/parse_expr.c:4332 #, c-format msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" msgstr "Поведінка SQL/JSON QUOTES не повинна визначатися, коли використовується WITH WRAPPER" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4342 parser/parse_expr.c:4371 parser/parse_expr.c:4402 -#: parser/parse_expr.c:4428 parser/parse_expr.c:4454 +#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 parser/parse_expr.c:4406 +#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 #: parser/parse_jsontable.c:94 #, c-format msgid "invalid %s behavior" @@ -17871,7 +17905,7 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4345 parser/parse_expr.c:4374 +#: parser/parse_expr.c:4349 parser/parse_expr.c:4378 #, c-format msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for %s." msgstr "Тільки ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, або DEFAULT вираз дозволений в %s для %s." @@ -17879,68 +17913,73 @@ #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name a SQL/JSON clause (eg. ON EMPTY) #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4352 parser/parse_expr.c:4381 parser/parse_expr.c:4410 -#: parser/parse_expr.c:4438 parser/parse_expr.c:4464 +#: parser/parse_expr.c:4356 parser/parse_expr.c:4385 parser/parse_expr.c:4414 +#: parser/parse_expr.c:4442 parser/parse_expr.c:4468 #, c-format msgid "invalid %s behavior for column \"%s\"" msgstr "неприпустима поведінка %s для стовпця \"%s \"" #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4355 parser/parse_expr.c:4384 +#: parser/parse_expr.c:4359 parser/parse_expr.c:4388 #, c-format msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for formatted columns." msgstr "Тільки ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, або DEFAULT вираз дозволений в %s для форматованих стовпців." -#: parser/parse_expr.c:4403 +#: parser/parse_expr.c:4407 #, c-format msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s." msgstr "Тільки ERROR, TRUE, FALSE, або UNKNOWN дозволені в %s для %s." #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4413 +#: parser/parse_expr.c:4417 #, c-format msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns." msgstr "Тільки ERROR, TRUE, FALSE або UNKNOWN дозволяється в %s для стовпців EXISTS." #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY), #. second %s is a SQL/JSON function name (e.g. JSON_QUERY) -#: parser/parse_expr.c:4431 parser/parse_expr.c:4457 +#: parser/parse_expr.c:4435 parser/parse_expr.c:4461 #, c-format msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s." msgstr "Тільки ERROR, NULL або DEFAULT вираз дозволений в %s для %s." #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) -#: parser/parse_expr.c:4441 parser/parse_expr.c:4467 +#: parser/parse_expr.c:4445 parser/parse_expr.c:4471 #, c-format msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns." msgstr "Тільки ERROR, NULL або DEFAULT вираз дозволений в %s для скалярних стовпців." -#: parser/parse_expr.c:4497 +#: parser/parse_expr.c:4505 #, c-format msgid "JSON path expression must be of type %s, not of type %s" msgstr "вираз шляху JSON повинен бути типом %s, а не %s" -#: parser/parse_expr.c:4715 +#: parser/parse_expr.c:4745 #, c-format msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT" msgstr "можна вказати лише константу, не агрегатну функцію або вираз операторів для DEFAULT" -#: parser/parse_expr.c:4720 +#: parser/parse_expr.c:4750 #, c-format msgid "DEFAULT expression must not contain column references" msgstr "вираз DEFAULT не повинен містити посилання на стовпець" -#: parser/parse_expr.c:4725 +#: parser/parse_expr.c:4755 #, c-format msgid "DEFAULT expression must not return a set" msgstr "вираз DEFAULT не повинен повертати набір" -#: parser/parse_expr.c:4801 parser/parse_expr.c:4810 +#: parser/parse_expr.c:4770 +#, c-format +msgid "collation of DEFAULT expression conflicts with RETURNING clause" +msgstr "сортування виразу DEFAULT конфліктує з реченням RETURNING" + +#: parser/parse_expr.c:4849 parser/parse_expr.c:4858 #, c-format msgid "cannot cast behavior expression of type %s to %s" msgstr "неможливо привести тип виразу %s до %s" -#: parser/parse_expr.c:4804 +#: parser/parse_expr.c:4852 #, c-format msgid "You will need to explicitly cast the expression to type %s." msgstr "Вам необхідно явно привести вираз до типу %s." @@ -19062,7 +19101,7 @@ msgstr "стовпець %d ключа секціонування має тип \"%s\", але для нього вказано значення типу \"%s\"" #: port/pg_sema.c:209 port/pg_shmem.c:717 port/posix_sema.c:209 -#: port/sysv_sema.c:329 port/sysv_shmem.c:717 +#: port/sysv_sema.c:349 port/sysv_shmem.c:717 #, c-format msgid "could not stat data directory \"%s\": %m" msgstr "не вдалося встановити дані каталогу \"%s\": %m" @@ -19123,34 +19162,34 @@ msgid "huge pages not supported with the current \"shared_memory_type\" setting" msgstr "величезні сторінки не підтримуються з поточним параметром \"shared_memory_type\"" -#: port/pg_shmem.c:798 port/sysv_shmem.c:798 utils/init/miscinit.c:1401 +#: port/pg_shmem.c:798 port/sysv_shmem.c:798 utils/init/miscinit.c:1402 #, c-format msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use" msgstr "раніше виділений блок спільної пам'яті (ключ %lu, ідентифікатор %lu) все ще використовується" -#: port/pg_shmem.c:801 port/sysv_shmem.c:801 utils/init/miscinit.c:1403 +#: port/pg_shmem.c:801 port/sysv_shmem.c:801 utils/init/miscinit.c:1404 #, c-format msgid "Terminate any old server processes associated with data directory \"%s\"." msgstr "Припинити будь-які старі серверні процеси, пов'язані з каталогом даних \"%s\"." -#: port/sysv_sema.c:126 +#: port/sysv_sema.c:141 #, c-format msgid "could not create semaphores: %m" msgstr "не вдалося створити семафори: %m" -#: port/sysv_sema.c:127 +#: port/sysv_sema.c:142 #, c-format msgid "Failed system call was semget(%lu, %d, 0%o)." msgstr "Помилка системного виклику semget(%lu, %d, 0%o)." -#: port/sysv_sema.c:131 +#: port/sysv_sema.c:146 #, c-format msgid "This error does *not* mean that you have run out of disk space. It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be exceeded. You need to raise the respective kernel parameter. Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its \"max_connections\" parameter.\n" "The PostgreSQL documentation contains more information about configuring your system for PostgreSQL." msgstr "Ця помилка НЕ означає, що на диску немає місця. Ймовірніше за все перевищено ліміт числа встановлених семафорів (SEMMNI), або загального числа семафорів (SEMMNS) в системі. Вам потрібно збільшити відповідний параметр ядра. Інший спосіб - зменшити споживання PostgreSQL в семафорах, зменшивши параметр \"max_connections\".\n" "Більше інформації про налаштування вашої системи для PostgreSQL міститься в інструкції PostgreSQL." -#: port/sysv_sema.c:161 +#: port/sysv_sema.c:176 #, c-format msgid "You possibly need to raise your kernel's SEMVMX value to be at least %d. Look into the PostgreSQL documentation for details." msgstr "Можливо, вам потрібно збілшити значення SEMVMX вашого ядра, мінімум до %d. Детальніше про це написано в інструкції PostgreSQL." @@ -19280,32 +19319,32 @@ msgid "autovacuum worker took too long to start; canceled" msgstr "старт процеса автовакуума зайняв забагато часу; скасовано" -#: postmaster/autovacuum.c:2203 +#: postmaster/autovacuum.c:2218 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "автоочистка: видалення застарілої тимчасової таблиці \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2439 +#: postmaster/autovacuum.c:2461 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "автоматична очистка таблиці \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2442 +#: postmaster/autovacuum.c:2464 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "автоматичний аналіз таблиці \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2636 +#: postmaster/autovacuum.c:2663 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "обробка робочого введення для відношення \"%s.%s.%s\"" -#: postmaster/autovacuum.c:3254 +#: postmaster/autovacuum.c:3294 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "автоочистку не запущено через неправильну конфігурацію" -#: postmaster/autovacuum.c:3255 +#: postmaster/autovacuum.c:3295 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Активувати параметр \"track_counts\"." @@ -19364,12 +19403,12 @@ msgstr[2] "Максимальне можливе число фонових процесів при поточних параметрах: %d." msgstr[3] "Максимальне можливе число фонових процесів при поточних параметрах: %d." -#: postmaster/bgworker.c:931 postmaster/checkpointer.c:445 +#: postmaster/bgworker.c:931 postmaster/checkpointer.c:448 #, c-format msgid "Consider increasing the configuration parameter \"%s\"." msgstr "Можливо, слід збільшити параметр конфігурації \"%s\"." -#: postmaster/checkpointer.c:441 +#: postmaster/checkpointer.c:444 #, c-format msgid "checkpoints are occurring too frequently (%d second apart)" msgid_plural "checkpoints are occurring too frequently (%d seconds apart)" @@ -19378,12 +19417,12 @@ msgstr[2] "контрольні точки відбуваються занадто часто (через %d сек.)" msgstr[3] "контрольні точки відбуваються занадто часто (через %d сек.)" -#: postmaster/checkpointer.c:1067 +#: postmaster/checkpointer.c:1073 #, c-format msgid "checkpoint request failed" msgstr "збій при запиті контрольної точки" -#: postmaster/checkpointer.c:1068 +#: postmaster/checkpointer.c:1074 #, c-format msgid "Consult recent messages in the server log for details." msgstr "Для деталей, зверніться до останніх повідомлень в протоколі серверу." @@ -19563,98 +19602,98 @@ msgid "%s: invalid datetoken tables, please fix\n" msgstr "%s: неприпустимі таблиці маркерів часу, будь-ласка виправіть\n" -#: postmaster/postmaster.c:1004 +#: postmaster/postmaster.c:1006 #, c-format msgid "could not create I/O completion port for child queue" msgstr "не вдалося створити завершений порт вводу-виводу для черги дітей" -#: postmaster/postmaster.c:1069 +#: postmaster/postmaster.c:1071 #, c-format msgid "ending log output to stderr" msgstr "завершення запису виводу Stderr" -#: postmaster/postmaster.c:1070 +#: postmaster/postmaster.c:1072 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "В майбутньому запис виведення буде записуватися в призначення \"%s\"." -#: postmaster/postmaster.c:1081 +#: postmaster/postmaster.c:1083 #, c-format msgid "starting %s" msgstr "початок %s" -#: postmaster/postmaster.c:1143 +#: postmaster/postmaster.c:1145 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "не вдалося створити сокет прослуховування для \"%s\"" -#: postmaster/postmaster.c:1149 +#: postmaster/postmaster.c:1151 #, c-format msgid "could not create any TCP/IP sockets" msgstr "не вдалося створити TCP/IP сокети" -#: postmaster/postmaster.c:1181 +#: postmaster/postmaster.c:1183 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "Помилка DNSServiceRegister(): код помилки %ld" -#: postmaster/postmaster.c:1234 +#: postmaster/postmaster.c:1236 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "не вдалося створити Unix-domain сокет в каталозі \"%s\"" -#: postmaster/postmaster.c:1240 +#: postmaster/postmaster.c:1242 #, c-format msgid "could not create any Unix-domain sockets" msgstr "не вдалося створити Unix-domain сокети" -#: postmaster/postmaster.c:1251 +#: postmaster/postmaster.c:1253 #, c-format msgid "no socket created for listening" msgstr "не створено жодного сокету для прослуховування" -#: postmaster/postmaster.c:1282 +#: postmaster/postmaster.c:1284 #, c-format msgid "%s: could not change permissions of external PID file \"%s\": %m\n" msgstr "%s: не вдалося змінити дозволи зовнішнього PID файлу \"%s\": %m\n" -#: postmaster/postmaster.c:1286 +#: postmaster/postmaster.c:1288 #, c-format msgid "%s: could not write external PID file \"%s\": %m\n" msgstr "%s: не вдалося записати зовнішній PID файл \"%s\": %m\n" #. translator: %s is a configuration file -#: postmaster/postmaster.c:1314 utils/init/postinit.c:221 +#: postmaster/postmaster.c:1316 utils/init/postinit.c:221 #, c-format msgid "could not load %s" msgstr "не вдалося завантажити %s" -#: postmaster/postmaster.c:1342 +#: postmaster/postmaster.c:1344 #, c-format msgid "postmaster became multithreaded during startup" msgstr "адміністратор поштового сервера став багатопотоковим під час запуску" -#: postmaster/postmaster.c:1343 postmaster/postmaster.c:3684 +#: postmaster/postmaster.c:1345 postmaster/postmaster.c:3686 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "Встановити в змінній середовища LC_ALL дійісну локаль." -#: postmaster/postmaster.c:1442 +#: postmaster/postmaster.c:1444 #, c-format msgid "%s: could not locate my own executable path" msgstr "%s: не вдалося знайти свій власний шлях для виконання" -#: postmaster/postmaster.c:1449 +#: postmaster/postmaster.c:1451 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: не вдалося знайти відповідний postgres файл, що виконується" -#: postmaster/postmaster.c:1472 utils/misc/tzparser.c:341 +#: postmaster/postmaster.c:1474 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 "Це може означати неповне встановлення PostgreSQL, або те, що файл \"%s\" було переміщено з його правильного розташування." -#: postmaster/postmaster.c:1499 +#: postmaster/postmaster.c:1501 #, c-format msgid "%s: could not find the database system\n" "Expected to find it in the directory \"%s\",\n" @@ -19664,242 +19703,242 @@ "але не вдалося відкрити файл \"%s\": %m\n" #. translator: %s is SIGKILL or SIGABRT -#: postmaster/postmaster.c:1789 +#: postmaster/postmaster.c:1791 #, c-format msgid "issuing %s to recalcitrant children" msgstr "надсилання %s непокірливим дітям" -#: postmaster/postmaster.c:1811 +#: postmaster/postmaster.c:1813 #, c-format msgid "performing immediate shutdown because data directory lock file is invalid" msgstr "виконується негайне припинення роботи через неприпустимий файл блокування каталогу даних" -#: postmaster/postmaster.c:1874 +#: postmaster/postmaster.c:1876 #, c-format msgid "wrong key in cancel request for process %d" msgstr "неправильний ключ в запиті скасування процесу %d" -#: postmaster/postmaster.c:1886 +#: postmaster/postmaster.c:1888 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "PID %d в запиті на скасування не відповідає жодному процесу" -#: postmaster/postmaster.c:2106 +#: postmaster/postmaster.c:2108 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "отримано SIGHUP, поновлення файлів конфігурацій" #. translator: %s is a configuration file -#: postmaster/postmaster.c:2134 postmaster/postmaster.c:2138 +#: postmaster/postmaster.c:2136 postmaster/postmaster.c:2140 #, c-format msgid "%s was not reloaded" msgstr "%s не було перезавантажено" -#: postmaster/postmaster.c:2148 +#: postmaster/postmaster.c:2150 #, c-format msgid "SSL configuration was not reloaded" msgstr "Конфігурація протоколу SSL не була перезавантажена" -#: postmaster/postmaster.c:2234 +#: postmaster/postmaster.c:2236 #, c-format msgid "received smart shutdown request" msgstr "отримано smart запит на завершення роботи" -#: postmaster/postmaster.c:2275 +#: postmaster/postmaster.c:2277 #, c-format msgid "received fast shutdown request" msgstr "отримано швидкий запит на завершення роботи" -#: postmaster/postmaster.c:2293 +#: postmaster/postmaster.c:2295 #, c-format msgid "aborting any active transactions" msgstr "переривання будь-яких активних транзакцій" -#: postmaster/postmaster.c:2317 +#: postmaster/postmaster.c:2319 #, c-format msgid "received immediate shutdown request" msgstr "отримано запит на негайне завершення роботи" -#: postmaster/postmaster.c:2389 +#: postmaster/postmaster.c:2391 #, c-format msgid "shutdown at recovery target" msgstr "завершення роботи при відновленні мети" -#: postmaster/postmaster.c:2407 postmaster/postmaster.c:2443 +#: postmaster/postmaster.c:2409 postmaster/postmaster.c:2445 msgid "startup process" msgstr "стартовий процес" -#: postmaster/postmaster.c:2410 +#: postmaster/postmaster.c:2412 #, c-format msgid "aborting startup due to startup process failure" msgstr "переривання запуску через помилку в стартовому процесі" -#: postmaster/postmaster.c:2485 +#: postmaster/postmaster.c:2487 #, c-format msgid "database system is ready to accept connections" msgstr "система бази даних готова до отримання підключення" -#: postmaster/postmaster.c:2506 +#: postmaster/postmaster.c:2508 msgid "background writer process" msgstr "процес фонового запису" -#: postmaster/postmaster.c:2553 +#: postmaster/postmaster.c:2555 msgid "checkpointer process" msgstr "процес контрольних точок" -#: postmaster/postmaster.c:2569 +#: postmaster/postmaster.c:2571 msgid "WAL writer process" msgstr "Процес запису WAL" -#: postmaster/postmaster.c:2584 +#: postmaster/postmaster.c:2586 msgid "WAL receiver process" msgstr "Процес отримання WAL" -#: postmaster/postmaster.c:2598 +#: postmaster/postmaster.c:2600 msgid "WAL summarizer process" msgstr "Процес підсумовування WAL" -#: postmaster/postmaster.c:2613 +#: postmaster/postmaster.c:2615 msgid "autovacuum launcher process" msgstr "процес запуску автоочистки" -#: postmaster/postmaster.c:2631 +#: postmaster/postmaster.c:2633 msgid "archiver process" msgstr "процес архівації" -#: postmaster/postmaster.c:2644 +#: postmaster/postmaster.c:2646 msgid "system logger process" msgstr "процес системного журналювання" -#: postmaster/postmaster.c:2661 +#: postmaster/postmaster.c:2663 msgid "slot sync worker process" msgstr "робочий процес синхронізації слоту" -#: postmaster/postmaster.c:2717 +#: postmaster/postmaster.c:2719 #, c-format msgid "background worker \"%s\"" msgstr "фоновий виконавець \"%s\"" -#: postmaster/postmaster.c:2796 postmaster/postmaster.c:2816 -#: postmaster/postmaster.c:2823 postmaster/postmaster.c:2841 +#: postmaster/postmaster.c:2798 postmaster/postmaster.c:2818 +#: postmaster/postmaster.c:2825 postmaster/postmaster.c:2843 msgid "server process" msgstr "процес сервера" -#: postmaster/postmaster.c:2895 +#: postmaster/postmaster.c:2897 #, c-format msgid "terminating any other active server processes" msgstr "завершення будь-яких інших активних серверних процесів" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3082 +#: postmaster/postmaster.c:3084 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) завершився з кодом виходу %d" -#: postmaster/postmaster.c:3084 postmaster/postmaster.c:3096 -#: postmaster/postmaster.c:3106 postmaster/postmaster.c:3117 +#: postmaster/postmaster.c:3086 postmaster/postmaster.c:3098 +#: postmaster/postmaster.c:3108 postmaster/postmaster.c:3119 #, c-format msgid "Failed process was running: %s" msgstr "Процес що завершився виконував дію: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3093 +#: postmaster/postmaster.c:3095 #, c-format msgid "%s (PID %d) was terminated by exception 0x%X" msgstr "%s (PID %d) був перерваний винятком 0x%X" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3103 +#: postmaster/postmaster.c:3105 #, c-format msgid "%s (PID %d) was terminated by signal %d: %s" msgstr "%s (PID %d) був перерваний сигналом %d: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3115 +#: postmaster/postmaster.c:3117 #, c-format msgid "%s (PID %d) exited with unrecognized status %d" msgstr "%s (PID %d) завершився з нерозпізнаним статусом %d" -#: postmaster/postmaster.c:3331 +#: postmaster/postmaster.c:3333 #, c-format msgid "abnormal database system shutdown" msgstr "ненормальне завершення роботи системи бази даних" -#: postmaster/postmaster.c:3357 +#: postmaster/postmaster.c:3359 #, c-format msgid "shutting down due to startup process failure" msgstr "завершення роботи через помилку в стартовому процесі" -#: postmaster/postmaster.c:3363 +#: postmaster/postmaster.c:3365 #, c-format msgid "shutting down because \"restart_after_crash\" is off" msgstr "завершення роботи, тому що \"restart_after_crash\" вимкнено" -#: postmaster/postmaster.c:3375 +#: postmaster/postmaster.c:3377 #, c-format msgid "all server processes terminated; reinitializing" msgstr "усі серверні процеси перервано; повторна ініціалізація" -#: postmaster/postmaster.c:3574 postmaster/postmaster.c:3985 -#: postmaster/postmaster.c:4374 +#: postmaster/postmaster.c:3576 postmaster/postmaster.c:3987 +#: postmaster/postmaster.c:4376 #, c-format msgid "could not generate random cancel key" msgstr "не вдалося згенерувати випадковий ключ скасування" -#: postmaster/postmaster.c:3607 +#: postmaster/postmaster.c:3609 #, c-format msgid "could not fork new process for connection: %m" msgstr "не вдалося породити нові процеси для з'єднання: %m" -#: postmaster/postmaster.c:3649 +#: postmaster/postmaster.c:3651 msgid "could not fork new process for connection: " msgstr "не вдалося породити нові процеси для з'єднання: " -#: postmaster/postmaster.c:3683 +#: postmaster/postmaster.c:3685 #, c-format msgid "postmaster became multithreaded" msgstr "postmaster став багатопотоковим" -#: postmaster/postmaster.c:3752 +#: postmaster/postmaster.c:3754 #, c-format msgid "database system is ready to accept read-only connections" msgstr "система бази даних готова до отримання підключення лише для читання" -#: postmaster/postmaster.c:3935 +#: postmaster/postmaster.c:3937 #, c-format msgid "could not fork \"%s\" process: %m" msgstr "не вдалося породити процес \"%s\": %m" -#: postmaster/postmaster.c:4173 postmaster/postmaster.c:4207 +#: postmaster/postmaster.c:4175 postmaster/postmaster.c:4209 #, c-format msgid "database connection requirement not indicated during registration" msgstr "під час реєстрації не вказувалося, що вимагається підключення до бази даних" -#: postmaster/postmaster.c:4183 postmaster/postmaster.c:4217 +#: postmaster/postmaster.c:4185 postmaster/postmaster.c:4219 #, c-format msgid "invalid processing mode in background worker" msgstr "неприпустимий режим обробки у фоновому записі" -#: postmaster/postmaster.c:4277 +#: postmaster/postmaster.c:4279 #, c-format msgid "could not fork background worker process: %m" msgstr "не вдалося породити фоновий процес: %m" -#: postmaster/postmaster.c:4360 +#: postmaster/postmaster.c:4362 #, c-format msgid "no slot available for new background worker process" msgstr "немає доступного слоту для нового фонового робочого процесу" -#: postmaster/postmaster.c:4623 +#: postmaster/postmaster.c:4625 #, c-format msgid "could not read exit code for process\n" msgstr "не вдалося прочитати код завершення процесу\n" -#: postmaster/postmaster.c:4665 +#: postmaster/postmaster.c:4667 #, c-format msgid "could not post child completion status\n" msgstr "не вдалося надіслати статус завершення нащадка\n" @@ -20154,49 +20193,49 @@ msgid "lost connection to the logical replication apply worker" msgstr "втрачено зв'язок з робочим застосунком логічної реплікації" -#: replication/logical/applyparallelworker.c:1024 -#: replication/logical/applyparallelworker.c:1026 +#: replication/logical/applyparallelworker.c:1031 +#: replication/logical/applyparallelworker.c:1033 msgid "logical replication parallel apply worker" msgstr "застосовуючій робочий процес паралельної реплікації" -#: replication/logical/applyparallelworker.c:1040 +#: replication/logical/applyparallelworker.c:1047 #, c-format msgid "logical replication parallel apply worker exited due to error" msgstr "паралельний робочий додаток логічнаої реплікації завершив роботу через помилку" -#: replication/logical/applyparallelworker.c:1127 -#: replication/logical/applyparallelworker.c:1300 +#: replication/logical/applyparallelworker.c:1134 +#: replication/logical/applyparallelworker.c:1307 #, c-format msgid "lost connection to the logical replication parallel apply worker" msgstr "втрачено зв'язок з паралельним робочим застосунком логічної реплікації" -#: replication/logical/applyparallelworker.c:1180 +#: replication/logical/applyparallelworker.c:1187 #, c-format msgid "could not send data to shared-memory queue" msgstr "не вдалося передати дані в чергу в спільну пам'ять" -#: replication/logical/applyparallelworker.c:1215 +#: replication/logical/applyparallelworker.c:1222 #, c-format msgid "logical replication apply worker will serialize the remaining changes of remote transaction %u to a file" msgstr "застосовуючий процес логічної реплікації буде серіалізувати зміни, що залишилися віддаленою транзакцією %u до файлу" -#: replication/logical/decode.c:177 replication/logical/logical.c:141 +#: replication/logical/decode.c:177 replication/logical/logical.c:143 #, c-format msgid "logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary" msgstr "логічне декодування на standby вимагає \"wal_level\" >= \"logical\" на основному сервері" -#: replication/logical/launcher.c:334 +#: replication/logical/launcher.c:347 #, c-format msgid "cannot start logical replication workers when max_replication_slots = 0" msgstr "неможливо почати логічні записи реплікацій, коли max_replication_slots = 0" -#: replication/logical/launcher.c:427 +#: replication/logical/launcher.c:440 #, c-format msgid "out of logical replication worker slots" msgstr "недостатньо слотів для процесів логічної реплікації" -#: replication/logical/launcher.c:428 replication/logical/launcher.c:514 -#: replication/slot.c:1524 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 +#: replication/logical/launcher.c:441 replication/logical/launcher.c:527 +#: replication/slot.c:1582 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 #: storage/lmgr/lock.c:2836 storage/lmgr/lock.c:4221 storage/lmgr/lock.c:4286 #: storage/lmgr/lock.c:4636 storage/lmgr/predicate.c:2469 #: storage/lmgr/predicate.c:2484 storage/lmgr/predicate.c:3881 @@ -20204,111 +20243,111 @@ msgid "You might need to increase \"%s\"." msgstr "Можливо, вам слід збільшити \"%s\"." -#: replication/logical/launcher.c:513 +#: replication/logical/launcher.c:526 #, c-format msgid "out of background worker slots" msgstr "недостатньо слотів для фонових робочих процесів" -#: replication/logical/launcher.c:720 +#: replication/logical/launcher.c:733 #, c-format msgid "logical replication worker slot %d is empty, cannot attach" msgstr "слот запису логічної реплікації %d пустий, неможливо підключитися" -#: replication/logical/launcher.c:729 +#: replication/logical/launcher.c:742 #, c-format msgid "logical replication worker slot %d is already used by another worker, cannot attach" msgstr "слот запису логічної реплікації %d вже використовується іншим виконавцем, неможливо підключитися" -#: replication/logical/logical.c:121 +#: replication/logical/logical.c:123 #, c-format msgid "logical decoding requires \"wal_level\" >= \"logical\"" msgstr "логічне декодування вимагає \"wal_level\" >= logical\"" -#: replication/logical/logical.c:126 +#: replication/logical/logical.c:128 #, c-format msgid "logical decoding requires a database connection" msgstr "логічне декодування вимагає підключення до бази даних" -#: replication/logical/logical.c:365 replication/logical/logical.c:519 +#: replication/logical/logical.c:367 replication/logical/logical.c:523 #, c-format msgid "cannot use physical replication slot for logical decoding" msgstr "неможливо використовувати слот невідповідної реплікації для логічного кодування" -#: replication/logical/logical.c:370 replication/logical/logical.c:529 +#: replication/logical/logical.c:372 replication/logical/logical.c:533 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "слот реплікації \"%s\" був створений не в цій базі даних" -#: replication/logical/logical.c:377 +#: replication/logical/logical.c:379 #, c-format msgid "cannot create logical replication slot in transaction that has performed writes" msgstr "неможливо створити слот логічної реплікації у транзакції, що виконує записування" -#: replication/logical/logical.c:540 +#: replication/logical/logical.c:544 #, c-format msgid "cannot use replication slot \"%s\" for logical decoding" msgstr "не може використовувати слот реплікації \"%s\" для логічного декодування" -#: replication/logical/logical.c:542 replication/slot.c:798 -#: replication/slot.c:829 +#: replication/logical/logical.c:546 replication/slot.c:827 +#: replication/slot.c:858 #, c-format msgid "This replication slot is being synchronized from the primary server." msgstr "Цей слот реплікації синхронізується з основного сервера." -#: replication/logical/logical.c:543 +#: replication/logical/logical.c:547 #, c-format msgid "Specify another replication slot." msgstr "Вкажіть інший слот реплікації." -#: replication/logical/logical.c:554 replication/logical/logical.c:561 +#: replication/logical/logical.c:558 replication/logical/logical.c:565 #, c-format msgid "can no longer get changes from replication slot \"%s\"" msgstr "більше не можна отримувати зміни з слоту реплікації \"%s\"" -#: replication/logical/logical.c:556 +#: replication/logical/logical.c:560 #, c-format msgid "This slot has been invalidated because it exceeded the maximum reserved size." msgstr "Цей слот визнано недійсним, тому що він перевищив максимально зарезервований розмір." -#: replication/logical/logical.c:563 +#: replication/logical/logical.c:567 #, c-format msgid "This slot has been invalidated because it was conflicting with recovery." msgstr "Цей слот було скасовано, оскільки він суперечив відновленню." -#: replication/logical/logical.c:628 +#: replication/logical/logical.c:632 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "початок логічного декодування для слоту \"%s\"" -#: replication/logical/logical.c:630 +#: replication/logical/logical.c:634 #, c-format msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X." msgstr "Потокове передавання транзакцій, що затверджені, після %X/%X, читання WAL з %X/%X." -#: replication/logical/logical.c:778 +#: replication/logical/logical.c:782 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X" msgstr "слот \"%s\", плагін виходу \"%s\", у зворотньому виклику %s, пов'язаний номер LSN %X/%X" -#: replication/logical/logical.c:784 +#: replication/logical/logical.c:788 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback" msgstr "слот \"%s\", плагін виходу \"%s\", у зворотньому виклику %s" -#: replication/logical/logical.c:955 replication/logical/logical.c:1000 -#: replication/logical/logical.c:1045 replication/logical/logical.c:1091 +#: replication/logical/logical.c:959 replication/logical/logical.c:1004 +#: replication/logical/logical.c:1049 replication/logical/logical.c:1095 #, c-format msgid "logical replication at prepare time requires a %s callback" msgstr "логічна реплікація під час підготовки потребує %s зворотнього виклику" -#: replication/logical/logical.c:1323 replication/logical/logical.c:1372 -#: replication/logical/logical.c:1413 replication/logical/logical.c:1499 -#: replication/logical/logical.c:1548 +#: replication/logical/logical.c:1327 replication/logical/logical.c:1376 +#: replication/logical/logical.c:1417 replication/logical/logical.c:1503 +#: replication/logical/logical.c:1552 #, c-format msgid "logical streaming requires a %s callback" msgstr "логічне потокове передавання потребує %s зворотнього виклику" -#: replication/logical/logical.c:1458 +#: replication/logical/logical.c:1462 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "логічне потокове передавання під час підготовки потребує %s зворотнього виклику" @@ -20405,7 +20444,7 @@ msgstr "не вдалося знайти вільний слот стану реплікації для джерела реплікації з ID %d" #: replication/logical/origin.c:957 replication/logical/origin.c:1158 -#: replication/slot.c:2401 +#: replication/slot.c:2443 #, c-format msgid "Increase \"max_replication_slots\" and try again." msgstr "Збільшіть \"max_replication_slots\" і спробуйте знову." @@ -20460,57 +20499,52 @@ msgid "logical replication target relation \"%s.%s\" does not exist" msgstr "цільове відношення логічної реплікації \"%s.%s\" не існує" -#: replication/logical/reorderbuffer.c:3999 +#: replication/logical/reorderbuffer.c:4129 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "не вдалося записати у файл даних для XID %u: %m" -#: replication/logical/reorderbuffer.c:4345 -#: replication/logical/reorderbuffer.c:4370 +#: replication/logical/reorderbuffer.c:4475 +#: replication/logical/reorderbuffer.c:4500 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "не вдалося прочитати з файлу розгортання буферу пересортування: %m" -#: replication/logical/reorderbuffer.c:4349 -#: replication/logical/reorderbuffer.c:4374 +#: replication/logical/reorderbuffer.c:4479 +#: replication/logical/reorderbuffer.c:4504 #, c-format msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "не вдалося прочитати з файлу розгортання буферу пересортування: прочитано %d замість %u байт" -#: replication/logical/reorderbuffer.c:4624 +#: replication/logical/reorderbuffer.c:4754 #, c-format msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m" msgstr "не вдалося видалити файл \"%s\" під час видалення pg_replslot/%s/xid*: %m" -#: replication/logical/reorderbuffer.c:5120 +#: replication/logical/reorderbuffer.c:5250 #, c-format msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "не вдалося прочитати з файлу \"%s\": прочитано %d замість %d байт" -#: replication/logical/slotsync.c:215 +#: replication/logical/slotsync.c:215 replication/logical/slotsync.c:579 #, c-format -msgid "could not synchronize replication slot \"%s\" because remote slot precedes local slot" -msgstr "не вдалося синхронізувати слот реплікації \"%s\", оскільки віддалений слот передує локальному" +msgid "could not synchronize replication slot \"%s\"" +msgstr "не вдалося синхронізувати слот реплікації \"%s\"" #: replication/logical/slotsync.c:217 #, c-format -msgid "The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u." -msgstr "Віддалений слот має LSN %X/%X і каталог xmin %u, а локальний слот має LSN %X/%X і каталог xmin %u." +msgid "Synchronization could lead to data loss, because the remote slot needs WAL at LSN %X/%X and catalog xmin %u, but the standby has LSN %X/%X and catalog xmin %u." +msgstr "Синхронізація може призвести до втрати даних, оскільки для віддаленого слоту потрібно мати WAL в LSN %X/%X та каталог xmin %u, але резервний сервер має LSN %X/%X і каталог xmin %u." #: replication/logical/slotsync.c:459 #, c-format msgid "dropped replication slot \"%s\" of database with OID %u" msgstr "видалено слот реплікації \"%s\" бази даних з OID %u" -#: replication/logical/slotsync.c:579 -#, c-format -msgid "could not synchronize replication slot \"%s\"" -msgstr "не вдалося синхронізувати слот реплікації \"%s\"" - #: replication/logical/slotsync.c:580 #, c-format -msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X." -msgstr "Логічне декодування не може знайти стійку точку з локальних LSN %X/%X." +msgid "Synchronization could lead to data loss, because the standby could not build a consistent snapshot to decode WALs at LSN %X/%X." +msgstr "Синхронізація може призвести до втрати даних, так як резервний сервер не зміг створити узгоджений знімок для декодування LSN %X/%X." #: replication/logical/slotsync.c:589 #, c-format @@ -20527,28 +20561,28 @@ msgid "exiting from slot synchronization because same name slot \"%s\" already exists on the standby" msgstr "вихід із синхронізації слотів, оскільки однойменний слот \"%s\" вже існує у режимі очікування" -#: replication/logical/slotsync.c:819 +#: replication/logical/slotsync.c:821 #, c-format msgid "could not fetch failover logical slots info from the primary server: %s" msgstr "не вдалося отримати інформацію про логічні слоти обходу відмови з основного сервера: %s" -#: replication/logical/slotsync.c:965 +#: replication/logical/slotsync.c:967 #, c-format msgid "could not fetch primary_slot_name \"%s\" info from the primary server: %s" msgstr "не вдалося отримати інформацію primary_slot_name \"%s\" з первинного сервера: %s" -#: replication/logical/slotsync.c:967 +#: replication/logical/slotsync.c:969 #, c-format msgid "Check if primary_slot_name is configured correctly." msgstr "Перевірте, чи правильно налаштовано primary_slot_name." -#: replication/logical/slotsync.c:987 +#: replication/logical/slotsync.c:989 #, c-format msgid "cannot synchronize replication slots from a standby server" msgstr "не вдається синхронізувати слоти реплікації з резервного сервера" #. translator: second %s is a GUC variable name -#: replication/logical/slotsync.c:996 +#: replication/logical/slotsync.c:998 #, c-format msgid "replication slot \"%s\" specified by \"%s\" does not exist on primary server" msgstr "слот реплікації \"%s\", на який вказує \"%s\", не існує на основному сервері" @@ -20556,7 +20590,7 @@ #. translator: first %s is a connection option; second %s is a GUC #. variable name #. -#: replication/logical/slotsync.c:1029 +#: replication/logical/slotsync.c:1031 #, c-format msgid "replication slot synchronization requires \"%s\" to be specified in \"%s\"" msgstr "для синхронізації слотів реплікації потрібно, щоб \"%s\" було вказано у \"%s\"" @@ -20567,49 +20601,49 @@ msgstr "синхронізація слотів вимагає \"wal_level\" >= \"logical\"" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1063 replication/logical/slotsync.c:1091 +#: replication/logical/slotsync.c:1065 replication/logical/slotsync.c:1093 #, c-format msgid "replication slot synchronization requires \"%s\" to be set" msgstr "для синхронізації слотів реплікації потрібно, щоб було вказано \"%s\"" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1077 +#: replication/logical/slotsync.c:1079 #, c-format msgid "replication slot synchronization requires \"%s\" to be enabled" msgstr "синхронізація слотів реплікації потребує ввімкнення \"%s\"" #. translator: %s is a GUC variable name -#: replication/logical/slotsync.c:1129 +#: replication/logical/slotsync.c:1131 #, c-format msgid "replication slot synchronization worker will shut down because \"%s\" is disabled" msgstr "процес синхронизації слотів реплікації буде вимкнутий, тому що \"%s\" відключено" -#: replication/logical/slotsync.c:1138 +#: replication/logical/slotsync.c:1140 #, c-format msgid "replication slot synchronization worker will restart because of a parameter change" msgstr "процес синхронізації слотів реплікації буде перезавантажений через зміну параметра" -#: replication/logical/slotsync.c:1162 +#: replication/logical/slotsync.c:1164 #, c-format -msgid "replication slot synchronization worker is shutting down on receiving SIGINT" -msgstr "процес синхронізації слотів реплікації буде вимкнуто через отримання повідомлення SIGINT" +msgid "replication slot synchronization worker is shutting down because promotion is triggered" +msgstr "процес синхронизації слотів реплікації буде вимкнутий, тому що запущено підвищення" -#: replication/logical/slotsync.c:1287 +#: replication/logical/slotsync.c:1289 #, c-format msgid "cannot synchronize replication slots when standby promotion is ongoing" msgstr "неможливо синхронізувати слоти реплікації під час підвищення резервного сервера" -#: replication/logical/slotsync.c:1295 +#: replication/logical/slotsync.c:1297 #, c-format msgid "cannot synchronize replication slots concurrently" msgstr "не може синхронізувати слоти реплікації одночасно" -#: replication/logical/slotsync.c:1403 +#: replication/logical/slotsync.c:1405 #, c-format msgid "slot sync worker started" msgstr "запущено працівника синхронізації слотів" -#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:905 +#: replication/logical/slotsync.c:1468 replication/slotfuncs.c:926 #: replication/walreceiver.c:307 #, c-format msgid "could not connect to the primary server: %s" @@ -20629,58 +20663,58 @@ msgstr[2] "експортовано знімок логічного декодування \"%s\" з %u ID транзакціями" msgstr[3] "експортовано знімок логічного декодування \"%s\" з %u ID транзакціями" -#: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501 -#: replication/logical/snapbuild.c:2017 +#: replication/logical/snapbuild.c:1451 replication/logical/snapbuild.c:1548 +#: replication/logical/snapbuild.c:2064 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "узгодження процесу логічного кодування знайдено в точці %X/%X" -#: replication/logical/snapbuild.c:1406 +#: replication/logical/snapbuild.c:1453 #, c-format msgid "There are no running transactions." msgstr "Більше активних транзакцій немає." -#: replication/logical/snapbuild.c:1453 +#: replication/logical/snapbuild.c:1500 #, c-format msgid "logical decoding found initial starting point at %X/%X" msgstr "початкова стартова точка процесу логічного декодування знайдена в точці %X/%X" -#: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479 +#: replication/logical/snapbuild.c:1502 replication/logical/snapbuild.c:1526 #, c-format msgid "Waiting for transactions (approximately %d) older than %u to end." msgstr "Очікування транзакцій (приблизно %d) старіше, ніж %u до кінця." -#: replication/logical/snapbuild.c:1477 +#: replication/logical/snapbuild.c:1524 #, c-format msgid "logical decoding found initial consistent point at %X/%X" msgstr "початкова точка узгодження процесу логічного кодування знайдена в точці %X/%X" -#: replication/logical/snapbuild.c:1503 +#: replication/logical/snapbuild.c:1550 #, c-format msgid "There are no old transactions anymore." msgstr "Більше старих транзакцій немає." -#: replication/logical/snapbuild.c:1904 +#: replication/logical/snapbuild.c:1951 #, c-format msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u" msgstr "файл стану snapbuild \"%s\" має неправильне магічне число: %u замість %u" -#: replication/logical/snapbuild.c:1910 +#: replication/logical/snapbuild.c:1957 #, c-format msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u" msgstr "файл стану snapbuild \"%s\" має непідтримуючу версію: %u замість %u" -#: replication/logical/snapbuild.c:1951 +#: replication/logical/snapbuild.c:1998 #, c-format msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u" msgstr "у файлі стану snapbuild \"%s\" невідповідність контрольної суми: %u, повинно бути %u" -#: replication/logical/snapbuild.c:2019 +#: replication/logical/snapbuild.c:2066 #, c-format msgid "Logical decoding will begin using saved snapshot." msgstr "Логічне декодування почнеться зі збереженого знімку." -#: replication/logical/snapbuild.c:2126 +#: replication/logical/snapbuild.c:2173 #, c-format msgid "could not parse file name \"%s\"" msgstr "не вдалося аналізувати ім'я файлу \"%s\"" @@ -20690,388 +20724,382 @@ msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished" msgstr "процес синхронізації таблиці при логічній реплікації для підписки \"%s\", таблиці \"%s\" закінчив обробку" -#: replication/logical/tablesync.c:641 +#: replication/logical/tablesync.c:667 #, c-format msgid "logical replication apply worker for subscription \"%s\" will restart so that two_phase can be enabled" msgstr "застосовуючий процес логічної реплікації для підписки \"%s\" буде перезавантажено, щоб можна було активувати two_phase" -#: replication/logical/tablesync.c:827 replication/logical/tablesync.c:969 +#: replication/logical/tablesync.c:853 replication/logical/tablesync.c:995 #, c-format msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" msgstr "не вдалося отримати інформацію про таблицю \"%s.%s\" з серверу публікації: %s" -#: replication/logical/tablesync.c:834 +#: replication/logical/tablesync.c:860 #, c-format msgid "table \"%s.%s\" not found on publisher" msgstr "таблиця \"%s.%s\" не знайдена на сервері публікації" -#: replication/logical/tablesync.c:892 +#: replication/logical/tablesync.c:918 #, c-format msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s" msgstr "не вдалося отримати інформацію про список стовпців для таблиці \"%s.%s\" з серверу публікації: %s" -#: replication/logical/tablesync.c:1071 +#: replication/logical/tablesync.c:1097 #, c-format msgid "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: %s" msgstr "не вдалося отримати інформацію про вираз WHERE для таблиці \"%s.%s\" з серверу публікації: %s" -#: replication/logical/tablesync.c:1230 +#: replication/logical/tablesync.c:1256 #, c-format msgid "could not start initial contents copy for table \"%s.%s\": %s" msgstr "не вдалося почати копіювання початкового змісту таблиці \"%s.%s\": %s" -#: replication/logical/tablesync.c:1429 +#: replication/logical/tablesync.c:1469 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "копії таблиці не вдалося запустити транзакцію на сервері публікації: %s" -#: replication/logical/tablesync.c:1472 -#, c-format -msgid "replication origin \"%s\" already exists" -msgstr "джерело реплікації \"%s\" вже існує" - -#: replication/logical/tablesync.c:1505 replication/logical/worker.c:2361 +#: replication/logical/tablesync.c:1529 replication/logical/worker.c:2363 #, c-format msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\"" msgstr "користувач \"%s\" не може реплікувати у відношення з увімкненим захистом на рівні рядків: \"%s\"" -#: replication/logical/tablesync.c:1518 +#: replication/logical/tablesync.c:1542 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "копії таблиці не вдалося завершити транзакцію на сервері публікації: %s" -#: replication/logical/worker.c:481 +#: replication/logical/worker.c:483 #, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop" msgstr "застосовуючий процес логічної реплікації для підписки \"%s\" буде зупинено" -#: replication/logical/worker.c:483 +#: replication/logical/worker.c:485 #, c-format msgid "Cannot handle streamed replication transactions using parallel apply workers until all tables have been synchronized." msgstr "Неможливо обробляти транзакції потокової реплікації з використанням паралельних застосовуючих працівників, доки не буде синхронізовано всі таблиці." -#: replication/logical/worker.c:852 replication/logical/worker.c:967 +#: replication/logical/worker.c:854 replication/logical/worker.c:969 #, c-format msgid "incorrect binary data format in logical replication column %d" msgstr "невірний формат двійкових даних в стовпці логічної реплікації %d" -#: replication/logical/worker.c:2504 +#: replication/logical/worker.c:2506 #, c-format msgid "publisher did not send replica identity column expected by the logical replication target relation \"%s.%s\"" msgstr "сервер публікації не передав стовпець ідентифікації репліки очікуваний для цільового зв'язку логічної реплікації \"%s.%s\"" -#: replication/logical/worker.c:2511 +#: replication/logical/worker.c:2513 #, c-format msgid "logical replication target relation \"%s.%s\" has neither REPLICA IDENTITY index nor PRIMARY KEY and published relation does not have REPLICA IDENTITY FULL" msgstr "в цільовому зв'язку логічної реплікації \"%s.%s\" немає ні індексу REPLICA IDENTITY, ні ключа PRIMARY KEY і публіковаий зв'язок не має REPLICA IDENTITY FULL" -#: replication/logical/worker.c:3382 +#: replication/logical/worker.c:3384 #, c-format msgid "invalid logical replication message type \"??? (%d)\"" msgstr "неприпустимий тип повідомлення логічної реплікації \"??? (%d)\"" -#: replication/logical/worker.c:3554 +#: replication/logical/worker.c:3556 #, c-format msgid "data stream from publisher has ended" msgstr "потік даних з серверу публікації завершився" -#: replication/logical/worker.c:3708 +#: replication/logical/worker.c:3710 #, c-format msgid "terminating logical replication worker due to timeout" msgstr "завершення процесу логічної реплікації через тайм-аут" -#: replication/logical/worker.c:3902 +#: replication/logical/worker.c:3904 #, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was removed" msgstr "процес логічної реплікації для підписки \"%s\" буде зупинено, тому, що підписка була видалена" -#: replication/logical/worker.c:3916 +#: replication/logical/worker.c:3918 #, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" msgstr "процес логічної реплікації для підписки \"%s\" буде зупинено, тому, що підписка була вимкнута" -#: replication/logical/worker.c:3947 +#: replication/logical/worker.c:3949 #, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop because of a parameter change" msgstr "процес, що застосовує паралельну логічну реплікацію для підписки \"%s\", буде зупинено через зміну параметру" -#: replication/logical/worker.c:3951 +#: replication/logical/worker.c:3953 #, c-format msgid "logical replication worker for subscription \"%s\" will restart because of a parameter change" msgstr "процес логічної реплікації для підписки \"%s\", буде перезавантажено через зміну параметру" -#: replication/logical/worker.c:3965 +#: replication/logical/worker.c:3967 #, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop because the subscription owner's superuser privileges have been revoked" msgstr "логічна реплікація паралельного аплікатора для підписки \"%s\" буде зупинена, оскільки права суперкористувача власника підписки було відкликано" -#: replication/logical/worker.c:3969 +#: replication/logical/worker.c:3971 #, c-format msgid "logical replication worker for subscription \"%s\" will restart because the subscription owner's superuser privileges have been revoked" msgstr "працівник логічної реплікації для підписки \"%s\" буде перезапущено, оскільки права суперкористувача власника підписки було відкликано" -#: replication/logical/worker.c:4489 +#: replication/logical/worker.c:4499 #, c-format msgid "subscription has no replication slot set" msgstr "для підписки не встановлений слот реплікації" -#: replication/logical/worker.c:4602 +#: replication/logical/worker.c:4627 #, c-format msgid "logical replication worker for subscription %u will not start because the subscription was removed during startup" msgstr "процес логічної реплікації для підписки %u не буде почато, тому, що підписка була видалена під час запуску" -#: replication/logical/worker.c:4618 +#: replication/logical/worker.c:4643 #, c-format msgid "logical replication worker for subscription \"%s\" will not start because the subscription was disabled during startup" msgstr "процес логічної реплікації для підписки \"%s\" не буде почато, тому, що підписка була вимкнута під час запуску" -#: replication/logical/worker.c:4642 +#: replication/logical/worker.c:4667 #, c-format msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" msgstr "просец синхронізації таблиці під час логічної реплікації для підписки \"%s\", таблиці \"%s\" запущений" -#: replication/logical/worker.c:4647 +#: replication/logical/worker.c:4672 #, c-format msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "застосовуючий процес логічної реплікації для підписки \"%s\" запущений" -#: replication/logical/worker.c:4769 +#: replication/logical/worker.c:4806 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "підписка \"%s\" була відключена через помилку" -#: replication/logical/worker.c:4817 +#: replication/logical/worker.c:4854 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "логічна реплікація починає пропускати транзакцію в LSN %X/%X" -#: replication/logical/worker.c:4831 +#: replication/logical/worker.c:4868 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "логічна реплікація завершила пропускати транзакцію в LSN %X/%X" -#: replication/logical/worker.c:4913 +#: replication/logical/worker.c:4956 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "очищено LSN пропуску підписки \"%s\"" -#: replication/logical/worker.c:4914 +#: replication/logical/worker.c:4957 #, c-format msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X." msgstr "Кінцеве розташування WAL віддаленої транзакції (LSN) %X/%X не відповідає skip-LSN %X/%X." -#: replication/logical/worker.c:4951 +#: replication/logical/worker.c:4985 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\"" msgstr "обробка віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\"" -#: replication/logical/worker.c:4955 +#: replication/logical/worker.c:4989 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u" msgstr "обробка віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" у транзакції %u" -#: replication/logical/worker.c:4960 +#: replication/logical/worker.c:4994 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X" msgstr "обробку віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" у транзакції %u завершено о %X/%X" -#: replication/logical/worker.c:4971 +#: replication/logical/worker.c:5005 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u" msgstr "обробка віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" для цільового відношення реплікації \"%s.%s\" в транзакції %u" -#: replication/logical/worker.c:4978 +#: replication/logical/worker.c:5012 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X" msgstr "обробку віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" для цільового відношення реплікації \"%s.%s\" в транзакції %u завершено о %X/%X" -#: replication/logical/worker.c:4989 +#: replication/logical/worker.c:5023 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u" msgstr "обробка віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" для цільового відношення реплікації \"%s.%s\" стовпчик \"%s\" у транзакції %u" -#: replication/logical/worker.c:4997 +#: replication/logical/worker.c:5031 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X" msgstr "обробку віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" для цільового відношення реплікації \"%s.%s\" стовпчик \"%s\" у транзакції %u завершено о %X/%X" -#: replication/pgoutput/pgoutput.c:322 +#: replication/pgoutput/pgoutput.c:323 #, c-format msgid "invalid proto_version" msgstr "неприпустиме значення proto_version" -#: replication/pgoutput/pgoutput.c:327 +#: replication/pgoutput/pgoutput.c:328 #, c-format msgid "proto_version \"%s\" out of range" msgstr "значення proto_version \"%s\" за межами діапазону" -#: replication/pgoutput/pgoutput.c:344 +#: replication/pgoutput/pgoutput.c:345 #, c-format msgid "invalid publication_names syntax" msgstr "неприпустимий синтаксис publication_names" -#: replication/pgoutput/pgoutput.c:414 replication/pgoutput/pgoutput.c:418 +#: replication/pgoutput/pgoutput.c:415 replication/pgoutput/pgoutput.c:419 #, c-format msgid "option \"%s\" missing" msgstr "параметр \"%s\" відсутній" -#: replication/pgoutput/pgoutput.c:478 +#: replication/pgoutput/pgoutput.c:490 #, c-format msgid "client sent proto_version=%d but server only supports protocol %d or lower" msgstr "клієнт передав proto_version=%d, але сервер підтримує лише протокол %d або нижче" -#: replication/pgoutput/pgoutput.c:484 +#: replication/pgoutput/pgoutput.c:496 #, c-format msgid "client sent proto_version=%d but server only supports protocol %d or higher" msgstr "клієнт передав proto_version=%d, але сервер підтримує лише протокол %d або вище" -#: replication/pgoutput/pgoutput.c:499 +#: replication/pgoutput/pgoutput.c:511 #, c-format msgid "requested proto_version=%d does not support streaming, need %d or higher" msgstr "запитувана proto_version=%d не підтримує потокову передачу, потребується %d або вища" -#: replication/pgoutput/pgoutput.c:505 +#: replication/pgoutput/pgoutput.c:517 #, c-format msgid "requested proto_version=%d does not support parallel streaming, need %d or higher" msgstr "запитувана proto_version=%d не підтримує паралельний потік, потрібно %d або вище" -#: replication/pgoutput/pgoutput.c:510 +#: replication/pgoutput/pgoutput.c:522 #, c-format msgid "streaming requested, but not supported by output plugin" msgstr "запитане потокова передавача, але не підтримується плагіном виводу" -#: replication/pgoutput/pgoutput.c:524 +#: replication/pgoutput/pgoutput.c:536 #, c-format msgid "requested proto_version=%d does not support two-phase commit, need %d or higher" msgstr "запитувана proto_version=%d не підтримує двоетапне затвердження, потрібна %d або вища" -#: replication/pgoutput/pgoutput.c:529 +#: replication/pgoutput/pgoutput.c:541 #, c-format msgid "two-phase commit requested, but not supported by output plugin" msgstr "запитано двоетапне затвердження, але не підтримується плагіном виводу" -#: replication/slot.c:260 +#: replication/slot.c:292 #, c-format msgid "replication slot name \"%s\" is too short" msgstr "ім'я слоту реплікації \"%s\" занадто коротке" -#: replication/slot.c:269 +#: replication/slot.c:300 #, c-format msgid "replication slot name \"%s\" is too long" msgstr "ім'я слоту реплікації \"%s\" занадто довге" -#: replication/slot.c:282 +#: replication/slot.c:312 #, c-format msgid "replication slot name \"%s\" contains invalid character" msgstr "ім'я слоту реплікації \"%s\" містить неприпустимий символ" -#: replication/slot.c:284 -#, c-format +#: replication/slot.c:313 msgid "Replication slot names may only contain lower case letters, numbers, and the underscore character." msgstr "Імена слота реплікації можуть містити лише букви в нижньому кейсі, числа, і символ підкреслення." -#: replication/slot.c:333 +#: replication/slot.c:362 #, c-format msgid "cannot enable failover for a replication slot created on the standby" msgstr "не вдається увімкнути відмовостійкість для слота реплікації, створеного в режимі очікування" -#: replication/slot.c:345 replication/slot.c:849 +#: replication/slot.c:374 replication/slot.c:878 #, c-format msgid "cannot enable failover for a temporary replication slot" msgstr "не вдається увімкнути відмовостійкість для тимчасового слота реплікації" -#: replication/slot.c:370 +#: replication/slot.c:399 #, c-format msgid "replication slot \"%s\" already exists" msgstr "слот реплікації \"%s\" вже існує" -#: replication/slot.c:380 +#: replication/slot.c:409 #, c-format msgid "all replication slots are in use" msgstr "використовуються всі слоти реплікації" -#: replication/slot.c:381 +#: replication/slot.c:410 #, c-format msgid "Free one or increase \"max_replication_slots\"." msgstr "Звільніть непотрібні або збільшіть \"max_replication_slots\"." -#: replication/slot.c:560 replication/slot.c:2467 replication/slotfuncs.c:661 +#: replication/slot.c:589 replication/slotfuncs.c:661 #: utils/activity/pgstat_replslot.c:56 utils/adt/genfile.c:728 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "слот реплікації \"%s\" не існує" -#: replication/slot.c:606 replication/slot.c:1337 +#: replication/slot.c:635 replication/slot.c:1395 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "слот реплікації \"%s\" активний для PID %d" -#: replication/slot.c:638 +#: replication/slot.c:667 #, c-format msgid "acquired logical replication slot \"%s\"" msgstr "придбано слот логічної реплікації \"%s\"" -#: replication/slot.c:640 +#: replication/slot.c:669 #, c-format msgid "acquired physical replication slot \"%s\"" msgstr "придбано фізичний слот реплікації \"%s\"" -#: replication/slot.c:729 +#: replication/slot.c:758 #, c-format msgid "released logical replication slot \"%s\"" msgstr "звільнено слот логічної реплікації \"%s\"" -#: replication/slot.c:731 +#: replication/slot.c:760 #, c-format msgid "released physical replication slot \"%s\"" msgstr "звільнено фізичний слот реплікації \"%s\"" -#: replication/slot.c:797 +#: replication/slot.c:826 #, c-format msgid "cannot drop replication slot \"%s\"" msgstr "не може скинути слот реплікації \"%s\"" -#: replication/slot.c:816 +#: replication/slot.c:845 #, c-format msgid "cannot use %s with a physical replication slot" msgstr "не може використовувати %s з фізичним слотом реплікації" -#: replication/slot.c:828 +#: replication/slot.c:857 #, c-format msgid "cannot alter replication slot \"%s\"" msgstr "не може змінювати слот реплікації \"%s\"" -#: replication/slot.c:838 +#: replication/slot.c:867 #, c-format msgid "cannot enable failover for a replication slot on the standby" msgstr "не вдається увімкнути обхід відмови для слота реплікації в режимі очікування" -#: replication/slot.c:969 replication/slot.c:1927 replication/slot.c:2311 +#: replication/slot.c:998 replication/slot.c:1962 replication/slot.c:2353 #, c-format msgid "could not remove directory \"%s\"" msgstr "не вдалося видалити каталог \"%s\"" -#: replication/slot.c:1372 +#: replication/slot.c:1430 #, c-format msgid "replication slots can only be used if \"max_replication_slots\" > 0" msgstr "слоти реплікації можна використовувати лише якщо \"max_replication_slots\" > 0" -#: replication/slot.c:1377 +#: replication/slot.c:1435 #, c-format msgid "replication slots can only be used if \"wal_level\" >= \"replica\"" msgstr "слоти реплікації можна використовувати лише якщо \"wal_level\" >= \"replica\"" -#: replication/slot.c:1389 +#: replication/slot.c:1447 #, c-format msgid "permission denied to use replication slots" msgstr "немає дозволу для використання слотів реплікації" -#: replication/slot.c:1390 +#: replication/slot.c:1448 #, c-format msgid "Only roles with the %s attribute may use replication slots." msgstr "Тільки ролі з атрибутом %s можуть використовувати слоти реплікації." -#: replication/slot.c:1498 +#: replication/slot.c:1556 #, c-format msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte." msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." @@ -21080,131 +21108,126 @@ msgstr[2] "Значення restart_lsn слота %X/%X перевищує ліміт на %llu байтів." msgstr[3] "Значення restart_lsn слота %X/%X перевищує ліміт на %llu байтів." -#: replication/slot.c:1506 +#: replication/slot.c:1564 #, c-format msgid "The slot conflicted with xid horizon %u." msgstr "Слот конфліктував з горизонтом xid %u." -#: replication/slot.c:1511 +#: replication/slot.c:1569 msgid "Logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary server." msgstr "Логічне декодування на резервному сервері вимагає \"wal_level\" >= \"logical\" на основному сервері." -#: replication/slot.c:1519 +#: replication/slot.c:1577 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "завершення процесу %d для звільнення слоту реплікації \"%s\"" -#: replication/slot.c:1521 +#: replication/slot.c:1579 #, c-format msgid "invalidating obsolete replication slot \"%s\"" msgstr "анулювання застарілого слоту реплікації \"%s\"" -#: replication/slot.c:2249 +#: replication/slot.c:2291 #, c-format msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" msgstr "файл слоту реплікації \"%s\" має неправильне магічне число: %u замість %u" -#: replication/slot.c:2256 +#: replication/slot.c:2298 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "файл слоту реплікації \"%s\" має непідтримуючу версію %u" -#: replication/slot.c:2263 +#: replication/slot.c:2305 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "файл слоту реплікації \"%s\" має пошкоджену довжину %u" -#: replication/slot.c:2299 +#: replication/slot.c:2341 #, c-format msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" msgstr "у файлі слоту реплікації \"%s\" невідповідність контрольної суми: %u, повинно бути %u" -#: replication/slot.c:2335 +#: replication/slot.c:2377 #, c-format msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\"" msgstr "слот логічної реплікації \"%s\" існує, але \"wal_level\" < \"logical\"" -#: replication/slot.c:2337 +#: replication/slot.c:2379 #, c-format msgid "Change \"wal_level\" to be \"logical\" or higher." msgstr "Змініть \"wal_level\" на \"logical\" або вище." -#: replication/slot.c:2349 +#: replication/slot.c:2391 #, c-format msgid "logical replication slot \"%s\" exists on the standby, but \"hot_standby\" = \"off\"" msgstr "слот логічної реплікації \"%s\" існує на резервному сервері, але hot_standby = off\"" -#: replication/slot.c:2351 +#: replication/slot.c:2393 #, c-format msgid "Change \"hot_standby\" to be \"on\"." msgstr "Змінити \"hot_standby\" у значення \"on\"." -#: replication/slot.c:2356 +#: replication/slot.c:2398 #, c-format msgid "physical replication slot \"%s\" exists, but \"wal_level\" < \"replica\"" msgstr "слот фізичної реплікації \"%s\" існує, але \"wal_level\" < \"replica\"" -#: replication/slot.c:2358 +#: replication/slot.c:2400 #, c-format msgid "Change \"wal_level\" to be \"replica\" or higher." msgstr "Змініть \"wal_level\" на \"replica\" або вище." -#: replication/slot.c:2400 +#: replication/slot.c:2442 #, c-format msgid "too many replication slots active before shutdown" msgstr "перед завершенням роботи активно занадто багато слотів реплікації" -#: replication/slot.c:2475 -#, c-format -msgid "\"%s\" is not a physical replication slot" -msgstr "\"%s\" не є фізичним слотом реплікації" - -#: replication/slot.c:2654 +#: replication/slot.c:2669 #, c-format msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist" msgstr "слот реплікації \"%s\", вказаний в параметрі \"%s\", не існує" -#: replication/slot.c:2656 replication/slot.c:2690 replication/slot.c:2705 +#: replication/slot.c:2671 replication/slot.c:2705 replication/slot.c:2720 #, c-format msgid "Logical replication is waiting on the standby associated with replication slot \"%s\"." msgstr "Логічна реплікація чекає на слоті реплікації, що пов'язана з слотом реплікації \"%s\"." -#: replication/slot.c:2658 +#: replication/slot.c:2673 #, c-format msgid "Create the replication slot \"%s\" or amend parameter \"%s\"." msgstr "Створіть слот реплікації \"%s\" або змініть параметр \"%s\"." -#: replication/slot.c:2668 +#: replication/slot.c:2683 #, c-format msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\"" msgstr "неможливо вказати слот логічної реплікації \"%s\" в параметрі \"%s\"" -#: replication/slot.c:2670 +#: replication/slot.c:2685 #, c-format msgid "Logical replication is waiting for correction on replication slot \"%s\"." msgstr "Логічна реплікація очікує на корекцію на слоті реплікації \"%s\"." -#: replication/slot.c:2672 +#: replication/slot.c:2687 #, c-format msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"." msgstr "Приберіть слот логічної реплікації \"%s\" з параметру \"%s\"." -#: replication/slot.c:2688 +#: replication/slot.c:2703 #, c-format msgid "physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated" msgstr "слот фізичної реплікації \"%s\" вказаний у параметрі \"%s\" було анульовано" -#: replication/slot.c:2692 +#: replication/slot.c:2707 #, c-format msgid "Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"." msgstr "Видаліть і повторно створіть слот реплікації \"%s\" або змініть параметр \"%s\"." -#: replication/slot.c:2703 +#: replication/slot.c:2718 #, c-format msgid "replication slot \"%s\" specified in parameter \"%s\" does not have active_pid" msgstr "слот реплікації \"%s\", вказаний в параметрі \"%s\", не має active_pid" -#: replication/slot.c:2707 +#: replication/slot.c:2722 #, c-format msgid "Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\"." msgstr "Запустіть резервний сервер асоційований зі слотом реплікації \"%s\" або змініть параметр \"%s\"." @@ -21244,62 +21267,77 @@ msgid "cannot copy a replication slot that doesn't reserve WAL" msgstr "не можна скопіювати слот реплікації, який не резервує WAL" -#: replication/slotfuncs.c:773 +#: replication/slotfuncs.c:688 +#, c-format +msgid "cannot copy invalidated replication slot \"%s\"" +msgstr "неможливо скопіювати недопустимий слот логічної реплікації \"%s\"" + +#: replication/slotfuncs.c:780 #, c-format msgid "could not copy replication slot \"%s\"" msgstr "не вдалося скопіювати слот реплікації \"%s\"" -#: replication/slotfuncs.c:775 +#: replication/slotfuncs.c:782 #, c-format msgid "The source replication slot was modified incompatibly during the copy operation." msgstr "Слот реплікації джерела був змінений несумісно під час операції копіювання." -#: replication/slotfuncs.c:781 +#: replication/slotfuncs.c:788 #, c-format msgid "cannot copy unfinished logical replication slot \"%s\"" msgstr "не можна скопіювати незавершений слот логічної реплікації \"%s\"" -#: replication/slotfuncs.c:783 +#: replication/slotfuncs.c:790 #, c-format msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." msgstr "Повторіть, коли confirmed_flush_lsn слоту джерела реплікації є дійсним." -#: replication/slotfuncs.c:882 +#: replication/slotfuncs.c:802 +#, c-format +msgid "cannot copy replication slot \"%s\"" +msgstr "неможливо скопіювати слоту реплікації \"%s\"" + +#: replication/slotfuncs.c:804 +#, c-format +msgid "The source replication slot was invalidated during the copy operation." +msgstr "Слот реплікації джерела був анульований під час операції копії." + +#: replication/slotfuncs.c:903 #, c-format msgid "replication slots can only be synchronized to a standby server" msgstr "слоти реплікації можна синхронізувати лише з резервним сервером" -#: replication/syncrep.c:261 +#: replication/syncrep.c:304 #, c-format msgid "canceling the wait for synchronous replication and terminating connection due to administrator command" msgstr "скасування очікування синхронної реплікації і завершення з'єднання по команді адміністратора" -#: replication/syncrep.c:262 replication/syncrep.c:279 +#: replication/syncrep.c:305 replication/syncrep.c:322 #, c-format msgid "The transaction has already committed locally, but might not have been replicated to the standby." msgstr "Транзакція вже була затверджена локально, але можливо не була реплікована до режиму очікування." -#: replication/syncrep.c:278 +#: replication/syncrep.c:321 #, c-format msgid "canceling wait for synchronous replication due to user request" msgstr "скасування очікування синхронної реплікації по запиту користувача" -#: replication/syncrep.c:485 +#: replication/syncrep.c:528 #, c-format msgid "standby \"%s\" is now a synchronous standby with priority %d" msgstr "очікування \"%s\" тепер є синхронним очікуванням з пріоритетом %d" -#: replication/syncrep.c:489 +#: replication/syncrep.c:532 #, c-format msgid "standby \"%s\" is now a candidate for quorum synchronous standby" msgstr "режим очікування \"%s\" зараз є кандидатом для включення в кворум синхронних" -#: replication/syncrep.c:1013 +#: replication/syncrep.c:1080 #, c-format msgid "\"synchronous_standby_names\" parser failed" msgstr "помилка при аналізуванні \"synchronous_standby_names\"" -#: replication/syncrep.c:1019 +#: replication/syncrep.c:1086 #, c-format msgid "number of synchronous standbys (%d) must be greater than zero" msgstr "кількість синхронних режимів очікування (%d) повинно бути більше нуля" @@ -21374,125 +21412,125 @@ msgid "could not write to WAL segment %s at offset %d, length %lu: %m" msgstr "не вдалося записати у сегмент WAL %s зі зміщенням %d, довжиною %lu: %m" -#: replication/walsender.c:531 +#: replication/walsender.c:549 #, c-format msgid "cannot use %s with a logical replication slot" msgstr "використовувати %s зі слотом логічної реплікації не можна" -#: replication/walsender.c:635 storage/smgr/md.c:1735 +#: replication/walsender.c:653 storage/smgr/md.c:1735 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "не вдалося досягти кінця файлу \"%s\": %m" -#: replication/walsender.c:639 +#: replication/walsender.c:657 #, c-format msgid "could not seek to beginning of file \"%s\": %m" msgstr "не вдалося знайти початок файлу \"%s\": %m" -#: replication/walsender.c:853 +#: replication/walsender.c:871 #, c-format msgid "cannot use a logical replication slot for physical replication" msgstr "використовувати логічний слот реплікації для фізичної реплікації, не можна" -#: replication/walsender.c:919 +#: replication/walsender.c:937 #, c-format msgid "requested starting point %X/%X on timeline %u is not in this server's history" msgstr "в історії серверу немає запитаної початкової точки %X/%X на часовій шкалі %u" -#: replication/walsender.c:922 +#: replication/walsender.c:940 #, c-format msgid "This server's history forked from timeline %u at %X/%X." msgstr "Історія цього серверу відгалузилась від часової шкали %u в позиції %X/%X." -#: replication/walsender.c:966 +#: replication/walsender.c:984 #, c-format msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X" msgstr "запитана початкова точка %X/%X попереду позиція очищених даних WAL на цьому сервері %X/%X" -#: replication/walsender.c:1160 +#: replication/walsender.c:1178 #, c-format msgid "unrecognized value for CREATE_REPLICATION_SLOT option \"%s\": \"%s\"" msgstr "нерозпізнане значення для параметру CREATE_REPLICATION_SLOT \"%s\": \"%s\"" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1266 +#: replication/walsender.c:1284 #, c-format msgid "%s must not be called inside a transaction" msgstr "%s не має викликатися всередині транзакції" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1276 +#: replication/walsender.c:1294 #, c-format msgid "%s must be called inside a transaction" msgstr "%s має викликатися всередині транзакції" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1282 +#: replication/walsender.c:1300 #, c-format msgid "%s must be called in REPEATABLE READ isolation mode transaction" msgstr "%s повинен бути викликаний в режимі ізоляції REPEATABLE READ" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1287 +#: replication/walsender.c:1305 #, c-format msgid "%s must be called in a read-only transaction" msgstr "%s має викликатися в транзакції \"лише для читання\"" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1293 +#: replication/walsender.c:1311 #, c-format msgid "%s must be called before any query" msgstr "%s має викликатися до будь-якого запиту" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1299 +#: replication/walsender.c:1317 #, c-format msgid "%s must not be called in a subtransaction" msgstr "%s не має викликатися всередині підтранзакції" -#: replication/walsender.c:1472 +#: replication/walsender.c:1490 #, c-format msgid "terminating walsender process after promotion" msgstr "завершення процесу walsender після підвищення" -#: replication/walsender.c:2000 +#: replication/walsender.c:2029 #, c-format msgid "cannot execute new commands while WAL sender is in stopping mode" msgstr "не можна виконувати нові команди, поки процес відправки WAL знаходиться в режимі зупинки" -#: replication/walsender.c:2035 +#: replication/walsender.c:2064 #, c-format msgid "cannot execute SQL commands in WAL sender for physical replication" msgstr "не можна виконувати команди SQL в процесі відправки WAL для фізичної реплікації" -#: replication/walsender.c:2068 +#: replication/walsender.c:2097 #, c-format msgid "received replication command: %s" msgstr "отримано команду реплікації: %s" -#: replication/walsender.c:2076 tcop/fastpath.c:209 tcop/postgres.c:1142 +#: replication/walsender.c:2105 tcop/fastpath.c:209 tcop/postgres.c:1142 #: tcop/postgres.c:1500 tcop/postgres.c:1752 tcop/postgres.c:2234 #: tcop/postgres.c:2672 tcop/postgres.c:2749 #, c-format msgid "current transaction is aborted, commands ignored until end of transaction block" msgstr "поточна транзакція перервана, команди до кінця блока транзакції пропускаються" -#: replication/walsender.c:2233 replication/walsender.c:2268 +#: replication/walsender.c:2262 replication/walsender.c:2297 #, c-format msgid "unexpected EOF on standby connection" msgstr "неочікуваний обрив з'єднання з резервним сервером" -#: replication/walsender.c:2256 +#: replication/walsender.c:2285 #, c-format msgid "invalid standby message type \"%c\"" msgstr "неприпустимий тип повідомлення резервного серверу \"%c\"" -#: replication/walsender.c:2345 +#: replication/walsender.c:2374 #, c-format msgid "unexpected message type \"%c\"" msgstr "неочікуваний тип повідомлення \"%c\"" -#: replication/walsender.c:2759 +#: replication/walsender.c:2792 #, c-format msgid "terminating walsender process due to replication timeout" msgstr "завершення процесу walsender через тайм-аут реплікації" @@ -21678,266 +21716,266 @@ msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten" msgstr "Ім'я запиту WITH \"%s\" з'являється і в дії правила, і в переписаному запиті" -#: rewrite/rewriteHandler.c:615 +#: rewrite/rewriteHandler.c:618 #, c-format msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH" msgstr "Дії правил INSERT ... SELECT не підтримуються для запитів, які змінюють дані в операторах WITH" -#: rewrite/rewriteHandler.c:668 +#: rewrite/rewriteHandler.c:671 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "списки RETURNING може мати лише одне правило" -#: rewrite/rewriteHandler.c:900 rewrite/rewriteHandler.c:939 +#: rewrite/rewriteHandler.c:903 rewrite/rewriteHandler.c:942 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "вставити значення non-DEFAULT до стовпця \"%s\" не можна" -#: rewrite/rewriteHandler.c:902 rewrite/rewriteHandler.c:968 +#: rewrite/rewriteHandler.c:905 rewrite/rewriteHandler.c:971 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "Стовпець \"%s\" є ідентифікаційним стовпцем визначеним як GENERATED ALWAYS." -#: rewrite/rewriteHandler.c:904 +#: rewrite/rewriteHandler.c:907 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Для зміни використайте OVERRIDING SYSTEM VALUE." -#: rewrite/rewriteHandler.c:966 rewrite/rewriteHandler.c:974 +#: rewrite/rewriteHandler.c:969 rewrite/rewriteHandler.c:977 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "стовпець \"%s\" може бути оновлено тільки до DEFAULT" -#: rewrite/rewriteHandler.c:1109 rewrite/rewriteHandler.c:1127 +#: rewrite/rewriteHandler.c:1112 rewrite/rewriteHandler.c:1130 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "кілька завдань для одного стовпця \"%s\"" -#: rewrite/rewriteHandler.c:1682 +#: rewrite/rewriteHandler.c:1685 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGE не підтримує відношення з правилами." -#: rewrite/rewriteHandler.c:1722 rewrite/rewriteHandler.c:3262 +#: rewrite/rewriteHandler.c:1725 rewrite/rewriteHandler.c:3265 #, c-format msgid "access to non-system view \"%s\" is restricted" msgstr "доступ до несистемного подання \"%s\" обмежено" -#: rewrite/rewriteHandler.c:2122 rewrite/rewriteHandler.c:4254 +#: rewrite/rewriteHandler.c:2125 rewrite/rewriteHandler.c:4274 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "виявлена безкінечна рекурсія у правилах для відносин \"%s\"" -#: rewrite/rewriteHandler.c:2227 +#: rewrite/rewriteHandler.c:2230 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "виявлена безкінечна рекурсія в політиці для зв'язка \"%s\"" -#: rewrite/rewriteHandler.c:2589 +#: rewrite/rewriteHandler.c:2592 msgid "Junk view columns are not updatable." msgstr "Утилізовані стовпці подань не оновлюються." -#: rewrite/rewriteHandler.c:2594 +#: rewrite/rewriteHandler.c:2597 msgid "View columns that are not columns of their base relation are not updatable." msgstr "Стовпці подання, які не є стовпцями базового зв'язку, не оновлюються." -#: rewrite/rewriteHandler.c:2597 +#: rewrite/rewriteHandler.c:2600 msgid "View columns that refer to system columns are not updatable." msgstr "Стовпці подання, які посилаються на системні стовпці, не оновлюються." -#: rewrite/rewriteHandler.c:2600 +#: rewrite/rewriteHandler.c:2603 msgid "View columns that return whole-row references are not updatable." msgstr "Стовпці подання, що повертають посилання на весь рядок, не оновлюються." -#: rewrite/rewriteHandler.c:2661 +#: rewrite/rewriteHandler.c:2664 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Подання які містять DISTINCT не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2664 +#: rewrite/rewriteHandler.c:2667 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Подання які містять GROUP BY не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2667 +#: rewrite/rewriteHandler.c:2670 msgid "Views containing HAVING are not automatically updatable." msgstr "Подання які містять HAVING не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2670 +#: rewrite/rewriteHandler.c:2673 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "Подання які містять UNION, INTERSECT, або EXCEPT не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2673 +#: rewrite/rewriteHandler.c:2676 msgid "Views containing WITH are not automatically updatable." msgstr "Подання які містять WITH не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2676 +#: rewrite/rewriteHandler.c:2679 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Подання які містять LIMIT або OFFSET не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2688 +#: rewrite/rewriteHandler.c:2691 msgid "Views that return aggregate functions are not automatically updatable." msgstr "Подання які повертають агрегатні функції не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2691 +#: rewrite/rewriteHandler.c:2694 msgid "Views that return window functions are not automatically updatable." msgstr "Подання які повертають віконні функції не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2694 +#: rewrite/rewriteHandler.c:2697 msgid "Views that return set-returning functions are not automatically updatable." msgstr "Подання які повертають set-returning функції не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2701 rewrite/rewriteHandler.c:2705 -#: rewrite/rewriteHandler.c:2713 +#: rewrite/rewriteHandler.c:2704 rewrite/rewriteHandler.c:2708 +#: rewrite/rewriteHandler.c:2716 msgid "Views that do not select from a single table or view are not automatically updatable." msgstr "Подання які обирають дані не з одної таблиці або подання не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2716 +#: rewrite/rewriteHandler.c:2719 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Подання які містять TABLESAMPLE не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2740 +#: rewrite/rewriteHandler.c:2743 msgid "Views that have no updatable columns are not automatically updatable." msgstr "Подання які не мають оновлюваних стовпців не оновлюються автоматично." -#: rewrite/rewriteHandler.c:3121 rewrite/rewriteHandler.c:3156 +#: rewrite/rewriteHandler.c:3124 rewrite/rewriteHandler.c:3159 #, c-format msgid "cannot insert into view \"%s\"" msgstr "вставити дані в подання \"%s\" не можна" -#: rewrite/rewriteHandler.c:3124 +#: rewrite/rewriteHandler.c:3127 #, c-format msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." msgstr "Щоб подання допускало додавання даних, встановіть тригер INSTEAD OF INSERT або безумовне правило ON INSERT DO INSTEAD." -#: rewrite/rewriteHandler.c:3129 rewrite/rewriteHandler.c:3165 +#: rewrite/rewriteHandler.c:3132 rewrite/rewriteHandler.c:3168 #, c-format msgid "cannot update view \"%s\"" msgstr "оновити подання \"%s\" не можна" -#: rewrite/rewriteHandler.c:3132 +#: rewrite/rewriteHandler.c:3135 #, c-format msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule." msgstr "Щоб подання допускало оновлення, встановіть тригер INSTEAD OF UPDATE або безумовне правило ON UPDATE DO INSTEAD." -#: rewrite/rewriteHandler.c:3137 rewrite/rewriteHandler.c:3174 +#: rewrite/rewriteHandler.c:3140 rewrite/rewriteHandler.c:3177 #, c-format msgid "cannot delete from view \"%s\"" msgstr "видалити дані з подання \"%s\" не можна" -#: rewrite/rewriteHandler.c:3140 +#: rewrite/rewriteHandler.c:3143 #, c-format msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule." msgstr "Щоб подання допускало видалення даних, встановіть тригер INSTEAD OF DELETE або безумновне правило ON DELETE DO INSTEAD." -#: rewrite/rewriteHandler.c:3159 +#: rewrite/rewriteHandler.c:3162 #, c-format msgid "To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT trigger." msgstr "Щоб подання допускало вставку даних за допомогою MERGE, встановіть тригер INSTEAD OF INSERT." -#: rewrite/rewriteHandler.c:3168 +#: rewrite/rewriteHandler.c:3171 #, c-format msgid "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE trigger." msgstr "Щоб подання допускало оновлення даних за допомогою MERGE, встановіть тригер INSTEAD OF UPDATE." -#: rewrite/rewriteHandler.c:3177 +#: rewrite/rewriteHandler.c:3180 #, c-format msgid "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE trigger." msgstr "Щоб подання допускало видалення даних за допомогою MERGE, встановіть тригер INSTEAD OF DELETE." -#: rewrite/rewriteHandler.c:3352 +#: rewrite/rewriteHandler.c:3355 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "вставити дані в стовпець \"%s\" подання \"%s\" не можна" -#: rewrite/rewriteHandler.c:3360 +#: rewrite/rewriteHandler.c:3363 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "оновити дані в стовпці \"%s\" подання \"%s\" не можна" -#: rewrite/rewriteHandler.c:3368 +#: rewrite/rewriteHandler.c:3371 #, c-format msgid "cannot merge into column \"%s\" of view \"%s\"" msgstr "неможливо об'єднати дані в стовпець \"%s\" подання \"%s\"" -#: rewrite/rewriteHandler.c:3396 +#: rewrite/rewriteHandler.c:3399 #, c-format msgid "cannot merge into view \"%s\"" msgstr "неможливо об'єднати дані в подання \"%s\"" -#: rewrite/rewriteHandler.c:3398 +#: rewrite/rewriteHandler.c:3401 #, c-format msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions but not all." msgstr "MERGE не підтримується для подань з тригерами INSTEAD OF для деяких дій, але не всіх." -#: rewrite/rewriteHandler.c:3399 +#: rewrite/rewriteHandler.c:3402 #, c-format msgid "To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers." msgstr "Щоб подання допускало об'єднання у нього, або встановіть повний набір тригерів INSTEAD OF або видаліть існуючі тригери INSTEAD OF." -#: rewrite/rewriteHandler.c:3912 +#: rewrite/rewriteHandler.c:3931 #, c-format msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" msgstr "Правила DO INSTEAD NOTIFY не підтримуються для операторів, які змінюють дані в WITH" -#: rewrite/rewriteHandler.c:3923 +#: rewrite/rewriteHandler.c:3942 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" msgstr "Правила DO INSTEAD NOTHING не підтримуються для операторів, які змінюють дані в WITH" -#: rewrite/rewriteHandler.c:3937 +#: rewrite/rewriteHandler.c:3956 #, c-format msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "умовні правила DO INSTEAD не підтримуються для операторів, які змінюють дані в WITH" -#: rewrite/rewriteHandler.c:3941 +#: rewrite/rewriteHandler.c:3960 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "Правила DO ALSO не підтримуються для операторів, які змінюють дані в WITH" -#: rewrite/rewriteHandler.c:3946 +#: rewrite/rewriteHandler.c:3965 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "складові правила DO INSTEAD не підтримуються операторами, які змінюють дані у WITH" -#: rewrite/rewriteHandler.c:4206 +#: rewrite/rewriteHandler.c:4226 msgid "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "Подання з умовними правилами DO INSTEAD не оновлюються автоматично." -#: rewrite/rewriteHandler.c:4303 +#: rewrite/rewriteHandler.c:4324 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "виконати INSERT RETURNING для зв'язка \"%s\" не можна" -#: rewrite/rewriteHandler.c:4305 +#: rewrite/rewriteHandler.c:4326 #, c-format msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." msgstr "Вам потрібне безумовне правило ON INSERT DO INSTEAD з реченням RETURNING." -#: rewrite/rewriteHandler.c:4310 +#: rewrite/rewriteHandler.c:4331 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "виконати UPDATE RETURNING для зв'язка \"%s\" не можна" -#: rewrite/rewriteHandler.c:4312 +#: rewrite/rewriteHandler.c:4333 #, c-format msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." msgstr "Вам потрібне безумовне правило ON UPDATE DO INSTEAD з реченням RETURNING." -#: rewrite/rewriteHandler.c:4317 +#: rewrite/rewriteHandler.c:4338 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "виконати DELETE RETURNING для зв'язка \"%s\" не можна" -#: rewrite/rewriteHandler.c:4319 +#: rewrite/rewriteHandler.c:4340 #, c-format msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." msgstr "Вам потрібне безумовне правило ON DELETE DO INSTEAD з реченням RETURNING." -#: rewrite/rewriteHandler.c:4337 +#: rewrite/rewriteHandler.c:4358 #, c-format msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules" msgstr "INSERT з реченням ON CONFLICT не можна використовувати з таблицею, яка має правила INSERT або UPDATE" -#: rewrite/rewriteHandler.c:4394 +#: rewrite/rewriteHandler.c:4415 #, c-format msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" msgstr "WITH не можна використовувати в запиті, який переписаний правилами в декілька запитів" @@ -21998,42 +22036,42 @@ msgid "function returning record called in context that cannot accept type record" msgstr "функція, що повертає набір, викликана у контексті, що не приймає тип запис" -#: storage/buffer/bufmgr.c:649 storage/buffer/bufmgr.c:805 +#: storage/buffer/bufmgr.c:656 storage/buffer/bufmgr.c:812 #, c-format msgid "cannot access temporary tables of other sessions" msgstr "доступ до тимчасових таблиць з інших сесій заблоковано" -#: storage/buffer/bufmgr.c:1532 +#: storage/buffer/bufmgr.c:1539 #, c-format msgid "invalid page in block %u of relation %s; zeroing out page" msgstr "неприпустима сторінка в блоці %u відношення %s; сторінка обнуляється" -#: storage/buffer/bufmgr.c:2277 storage/buffer/localbuf.c:361 +#: storage/buffer/bufmgr.c:2284 storage/buffer/localbuf.c:361 #, c-format msgid "cannot extend relation %s beyond %u blocks" msgstr "не можна розширити відношення %s понад %u блоків" -#: storage/buffer/bufmgr.c:2348 +#: storage/buffer/bufmgr.c:2355 #, c-format msgid "unexpected data beyond EOF in block %u of relation %s" msgstr "неочікуванні дані після EOF в блоці %u відношення %s" -#: storage/buffer/bufmgr.c:2350 +#: storage/buffer/bufmgr.c:2357 #, c-format msgid "This has been seen to occur with buggy kernels; consider updating your system." msgstr "Ця ситуація може виникати через помилки в ядрі; можливо, вам слід оновити вашу систему." -#: storage/buffer/bufmgr.c:5654 +#: storage/buffer/bufmgr.c:5721 #, c-format msgid "could not write block %u of %s" msgstr "неможливо записати блок %u файлу %s" -#: storage/buffer/bufmgr.c:5656 +#: storage/buffer/bufmgr.c:5723 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "Кілька неполадок --- можливо, постійна помилка запису." -#: storage/buffer/bufmgr.c:5678 storage/buffer/bufmgr.c:5698 +#: storage/buffer/bufmgr.c:5745 storage/buffer/bufmgr.c:5765 #, c-format msgid "writing block %u of relation %s" msgstr "записування блоку %u зв'язку %s" @@ -22083,138 +22121,138 @@ msgid "could not truncate file \"%s\": %m" msgstr "не вдалося скоротити файл \"%s\": %m" -#: storage/file/fd.c:583 storage/file/fd.c:655 storage/file/fd.c:691 +#: storage/file/fd.c:580 storage/file/fd.c:652 storage/file/fd.c:688 #, c-format msgid "could not flush dirty data: %m" msgstr "не вдалося очистити \"брудні\" дані: %m" -#: storage/file/fd.c:613 +#: storage/file/fd.c:610 #, c-format msgid "could not determine dirty data size: %m" msgstr "не вдалося визначити розмір \"брудних\" даних: %m" -#: storage/file/fd.c:665 +#: storage/file/fd.c:662 #, c-format msgid "could not munmap() while flushing data: %m" msgstr "не вдалося munmap() під час очищення даних: %m" -#: storage/file/fd.c:983 +#: storage/file/fd.c:980 #, c-format msgid "getrlimit failed: %m" msgstr "помилка getrlimit: %m" -#: storage/file/fd.c:1073 +#: storage/file/fd.c:1070 #, c-format msgid "insufficient file descriptors available to start server process" msgstr "недостатньо доступних дескрипторів файлу для запуску серверного процесу" -#: storage/file/fd.c:1074 +#: storage/file/fd.c:1071 #, c-format msgid "System allows %d, server needs at least %d." msgstr "Система дозволяє %d, сервер потребує щонайменше %d." -#: storage/file/fd.c:1162 storage/file/fd.c:2618 storage/file/fd.c:2727 -#: storage/file/fd.c:2878 +#: storage/file/fd.c:1159 storage/file/fd.c:2615 storage/file/fd.c:2724 +#: storage/file/fd.c:2875 #, c-format msgid "out of file descriptors: %m; release and retry" msgstr "нестача дескрипторів файлу: %m; вивільніть і спробуйте знову" -#: storage/file/fd.c:1536 +#: storage/file/fd.c:1533 #, c-format msgid "temporary file: path \"%s\", size %lu" msgstr "тимчасовий файл: шлях \"%s\", розмір %lu" -#: storage/file/fd.c:1675 +#: storage/file/fd.c:1672 #, c-format msgid "cannot create temporary directory \"%s\": %m" msgstr "неможливо створити тимчасовий каталог \"%s\": %m" -#: storage/file/fd.c:1682 +#: storage/file/fd.c:1679 #, c-format msgid "cannot create temporary subdirectory \"%s\": %m" msgstr "неможливо створити тимчасовий підкаталог \"%s\": %m" -#: storage/file/fd.c:1879 +#: storage/file/fd.c:1876 #, c-format msgid "could not create temporary file \"%s\": %m" msgstr "неможливо створити тимчасовий файл \"%s\": %m" -#: storage/file/fd.c:1915 +#: storage/file/fd.c:1912 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "неможливо відкрити тимчасовий файл \"%s\": %m" -#: storage/file/fd.c:1956 +#: storage/file/fd.c:1953 #, c-format msgid "could not unlink temporary file \"%s\": %m" msgstr "помилка видалення тимчасового файлу \"%s\": %m" -#: storage/file/fd.c:2044 +#: storage/file/fd.c:2041 #, c-format msgid "could not delete file \"%s\": %m" msgstr "не вдалося видалити файл \"%s\": %m" -#: storage/file/fd.c:2234 +#: storage/file/fd.c:2231 #, c-format msgid "temporary file size exceeds temp_file_limit (%dkB)" msgstr "розмір тимчасового файлу перевищує temp_file_limit (%d Кб)" -#: storage/file/fd.c:2594 storage/file/fd.c:2653 +#: storage/file/fd.c:2591 storage/file/fd.c:2650 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\"" msgstr "перевищено maxAllocatedDescs (%d) при спробі відкрити файл \"%s\"" -#: storage/file/fd.c:2698 +#: storage/file/fd.c:2695 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\"" msgstr "перевищено maxAllocatedDescs (%d) при спробі виконати команду \"%s\"" -#: storage/file/fd.c:2854 +#: storage/file/fd.c:2851 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\"" msgstr "перевищено maxAllocatedDescs (%d) при спробі відкрити каталог \"%s\"" -#: storage/file/fd.c:3384 +#: storage/file/fd.c:3381 #, c-format msgid "unexpected file found in temporary-files directory: \"%s\"" msgstr "знайдено неочікуваний файл в каталозі тимчасових файлів: \"%s\"" -#: storage/file/fd.c:3502 +#: storage/file/fd.c:3499 #, c-format msgid "syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s" msgstr "синхронізація каталогу даних (syncfs), витрачено часу: %ld.%02d с, поточний шлях: %s" -#: storage/file/fd.c:3729 +#: storage/file/fd.c:3726 #, c-format msgid "syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: %s" msgstr "Синхронізація каталогу даних (pre-fsync), витрачено часу: %ld.%02d с, поточний шлях: %s" -#: storage/file/fd.c:3761 +#: storage/file/fd.c:3758 #, c-format msgid "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s" msgstr "синхронізація каталогу даних (fsync), витрачено часу: %ld.%02d с, поточний шлях: %s" -#: storage/file/fd.c:3950 +#: storage/file/fd.c:3947 #, c-format msgid "\"debug_io_direct\" is not supported on this platform." msgstr "\"debug_io_direct\" не підтримується на цій платформі." -#: storage/file/fd.c:3964 +#: storage/file/fd.c:3961 #, c-format msgid "Invalid list syntax in parameter \"%s\"" msgstr "Неприпустимий синтаксис списку в параметрі \"%s\"" -#: storage/file/fd.c:3984 +#: storage/file/fd.c:3981 #, c-format msgid "Invalid option \"%s\"" msgstr "Недійсний параметр \"%s\"" -#: storage/file/fd.c:3997 +#: storage/file/fd.c:3994 #, c-format msgid "\"debug_io_direct\" is not supported for WAL because XLOG_BLCKSZ is too small" msgstr "\"debug_io_direct\" не підтримується для WAL, оскільки XLOG_BLCKSZ занадто малий" -#: storage/file/fd.c:4004 +#: storage/file/fd.c:4001 #, c-format msgid "\"debug_io_direct\" is not supported for data because BLCKSZ is too small" msgstr "\"debug_io_direct\" не підтримується для даних, тому що BLCKSZ занадто малий" @@ -22304,22 +22342,22 @@ msgid "could not duplicate handle for \"%s\": %m" msgstr "не вдалося продублювати маркер для \"%s\": %m" -#: storage/ipc/dsm_registry.c:142 +#: storage/ipc/dsm_registry.c:144 #, c-format msgid "DSM segment name cannot be empty" msgstr "Ім'я сегмента DSM не може бути порожнім" -#: storage/ipc/dsm_registry.c:146 +#: storage/ipc/dsm_registry.c:148 #, c-format msgid "DSM segment name too long" msgstr "Занадто довге ім'я сегменту DSM" -#: storage/ipc/dsm_registry.c:150 +#: storage/ipc/dsm_registry.c:152 #, c-format msgid "DSM segment size must be nonzero" msgstr "Розмір сегменту DSM повинен бути ненульовим" -#: storage/ipc/dsm_registry.c:176 +#: storage/ipc/dsm_registry.c:168 #, c-format msgid "requested DSM segment size does not match size of existing segment" msgstr "розмір запитуваного сегмента DSM не збігається з розміром наявного сегмента" @@ -22371,7 +22409,7 @@ #: storage/lmgr/lock.c:4285 storage/lmgr/lock.c:4635 #: storage/lmgr/predicate.c:2468 storage/lmgr/predicate.c:2483 #: storage/lmgr/predicate.c:3880 storage/lmgr/predicate.c:4927 -#: utils/hash/dynahash.c:1095 +#: utils/hash/dynahash.c:1096 #, c-format msgid "out of shared memory" msgstr "нестача спільної пам'яті" @@ -22550,107 +22588,107 @@ msgid "See server log for query details." msgstr "Подробиці запиту перегляньте в записі серверу." -#: storage/lmgr/lmgr.c:848 +#: storage/lmgr/lmgr.c:854 #, c-format msgid "while updating tuple (%u,%u) in relation \"%s\"" msgstr "при оновленні кортежу (%u,%u) в зв'язку \"%s\"" -#: storage/lmgr/lmgr.c:851 +#: storage/lmgr/lmgr.c:857 #, c-format msgid "while deleting tuple (%u,%u) in relation \"%s\"" msgstr "при видаленні кортежу (%u,%u) в зв'язку \"%s\"" -#: storage/lmgr/lmgr.c:854 +#: storage/lmgr/lmgr.c:860 #, c-format msgid "while locking tuple (%u,%u) in relation \"%s\"" msgstr "при блокуванні кортежу (%u,%u) в зв'язку \"%s\"" -#: storage/lmgr/lmgr.c:857 +#: storage/lmgr/lmgr.c:863 #, c-format msgid "while locking updated version (%u,%u) of tuple in relation \"%s\"" msgstr "при блокуванні оновленої версії (%u,%u) кортежу в зв'язку \"%s\"" -#: storage/lmgr/lmgr.c:860 +#: storage/lmgr/lmgr.c:866 #, c-format msgid "while inserting index tuple (%u,%u) in relation \"%s\"" msgstr "при вставці кортежу індексу (%u,%u) в зв'язку \"%s\"" -#: storage/lmgr/lmgr.c:863 +#: storage/lmgr/lmgr.c:869 #, c-format msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\"" msgstr "під час перевірки унікальності кортежа (%u,%u) у відношенні \"%s\"" -#: storage/lmgr/lmgr.c:866 +#: storage/lmgr/lmgr.c:872 #, c-format msgid "while rechecking updated tuple (%u,%u) in relation \"%s\"" msgstr "під час повторної перевірки оновленого кортежа (%u,%u) у відношенні \"%s\"" -#: storage/lmgr/lmgr.c:869 +#: storage/lmgr/lmgr.c:875 #, c-format msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "під час перевірки обмеження-виключення для кортежа (%u,%u) у відношенні \"%s\"" -#: storage/lmgr/lmgr.c:1239 +#: storage/lmgr/lmgr.c:1245 #, c-format msgid "relation %u of database %u" msgstr "відношення %u бази даних %u" -#: storage/lmgr/lmgr.c:1245 +#: storage/lmgr/lmgr.c:1251 #, c-format msgid "extension of relation %u of database %u" msgstr "розширення відношення %u бази даних %u" -#: storage/lmgr/lmgr.c:1251 +#: storage/lmgr/lmgr.c:1257 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid бази даних %u" -#: storage/lmgr/lmgr.c:1256 +#: storage/lmgr/lmgr.c:1262 #, c-format msgid "page %u of relation %u of database %u" msgstr "сторінка %u відношення %u бази даних %u" -#: storage/lmgr/lmgr.c:1263 +#: storage/lmgr/lmgr.c:1269 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "кортеж (%u,%u) відношення %u бази даних %u" -#: storage/lmgr/lmgr.c:1271 +#: storage/lmgr/lmgr.c:1277 #, c-format msgid "transaction %u" msgstr "транзакція %u" -#: storage/lmgr/lmgr.c:1276 +#: storage/lmgr/lmgr.c:1282 #, c-format msgid "virtual transaction %d/%u" msgstr "віртуальна транзакція %d/%u" -#: storage/lmgr/lmgr.c:1282 +#: storage/lmgr/lmgr.c:1288 #, c-format msgid "speculative token %u of transaction %u" msgstr "орієнтовний маркер %u транзакції %u" -#: storage/lmgr/lmgr.c:1288 +#: storage/lmgr/lmgr.c:1294 #, c-format msgid "object %u of class %u of database %u" msgstr "об’єкт %u класу %u бази даних %u" -#: storage/lmgr/lmgr.c:1296 +#: storage/lmgr/lmgr.c:1302 #, c-format msgid "user lock [%u,%u,%u]" msgstr "користувацьке блокування [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1303 +#: storage/lmgr/lmgr.c:1309 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "рекомендаційне блокування [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1311 +#: storage/lmgr/lmgr.c:1317 #, c-format msgid "remote transaction %u of subscription %u of database %u" msgstr "віддалена транзакція %u з підписки %u з бази даних %u" -#: storage/lmgr/lmgr.c:1318 +#: storage/lmgr/lmgr.c:1324 #, c-format msgid "unrecognized locktag type %d" msgstr "нерозпізнаний тип блокування %d" @@ -23351,12 +23389,12 @@ msgid "bind message has %d result formats but query has %d columns" msgstr "повідомлення bind має %d форматів, але запит має %d стовпців" -#: tcop/pquery.c:942 tcop/pquery.c:1696 +#: tcop/pquery.c:942 tcop/pquery.c:1687 #, c-format msgid "cursor can only scan forward" msgstr "курсор може сканувати лише вперед" -#: tcop/pquery.c:943 tcop/pquery.c:1697 +#: tcop/pquery.c:943 tcop/pquery.c:1688 #, c-format msgid "Declare it with SCROLL option to enable backward scan." msgstr "Оголосити з параметром SCROLL, щоб активувати зворотню розгортку." @@ -23402,6 +23440,11 @@ msgid "Only roles with privileges of the \"%s\" role may execute this command." msgstr "Цю команду можуть виконувати лише ролі з привілеями ролі \"%s\"." +#: tcop/utility.c:1883 +#, c-format +msgid "CREATE STATISTICS only supports relation names in the FROM clause" +msgstr "CREATE STATISTICS підтримує тільки назви відношень в реченні FROM" + #: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:616 #, c-format msgid "multiple DictFile parameters" @@ -23554,7 +23597,7 @@ msgstr "неприпустимий регулярний вираз: %s" #: tsearch/spell.c:964 tsearch/spell.c:981 tsearch/spell.c:998 -#: tsearch/spell.c:1015 tsearch/spell.c:1081 gram.y:18735 gram.y:18752 +#: tsearch/spell.c:1015 tsearch/spell.c:1081 gram.y:18742 gram.y:18759 #, c-format msgid "syntax error" msgstr "синтаксична помилка" @@ -23590,7 +23633,7 @@ msgid "affix file contains both old-style and new-style commands" msgstr "файл affix містить команди і в старому, і в новому стилі" -#: tsearch/to_tsany.c:194 utils/adt/tsvector.c:277 utils/adt/tsvector_op.c:1126 +#: tsearch/to_tsany.c:194 utils/adt/tsvector.c:274 utils/adt/tsvector_op.c:1126 #, c-format msgid "string is too long for tsvector (%d bytes, max %d bytes)" msgstr "рядок занадто довгий для tsvector (%d байт, максимум %d байт)" @@ -23657,37 +23700,37 @@ msgid "could not unlink permanent statistics file \"%s\": %m" msgstr "не вдалося від'єднати файл постійної статистики \"%s\": %m" -#: utils/activity/pgstat.c:1255 +#: utils/activity/pgstat.c:1254 #, c-format msgid "invalid statistics kind: \"%s\"" msgstr "неприпустимий тип статистики: \"%s\"" -#: utils/activity/pgstat.c:1335 +#: utils/activity/pgstat.c:1334 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "не вдалося відкрити тимчасовий файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1455 +#: utils/activity/pgstat.c:1454 #, c-format msgid "could not write temporary statistics file \"%s\": %m" msgstr "не вдалося записати в тимчасовий файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1464 +#: utils/activity/pgstat.c:1463 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "не вдалося закрити тимчасовий файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1472 +#: utils/activity/pgstat.c:1471 #, c-format msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" msgstr "не вдалося перейменувати тимчасовий файл статистики з \"%s\" в \"%s\": %m" -#: utils/activity/pgstat.c:1521 +#: utils/activity/pgstat.c:1520 #, c-format msgid "could not open statistics file \"%s\": %m" msgstr "не вдалося відкрити файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1683 +#: utils/activity/pgstat.c:1692 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "пошкоджений файл статистики \"%s\"" @@ -23697,6 +23740,11 @@ msgid "function call to dropped function" msgstr "виклик видаленої функції" +#: utils/activity/pgstat_shmem.c:509 +#, c-format +msgid "Failed while allocating entry %d/%u/%u." +msgstr "Не вдалося розмістити запис %d/%u/%u." + #: utils/activity/pgstat_xact.c:362 #, c-format msgid "resetting existing statistics for kind %s, db=%u, oid=%u" @@ -23712,102 +23760,102 @@ msgid "too many custom wait events" msgstr "занадто багато користувацьких подій очікування" -#: utils/adt/acl.c:183 utils/adt/name.c:93 +#: utils/adt/acl.c:200 utils/adt/name.c:93 #, c-format msgid "identifier too long" msgstr "занадто довгий ідентифікатор" -#: utils/adt/acl.c:184 utils/adt/name.c:94 +#: utils/adt/acl.c:201 utils/adt/name.c:94 #, c-format msgid "Identifier must be less than %d characters." msgstr "Ідентифікатор повинен бути короче ніж %d символів." -#: utils/adt/acl.c:272 +#: utils/adt/acl.c:289 #, c-format msgid "unrecognized key word: \"%s\"" msgstr "нерозпізнане ключове слово: \"%s\"" -#: utils/adt/acl.c:273 +#: utils/adt/acl.c:290 #, c-format msgid "ACL key word must be \"group\" or \"user\"." msgstr "Ключовим словом ACL повинно бути \"group\" або \"user\"." -#: utils/adt/acl.c:281 +#: utils/adt/acl.c:298 #, c-format msgid "missing name" msgstr "пропущено ім'я" -#: utils/adt/acl.c:282 +#: utils/adt/acl.c:299 #, c-format msgid "A name must follow the \"group\" or \"user\" key word." msgstr "За ключовими словами \"group\" або \"user\" повинно йти ім'я." -#: utils/adt/acl.c:288 +#: utils/adt/acl.c:305 #, c-format msgid "missing \"=\" sign" msgstr "пропущено знак \"=\"" -#: utils/adt/acl.c:350 +#: utils/adt/acl.c:367 #, c-format msgid "invalid mode character: must be one of \"%s\"" msgstr "неприпустимий символ режиму: повинен бути один з \"%s\"" -#: utils/adt/acl.c:380 +#: utils/adt/acl.c:397 #, c-format msgid "a name must follow the \"/\" sign" msgstr "за знаком \"/\" повинно прямувати ім'я" -#: utils/adt/acl.c:392 +#: utils/adt/acl.c:409 #, c-format msgid "defaulting grantor to user ID %u" msgstr "призначив права користувач з ідентифікатором %u" -#: utils/adt/acl.c:578 +#: utils/adt/acl.c:595 #, c-format msgid "ACL array contains wrong data type" msgstr "Масив ACL містить неправильний тип даних" -#: utils/adt/acl.c:582 +#: utils/adt/acl.c:599 #, c-format msgid "ACL arrays must be one-dimensional" msgstr "Масиви ACL повинні бути одновимірними" -#: utils/adt/acl.c:586 +#: utils/adt/acl.c:603 #, c-format msgid "ACL arrays must not contain null values" msgstr "Масиви ACL не повинні містити значення null" -#: utils/adt/acl.c:615 +#: utils/adt/acl.c:632 #, c-format msgid "extra garbage at the end of the ACL specification" msgstr "зайве сміття в кінці специфікації ACL" -#: utils/adt/acl.c:1263 +#: utils/adt/acl.c:1280 #, c-format msgid "grant options cannot be granted back to your own grantor" msgstr "параметри призначення прав не можна повернути тому, хто призначив їх вам" -#: utils/adt/acl.c:1579 +#: utils/adt/acl.c:1596 #, c-format msgid "aclinsert is no longer supported" msgstr "aclinsert більше не підтримується" -#: utils/adt/acl.c:1589 +#: utils/adt/acl.c:1606 #, c-format msgid "aclremove is no longer supported" msgstr "aclremove більше не підтримується" -#: utils/adt/acl.c:1709 +#: utils/adt/acl.c:1726 #, c-format msgid "unrecognized privilege type: \"%s\"" msgstr "нерозпізнаний тип прав: \"%s\"" -#: utils/adt/acl.c:3550 utils/adt/regproc.c:100 utils/adt/regproc.c:265 +#: utils/adt/acl.c:3567 utils/adt/regproc.c:100 utils/adt/regproc.c:265 #, c-format msgid "function \"%s\" does not exist" msgstr "функція \"%s\" не існує" -#: utils/adt/acl.c:5196 +#: utils/adt/acl.c:5213 #, c-format msgid "must be able to SET ROLE \"%s\"" msgstr "потрібно мати можливість SET ROLE \"%s\"" @@ -23833,7 +23881,7 @@ #: utils/adt/int.c:1025 utils/adt/int.c:1058 utils/adt/int.c:1072 #: utils/adt/int.c:1086 utils/adt/int.c:1117 utils/adt/int.c:1199 #: utils/adt/int.c:1263 utils/adt/int.c:1331 utils/adt/int.c:1337 -#: utils/adt/int8.c:1256 utils/adt/numeric.c:1917 utils/adt/numeric.c:4454 +#: utils/adt/int8.c:1256 utils/adt/numeric.c:1918 utils/adt/numeric.c:4455 #: utils/adt/rangetypes.c:1488 utils/adt/rangetypes.c:1501 #: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1135 #: utils/adt/varlena.c:3137 @@ -24193,8 +24241,8 @@ #: utils/adt/geo_ops.c:3428 utils/adt/geo_ops.c:4650 utils/adt/geo_ops.c:4665 #: utils/adt/geo_ops.c:4672 utils/adt/int.c:174 utils/adt/int.c:186 #: utils/adt/jsonpath.c:185 utils/adt/mac.c:94 utils/adt/mac8.c:226 -#: utils/adt/network.c:99 utils/adt/numeric.c:803 utils/adt/numeric.c:7221 -#: utils/adt/numeric.c:7424 utils/adt/numeric.c:8371 utils/adt/numutils.c:356 +#: utils/adt/network.c:99 utils/adt/numeric.c:803 utils/adt/numeric.c:7222 +#: utils/adt/numeric.c:7425 utils/adt/numeric.c:8372 utils/adt/numutils.c:356 #: utils/adt/numutils.c:618 utils/adt/numutils.c:880 utils/adt/numutils.c:919 #: utils/adt/numutils.c:941 utils/adt/numutils.c:1005 utils/adt/numutils.c:1027 #: utils/adt/pg_lsn.c:73 utils/adt/tid.c:72 utils/adt/tid.c:80 @@ -24215,10 +24263,10 @@ #: utils/adt/int.c:1101 utils/adt/int.c:1139 utils/adt/int.c:1167 #: utils/adt/int8.c:514 utils/adt/int8.c:572 utils/adt/int8.c:942 #: utils/adt/int8.c:1022 utils/adt/int8.c:1084 utils/adt/int8.c:1164 -#: utils/adt/numeric.c:3191 utils/adt/numeric.c:3214 utils/adt/numeric.c:3299 -#: utils/adt/numeric.c:3317 utils/adt/numeric.c:3413 utils/adt/numeric.c:8920 -#: utils/adt/numeric.c:9233 utils/adt/numeric.c:9581 utils/adt/numeric.c:9697 -#: utils/adt/numeric.c:11208 utils/adt/timestamp.c:3713 +#: utils/adt/numeric.c:3192 utils/adt/numeric.c:3215 utils/adt/numeric.c:3300 +#: utils/adt/numeric.c:3318 utils/adt/numeric.c:3414 utils/adt/numeric.c:8921 +#: utils/adt/numeric.c:9234 utils/adt/numeric.c:9582 utils/adt/numeric.c:9698 +#: utils/adt/numeric.c:11209 utils/adt/timestamp.c:3713 #, c-format msgid "division by zero" msgstr "ділення на нуль" @@ -24265,7 +24313,7 @@ msgstr "дата поза діапазоном: \"%s\"" #: utils/adt/date.c:222 utils/adt/date.c:520 utils/adt/date.c:544 -#: utils/adt/rangetypes.c:1584 utils/adt/rangetypes.c:1599 utils/adt/xml.c:2552 +#: utils/adt/rangetypes.c:1584 utils/adt/rangetypes.c:1599 utils/adt/xml.c:2554 #, c-format msgid "date out of range" msgstr "дата поза діапазоном" @@ -24339,8 +24387,8 @@ #: utils/adt/timestamp.c:6260 utils/adt/timestamp.c:6347 #: utils/adt/timestamp.c:6388 utils/adt/timestamp.c:6392 #: utils/adt/timestamp.c:6446 utils/adt/timestamp.c:6450 -#: utils/adt/timestamp.c:6456 utils/adt/timestamp.c:6497 utils/adt/xml.c:2574 -#: utils/adt/xml.c:2581 utils/adt/xml.c:2601 utils/adt/xml.c:2608 +#: utils/adt/timestamp.c:6456 utils/adt/timestamp.c:6497 utils/adt/xml.c:2576 +#: utils/adt/xml.c:2583 utils/adt/xml.c:2603 utils/adt/xml.c:2610 #, c-format msgid "timestamp out of range" msgstr "позначка часу поза діапазоном" @@ -24372,7 +24420,7 @@ #: utils/adt/date.c:2115 utils/adt/date.c:2667 utils/adt/float.c:1036 #: utils/adt/float.c:1112 utils/adt/int.c:635 utils/adt/int.c:682 -#: utils/adt/int.c:717 utils/adt/int8.c:413 utils/adt/numeric.c:2595 +#: utils/adt/int.c:717 utils/adt/int8.c:413 utils/adt/numeric.c:2596 #: utils/adt/timestamp.c:3810 utils/adt/timestamp.c:3847 #: utils/adt/timestamp.c:3888 #, c-format @@ -24558,34 +24606,34 @@ #: utils/adt/float.c:1247 utils/adt/float.c:1321 utils/adt/int.c:355 #: utils/adt/int.c:893 utils/adt/int.c:915 utils/adt/int.c:929 #: utils/adt/int.c:943 utils/adt/int.c:975 utils/adt/int.c:1213 -#: utils/adt/int8.c:1277 utils/adt/numeric.c:4593 utils/adt/numeric.c:4598 +#: utils/adt/int8.c:1277 utils/adt/numeric.c:4594 utils/adt/numeric.c:4599 #, c-format msgid "smallint out of range" msgstr "двобайтове ціле поза діапазоном" -#: utils/adt/float.c:1447 utils/adt/numeric.c:3709 utils/adt/numeric.c:10112 +#: utils/adt/float.c:1447 utils/adt/numeric.c:3710 utils/adt/numeric.c:10113 #, c-format msgid "cannot take square root of a negative number" msgstr "вилучити квадратний корінь від'ємного числа не можна" -#: utils/adt/float.c:1515 utils/adt/numeric.c:3997 utils/adt/numeric.c:4109 +#: utils/adt/float.c:1515 utils/adt/numeric.c:3998 utils/adt/numeric.c:4110 #, c-format msgid "zero raised to a negative power is undefined" msgstr "нуль у від'ємному ступені дає невизначеність" -#: utils/adt/float.c:1519 utils/adt/numeric.c:4001 utils/adt/numeric.c:11003 +#: utils/adt/float.c:1519 utils/adt/numeric.c:4002 utils/adt/numeric.c:11004 #, c-format msgid "a negative number raised to a non-integer power yields a complex result" msgstr "від'ємне число у не цілому ступені дає комплексний результат" -#: utils/adt/float.c:1695 utils/adt/float.c:1728 utils/adt/numeric.c:3909 -#: utils/adt/numeric.c:10783 +#: utils/adt/float.c:1695 utils/adt/float.c:1728 utils/adt/numeric.c:3910 +#: utils/adt/numeric.c:10784 #, c-format msgid "cannot take logarithm of zero" msgstr "обчислити логарифм нуля не можна" -#: utils/adt/float.c:1699 utils/adt/float.c:1732 utils/adt/numeric.c:3847 -#: utils/adt/numeric.c:3904 utils/adt/numeric.c:10787 +#: utils/adt/float.c:1699 utils/adt/float.c:1732 utils/adt/numeric.c:3848 +#: utils/adt/numeric.c:3905 utils/adt/numeric.c:10788 #, c-format msgid "cannot take logarithm of a negative number" msgstr "обчислити логарифм від'ємного числа не можна" @@ -24599,22 +24647,22 @@ msgid "input is out of range" msgstr "введене значення поза діапазоном" -#: utils/adt/float.c:4000 utils/adt/numeric.c:1857 +#: utils/adt/float.c:4000 utils/adt/numeric.c:1858 #, c-format msgid "count must be greater than zero" msgstr "лічильник повинен бути більше нуля" -#: utils/adt/float.c:4005 utils/adt/numeric.c:1868 +#: utils/adt/float.c:4005 utils/adt/numeric.c:1869 #, c-format msgid "operand, lower bound, and upper bound cannot be NaN" msgstr "операнд, нижня границя і верхня границя не можуть бути NaN" -#: utils/adt/float.c:4011 utils/adt/numeric.c:1873 +#: utils/adt/float.c:4011 utils/adt/numeric.c:1874 #, c-format msgid "lower and upper bounds must be finite" msgstr "нижня і верхня границі повинні бути скінченними" -#: utils/adt/float.c:4077 utils/adt/numeric.c:1887 +#: utils/adt/float.c:4077 utils/adt/numeric.c:1888 #, c-format msgid "lower bound cannot equal upper bound" msgstr "нижня границя не може дорівнювати верхній границі" @@ -24979,7 +25027,7 @@ #: utils/adt/int8.c:994 utils/adt/int8.c:1008 utils/adt/int8.c:1041 #: utils/adt/int8.c:1055 utils/adt/int8.c:1069 utils/adt/int8.c:1100 #: utils/adt/int8.c:1122 utils/adt/int8.c:1136 utils/adt/int8.c:1150 -#: utils/adt/int8.c:1312 utils/adt/int8.c:1347 utils/adt/numeric.c:4542 +#: utils/adt/int8.c:1312 utils/adt/int8.c:1347 utils/adt/numeric.c:4543 #: utils/adt/rangetypes.c:1535 utils/adt/rangetypes.c:1548 #: utils/adt/varbit.c:1676 #, c-format @@ -25033,7 +25081,7 @@ msgid "mismatched array dimensions" msgstr "невідповідні виміри масиву" -#: utils/adt/json.c:1702 utils/adt/jsonb_util.c:1956 +#: utils/adt/json.c:1702 utils/adt/jsonb_util.c:1962 #, c-format msgid "duplicate JSON object key value" msgstr "дублікат значення ключа об'єкту JSON" @@ -25098,23 +25146,23 @@ msgid "cannot cast jsonb array or object to type %s" msgstr "привести масив або об'єкт jsonb до типу %s не можна" -#: utils/adt/jsonb_util.c:756 +#: utils/adt/jsonb_util.c:753 #, c-format msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)" msgstr "кількість пар об'єкта jsonb перевищує максимально дозволену (%zu)" -#: utils/adt/jsonb_util.c:797 +#: utils/adt/jsonb_util.c:794 #, c-format msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" msgstr "кількість елементів масиву jsonb перевищує максимально дозволену(%zu)" -#: utils/adt/jsonb_util.c:1671 utils/adt/jsonb_util.c:1691 +#: utils/adt/jsonb_util.c:1677 utils/adt/jsonb_util.c:1697 #, c-format msgid "total size of jsonb array elements exceeds the maximum of %d bytes" msgstr "загальний розмір елементів масиву jsonb перевищує максимум %d байт" -#: utils/adt/jsonb_util.c:1752 utils/adt/jsonb_util.c:1787 -#: utils/adt/jsonb_util.c:1807 +#: utils/adt/jsonb_util.c:1758 utils/adt/jsonb_util.c:1793 +#: utils/adt/jsonb_util.c:1813 #, c-format msgid "total size of jsonb object elements exceeds the maximum of %d bytes" msgstr "загальний розмір елементів об'єкту jsonb перевищує максимум %d байт" @@ -25612,12 +25660,12 @@ msgid "LIKE pattern must not end with escape character" msgstr "Шаблон LIKE не повинен закінчуватись символом виходу" -#: utils/adt/like_match.c:293 utils/adt/regexp.c:800 +#: utils/adt/like_match.c:293 utils/adt/regexp.c:801 #, c-format msgid "invalid escape string" msgstr "неприпустимий рядок виходу" -#: utils/adt/like_match.c:294 utils/adt/regexp.c:801 +#: utils/adt/like_match.c:294 utils/adt/regexp.c:802 #, c-format msgid "Escape string must be empty or one character." msgstr "Рядок виходу повинен бути пустим або складатися з одного символу." @@ -25828,10 +25876,10 @@ msgid "cannot subtract inet values of different sizes" msgstr "не можна віднімати значення inet різного розміру" -#: utils/adt/numeric.c:793 utils/adt/numeric.c:3659 utils/adt/numeric.c:7216 -#: utils/adt/numeric.c:7419 utils/adt/numeric.c:7891 utils/adt/numeric.c:10586 -#: utils/adt/numeric.c:11061 utils/adt/numeric.c:11155 -#: utils/adt/numeric.c:11290 +#: utils/adt/numeric.c:793 utils/adt/numeric.c:3660 utils/adt/numeric.c:7217 +#: utils/adt/numeric.c:7420 utils/adt/numeric.c:7892 utils/adt/numeric.c:10587 +#: utils/adt/numeric.c:11062 utils/adt/numeric.c:11156 +#: utils/adt/numeric.c:11291 #, c-format msgid "value overflows numeric format" msgstr "значення переповнюють формат numeric" @@ -25896,64 +25944,64 @@ msgid "step size cannot be infinity" msgstr "розмір кроку не може бути нескінченністю" -#: utils/adt/numeric.c:3649 +#: utils/adt/numeric.c:3650 #, c-format msgid "factorial of a negative number is undefined" msgstr "факторіал від'ємного числа не визначено" -#: utils/adt/numeric.c:4256 +#: utils/adt/numeric.c:4257 #, c-format msgid "lower bound cannot be NaN" msgstr "нижня границя не може бути NaN" -#: utils/adt/numeric.c:4260 +#: utils/adt/numeric.c:4261 #, c-format msgid "lower bound cannot be infinity" msgstr "нижня границя не може бути нескінченністю" -#: utils/adt/numeric.c:4267 +#: utils/adt/numeric.c:4268 #, c-format msgid "upper bound cannot be NaN" msgstr "верхня границя не може бути NaN" -#: utils/adt/numeric.c:4271 +#: utils/adt/numeric.c:4272 #, c-format msgid "upper bound cannot be infinity" msgstr "верхня границя не може бути нескінченністю" -#: utils/adt/numeric.c:4432 utils/adt/numeric.c:4520 utils/adt/numeric.c:4580 -#: utils/adt/numeric.c:4776 +#: utils/adt/numeric.c:4433 utils/adt/numeric.c:4521 utils/adt/numeric.c:4581 +#: utils/adt/numeric.c:4777 #, c-format msgid "cannot convert NaN to %s" msgstr "неможливо перетворити NaN на %s" -#: utils/adt/numeric.c:4436 utils/adt/numeric.c:4524 utils/adt/numeric.c:4584 -#: utils/adt/numeric.c:4780 +#: utils/adt/numeric.c:4437 utils/adt/numeric.c:4525 utils/adt/numeric.c:4585 +#: utils/adt/numeric.c:4781 #, c-format msgid "cannot convert infinity to %s" msgstr "неможливо перетворити нескінченність на %s" -#: utils/adt/numeric.c:4789 +#: utils/adt/numeric.c:4790 #, c-format msgid "pg_lsn out of range" msgstr "pg_lsn поза діапазоном" -#: utils/adt/numeric.c:7981 utils/adt/numeric.c:8032 +#: utils/adt/numeric.c:7982 utils/adt/numeric.c:8033 #, c-format msgid "numeric field overflow" msgstr "надлишок поля numeric" -#: utils/adt/numeric.c:7982 +#: utils/adt/numeric.c:7983 #, c-format msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d." msgstr "Поле з точністю %d, масштабом %d повинне округлятись до абсолютного значення меньше, ніж %s%d." -#: utils/adt/numeric.c:8033 +#: utils/adt/numeric.c:8034 #, c-format msgid "A field with precision %d, scale %d cannot hold an infinite value." msgstr "Поле з точністю %d, масштабом %d не може містити нескінченне значення." -#: utils/adt/numeric.c:11359 utils/adt/pseudorandomfuncs.c:135 +#: utils/adt/numeric.c:11360 utils/adt/pseudorandomfuncs.c:135 #: utils/adt/pseudorandomfuncs.c:159 #, c-format msgid "lower bound must be less than or equal to upper bound" @@ -25995,145 +26043,145 @@ msgid "percentile value %g is not between 0 and 1" msgstr "значення процентиля %g не є між 0 і 1" -#: utils/adt/pg_locale.c:326 utils/adt/pg_locale.c:358 +#: utils/adt/pg_locale.c:327 utils/adt/pg_locale.c:359 #, c-format msgid "locale name \"%s\" contains non-ASCII characters" msgstr "назва локалі \"%s\" містить не-ASCII символи" -#: utils/adt/pg_locale.c:1507 +#: utils/adt/pg_locale.c:1510 #, c-format msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" msgstr "не вдалося відкрити сортувальник для локалізації\"%s\" з правилами \"%s\": %s" -#: utils/adt/pg_locale.c:1518 utils/adt/pg_locale.c:2992 -#: utils/adt/pg_locale.c:3065 +#: utils/adt/pg_locale.c:1521 utils/adt/pg_locale.c:2995 +#: utils/adt/pg_locale.c:3068 #, c-format msgid "ICU is not supported in this build" msgstr "ICU не підтримується в цій збірці" -#: utils/adt/pg_locale.c:1546 +#: utils/adt/pg_locale.c:1549 #, c-format msgid "could not create locale \"%s\": %m" msgstr "не вдалося створити локалізацію \"%s\": %m" -#: utils/adt/pg_locale.c:1549 +#: utils/adt/pg_locale.c:1552 #, c-format msgid "The operating system could not find any locale data for the locale name \"%s\"." msgstr "Операційній системі не вдалося знайти дані локалізації з іменем \"%s\"." -#: utils/adt/pg_locale.c:1670 +#: utils/adt/pg_locale.c:1673 #, c-format msgid "collations with different collate and ctype values are not supported on this platform" msgstr "параметри сортування з різними значеннями collate і ctype не підтримуються на цій платформі" -#: utils/adt/pg_locale.c:1717 +#: utils/adt/pg_locale.c:1720 #, c-format msgid "collation \"%s\" has no actual version, but a version was recorded" msgstr "для параметру сортування \"%s\" який не має фактичної версії, була вказана версія" -#: utils/adt/pg_locale.c:1723 +#: utils/adt/pg_locale.c:1726 #, c-format msgid "collation \"%s\" has version mismatch" msgstr "невідповідність версій для параметру сортування \"%s\"" -#: utils/adt/pg_locale.c:1725 +#: utils/adt/pg_locale.c:1728 #, c-format msgid "The collation in the database was created using version %s, but the operating system provides version %s." msgstr "Параметр сортування в базі даних був створений з версією %s, але операційна система надає версію %s." -#: utils/adt/pg_locale.c:1728 +#: utils/adt/pg_locale.c:1731 #, c-format msgid "Rebuild all objects affected by this collation and run ALTER COLLATION %s REFRESH VERSION, or build PostgreSQL with the right library version." msgstr "Перебудуйте всі об'єкти, які стосуються цього параметру сортування і виконайте ALTER COLLATION %s REFRESH VERSION, або побудуйте PostgreSQL з правильною версією бібліотеки." -#: utils/adt/pg_locale.c:1772 utils/adt/pg_locale.c:2556 -#: utils/adt/pg_locale.c:2581 +#: utils/adt/pg_locale.c:1775 utils/adt/pg_locale.c:2559 +#: utils/adt/pg_locale.c:2584 #, c-format msgid "invalid locale name \"%s\" for builtin provider" msgstr "неприпустиме ім'я локалі \"%s\" для вбудованого провайдера" -#: utils/adt/pg_locale.c:1814 +#: utils/adt/pg_locale.c:1817 #, c-format msgid "could not load locale \"%s\"" msgstr "не вдалося завантажити локаль \"%s\"" -#: utils/adt/pg_locale.c:1839 +#: utils/adt/pg_locale.c:1842 #, c-format msgid "could not get collation version for locale \"%s\": error code %lu" msgstr "не вдалося отримати версію параметрів сортування для локалізації \"%s\": код помилки %lu" -#: utils/adt/pg_locale.c:1895 utils/adt/pg_locale.c:1908 +#: utils/adt/pg_locale.c:1898 utils/adt/pg_locale.c:1911 #, c-format msgid "could not convert string to UTF-16: error code %lu" msgstr "не вдалося перетворити рядок в UTF-16: код помилки %lu" -#: utils/adt/pg_locale.c:1920 +#: utils/adt/pg_locale.c:1923 #, c-format msgid "could not compare Unicode strings: %m" msgstr "не вдалося порівняти рядки в Unicode: %m" -#: utils/adt/pg_locale.c:2094 +#: utils/adt/pg_locale.c:2097 #, c-format msgid "collation failed: %s" msgstr "помилка в бібліотеці сортування: %s" -#: utils/adt/pg_locale.c:2313 utils/adt/pg_locale.c:2345 +#: utils/adt/pg_locale.c:2316 utils/adt/pg_locale.c:2348 #, c-format msgid "sort key generation failed: %s" msgstr "не вдалося згенерувати ключ сортування: %s" -#: utils/adt/pg_locale.c:2635 +#: utils/adt/pg_locale.c:2638 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "не вдалося отримати мову з локалі \"%s\": %s" -#: utils/adt/pg_locale.c:2656 utils/adt/pg_locale.c:2672 +#: utils/adt/pg_locale.c:2659 utils/adt/pg_locale.c:2675 #, c-format msgid "could not open collator for locale \"%s\": %s" msgstr "не вдалося відкрити сортувальник для локалізації \"%s\": %s" -#: utils/adt/pg_locale.c:2697 +#: utils/adt/pg_locale.c:2700 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "ICU не підтримує кодування \"%s\"" -#: utils/adt/pg_locale.c:2704 +#: utils/adt/pg_locale.c:2707 #, c-format msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "не вдалося відкрити перетворювач ICU для кодування \"%s\": %s" -#: utils/adt/pg_locale.c:2722 utils/adt/pg_locale.c:2741 -#: utils/adt/pg_locale.c:2797 utils/adt/pg_locale.c:2808 +#: utils/adt/pg_locale.c:2725 utils/adt/pg_locale.c:2744 +#: utils/adt/pg_locale.c:2800 utils/adt/pg_locale.c:2811 #, c-format msgid "%s failed: %s" msgstr "%s помилка: %s" -#: utils/adt/pg_locale.c:2983 +#: utils/adt/pg_locale.c:2986 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "не вдалося перетворити локальну назву \"%s\" на мітку мови: %s" -#: utils/adt/pg_locale.c:3024 +#: utils/adt/pg_locale.c:3027 #, c-format msgid "could not get language from ICU locale \"%s\": %s" msgstr "не вдалося отримати мову з локалі ICU \"%s\": %s" -#: utils/adt/pg_locale.c:3026 utils/adt/pg_locale.c:3055 +#: utils/adt/pg_locale.c:3029 utils/adt/pg_locale.c:3058 #, c-format msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." msgstr "Щоб вимкнути перевірку мови ICU, встановіть параметр \"%s\" на \"%s\"." -#: utils/adt/pg_locale.c:3053 +#: utils/adt/pg_locale.c:3056 #, c-format msgid "ICU locale \"%s\" has unknown language \"%s\"" msgstr "locale ICU \"%s\" має невідому мову \"%s\"" -#: utils/adt/pg_locale.c:3204 +#: utils/adt/pg_locale.c:3207 #, c-format msgid "invalid multibyte character for locale" msgstr "неприпустимий мультибайтний символ для локалізації" -#: utils/adt/pg_locale.c:3205 +#: utils/adt/pg_locale.c:3208 #, c-format msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding." msgstr "Параметр локалізації серверу LC_CTYPE, можливо, несумісний з кодуванням бази даних." @@ -26258,7 +26306,7 @@ msgid "Junk after right parenthesis or bracket." msgstr "Сміття після правої дужки." -#: utils/adt/regexp.c:304 utils/adt/regexp.c:1996 utils/adt/varlena.c:4273 +#: utils/adt/regexp.c:304 utils/adt/regexp.c:2065 utils/adt/varlena.c:4273 #, c-format msgid "regular expression failed: %s" msgstr "помилка в регулярному виразі: %s" @@ -26273,33 +26321,33 @@ msgid "If you meant to use regexp_replace() with a start parameter, cast the fourth argument to integer explicitly." msgstr "Якщо ви хочете використовувати regexp_replace() з початковим параметром, приведіть тип четвертого аргумента до цілого числа." -#: utils/adt/regexp.c:716 utils/adt/regexp.c:725 utils/adt/regexp.c:1082 -#: utils/adt/regexp.c:1146 utils/adt/regexp.c:1155 utils/adt/regexp.c:1164 -#: utils/adt/regexp.c:1173 utils/adt/regexp.c:1853 utils/adt/regexp.c:1862 -#: utils/adt/regexp.c:1871 utils/misc/guc.c:6820 utils/misc/guc.c:6854 +#: utils/adt/regexp.c:716 utils/adt/regexp.c:725 utils/adt/regexp.c:1151 +#: utils/adt/regexp.c:1215 utils/adt/regexp.c:1224 utils/adt/regexp.c:1233 +#: utils/adt/regexp.c:1242 utils/adt/regexp.c:1922 utils/adt/regexp.c:1931 +#: utils/adt/regexp.c:1940 utils/misc/guc.c:6831 utils/misc/guc.c:6865 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "неприпустиме значення для параметра \"%s\": %d" -#: utils/adt/regexp.c:936 +#: utils/adt/regexp.c:948 #, c-format msgid "SQL regular expression may not contain more than two escape-double-quote separators" msgstr "Регулярний вираз SQL не може містити більше двох роздільників escape-double-quote" #. translator: %s is a SQL function name -#: utils/adt/regexp.c:1093 utils/adt/regexp.c:1184 utils/adt/regexp.c:1271 -#: utils/adt/regexp.c:1310 utils/adt/regexp.c:1698 utils/adt/regexp.c:1753 -#: utils/adt/regexp.c:1882 +#: utils/adt/regexp.c:1162 utils/adt/regexp.c:1253 utils/adt/regexp.c:1340 +#: utils/adt/regexp.c:1379 utils/adt/regexp.c:1767 utils/adt/regexp.c:1822 +#: utils/adt/regexp.c:1951 #, c-format msgid "%s does not support the \"global\" option" msgstr "%s не підтримує параметр \"global\"" -#: utils/adt/regexp.c:1312 +#: utils/adt/regexp.c:1381 #, c-format msgid "Use the regexp_matches function instead." msgstr "Використайте функцію regexp_matches замість." -#: utils/adt/regexp.c:1500 +#: utils/adt/regexp.c:1569 #, c-format msgid "too many regular expression matches" msgstr "занадто багато відповідностей для регулярного виразу" @@ -26324,8 +26372,8 @@ msgid "Use NONE to denote the missing argument of a unary operator." msgstr "Щоб позначити пропущений аргумент унарного оператору, використайте NONE." -#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10516 -#: utils/adt/ruleutils.c:10729 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10526 +#: utils/adt/ruleutils.c:10739 #, c-format msgid "too many arguments" msgstr "занадто багато аргументів" @@ -26722,12 +26770,12 @@ msgid "weight out of range" msgstr "значимість поза діапазоном" -#: utils/adt/tsvector.c:216 +#: utils/adt/tsvector.c:213 #, c-format msgid "word is too long (%ld bytes, max %ld bytes)" msgstr "слово занадто довге (%ld байт, при максимумі %ld)" -#: utils/adt/tsvector.c:223 +#: utils/adt/tsvector.c:220 #, c-format msgid "string is too long for tsvector (%ld bytes, max %ld bytes)" msgstr "рядок занадто довгий для tsvector (%ld байт, при максимумі %ld)" @@ -27014,7 +27062,7 @@ msgid "This functionality requires the server to be built with libxml support." msgstr "Ця функціональність потребує, щоб сервер був побудований з підтримкою libxml." -#: utils/adt/xml.c:258 utils/mb/mbutils.c:627 +#: utils/adt/xml.c:258 utils/mb/mbutils.c:628 #, c-format msgid "invalid encoding name \"%s\"" msgstr "неприпустиме ім’я кодування \"%s\"" @@ -27029,136 +27077,136 @@ msgid "not an XML document" msgstr "не XML-документ" -#: utils/adt/xml.c:1008 utils/adt/xml.c:1031 +#: utils/adt/xml.c:1020 utils/adt/xml.c:1043 #, c-format msgid "invalid XML processing instruction" msgstr "неприпустима XML-команда обробки" -#: utils/adt/xml.c:1009 +#: utils/adt/xml.c:1021 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "Метою XML-команди обробки не може бути \"%s\"." -#: utils/adt/xml.c:1032 +#: utils/adt/xml.c:1044 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML-команда обробки не може містити \"?>\"." -#: utils/adt/xml.c:1111 +#: utils/adt/xml.c:1123 #, c-format msgid "xmlvalidate is not implemented" msgstr "функція xmlvalidate не реалізована" -#: utils/adt/xml.c:1167 +#: utils/adt/xml.c:1179 #, c-format msgid "could not initialize XML library" msgstr "не вдалося ініціалізувати бібліотеку XML" -#: utils/adt/xml.c:1168 +#: utils/adt/xml.c:1180 #, c-format msgid "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." msgstr "libxml2 має несумісний тип char: sizeof(char)=%zu, sizeof(xmlChar)=%zu." -#: utils/adt/xml.c:1254 +#: utils/adt/xml.c:1266 #, c-format msgid "could not set up XML error handler" msgstr "не вдалося встановити обробник XML-помилок" -#: utils/adt/xml.c:1255 +#: utils/adt/xml.c:1267 #, 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 "Можливо це означає, що використовувана версія libxml2 несумісна з файлами-заголовками libxml2, з котрими був зібраний PostgreSQL." -#: utils/adt/xml.c:2281 +#: utils/adt/xml.c:2283 msgid "Invalid character value." msgstr "Неприпустиме значення символу." -#: utils/adt/xml.c:2284 +#: utils/adt/xml.c:2286 msgid "Space required." msgstr "Потребується пробіл." -#: utils/adt/xml.c:2287 +#: utils/adt/xml.c:2289 msgid "standalone accepts only 'yes' or 'no'." msgstr "значеннями атрибуту standalone можуть бути лише 'yes' або 'no'." -#: utils/adt/xml.c:2290 +#: utils/adt/xml.c:2292 msgid "Malformed declaration: missing version." msgstr "Неправильне оголошення: пропущена версія." -#: utils/adt/xml.c:2293 +#: utils/adt/xml.c:2295 msgid "Missing encoding in text declaration." msgstr "В оголошенні пропущене кодування." -#: utils/adt/xml.c:2296 +#: utils/adt/xml.c:2298 msgid "Parsing XML declaration: '?>' expected." msgstr "Аналіз XML-оголошення: '?>' очікується." -#: utils/adt/xml.c:2299 +#: utils/adt/xml.c:2301 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Нерозпізнаний код помилки libxml: %d." -#: utils/adt/xml.c:2553 +#: utils/adt/xml.c:2555 #, c-format msgid "XML does not support infinite date values." msgstr "XML не підтримує безкінечні значення в датах." -#: utils/adt/xml.c:2575 utils/adt/xml.c:2602 +#: utils/adt/xml.c:2577 utils/adt/xml.c:2604 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML не підтримує безкінченні значення в позначках часу." -#: utils/adt/xml.c:3018 +#: utils/adt/xml.c:3020 #, c-format msgid "invalid query" msgstr "неприпустимий запит" -#: utils/adt/xml.c:3110 +#: utils/adt/xml.c:3112 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "portal \"%s\" не повертає кортежі" -#: utils/adt/xml.c:4362 +#: utils/adt/xml.c:4364 #, c-format msgid "invalid array for XML namespace mapping" msgstr "неприпустимий масив з зіставленням простіру імен XML" -#: utils/adt/xml.c:4363 +#: utils/adt/xml.c:4365 #, c-format msgid "The array must be two-dimensional with length of the second axis equal to 2." msgstr "Масив повинен бути двовимірним і містити 2 елемента по другій вісі." -#: utils/adt/xml.c:4387 +#: utils/adt/xml.c:4389 #, c-format msgid "empty XPath expression" msgstr "пустий вираз XPath" -#: utils/adt/xml.c:4439 +#: utils/adt/xml.c:4441 #, c-format msgid "neither namespace name nor URI may be null" msgstr "ні ім'я простіру імен ні URI не можуть бути null" -#: utils/adt/xml.c:4446 +#: utils/adt/xml.c:4448 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "не вдалося зареєструвати простір імен XML з ім'ям \"%s\" і URI \"%s\"" -#: utils/adt/xml.c:4795 +#: utils/adt/xml.c:4797 #, c-format msgid "DEFAULT namespace is not supported" msgstr "Простір імен DEFAULT не підтримується" -#: utils/adt/xml.c:4824 +#: utils/adt/xml.c:4826 #, c-format msgid "row path filter must not be empty string" msgstr "шлях фільтруючих рядків не повинен бути пустим" -#: utils/adt/xml.c:4858 +#: utils/adt/xml.c:4860 #, c-format msgid "column path filter must not be empty string" msgstr "шлях фільтруючого стовпця не повинен бути пустим" -#: utils/adt/xml.c:5005 +#: utils/adt/xml.c:5007 #, c-format msgid "more than one value returned by column XPath expression" msgstr "вираз XPath, який відбирає стовпець, повернув більше одного значення" @@ -27194,27 +27242,27 @@ msgid "cached plan must not change result type" msgstr "в кешованому плані не повинен змінюватись тип результату" -#: utils/cache/relcache.c:3801 +#: utils/cache/relcache.c:3817 #, c-format msgid "heap relfilenumber value not set when in binary upgrade mode" msgstr "значення relfilenumber не встановлене у режимі двійкового оновлення" -#: utils/cache/relcache.c:3809 +#: utils/cache/relcache.c:3825 #, c-format msgid "unexpected request for new relfilenumber in binary upgrade mode" msgstr "неочікуваний запит на новий relfilenumber в режимі двійкового оновлення" -#: utils/cache/relcache.c:6539 +#: utils/cache/relcache.c:6555 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "не вдалося створити файл ініціалізації для кешу відношень \"%s\": %m" -#: utils/cache/relcache.c:6541 +#: utils/cache/relcache.c:6557 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Продовжуємо усе одно, але щось не так." -#: utils/cache/relcache.c:6871 +#: utils/cache/relcache.c:6887 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "не вдалося видалити файл кешу \"%s\": %m" @@ -27557,113 +27605,113 @@ msgid "invalid role OID: %u" msgstr "неприпустимий OID ролі: %u" -#: utils/init/miscinit.c:1192 +#: utils/init/miscinit.c:1193 #, c-format msgid "database system is shut down" msgstr "система бази даних вимкнена" -#: utils/init/miscinit.c:1279 +#: utils/init/miscinit.c:1280 #, c-format msgid "could not create lock file \"%s\": %m" msgstr "не вдалося створити файл блокування \"%s\": %m" -#: utils/init/miscinit.c:1293 +#: utils/init/miscinit.c:1294 #, c-format msgid "could not open lock file \"%s\": %m" msgstr "не вдалося відкрити файл блокування \"%s\": %m" -#: utils/init/miscinit.c:1300 +#: utils/init/miscinit.c:1301 #, c-format msgid "could not read lock file \"%s\": %m" msgstr "не вдалося прочитати файл блокування \"%s\": %m" -#: utils/init/miscinit.c:1309 +#: utils/init/miscinit.c:1310 #, c-format msgid "lock file \"%s\" is empty" msgstr "файл блокування \"%s\" пустий" -#: utils/init/miscinit.c:1310 +#: utils/init/miscinit.c:1311 #, c-format msgid "Either another server is starting, or the lock file is the remnant of a previous server startup crash." msgstr "Або зараз запускається інший сервер, або цей файл блокування залишився в результаті збою під час попереднього запуску." -#: utils/init/miscinit.c:1354 +#: utils/init/miscinit.c:1355 #, c-format msgid "lock file \"%s\" already exists" msgstr "файл блокування \"%s\" вже існує" -#: utils/init/miscinit.c:1358 +#: utils/init/miscinit.c:1359 #, c-format msgid "Is another postgres (PID %d) running in data directory \"%s\"?" msgstr "Інший postgres (PID %d) працює з каталогом даних \"%s\"?" -#: utils/init/miscinit.c:1360 +#: utils/init/miscinit.c:1361 #, c-format msgid "Is another postmaster (PID %d) running in data directory \"%s\"?" msgstr "Інший postmaster (PID %d) працює з каталогом даних \"%s\"?" -#: utils/init/miscinit.c:1363 +#: utils/init/miscinit.c:1364 #, c-format msgid "Is another postgres (PID %d) using socket file \"%s\"?" msgstr "Інший postgres (PID %d) використовує файл сокету \"%s\"?" -#: utils/init/miscinit.c:1365 +#: utils/init/miscinit.c:1366 #, c-format msgid "Is another postmaster (PID %d) using socket file \"%s\"?" msgstr "Інший postmaster (PID %d) використовує файл сокету \"%s\"?" -#: utils/init/miscinit.c:1416 +#: utils/init/miscinit.c:1417 #, c-format msgid "could not remove old lock file \"%s\": %m" msgstr "не вдалося видалити старий файл блокування \"%s\": %m" -#: utils/init/miscinit.c:1418 +#: utils/init/miscinit.c:1419 #, 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 "Здається, файл залишився випадково, але видалити його не вийшло. Будь-ласка, видаліть файл вручну або спробуйте знову." -#: utils/init/miscinit.c:1455 utils/init/miscinit.c:1469 -#: utils/init/miscinit.c:1480 +#: utils/init/miscinit.c:1456 utils/init/miscinit.c:1470 +#: utils/init/miscinit.c:1481 #, c-format msgid "could not write lock file \"%s\": %m" msgstr "не вдалося записати файл блокування \"%s\": %m" -#: utils/init/miscinit.c:1591 utils/init/miscinit.c:1733 utils/misc/guc.c:5765 +#: utils/init/miscinit.c:1592 utils/init/miscinit.c:1734 utils/misc/guc.c:5770 #, c-format msgid "could not read from file \"%s\": %m" msgstr "не вдалося прочитати з файлу \"%s\": %m" -#: utils/init/miscinit.c:1721 +#: utils/init/miscinit.c:1722 #, c-format msgid "could not open file \"%s\": %m; continuing anyway" msgstr "не вдалося відкрити файл \"%s\": %m; все одно продовжується" -#: utils/init/miscinit.c:1746 +#: utils/init/miscinit.c:1747 #, c-format msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld" msgstr "файл блокування \"%s\" містить неправильний PID: %ld замість %ld" -#: utils/init/miscinit.c:1785 utils/init/miscinit.c:1801 +#: utils/init/miscinit.c:1786 utils/init/miscinit.c:1802 #, c-format msgid "\"%s\" is not a valid data directory" msgstr "\"%s\" не є припустимим каталогом даних" -#: utils/init/miscinit.c:1787 +#: utils/init/miscinit.c:1788 #, c-format msgid "File \"%s\" is missing." msgstr "Файл \"%s\" пропущено." -#: utils/init/miscinit.c:1803 +#: utils/init/miscinit.c:1804 #, c-format msgid "File \"%s\" does not contain valid data." msgstr "Файл \"%s\" не містить припустимих даних." -#: utils/init/miscinit.c:1805 +#: utils/init/miscinit.c:1806 #, c-format msgid "You might need to initdb." msgstr "Можливо, вам слід виконати initdb." -#: utils/init/miscinit.c:1813 +#: utils/init/miscinit.c:1814 #, c-format msgid "The data directory was initialized by PostgreSQL version %s, which is not compatible with this version %s." msgstr "Каталог даних ініціалізований сервером PostgreSQL версії %s, не сумісною з цією версією %s." @@ -27857,48 +27905,48 @@ msgid "unexpected encoding ID %d for WIN character sets" msgstr "неочікуваний ідентифікатор кодування %d для наборів символів WIN" -#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:900 +#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901 #, c-format msgid "conversion between %s and %s is not supported" msgstr "перетворення між %s і %s не підтримується" -#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 -#: utils/mb/mbutils.c:842 +#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 +#: utils/mb/mbutils.c:843 #, c-format msgid "String of %d bytes is too long for encoding conversion." msgstr "Рядок з %d байт занадто довгий для перетворення кодування." -#: utils/mb/mbutils.c:568 +#: utils/mb/mbutils.c:569 #, c-format msgid "invalid source encoding name \"%s\"" msgstr "неприпустиме ім’я вихідного кодування \"%s\"" -#: utils/mb/mbutils.c:573 +#: utils/mb/mbutils.c:574 #, c-format msgid "invalid destination encoding name \"%s\"" msgstr "неприпустиме ім’я кодування результату \"%s\"" -#: utils/mb/mbutils.c:713 +#: utils/mb/mbutils.c:714 #, c-format msgid "invalid byte value for encoding \"%s\": 0x%02x" msgstr "неприпустиме значення байту для кодування \"%s\": 0x%02x" -#: utils/mb/mbutils.c:877 +#: utils/mb/mbutils.c:878 #, c-format msgid "invalid Unicode code point" msgstr "неприпустима кодова точка Unicode" -#: utils/mb/mbutils.c:1201 +#: utils/mb/mbutils.c:1202 #, c-format msgid "bind_textdomain_codeset failed" msgstr "помилка в bind_textdomain_codeset" -#: utils/mb/mbutils.c:1718 +#: utils/mb/mbutils.c:1719 #, c-format msgid "invalid byte sequence for encoding \"%s\": %s" msgstr "неприпустима послідовність байтів для кодування \"%s\": %s" -#: utils/mb/mbutils.c:1751 +#: utils/mb/mbutils.c:1760 #, c-format msgid "character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\"" msgstr "символ з послідовністю байтів %s в кодуванні \"%s\" не має еквіваленту в кодуванні \"%s\"" @@ -28051,7 +28099,7 @@ msgstr "параметр \"%s\" не може бути змінений зараз" #: utils/misc/guc.c:3541 utils/misc/guc.c:3603 utils/misc/guc.c:4671 -#: utils/misc/guc.c:6756 +#: utils/misc/guc.c:6767 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "немає прав для встановлення параметру \"%s\"" @@ -28076,12 +28124,12 @@ msgid "parameter \"%s\" cannot be set locally in functions" msgstr "параметр \"%s\" не може бути встановлений локально в функціях" -#: utils/misc/guc.c:4370 utils/misc/guc.c:4418 utils/misc/guc.c:5450 +#: utils/misc/guc.c:4370 utils/misc/guc.c:4418 utils/misc/guc.c:5455 #, c-format msgid "permission denied to examine \"%s\"" msgstr "немає дозволу для вивчення \"%s\"" -#: utils/misc/guc.c:4371 utils/misc/guc.c:4419 utils/misc/guc.c:5451 +#: utils/misc/guc.c:4371 utils/misc/guc.c:4419 utils/misc/guc.c:5456 #, c-format msgid "Only roles with privileges of the \"%s\" role may examine this parameter." msgstr "Тільки ролі з привілеями ролі \"%s\" можуть перевіряти цей параметр." @@ -28096,47 +28144,47 @@ msgid "permission denied to perform ALTER SYSTEM RESET ALL" msgstr "немає дозволу для виконання ALTER SYSTEM RESET ALL" -#: utils/misc/guc.c:4740 +#: utils/misc/guc.c:4745 #, c-format msgid "parameter value for ALTER SYSTEM must not contain a newline" msgstr "значення параметру для ALTER SYSTEM не повинне містити нового рядка" -#: utils/misc/guc.c:4785 +#: utils/misc/guc.c:4790 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "не вдалося аналізувати зміст файла \"%s\"" -#: utils/misc/guc.c:4967 +#: utils/misc/guc.c:4972 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "спроба перевизначити параметр \"%s\"" -#: utils/misc/guc.c:5306 +#: utils/misc/guc.c:5311 #, c-format msgid "invalid configuration parameter name \"%s\", removing it" msgstr "неприпустима назва параметра конфігурації \"%s\", видаляємо" -#: utils/misc/guc.c:5308 +#: utils/misc/guc.c:5313 #, c-format msgid "\"%s\" is now a reserved prefix." msgstr "\"%s\" тепер є зарезервованим префіксом." -#: utils/misc/guc.c:6179 +#: utils/misc/guc.c:6184 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "під час налаштування параметру \"%s\" на \"%s\"" -#: utils/misc/guc.c:6348 +#: utils/misc/guc.c:6353 #, c-format msgid "parameter \"%s\" could not be set" msgstr "параметр \"%s\" не вдалося встановити" -#: utils/misc/guc.c:6438 +#: utils/misc/guc.c:6443 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "не вдалося аналізувати налаштування параметру \"%s\"" -#: utils/misc/guc.c:6888 +#: utils/misc/guc.c:6899 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "неприпустиме значення для параметра \"%s\": %g" @@ -30326,12 +30374,12 @@ msgid "could not attach to dynamic shared area" msgstr "не вдалося підключитись до динамічно-спільної області" -#: utils/mmgr/mcxt.c:1155 +#: utils/mmgr/mcxt.c:1158 #, c-format msgid "Failed on request of size %zu in memory context \"%s\"." msgstr "Помилка в запиті розміру %zu в контексті пам'яті \"%s\"." -#: utils/mmgr/mcxt.c:1299 +#: utils/mmgr/mcxt.c:1314 #, c-format msgid "logging memory contexts of PID %d" msgstr "журналювання контекстів пам'яті PID %d" @@ -30644,194 +30692,199 @@ msgid "unrecognized column option \"%s\"" msgstr "нерозпізнаний параметр стовпця \"%s\"" -#: gram.y:14147 +#: gram.y:14098 +#, c-format +msgid "option name \"%s\" cannot be used in XMLTABLE" +msgstr "ім'я параметру \"%s\" не може використовуватись в XMLTABLE" + +#: gram.y:14154 #, c-format msgid "only string constants are supported in JSON_TABLE path specification" msgstr "у специфікації шляху JSON_TABLE підтримуються лише рядкові константи" -#: gram.y:14469 +#: gram.y:14476 #, c-format msgid "precision for type float must be at least 1 bit" msgstr "точність для типу float повинна бути мінімум 1 біт" -#: gram.y:14478 +#: gram.y:14485 #, c-format msgid "precision for type float must be less than 54 bits" msgstr "точність для типу float повинна бути меньше 54 біт" -#: gram.y:14995 +#: gram.y:15002 #, c-format msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "неправильна кількість параметрів у лівій частині виразу OVERLAPS" -#: gram.y:15000 +#: gram.y:15007 #, c-format msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "неправильна кількість параметрів у правій частині виразу OVERLAPS" -#: gram.y:15177 +#: gram.y:15184 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "Предикат UNIQUE ще не реалізований" -#: gram.y:15591 +#: gram.y:15598 #, c-format msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" msgstr "використовувати речення ORDER BY з WITHIN GROUP неодноразово, не можна" -#: gram.y:15596 +#: gram.y:15603 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "використовувати DISTINCT з WITHIN GROUP не можна" -#: gram.y:15601 +#: gram.y:15608 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "використовувати VARIADIC з WITHIN GROUP не можна" -#: gram.y:16328 gram.y:16352 +#: gram.y:16335 gram.y:16359 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "початком рамки не може бути UNBOUNDED FOLLOWING" -#: gram.y:16333 +#: gram.y:16340 #, c-format msgid "frame starting from following row cannot end with current row" msgstr "рамка, яка починається з наступного рядка не можна закінчуватись поточним рядком" -#: gram.y:16357 +#: gram.y:16364 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "кінцем рамки не може бути UNBOUNDED PRECEDING" -#: gram.y:16363 +#: gram.y:16370 #, c-format msgid "frame starting from current row cannot have preceding rows" msgstr "рамка, яка починається з поточного рядка не може мати попередніх рядків" -#: gram.y:16370 +#: gram.y:16377 #, c-format msgid "frame starting from following row cannot have preceding rows" msgstr "рамка, яка починається з наступного рядка не може мати попередніх рядків" -#: gram.y:16919 +#: gram.y:16926 #, c-format msgid "unrecognized JSON encoding: %s" msgstr "нерозпізнане кодування JSON: %s" -#: gram.y:17243 +#: gram.y:17250 #, c-format msgid "type modifier cannot have parameter name" msgstr "тип modifier не може мати ім'я параметра" -#: gram.y:17249 +#: gram.y:17256 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "тип modifier не може мати ORDER BY" -#: gram.y:17317 gram.y:17324 gram.y:17331 +#: gram.y:17324 gram.y:17331 gram.y:17338 #, c-format msgid "%s cannot be used as a role name here" msgstr "%s не можна використовувати тут як ім'я ролі" -#: gram.y:17421 gram.y:18906 +#: gram.y:17428 gram.y:18913 #, c-format msgid "WITH TIES cannot be specified without ORDER BY clause" msgstr "WITH TIES не можна задати без оператора ORDER BY" -#: gram.y:18597 gram.y:18772 +#: gram.y:18604 gram.y:18779 msgid "improper use of \"*\"" msgstr "неправильне використання \"*\"" -#: gram.y:18836 +#: gram.y:18843 #, c-format msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type" msgstr "сортувальна агрегатна функція з прямим аргументом VARIADIC повинна мати один агрегатний аргумент VARIADIC того ж типу даних" -#: gram.y:18873 +#: gram.y:18880 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "кілька речень ORDER BY не допускається" -#: gram.y:18884 +#: gram.y:18891 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "кілька речень OFFSET не допускається" -#: gram.y:18893 +#: gram.y:18900 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "кілька речень LIMIT не допускається" -#: gram.y:18902 +#: gram.y:18909 #, c-format msgid "multiple limit options not allowed" msgstr "використання декількох параметрів обмеження не дозволяється" -#: gram.y:18929 +#: gram.y:18936 #, c-format msgid "multiple WITH clauses not allowed" msgstr "кілька речень WITH не допускається" -#: gram.y:19122 +#: gram.y:19129 #, c-format msgid "OUT and INOUT arguments aren't allowed in TABLE functions" msgstr "В табличних функціях аргументи OUT і INOUT не дозволяються" -#: gram.y:19255 +#: gram.y:19262 #, c-format msgid "multiple COLLATE clauses not allowed" msgstr "кілька речень COLLATE не допускається" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19293 gram.y:19306 +#: gram.y:19300 gram.y:19313 #, c-format msgid "%s constraints cannot be marked DEFERRABLE" msgstr "обмеження %s не можуть бути позначені DEFERRABLE" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19319 +#: gram.y:19326 #, c-format msgid "%s constraints cannot be marked NOT VALID" msgstr "обмеження %s не можуть бути позначені NOT VALID" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19332 +#: gram.y:19339 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "обмеження %s не можуть бути позначені NO INHERIT" -#: gram.y:19354 +#: gram.y:19361 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "нерозпізнана стратегія секціонування \"%s\"" -#: gram.y:19378 +#: gram.y:19385 #, c-format msgid "invalid publication object list" msgstr "неприпустимий список об'єктів публікації" -#: gram.y:19379 +#: gram.y:19386 #, c-format msgid "One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name." msgstr "Одну з TABLE або TABLES IN SCHEMA необхідно вказати перед назвою автономної таблиці або схеми." -#: gram.y:19395 +#: gram.y:19402 #, c-format msgid "invalid table name" msgstr "неприпустиме ім'я таблиці" -#: gram.y:19416 +#: gram.y:19423 #, c-format msgid "WHERE clause not allowed for schema" msgstr "Речення WHERE не допускається для схеми" -#: gram.y:19423 +#: gram.y:19430 #, c-format msgid "column specification not allowed for schema" msgstr "специфікація стовпця не дозволена для схеми" -#: gram.y:19437 +#: gram.y:19444 #, c-format msgid "invalid schema name" msgstr "неприпустиме ім'я схеми" diff -Nru postgresql-17-17.7/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c postgresql-17-17.8/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c --- postgresql-17-17.7/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c 2026-02-09 21:51:54.000000000 +0000 @@ -60,6 +60,8 @@ static char *libpqrcv_identify_system(WalReceiverConn *conn, TimeLineID *primary_tli); static char *libpqrcv_get_dbname_from_conninfo(const char *connInfo); +static char *libpqrcv_get_option_from_conninfo(const char *connInfo, + const char *keyword); static int libpqrcv_server_version(WalReceiverConn *conn); static void libpqrcv_readtimelinehistoryfile(WalReceiverConn *conn, TimeLineID tli, char **filename, @@ -148,6 +150,7 @@ const char *keys[6]; const char *vals[6]; int i = 0; + char *options_val = NULL; /* * Re-validate connection string. The validation already happened at DDL @@ -175,6 +178,8 @@ if (logical) { + char *opt = NULL; + /* Tell the publisher to translate to our encoding */ keys[++i] = "client_encoding"; vals[i] = GetDatabaseEncodingName(); @@ -187,8 +192,13 @@ * running in the subscriber, such as triggers.) This should * match what pg_dump does. */ + opt = libpqrcv_get_option_from_conninfo(conninfo, "options"); + options_val = psprintf("%s -c datestyle=ISO -c intervalstyle=postgres -c extra_float_digits=3", + (opt == NULL) ? "" : opt); keys[++i] = "options"; - vals[i] = "-c datestyle=ISO -c intervalstyle=postgres -c extra_float_digits=3"; + vals[i] = options_val; + if (opt != NULL) + pfree(opt); } else { @@ -254,6 +264,9 @@ status = PQconnectPoll(conn->streamConn); } while (status != PGRES_POLLING_OK && status != PGRES_POLLING_FAILED); + if (options_val != NULL) + pfree(options_val); + if (PQstatus(conn->streamConn) != CONNECTION_OK) goto bad_connection_errmsg; @@ -501,8 +514,20 @@ static char * libpqrcv_get_dbname_from_conninfo(const char *connInfo) { + return libpqrcv_get_option_from_conninfo(connInfo, "dbname"); +} + +/* + * Get the value of the option with the given keyword from the primary + * server's conninfo. + * + * If the option is not found in connInfo, return NULL value. + */ +static char * +libpqrcv_get_option_from_conninfo(const char *connInfo, const char *keyword) +{ PQconninfoOption *opts; - char *dbname = NULL; + char *option = NULL; char *err = NULL; opts = PQconninfoParse(connInfo, &err); @@ -520,21 +545,21 @@ for (PQconninfoOption *opt = opts; opt->keyword != NULL; ++opt) { /* - * If multiple dbnames are specified, then the last one will be - * returned + * If the same option appears multiple times, then the last one will + * be returned */ - if (strcmp(opt->keyword, "dbname") == 0 && opt->val && + if (strcmp(opt->keyword, keyword) == 0 && opt->val && *opt->val) { - if (dbname) - pfree(dbname); + if (option) + pfree(option); - dbname = pstrdup(opt->val); + option = pstrdup(opt->val); } } PQconninfoFree(opts); - return dbname; + return option; } /* diff -Nru postgresql-17-17.7/src/backend/replication/logical/decode.c postgresql-17-17.8/src/backend/replication/logical/decode.c --- postgresql-17-17.7/src/backend/replication/logical/decode.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/replication/logical/decode.c 2026-02-09 21:51:54.000000000 +0000 @@ -521,20 +521,13 @@ /* * Inplace updates are only ever performed on catalog tuples and * can, per definition, not change tuple visibility. Since we - * don't decode catalog tuples, we're not interested in the + * also don't decode catalog tuples, we're not interested in the * record's contents. - * - * In-place updates can be used either by XID-bearing transactions - * (e.g. in CREATE INDEX CONCURRENTLY) or by XID-less - * transactions (e.g. VACUUM). In the former case, the commit - * record will include cache invalidations, so we mark the - * transaction as catalog modifying here. Currently that's - * redundant because the commit will do that as well, but once we - * support decoding in-progress relations, this will be important. */ if (!TransactionIdIsValid(xid)) break; + /* PostgreSQL 13 was the last to need these actions. */ (void) SnapBuildProcessChange(builder, xid, buf->origptr); ReorderBufferXidSetCatalogChanges(ctx->reorder, xid, buf->origptr); break; diff -Nru postgresql-17-17.7/src/backend/replication/logical/logical.c postgresql-17-17.8/src/backend/replication/logical/logical.c --- postgresql-17-17.7/src/backend/replication/logical/logical.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/replication/logical/logical.c 2026-02-09 21:51:54.000000000 +0000 @@ -405,11 +405,11 @@ * without further interlock its return value might immediately be out of * date. * - * So we have to acquire the ProcArrayLock to prevent computation of new - * xmin horizons by other backends, get the safe decoding xid, and inform - * the slot machinery about the new limit. Once that's done the - * ProcArrayLock can be released as the slot machinery now is - * protecting against vacuum. + * So we have to acquire both the ReplicationSlotControlLock and the + * ProcArrayLock to prevent concurrent computation and update of new xmin + * horizons by other backends, get the safe decoding xid, and inform the + * slot machinery about the new limit. Once that's done both locks can be + * released as the slot machinery now is protecting against vacuum. * * Note that, temporarily, the data, not just the catalog, xmin has to be * reserved if a data snapshot is to be exported. Otherwise the initial @@ -422,6 +422,7 @@ * * ---- */ + LWLockAcquire(ReplicationSlotControlLock, LW_EXCLUSIVE); LWLockAcquire(ProcArrayLock, LW_EXCLUSIVE); xmin_horizon = GetOldestSafeDecodingTransactionId(!need_full_snapshot); @@ -436,6 +437,7 @@ ReplicationSlotsComputeRequiredXmin(true); LWLockRelease(ProcArrayLock); + LWLockRelease(ReplicationSlotControlLock); ReplicationSlotMarkDirty(); ReplicationSlotSave(); diff -Nru postgresql-17-17.7/src/backend/replication/logical/slotsync.c postgresql-17-17.8/src/backend/replication/logical/slotsync.c --- postgresql-17-17.7/src/backend/replication/logical/slotsync.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/replication/logical/slotsync.c 2026-02-09 21:51:54.000000000 +0000 @@ -467,70 +467,71 @@ * Reserve WAL for the currently active local slot using the specified WAL * location (restart_lsn). * - * If the given WAL location has been removed, reserve WAL using the oldest - * existing WAL segment. + * If the given WAL location has been removed or is at risk of removal, + * reserve WAL using the oldest segment that is non-removable. */ static void reserve_wal_for_local_slot(XLogRecPtr restart_lsn) { - XLogSegNo oldest_segno; + XLogRecPtr slot_min_lsn; + XLogRecPtr min_safe_lsn; XLogSegNo segno; ReplicationSlot *slot = MyReplicationSlot; Assert(slot != NULL); Assert(XLogRecPtrIsInvalid(slot->data.restart_lsn)); - while (true) - { - SpinLockAcquire(&slot->mutex); - slot->data.restart_lsn = restart_lsn; - SpinLockRelease(&slot->mutex); - - /* Prevent WAL removal as fast as possible */ - ReplicationSlotsComputeRequiredLSN(); - - XLByteToSeg(slot->data.restart_lsn, segno, wal_segment_size); + /* + * Acquire an exclusive lock to prevent the checkpoint process from + * concurrently calculating the minimum slot LSN (see + * CheckPointReplicationSlots), ensuring that if WAL reservation occurs + * first, the checkpoint must wait for the restart_lsn update before + * calculating the minimum LSN. + * + * Note: Unlike ReplicationSlotReserveWal(), this lock does not protect a + * newly synced slot from being invalidated if a concurrent checkpoint has + * invoked CheckPointReplicationSlots() before the WAL reservation here. + * This can happen because the initial restart_lsn received from the + * remote server can precede the redo pointer. Therefore, when selecting + * the initial restart_lsn, we consider using the redo pointer or the + * minimum slot LSN (if those values are greater than the remote + * restart_lsn) instead of relying solely on the remote value. + */ + LWLockAcquire(ReplicationSlotAllocationLock, LW_EXCLUSIVE); - /* - * Find the oldest existing WAL segment file. - * - * Normally, we can determine it by using the last removed segment - * number. However, if no WAL segment files have been removed by a - * checkpoint since startup, we need to search for the oldest segment - * file from the current timeline existing in XLOGDIR. - * - * XXX: Currently, we are searching for the oldest segment in the - * current timeline as there is less chance of the slot's restart_lsn - * from being some prior timeline, and even if it happens, in the - * worst case, we will wait to sync till the slot's restart_lsn moved - * to the current timeline. - */ - oldest_segno = XLogGetLastRemovedSegno() + 1; + /* + * Determine the minimum non-removable LSN by comparing the redo pointer + * with the minimum slot LSN. + * + * The minimum slot LSN is considered because the redo pointer advances at + * every checkpoint, even when replication slots are present on the + * standby. In such scenarios, the redo pointer can exceed the remote + * restart_lsn, while WALs preceding the remote restart_lsn remain + * protected by a local replication slot. + */ + min_safe_lsn = GetRedoRecPtr(); + slot_min_lsn = XLogGetReplicationSlotMinimumLSN(); - if (oldest_segno == 1) - { - TimeLineID cur_timeline; + if (XLogRecPtrIsValid(slot_min_lsn) && min_safe_lsn > slot_min_lsn) + min_safe_lsn = slot_min_lsn; - GetWalRcvFlushRecPtr(NULL, &cur_timeline); - oldest_segno = XLogGetOldestSegno(cur_timeline); - } + /* + * If the minimum safe LSN is greater than the given restart_lsn, use it + * as the initial restart_lsn for the newly synced slot. Otherwise, use + * the given remote restart_lsn. + */ + SpinLockAcquire(&slot->mutex); + slot->data.restart_lsn = Max(restart_lsn, min_safe_lsn); + SpinLockRelease(&slot->mutex); - elog(DEBUG1, "segno: " UINT64_FORMAT " of purposed restart_lsn for the synced slot, oldest_segno: " UINT64_FORMAT " available", - segno, oldest_segno); + ReplicationSlotsComputeRequiredLSN(); - /* - * If all required WAL is still there, great, otherwise retry. The - * slot should prevent further removal of WAL, unless there's a - * concurrent ReplicationSlotsComputeRequiredLSN() after we've written - * the new restart_lsn above, so normally we should never need to loop - * more than twice. - */ - if (segno >= oldest_segno) - break; + XLByteToSeg(slot->data.restart_lsn, segno, wal_segment_size); + if (XLogGetLastRemovedSegno() >= segno) + elog(ERROR, "WAL required by replication slot %s has been removed concurrently", + NameStr(slot->data.name)); - /* Retry using the location of the oldest wal segment */ - XLogSegNoOffsetToRecPtr(oldest_segno, 0, wal_segment_size, restart_lsn); - } + LWLockRelease(ReplicationSlotAllocationLock); } /* @@ -760,6 +761,7 @@ reserve_wal_for_local_slot(remote_slot->restart_lsn); + LWLockAcquire(ReplicationSlotControlLock, LW_EXCLUSIVE); LWLockAcquire(ProcArrayLock, LW_EXCLUSIVE); xmin_horizon = GetOldestSafeDecodingTransactionId(true); SpinLockAcquire(&slot->mutex); @@ -768,6 +770,7 @@ SpinLockRelease(&slot->mutex); ReplicationSlotsComputeRequiredXmin(true); LWLockRelease(ProcArrayLock); + LWLockRelease(ReplicationSlotControlLock); update_and_persist_local_synced_slot(remote_slot, remote_dbid); @@ -1156,10 +1159,10 @@ { CHECK_FOR_INTERRUPTS(); - if (ShutdownRequestPending) + if (SlotSyncCtx->stopSignaled) { ereport(LOG, - errmsg("replication slot synchronization worker is shutting down on receiving SIGINT")); + errmsg("replication slot synchronization worker is shutting down because promotion is triggered")); proc_exit(0); } @@ -1390,7 +1393,7 @@ /* Setup signal handling */ pqsignal(SIGHUP, SignalHandlerForConfigReload); - pqsignal(SIGINT, SignalHandlerForShutdownRequest); + pqsignal(SIGINT, StatementCancelHandler); pqsignal(SIGTERM, die); pqsignal(SIGFPE, FloatExceptionHandler); pqsignal(SIGUSR1, procsignal_sigusr1_handler); @@ -1495,7 +1498,8 @@ /* * The slot sync worker can't get here because it will only stop when it - * receives a SIGINT from the startup process, or when there is an error. + * receives a stop request from the startup process, or when there is an + * error. */ Assert(false); } @@ -1582,8 +1586,12 @@ SpinLockRelease(&SlotSyncCtx->mutex); + /* + * Signal slotsync worker if it was still running. The worker will stop + * upon detecting that the stopSignaled flag is set to true. + */ if (worker_pid != InvalidPid) - kill(worker_pid, SIGINT); + kill(worker_pid, SIGUSR1); /* Wait for slot sync to end */ for (;;) diff -Nru postgresql-17-17.7/src/backend/replication/logical/tablesync.c postgresql-17-17.8/src/backend/replication/logical/tablesync.c --- postgresql-17-17.7/src/backend/replication/logical/tablesync.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/replication/logical/tablesync.c 2026-02-09 21:51:54.000000000 +0000 @@ -1422,12 +1422,26 @@ MyLogicalRepWorker->relstate_lsn = InvalidXLogRecPtr; SpinLockRelease(&MyLogicalRepWorker->relmutex); - /* Update the state and make it visible to others. */ + /* + * Update the state, create the replication origin, and make them visible + * to others. + */ StartTransactionCommand(); UpdateSubscriptionRelState(MyLogicalRepWorker->subid, MyLogicalRepWorker->relid, MyLogicalRepWorker->relstate, MyLogicalRepWorker->relstate_lsn); + + /* + * Create the replication origin in a separate transaction from the one + * that sets up the origin in shared memory. This prevents the risk that + * changes to the origin in shared memory cannot be rolled back if the + * transaction aborts. + */ + originid = replorigin_by_name(originname, true); + if (!OidIsValid(originid)) + originid = replorigin_create(originname); + CommitTransactionCommand(); pgstat_report_stat(true); @@ -1467,37 +1481,21 @@ CRS_USE_SNAPSHOT, origin_startpos); /* - * Setup replication origin tracking. The purpose of doing this before the - * copy is to avoid doing the copy again due to any error in setting up - * origin tracking. + * Advance the origin to the LSN got from walrcv_create_slot and then set + * up the origin. The advancement is WAL logged for the purpose of + * recovery. Locks are to prevent the replication origin from vanishing + * while advancing. + * + * The purpose of doing these before the copy is to avoid doing the copy + * again due to any error in advancing or setting up origin tracking. */ - originid = replorigin_by_name(originname, true); - if (!OidIsValid(originid)) - { - /* - * Origin tracking does not exist, so create it now. - * - * Then advance to the LSN got from walrcv_create_slot. This is WAL - * logged for the purpose of recovery. Locks are to prevent the - * replication origin from vanishing while advancing. - */ - originid = replorigin_create(originname); + LockRelationOid(ReplicationOriginRelationId, RowExclusiveLock); + replorigin_advance(originid, *origin_startpos, InvalidXLogRecPtr, + true /* go backward */ , true /* WAL log */ ); + UnlockRelationOid(ReplicationOriginRelationId, RowExclusiveLock); - LockRelationOid(ReplicationOriginRelationId, RowExclusiveLock); - replorigin_advance(originid, *origin_startpos, InvalidXLogRecPtr, - true /* go backward */ , true /* WAL log */ ); - UnlockRelationOid(ReplicationOriginRelationId, RowExclusiveLock); - - replorigin_session_setup(originid, 0); - replorigin_session_origin = originid; - } - else - { - ereport(ERROR, - (errcode(ERRCODE_DUPLICATE_OBJECT), - errmsg("replication origin \"%s\" already exists", - originname))); - } + replorigin_session_setup(originid, 0); + replorigin_session_origin = originid; /* * Make sure that the copy command runs as the table owner, unless the diff -Nru postgresql-17-17.7/src/backend/replication/logical/worker.c postgresql-17-17.8/src/backend/replication/logical/worker.c --- postgresql-17-17.7/src/backend/replication/logical/worker.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/replication/logical/worker.c 2026-02-09 21:51:54.000000000 +0000 @@ -4673,6 +4673,23 @@ MySubscription->name))); CommitTransactionCommand(); + + /* + * Register a callback to reset the origin state before aborting any + * pending transaction during shutdown (see ShutdownPostgres()). This will + * avoid origin advancement for an incomplete transaction which could + * otherwise lead to its loss as such a transaction won't be sent by the + * server again. + * + * Note that even a LOG or DEBUG statement placed after setting the origin + * state may process a shutdown signal before committing the current apply + * operation. So, it is important to register such a callback here. + * + * Register this callback here to ensure that all types of logical + * replication workers that set up origins and apply remote transactions + * are protected. + */ + before_shmem_exit(replorigin_reset, (Datum) 0); } /* @@ -4714,19 +4731,6 @@ InitializeLogRepWorker(); - /* - * Register a callback to reset the origin state before aborting any - * pending transaction during shutdown (see ShutdownPostgres()). This will - * avoid origin advancement for an in-complete transaction which could - * otherwise lead to its loss as such a transaction won't be sent by the - * server again. - * - * Note that even a LOG or DEBUG statement placed after setting the origin - * state may process a shutdown signal before committing the current apply - * operation. So, it is important to register such a callback here. - */ - before_shmem_exit(replorigin_reset, (Datum) 0); - /* Connect to the origin and start the replication. */ elog(DEBUG1, "connecting to publisher using connection string \"%s\"", MySubscription->conninfo); diff -Nru postgresql-17-17.7/src/backend/replication/pgoutput/pgoutput.c postgresql-17-17.8/src/backend/replication/pgoutput/pgoutput.c --- postgresql-17-17.7/src/backend/replication/pgoutput/pgoutput.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/replication/pgoutput/pgoutput.c 2026-02-09 21:51:54.000000000 +0000 @@ -338,7 +338,11 @@ errmsg("conflicting or redundant options"))); publication_names_given = true; - if (!SplitIdentifierString(strVal(defel->arg), ',', + /* + * Pass a copy of the DefElem->arg since SplitIdentifierString + * modifies its input. + */ + if (!SplitIdentifierString(pstrdup(strVal(defel->arg)), ',', &data->publication_names)) ereport(ERROR, (errcode(ERRCODE_INVALID_NAME), diff -Nru postgresql-17-17.7/src/backend/replication/slot.c postgresql-17-17.8/src/backend/replication/slot.c --- postgresql-17-17.7/src/backend/replication/slot.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/replication/slot.c 2026-02-09 21:51:54.000000000 +0000 @@ -1071,8 +1071,11 @@ /* * Compute the oldest xmin across all slots and store it in the ProcArray. * - * If already_locked is true, ProcArrayLock has already been acquired - * exclusively. + * If already_locked is true, both the ReplicationSlotControlLock and the + * ProcArrayLock have already been acquired exclusively. It is crucial that the + * caller first acquires the ReplicationSlotControlLock, followed by the + * ProcArrayLock, to prevent any undetectable deadlocks since this function + * acquires them in that order. */ void ReplicationSlotsComputeRequiredXmin(bool already_locked) @@ -1082,8 +1085,33 @@ TransactionId agg_catalog_xmin = InvalidTransactionId; Assert(ReplicationSlotCtl != NULL); + Assert(!already_locked || + (LWLockHeldByMeInMode(ReplicationSlotControlLock, LW_EXCLUSIVE) && + LWLockHeldByMeInMode(ProcArrayLock, LW_EXCLUSIVE))); - LWLockAcquire(ReplicationSlotControlLock, LW_SHARED); + /* + * Hold the ReplicationSlotControlLock until after updating the slot xmin + * values, so no backend updates the initial xmin for newly created slot + * concurrently. A shared lock is used here to minimize lock contention, + * especially when many slots exist and advancements occur frequently. + * This is safe since an exclusive lock is taken during initial slot xmin + * update in slot creation. + * + * One might think that we can hold the ProcArrayLock exclusively and + * update the slot xmin values, but it could increase lock contention on + * the ProcArrayLock, which is not great since this function can be called + * at non-negligible frequency. + * + * Concurrent invocation of this function may cause the computed slot xmin + * to regress. However, this is harmless because tuples prior to the most + * recent xmin are no longer useful once advancement occurs (see + * LogicalConfirmReceivedLocation where the slot's xmin value is flushed + * before updating the effective_xmin). Thus, such regression merely + * prevents VACUUM from prematurely removing tuples without causing the + * early deletion of required data. + */ + if (!already_locked) + LWLockAcquire(ReplicationSlotControlLock, LW_SHARED); for (i = 0; i < max_replication_slots; i++) { @@ -1118,9 +1146,10 @@ agg_catalog_xmin = effective_catalog_xmin; } - LWLockRelease(ReplicationSlotControlLock); - ProcArraySetReplicationSlotXmin(agg_xmin, agg_catalog_xmin, already_locked); + + if (!already_locked) + LWLockRelease(ReplicationSlotControlLock); } /* @@ -1430,62 +1459,65 @@ ReplicationSlotReserveWal(void) { ReplicationSlot *slot = MyReplicationSlot; + XLogSegNo segno; + XLogRecPtr restart_lsn; Assert(slot != NULL); Assert(slot->data.restart_lsn == InvalidXLogRecPtr); /* - * The replication slot mechanism is used to prevent removal of required - * WAL. As there is no interlock between this routine and checkpoints, WAL - * segments could concurrently be removed when a now stale return value of - * ReplicationSlotsComputeRequiredLSN() is used. In the unlikely case that - * this happens we'll just retry. + * The replication slot mechanism is used to prevent the removal of + * required WAL. + * + * Acquire an exclusive lock to prevent the checkpoint process from + * concurrently computing the minimum slot LSN (see the call to + * XLogGetReplicationSlotMinimumLSN in CreateCheckPoint). This ensures + * that the WAL reserved for replication cannot be removed during a + * checkpoint. + * + * The mechanism is reliable because if WAL reservation occurs first, the + * checkpoint must wait for the restart_lsn update before determining the + * minimum non-removable LSN. On the other hand, if the checkpoint happens + * first, subsequent WAL reservations will select positions at or beyond + * the redo pointer of that checkpoint. */ - while (true) - { - XLogSegNo segno; - XLogRecPtr restart_lsn; + LWLockAcquire(ReplicationSlotAllocationLock, LW_EXCLUSIVE); - /* - * For logical slots log a standby snapshot and start logical decoding - * at exactly that position. That allows the slot to start up more - * quickly. But on a standby we cannot do WAL writes, so just use the - * replay pointer; effectively, an attempt to create a logical slot on - * standby will cause it to wait for an xl_running_xact record to be - * logged independently on the primary, so that a snapshot can be - * built using the record. - * - * None of this is needed (or indeed helpful) for physical slots as - * they'll start replay at the last logged checkpoint anyway. Instead - * return the location of the last redo LSN. While that slightly - * increases the chance that we have to retry, it's where a base - * backup has to start replay at. - */ - if (SlotIsPhysical(slot)) - restart_lsn = GetRedoRecPtr(); - else if (RecoveryInProgress()) - restart_lsn = GetXLogReplayRecPtr(NULL); - else - restart_lsn = GetXLogInsertRecPtr(); - - SpinLockAcquire(&slot->mutex); - slot->data.restart_lsn = restart_lsn; - SpinLockRelease(&slot->mutex); - - /* prevent WAL removal as fast as possible */ - ReplicationSlotsComputeRequiredLSN(); + /* + * For logical slots log a standby snapshot and start logical decoding at + * exactly that position. That allows the slot to start up more quickly. + * But on a standby we cannot do WAL writes, so just use the replay + * pointer; effectively, an attempt to create a logical slot on standby + * will cause it to wait for an xl_running_xact record to be logged + * independently on the primary, so that a snapshot can be built using the + * record. + * + * None of this is needed (or indeed helpful) for physical slots as + * they'll start replay at the last logged checkpoint anyway. Instead, + * return the location of the last redo LSN, where a base backup has to + * start replay at. + */ + if (SlotIsPhysical(slot)) + restart_lsn = GetRedoRecPtr(); + else if (RecoveryInProgress()) + restart_lsn = GetXLogReplayRecPtr(NULL); + else + restart_lsn = GetXLogInsertRecPtr(); + + SpinLockAcquire(&slot->mutex); + slot->data.restart_lsn = restart_lsn; + SpinLockRelease(&slot->mutex); + + /* prevent WAL removal as fast as possible */ + ReplicationSlotsComputeRequiredLSN(); + + /* Checkpoint shouldn't remove the required WAL. */ + XLByteToSeg(slot->data.restart_lsn, segno, wal_segment_size); + if (XLogGetLastRemovedSegno() >= segno) + elog(ERROR, "WAL required by replication slot %s has been removed concurrently", + NameStr(slot->data.name)); - /* - * If all required WAL is still there, great, otherwise retry. The - * slot should prevent further removal of WAL, unless there's a - * concurrent ReplicationSlotsComputeRequiredLSN() after we've written - * the new restart_lsn above, so normally we should never need to loop - * more than twice. - */ - XLByteToSeg(slot->data.restart_lsn, segno, wal_segment_size); - if (XLogGetLastRemovedSegno() < segno) - break; - } + LWLockRelease(ReplicationSlotAllocationLock); if (!RecoveryInProgress() && SlotIsLogical(slot)) { diff -Nru postgresql-17-17.7/src/backend/rewrite/rewriteHandler.c postgresql-17-17.8/src/backend/rewrite/rewriteHandler.c --- postgresql-17-17.7/src/backend/rewrite/rewriteHandler.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/rewrite/rewriteHandler.c 2026-02-09 21:51:54.000000000 +0000 @@ -590,7 +590,10 @@ } } - /* OK, it's safe to combine the CTE lists */ + /* + * OK, it's safe to combine the CTE lists. Beware that RewriteQuery + * knows we concatenate the lists in this order. + */ sub_action->cteList = list_concat(sub_action->cteList, copyObject(parsetree->cteList)); /* ... and don't forget about the associated flags */ @@ -3860,9 +3863,13 @@ * orig_rt_length is the length of the originating query's rtable, for product * queries created by fireRules(), and 0 otherwise. This is used to skip any * already-processed VALUES RTEs from the original query. + * + * num_ctes_processed is the number of CTEs at the end of the query's cteList + * that have already been rewritten, and must not be rewritten again. */ static List * -RewriteQuery(Query *parsetree, List *rewrite_events, int orig_rt_length) +RewriteQuery(Query *parsetree, List *rewrite_events, int orig_rt_length, + int num_ctes_processed) { CmdType event = parsetree->commandType; bool instead = false; @@ -3876,17 +3883,29 @@ * First, recursively process any insert/update/delete/merge statements in * WITH clauses. (We have to do this first because the WITH clauses may * get copied into rule actions below.) + * + * Any new WITH clauses from rule actions are processed when we recurse + * into product queries below. However, when recursing, we must take care + * to avoid rewriting a CTE query more than once (because expanding + * generated columns in the targetlist more than once would fail). Since + * new CTEs from product queries are added to the start of the list (see + * rewriteRuleAction), we just skip the last num_ctes_processed items. */ foreach(lc1, parsetree->cteList) { CommonTableExpr *cte = lfirst_node(CommonTableExpr, lc1); Query *ctequery = castNode(Query, cte->ctequery); + int i = foreach_current_index(lc1); List *newstuff; + /* Skip already-processed CTEs at the end of the list */ + if (i >= list_length(parsetree->cteList) - num_ctes_processed) + break; + if (ctequery->commandType == CMD_SELECT) continue; - newstuff = RewriteQuery(ctequery, rewrite_events, 0); + newstuff = RewriteQuery(ctequery, rewrite_events, 0, 0); /* * Currently we can only handle unconditional, single-statement DO @@ -3946,6 +3965,7 @@ errmsg("multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH"))); } } + num_ctes_processed = list_length(parsetree->cteList); /* * If the statement is an insert, update, delete, or merge, adjust its @@ -4277,7 +4297,8 @@ newstuff = RewriteQuery(pt, rewrite_events, pt == parsetree ? orig_rt_length : - product_orig_rt_length); + product_orig_rt_length, + num_ctes_processed); rewritten = list_concat(rewritten, newstuff); } @@ -4429,7 +4450,7 @@ * * Apply all non-SELECT rules possibly getting 0 or many queries */ - querylist = RewriteQuery(parsetree, NIL, 0); + querylist = RewriteQuery(parsetree, NIL, 0, 0); /* * Step 2 diff -Nru postgresql-17-17.7/src/backend/storage/buffer/bufmgr.c postgresql-17-17.8/src/backend/storage/buffer/bufmgr.c --- postgresql-17-17.7/src/backend/storage/buffer/bufmgr.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/storage/buffer/bufmgr.c 2026-02-09 21:51:54.000000000 +0000 @@ -40,6 +40,9 @@ #include "access/tableam.h" #include "access/xloginsert.h" #include "access/xlogutils.h" +#ifdef USE_ASSERT_CHECKING +#include "catalog/pg_tablespace_d.h" +#endif #include "catalog/storage.h" #include "catalog/storage_xlog.h" #include "executor/instrument.h" @@ -535,6 +538,10 @@ ForkNumber forkNum, bool permanent); static void AtProcExit_Buffers(int code, Datum arg); static void CheckForBufferLeaks(void); +#ifdef USE_ASSERT_CHECKING +static void AssertNotCatalogBufferLock(LWLock *lock, LWLockMode mode, + void *unused_context); +#endif static int rlocator_comparator(const void *p1, const void *p2); static inline int buffertag_comparator(const BufferTag *ba, const BufferTag *bb); static inline int ckpt_buforder_comparator(const CkptSortItem *a, const CkptSortItem *b); @@ -3647,6 +3654,66 @@ #endif } +#ifdef USE_ASSERT_CHECKING +/* + * Check for exclusive-locked catalog buffers. This is the core of + * AssertCouldGetRelation(). + * + * A backend would self-deadlock on LWLocks if the catalog scan read the + * exclusive-locked buffer. The main threat is exclusive-locked buffers of + * catalogs used in relcache, because a catcache search on any catalog may + * build that catalog's relcache entry. We don't have an inventory of + * catalogs relcache uses, so just check buffers of most catalogs. + * + * It's better to minimize waits while holding an exclusive buffer lock, so it + * would be nice to broaden this check not to be catalog-specific. However, + * bttextcmp() accesses pg_collation, and non-core opclasses might similarly + * read tables. That is deadlock-free as long as there's no loop in the + * dependency graph: modifying table A may cause an opclass to read table B, + * but it must not cause a read of table A. + */ +void +AssertBufferLocksPermitCatalogRead(void) +{ + ForEachLWLockHeldByMe(AssertNotCatalogBufferLock, NULL); +} + +static void +AssertNotCatalogBufferLock(LWLock *lock, LWLockMode mode, + void *unused_context) +{ + BufferDesc *bufHdr; + BufferTag tag; + Oid relid; + + if (mode != LW_EXCLUSIVE) + return; + + if (!((BufferDescPadded *) lock > BufferDescriptors && + (BufferDescPadded *) lock < BufferDescriptors + NBuffers)) + return; /* not a buffer lock */ + + bufHdr = (BufferDesc *) + ((char *) lock - offsetof(BufferDesc, content_lock)); + tag = bufHdr->tag; + + /* + * This relNumber==relid assumption holds until a catalog experiences + * VACUUM FULL or similar. After a command like that, relNumber will be + * in the normal (non-catalog) range, and we lose the ability to detect + * hazardous access to that catalog. Calling RelidByRelfilenumber() would + * close that gap, but RelidByRelfilenumber() might then deadlock with a + * held lock. + */ + relid = tag.relNumber; + + Assert(!IsCatalogRelationOid(relid)); + /* Shared rels are always catalogs: detect even after VACUUM FULL. */ + Assert(tag.spcOid != GLOBALTABLESPACE_OID); +} +#endif + + /* * Helper routine to issue warnings when a buffer is unexpectedly pinned */ diff -Nru postgresql-17-17.7/src/backend/storage/file/fd.c postgresql-17-17.8/src/backend/storage/file/fd.c --- postgresql-17-17.7/src/backend/storage/file/fd.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/storage/file/fd.c 2026-02-09 21:51:54.000000000 +0000 @@ -164,6 +164,9 @@ /* How SyncDataDirectory() should do its job. */ int recovery_init_sync_method = DATA_DIR_SYNC_METHOD_FSYNC; +/* How data files should be bulk-extended with zeros. */ +int file_extend_method = DEFAULT_FILE_EXTEND_METHOD; + /* Which kinds of files should be opened with PG_O_DIRECT. */ int io_direct_flags; diff -Nru postgresql-17-17.7/src/backend/storage/ipc/dsm_registry.c postgresql-17-17.8/src/backend/storage/ipc/dsm_registry.c --- postgresql-17-17.7/src/backend/storage/ipc/dsm_registry.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/storage/ipc/dsm_registry.c 2026-02-09 21:51:54.000000000 +0000 @@ -101,9 +101,10 @@ { /* Initialize dynamic shared hash table for registry. */ dsm_registry_dsa = dsa_create(LWTRANCHE_DSM_REGISTRY_DSA); + dsm_registry_table = dshash_create(dsm_registry_dsa, &dsh_params, NULL); + dsa_pin(dsm_registry_dsa); dsa_pin_mapping(dsm_registry_dsa); - dsm_registry_table = dshash_create(dsm_registry_dsa, &dsh_params, NULL); /* Store handles in shared memory for other backends to use. */ DSMRegistryCtx->dsah = dsa_get_handle(dsm_registry_dsa); @@ -134,6 +135,7 @@ DSMRegistryEntry *entry; MemoryContext oldcontext; void *ret; + dsm_segment *seg; Assert(found); @@ -158,29 +160,31 @@ entry = dshash_find_or_insert(dsm_registry_table, name, found); if (!(*found)) { + entry->handle = DSM_HANDLE_INVALID; + entry->size = size; + } + else if (entry->size != size) + ereport(ERROR, + (errmsg("requested DSM segment size does not match size of existing segment"))); + + if (entry->handle == DSM_HANDLE_INVALID) + { + *found = false; + /* Initialize the segment. */ - dsm_segment *seg = dsm_create(size, 0); + seg = dsm_create(size, 0); + + if (init_callback) + (*init_callback) (dsm_segment_address(seg)); dsm_pin_segment(seg); dsm_pin_mapping(seg); entry->handle = dsm_segment_handle(seg); - entry->size = size; - ret = dsm_segment_address(seg); - - if (init_callback) - (*init_callback) (ret); - } - else if (entry->size != size) - { - ereport(ERROR, - (errmsg("requested DSM segment size does not match size of " - "existing segment"))); } else { - dsm_segment *seg = dsm_find_mapping(entry->handle); - /* If the existing segment is not already attached, attach it now. */ + seg = dsm_find_mapping(entry->handle); if (seg == NULL) { seg = dsm_attach(entry->handle); @@ -189,10 +193,9 @@ dsm_pin_mapping(seg); } - - ret = dsm_segment_address(seg); } + ret = dsm_segment_address(seg); dshash_release_lock(dsm_registry_table, entry); MemoryContextSwitchTo(oldcontext); diff -Nru postgresql-17-17.7/src/backend/storage/ipc/ipc.c postgresql-17-17.8/src/backend/storage/ipc/ipc.c --- postgresql-17-17.7/src/backend/storage/ipc/ipc.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/storage/ipc/ipc.c 2026-02-09 21:51:54.000000000 +0000 @@ -29,6 +29,7 @@ #endif #include "storage/dsm.h" #include "storage/ipc.h" +#include "storage/lwlock.h" #include "tcop/tcopprot.h" @@ -230,12 +231,18 @@ shmem_exit_inprogress = true; /* + * Release any LWLocks we might be holding before callbacks run. This + * prevents accessing locks in detached DSM segments and allows callbacks + * to acquire new locks. + */ + LWLockReleaseAll(); + + /* * Call before_shmem_exit callbacks. * * These should be things that need most of the system to still be up and * working, such as cleanup of temp relations, which requires catalog - * access; or things that need to be completed because later cleanup steps - * depend on them, such as releasing lwlocks. + * access. */ elog(DEBUG3, "shmem_exit(%d): %d before_shmem_exit callbacks to make", code, before_shmem_exit_index); diff -Nru postgresql-17-17.7/src/backend/storage/lmgr/lwlock.c postgresql-17-17.8/src/backend/storage/lmgr/lwlock.c --- postgresql-17-17.7/src/backend/storage/lmgr/lwlock.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/storage/lmgr/lwlock.c 2026-02-09 21:51:54.000000000 +0000 @@ -994,7 +994,7 @@ else desired_state &= ~LW_FLAG_RELEASE_OK; - if (proclist_is_empty(&wakeup)) + if (proclist_is_empty(&lock->waiters)) desired_state &= ~LW_FLAG_HAS_WAITERS; desired_state &= ~LW_FLAG_LOCKED; /* release lock */ @@ -1873,6 +1873,10 @@ * unchanged by this operation. This is necessary since InterruptHoldoffCount * has been set to an appropriate level earlier in error recovery. We could * decrement it below zero if we allow it to drop for each released lock! + * + * Note that this function must be safe to call even before the LWLock + * subsystem has been initialized (e.g., during early startup failures). + * In that case, num_held_lwlocks will be 0 and we do nothing. */ void LWLockReleaseAll(void) @@ -1883,10 +1887,27 @@ LWLockRelease(held_lwlocks[num_held_lwlocks - 1].lock); } + + Assert(num_held_lwlocks == 0); } /* + * ForEachLWLockHeldByMe - run a callback for each held lock + * + * This is meant as debug support only. + */ +void +ForEachLWLockHeldByMe(void (*callback) (LWLock *, LWLockMode, void *), + void *context) +{ + int i; + + for (i = 0; i < num_held_lwlocks; i++) + callback(held_lwlocks[i].lock, held_lwlocks[i].mode, context); +} + +/* * LWLockHeldByMe - test whether my process holds a lock in any mode * * This is meant as debug support only. diff -Nru postgresql-17-17.7/src/backend/storage/smgr/md.c postgresql-17-17.8/src/backend/storage/smgr/md.c --- postgresql-17-17.7/src/backend/storage/smgr/md.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/storage/smgr/md.c 2026-02-09 21:51:54.000000000 +0000 @@ -575,13 +575,24 @@ * that decision should be made though? For now just use a cutoff of * 8, anything between 4 and 8 worked OK in some local testing. */ - if (numblocks > 8) + if (numblocks > 8 && + file_extend_method != FILE_EXTEND_METHOD_WRITE_ZEROS) { - int ret; + int ret = 0; - ret = FileFallocate(v->mdfd_vfd, - seekpos, (off_t) BLCKSZ * numblocks, - WAIT_EVENT_DATA_FILE_EXTEND); +#ifdef HAVE_POSIX_FALLOCATE + if (file_extend_method == FILE_EXTEND_METHOD_POSIX_FALLOCATE) + { + ret = FileFallocate(v->mdfd_vfd, + seekpos, (off_t) BLCKSZ * numblocks, + WAIT_EVENT_DATA_FILE_EXTEND); + } + else +#endif + { + elog(ERROR, "unsupported file_extend_method: %d", + file_extend_method); + } if (ret != 0) { ereport(ERROR, @@ -1148,6 +1159,9 @@ * functions for this relation or handled interrupts in between. This makes * sure we have opened all active segments, so that truncate loop will get * them all! + * + * If nblocks > curnblk, the request is ignored when we are InRecovery, + * otherwise, an error is raised. */ void mdtruncate(SMgrRelation reln, ForkNumber forknum, diff -Nru postgresql-17-17.7/src/backend/storage/smgr/smgr.c postgresql-17-17.8/src/backend/storage/smgr/smgr.c --- postgresql-17-17.7/src/backend/storage/smgr/smgr.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/storage/smgr/smgr.c 2026-02-09 21:51:54.000000000 +0000 @@ -759,11 +759,20 @@ /* * We might as well update the local smgr_cached_nblocks values. The * smgr cache inval message that this function sent will cause other - * backends to invalidate their copies of smgr_fsm_nblocks and - * smgr_vm_nblocks, and these ones too at the next command boundary. - * But these ensure they aren't outright wrong until then. + * backends to invalidate their copies of smgr_cached_nblocks, and + * these ones too at the next command boundary. But ensure they aren't + * outright wrong until then. + * + * We can have nblocks > old_nblocks when a relation was truncated + * multiple times, a replica applied all the truncations, and later + * restarts from a restartpoint located before the truncations. The + * relation on disk will be the size of the last truncate. When + * replaying the first truncate, we will have nblocks > current size. + * In such cases, smgr_truncate does nothing, so set the cached size + * to the old size rather than the requested size. */ - reln->smgr_cached_nblocks[forknum[i]] = nblocks[i]; + reln->smgr_cached_nblocks[forknum[i]] = + nblocks[i] > old_nblocks[i] ? old_nblocks[i] : nblocks[i]; } } diff -Nru postgresql-17-17.7/src/backend/tsearch/dict_synonym.c postgresql-17-17.8/src/backend/tsearch/dict_synonym.c --- postgresql-17-17.7/src/backend/tsearch/dict_synonym.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/tsearch/dict_synonym.c 2026-02-09 21:51:54.000000000 +0000 @@ -47,8 +47,8 @@ char *lastchar; /* Skip leading spaces */ - while (*in && t_isspace(in)) - in += pg_mblen(in); + while (*in && t_isspace_cstr(in)) + in += pg_mblen_cstr(in); /* Return NULL on empty lines */ if (*in == '\0') @@ -60,10 +60,10 @@ lastchar = start = in; /* Find end of word */ - while (*in && !t_isspace(in)) + while (*in && !t_isspace_cstr(in)) { lastchar = in; - in += pg_mblen(in); + in += pg_mblen_cstr(in); } if (in - lastchar == 1 && t_iseq(lastchar, '*') && flags) diff -Nru postgresql-17-17.7/src/backend/tsearch/dict_thesaurus.c postgresql-17-17.8/src/backend/tsearch/dict_thesaurus.c --- postgresql-17-17.7/src/backend/tsearch/dict_thesaurus.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/tsearch/dict_thesaurus.c 2026-02-09 21:51:54.000000000 +0000 @@ -190,8 +190,8 @@ ptr = line; /* is it a comment? */ - while (*ptr && t_isspace(ptr)) - ptr += pg_mblen(ptr); + while (*ptr && t_isspace_cstr(ptr)) + ptr += pg_mblen_cstr(ptr); if (t_iseq(ptr, '#') || *ptr == '\0' || t_iseq(ptr, '\n') || t_iseq(ptr, '\r')) @@ -212,7 +212,7 @@ errmsg("unexpected delimiter"))); state = TR_WAITSUBS; } - else if (!t_isspace(ptr)) + else if (!t_isspace_cstr(ptr)) { beginwrd = ptr; state = TR_INLEX; @@ -225,7 +225,7 @@ newLexeme(d, beginwrd, ptr, idsubst, posinsubst++); state = TR_WAITSUBS; } - else if (t_isspace(ptr)) + else if (t_isspace_cstr(ptr)) { newLexeme(d, beginwrd, ptr, idsubst, posinsubst++); state = TR_WAITLEX; @@ -237,15 +237,15 @@ { useasis = true; state = TR_INSUBS; - beginwrd = ptr + pg_mblen(ptr); + beginwrd = ptr + pg_mblen_cstr(ptr); } else if (t_iseq(ptr, '\\')) { useasis = false; state = TR_INSUBS; - beginwrd = ptr + pg_mblen(ptr); + beginwrd = ptr + pg_mblen_cstr(ptr); } - else if (!t_isspace(ptr)) + else if (!t_isspace_cstr(ptr)) { useasis = false; beginwrd = ptr; @@ -254,7 +254,7 @@ } else if (state == TR_INSUBS) { - if (t_isspace(ptr)) + if (t_isspace_cstr(ptr)) { if (ptr == beginwrd) ereport(ERROR, @@ -267,7 +267,7 @@ else elog(ERROR, "unrecognized thesaurus state: %d", state); - ptr += pg_mblen(ptr); + ptr += pg_mblen_cstr(ptr); } if (state == TR_INSUBS) diff -Nru postgresql-17-17.7/src/backend/tsearch/regis.c postgresql-17-17.8/src/backend/tsearch/regis.c --- postgresql-17-17.7/src/backend/tsearch/regis.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/tsearch/regis.c 2026-02-09 21:51:54.000000000 +0000 @@ -37,7 +37,7 @@ { if (state == RS_IN_WAIT) { - if (t_isalpha(c)) + if (t_isalpha_cstr(c)) /* okay */ ; else if (t_iseq(c, '[')) state = RS_IN_ONEOF; @@ -48,14 +48,14 @@ { if (t_iseq(c, '^')) state = RS_IN_NONEOF; - else if (t_isalpha(c)) + else if (t_isalpha_cstr(c)) state = RS_IN_ONEOF_IN; else return false; } else if (state == RS_IN_ONEOF_IN || state == RS_IN_NONEOF) { - if (t_isalpha(c)) + if (t_isalpha_cstr(c)) /* okay */ ; else if (t_iseq(c, ']')) state = RS_IN_WAIT; @@ -64,7 +64,7 @@ } else elog(ERROR, "internal error in RS_isRegis: state %d", state); - c += pg_mblen(c); + c += pg_mblen_cstr(c); } return (state == RS_IN_WAIT); @@ -96,15 +96,14 @@ { if (state == RS_IN_WAIT) { - if (t_isalpha(c)) + if (t_isalpha_cstr(c)) { if (ptr) ptr = newRegisNode(ptr, len); else ptr = r->node = newRegisNode(NULL, len); - COPYCHAR(ptr->data, c); ptr->type = RSF_ONEOF; - ptr->len = pg_mblen(c); + ptr->len = ts_copychar_cstr(ptr->data, c); } else if (t_iseq(c, '[')) { @@ -125,10 +124,9 @@ ptr->type = RSF_NONEOF; state = RS_IN_NONEOF; } - else if (t_isalpha(c)) + else if (t_isalpha_cstr(c)) { - COPYCHAR(ptr->data, c); - ptr->len = pg_mblen(c); + ptr->len = ts_copychar_cstr(ptr->data, c); state = RS_IN_ONEOF_IN; } else /* shouldn't get here */ @@ -136,11 +134,8 @@ } else if (state == RS_IN_ONEOF_IN || state == RS_IN_NONEOF) { - if (t_isalpha(c)) - { - COPYCHAR(ptr->data + ptr->len, c); - ptr->len += pg_mblen(c); - } + if (t_isalpha_cstr(c)) + ptr->len += ts_copychar_cstr(ptr->data + ptr->len, c); else if (t_iseq(c, ']')) state = RS_IN_WAIT; else /* shouldn't get here */ @@ -148,7 +143,7 @@ } else elog(ERROR, "internal error in RS_compile: state %d", state); - c += pg_mblen(c); + c += pg_mblen_cstr(c); } if (state != RS_IN_WAIT) /* shouldn't get here */ @@ -187,10 +182,10 @@ char *ptr = str; bool res = false; - clen = pg_mblen(c); + clen = pg_mblen_cstr(c); while (*ptr && !res) { - plen = pg_mblen(ptr); + plen = pg_mblen_cstr(ptr); if (plen == clen) { i = plen; @@ -219,7 +214,7 @@ while (*c) { len++; - c += pg_mblen(c); + c += pg_mblen_cstr(c); } if (len < r->nchar) @@ -230,7 +225,7 @@ { len -= r->nchar; while (len-- > 0) - c += pg_mblen(c); + c += pg_mblen_cstr(c); } @@ -250,7 +245,7 @@ elog(ERROR, "unrecognized regis node type: %d", ptr->type); } ptr = ptr->next; - c += pg_mblen(c); + c += pg_mblen_cstr(c); } return true; diff -Nru postgresql-17-17.7/src/backend/tsearch/spell.c postgresql-17-17.8/src/backend/tsearch/spell.c --- postgresql-17-17.7/src/backend/tsearch/spell.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/tsearch/spell.c 2026-02-09 21:51:54.000000000 +0000 @@ -232,7 +232,7 @@ { if (t_iseq(str, c)) return str; - str += pg_mblen(str); + str += pg_mblen_cstr(str); } return NULL; @@ -245,7 +245,7 @@ { if (t_iseq(str, c1) || t_iseq(str, c2)) return str; - str += pg_mblen(str); + str += pg_mblen_cstr(str); } return NULL; @@ -352,6 +352,7 @@ char *next, *sbuf = *sflagset; int maxstep; + int clen; bool stop = false; bool met_comma = false; @@ -363,11 +364,11 @@ { case FM_LONG: case FM_CHAR: - COPYCHAR(sflag, *sflagset); - sflag += pg_mblen(*sflagset); + clen = ts_copychar_cstr(sflag, *sflagset); + sflag += clen; /* Go to start of the next flag */ - *sflagset += pg_mblen(*sflagset); + *sflagset += clen; /* Check if we get all characters of flag */ maxstep--; @@ -391,7 +392,7 @@ *sflagset = next; while (**sflagset) { - if (t_isdigit(*sflagset)) + if (t_isdigit_cstr(*sflagset)) { if (!met_comma) ereport(ERROR, @@ -409,7 +410,7 @@ *sflagset))); met_comma = true; } - else if (!t_isspace(*sflagset)) + else if (!t_isspace_cstr(*sflagset)) { ereport(ERROR, (errcode(ERRCODE_CONFIG_FILE_ERROR), @@ -417,7 +418,7 @@ *sflagset))); } - *sflagset += pg_mblen(*sflagset); + *sflagset += pg_mblen_cstr(*sflagset); } stop = true; break; @@ -543,7 +544,7 @@ while (*s) { /* we allow only single encoded flags for faster works */ - if (pg_mblen(s) == 1 && t_isprint(s) && !t_isspace(s)) + if (pg_mblen_cstr(s) == 1 && t_isprint_unbounded(s) && !t_isspace_unbounded(s)) s++; else { @@ -559,12 +560,12 @@ s = line; while (*s) { - if (t_isspace(s)) + if (t_isspace_cstr(s)) { *s = '\0'; break; } - s += pg_mblen(s); + s += pg_mblen_cstr(s); } pstr = lowerstr_ctx(Conf, line); @@ -796,17 +797,17 @@ while (**str) { + int clen = pg_mblen_cstr(*str); + if (state == PAE_WAIT_MASK) { if (t_iseq(*str, '#')) return false; - else if (!t_isspace(*str)) + else if (!t_isspace_cstr(*str)) { - int clen = pg_mblen(*str); - if (clen < avail) { - COPYCHAR(next, *str); + ts_copychar_with_len(next, *str, clen); next += clen; avail -= clen; } @@ -815,24 +816,22 @@ } else /* state == PAE_INMASK */ { - if (t_isspace(*str)) + if (t_isspace_cstr(*str)) { *next = '\0'; return true; } else { - int clen = pg_mblen(*str); - if (clen < avail) { - COPYCHAR(next, *str); + ts_copychar_with_len(next, *str, clen); next += clen; avail -= clen; } } } - *str += pg_mblen(*str); + *str += clen; } *next = '\0'; @@ -922,14 +921,15 @@ while (*str) { + int clen = pg_mblen_cstr(str); + if (state == PAE_WAIT_MASK) { if (t_iseq(str, '#')) return false; - else if (!t_isspace(str)) + else if (!t_isspace_cstr(str)) { - COPYCHAR(pmask, str); - pmask += pg_mblen(str); + pmask += ts_copychar_with_len(pmask, str, clen); state = PAE_INMASK; } } @@ -940,10 +940,9 @@ *pmask = '\0'; state = PAE_WAIT_FIND; } - else if (!t_isspace(str)) + else if (!t_isspace_cstr(str)) { - COPYCHAR(pmask, str); - pmask += pg_mblen(str); + pmask += ts_copychar_with_len(pmask, str, clen); } } else if (state == PAE_WAIT_FIND) @@ -952,13 +951,12 @@ { state = PAE_INFIND; } - else if (t_isalpha(str) || t_iseq(str, '\'') /* english 's */ ) + else if (t_isalpha_cstr(str) || t_iseq(str, '\'') /* english 's */ ) { - COPYCHAR(prepl, str); - prepl += pg_mblen(str); + prepl += ts_copychar_with_len(prepl, str, clen); state = PAE_INREPL; } - else if (!t_isspace(str)) + else if (!t_isspace_cstr(str)) ereport(ERROR, (errcode(ERRCODE_CONFIG_FILE_ERROR), errmsg("syntax error"))); @@ -970,12 +968,11 @@ *pfind = '\0'; state = PAE_WAIT_REPL; } - else if (t_isalpha(str)) + else if (t_isalpha_cstr(str)) { - COPYCHAR(pfind, str); - pfind += pg_mblen(str); + pfind += ts_copychar_with_len(pfind, str, clen); } - else if (!t_isspace(str)) + else if (!t_isspace_cstr(str)) ereport(ERROR, (errcode(ERRCODE_CONFIG_FILE_ERROR), errmsg("syntax error"))); @@ -986,13 +983,12 @@ { break; /* void repl */ } - else if (t_isalpha(str)) + else if (t_isalpha_cstr(str)) { - COPYCHAR(prepl, str); - prepl += pg_mblen(str); + prepl += ts_copychar_with_len(prepl, str, clen); state = PAE_INREPL; } - else if (!t_isspace(str)) + else if (!t_isspace_cstr(str)) ereport(ERROR, (errcode(ERRCODE_CONFIG_FILE_ERROR), errmsg("syntax error"))); @@ -1004,12 +1000,11 @@ *prepl = '\0'; break; } - else if (t_isalpha(str)) + else if (t_isalpha_cstr(str)) { - COPYCHAR(prepl, str); - prepl += pg_mblen(str); + prepl += ts_copychar_with_len(prepl, str, clen); } - else if (!t_isspace(str)) + else if (!t_isspace_cstr(str)) ereport(ERROR, (errcode(ERRCODE_CONFIG_FILE_ERROR), errmsg("syntax error"))); @@ -1017,7 +1012,7 @@ else elog(ERROR, "unrecognized state in parse_affentry: %d", state); - str += pg_mblen(str); + str += clen; } *pmask = *pfind = *prepl = '\0'; @@ -1070,10 +1065,9 @@ CompoundAffixFlag *newValue; char sbuf[BUFSIZ]; char *sflag; - int clen; - while (*s && t_isspace(s)) - s += pg_mblen(s); + while (*s && t_isspace_cstr(s)) + s += pg_mblen_cstr(s); if (!*s) ereport(ERROR, @@ -1082,10 +1076,10 @@ /* Get flag without \n */ sflag = sbuf; - while (*s && !t_isspace(s) && *s != '\n') + while (*s && !t_isspace_cstr(s) && *s != '\n') { - clen = pg_mblen(s); - COPYCHAR(sflag, s); + int clen = ts_copychar_cstr(sflag, s); + sflag += clen; s += clen; } @@ -1228,7 +1222,7 @@ while ((recoded = tsearch_readline(&trst)) != NULL) { - if (*recoded == '\0' || t_isspace(recoded) || t_iseq(recoded, '#')) + if (*recoded == '\0' || t_isspace_cstr(recoded) || t_iseq(recoded, '#')) { pfree(recoded); continue; @@ -1265,8 +1259,8 @@ { char *s = recoded + strlen("FLAG"); - while (*s && t_isspace(s)) - s += pg_mblen(s); + while (*s && t_isspace_cstr(s)) + s += pg_mblen_cstr(s); if (*s) { @@ -1301,7 +1295,7 @@ { int fields_read; - if (*recoded == '\0' || t_isspace(recoded) || t_iseq(recoded, '#')) + if (*recoded == '\0' || t_isspace_cstr(recoded) || t_iseq(recoded, '#')) goto nextline; fields_read = parse_ooaffentry(recoded, type, sflag, find, repl, mask); @@ -1464,12 +1458,12 @@ s = findchar2(recoded, 'l', 'L'); if (s) { - while (*s && !t_isspace(s)) - s += pg_mblen(s); - while (*s && t_isspace(s)) - s += pg_mblen(s); + while (*s && !t_isspace_cstr(s)) + s += pg_mblen_cstr(s); + while (*s && t_isspace_cstr(s)) + s += pg_mblen_cstr(s); - if (*s && pg_mblen(s) == 1) + if (*s && pg_mblen_cstr(s) == 1) { addCompoundAffixFlagValue(Conf, s, FF_COMPOUNDFLAG); Conf->usecompound = true; @@ -1497,8 +1491,8 @@ s = recoded + 4; /* we need non-lowercased string */ flagflags = 0; - while (*s && t_isspace(s)) - s += pg_mblen(s); + while (*s && t_isspace_cstr(s)) + s += pg_mblen_cstr(s); if (*s == '*') { @@ -1519,14 +1513,13 @@ * be followed by EOL, whitespace, or ':'. Otherwise this is a * new-format flag command. */ - if (*s && pg_mblen(s) == 1) + if (*s && pg_mblen_cstr(s) == 1) { - COPYCHAR(flag, s); + flag[0] = *s++; flag[1] = '\0'; - s++; if (*s == '\0' || *s == '#' || *s == '\n' || *s == ':' || - t_isspace(s)) + t_isspace_cstr(s)) { oldformat = true; goto nextline; @@ -1750,7 +1743,7 @@ (errcode(ERRCODE_CONFIG_FILE_ERROR), errmsg("invalid affix alias \"%s\"", Conf->Spell[i]->p.flag))); - if (*end != '\0' && !t_isdigit(end) && !t_isspace(end)) + if (*end != '\0' && !t_isdigit_cstr(end) && !t_isspace_cstr(end)) ereport(ERROR, (errcode(ERRCODE_CONFIG_FILE_ERROR), errmsg("invalid affix alias \"%s\"", diff -Nru postgresql-17-17.7/src/backend/tsearch/ts_locale.c postgresql-17-17.8/src/backend/tsearch/ts_locale.c --- postgresql-17-17.7/src/backend/tsearch/ts_locale.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/tsearch/ts_locale.c 2026-02-09 21:51:54.000000000 +0000 @@ -31,81 +31,44 @@ */ #define WC_BUF_LEN 3 -int -t_isdigit(const char *ptr) -{ - int clen = pg_mblen(ptr); - wchar_t character[WC_BUF_LEN]; - pg_locale_t mylocale = 0; /* TODO */ - - if (clen == 1 || database_ctype_is_c) - return isdigit(TOUCHAR(ptr)); - - char2wchar(character, WC_BUF_LEN, ptr, clen, mylocale); - - return iswdigit((wint_t) character[0]); -} - -int -t_isspace(const char *ptr) -{ - int clen = pg_mblen(ptr); - wchar_t character[WC_BUF_LEN]; - pg_locale_t mylocale = 0; /* TODO */ - - if (clen == 1 || database_ctype_is_c) - return isspace(TOUCHAR(ptr)); - - char2wchar(character, WC_BUF_LEN, ptr, clen, mylocale); - - return iswspace((wint_t) character[0]); -} - -int -t_isalpha(const char *ptr) -{ - int clen = pg_mblen(ptr); - wchar_t character[WC_BUF_LEN]; - pg_locale_t mylocale = 0; /* TODO */ - - if (clen == 1 || database_ctype_is_c) - return isalpha(TOUCHAR(ptr)); - - char2wchar(character, WC_BUF_LEN, ptr, clen, mylocale); - - return iswalpha((wint_t) character[0]); -} - -int -t_isalnum(const char *ptr) -{ - int clen = pg_mblen(ptr); - wchar_t character[WC_BUF_LEN]; - pg_locale_t mylocale = 0; /* TODO */ - - if (clen == 1 || database_ctype_is_c) - return isalnum(TOUCHAR(ptr)); - - char2wchar(character, WC_BUF_LEN, ptr, clen, mylocale); - - return iswalnum((wint_t) character[0]); -} - -int -t_isprint(const char *ptr) -{ - int clen = pg_mblen(ptr); - wchar_t character[WC_BUF_LEN]; - pg_locale_t mylocale = 0; /* TODO */ - - if (clen == 1 || database_ctype_is_c) - return isprint(TOUCHAR(ptr)); - - char2wchar(character, WC_BUF_LEN, ptr, clen, mylocale); - - return iswprint((wint_t) character[0]); +#define GENERATE_T_ISCLASS_DEF(character_class) \ +/* mblen shall be that of the first character */ \ +int \ +t_is##character_class##_with_len(const char *ptr, int mblen) \ +{ \ + int clen = pg_mblen_with_len(ptr, mblen); \ + wchar_t character[WC_BUF_LEN]; \ + pg_locale_t mylocale = 0; /* TODO */ \ + if (clen == 1 || database_ctype_is_c) \ + return is##character_class(TOUCHAR(ptr)); \ + char2wchar(character, WC_BUF_LEN, ptr, clen, mylocale); \ + return isw##character_class((wint_t) character[0]); \ +} \ +\ +/* ptr shall point to a NUL-terminated string */ \ +int \ +t_is##character_class##_cstr(const char *ptr) \ +{ \ + return t_is##character_class##_with_len(ptr, pg_mblen_cstr(ptr)); \ +} \ +/* ptr shall point to a string with pre-validated encoding */ \ +int \ +t_is##character_class##_unbounded(const char *ptr) \ +{ \ + return t_is##character_class##_with_len(ptr, pg_mblen_unbounded(ptr)); \ +} \ +/* historical name for _unbounded */ \ +int \ +t_is##character_class(const char *ptr) \ +{ \ + return t_is##character_class##_unbounded(ptr); \ } +GENERATE_T_ISCLASS_DEF(alnum) +GENERATE_T_ISCLASS_DEF(alpha) +GENERATE_T_ISCLASS_DEF(digit) +GENERATE_T_ISCLASS_DEF(print) +GENERATE_T_ISCLASS_DEF(space) /* * Set up to read a file using tsearch_readline(). This facility is diff -Nru postgresql-17-17.7/src/backend/tsearch/ts_selfuncs.c postgresql-17-17.8/src/backend/tsearch/ts_selfuncs.c --- postgresql-17-17.7/src/backend/tsearch/ts_selfuncs.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/tsearch/ts_selfuncs.c 2026-02-09 21:51:54.000000000 +0000 @@ -108,12 +108,14 @@ * OK, there's a Var and a Const we're dealing with here. We need the * Const to be a TSQuery, else we can't do anything useful. We have to * check this because the Var might be the TSQuery not the TSVector. + * + * Also check that the Var really is a TSVector, in case this estimator is + * mistakenly attached to some other operator. */ - if (((Const *) other)->consttype == TSQUERYOID) + if (((Const *) other)->consttype == TSQUERYOID && + vardata.vartype == TSVECTOROID) { /* tsvector @@ tsquery or the other way around */ - Assert(vardata.vartype == TSVECTOROID); - selec = tsquerysel(&vardata, ((Const *) other)->constvalue); } else diff -Nru postgresql-17-17.7/src/backend/tsearch/ts_utils.c postgresql-17-17.8/src/backend/tsearch/ts_utils.c --- postgresql-17-17.7/src/backend/tsearch/ts_utils.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/tsearch/ts_utils.c 2026-02-09 21:51:54.000000000 +0000 @@ -88,8 +88,8 @@ char *pbuf = line; /* Trim trailing space */ - while (*pbuf && !t_isspace(pbuf)) - pbuf += pg_mblen(pbuf); + while (*pbuf && !t_isspace_cstr(pbuf)) + pbuf += pg_mblen_cstr(pbuf); *pbuf = '\0'; /* Skip empty lines */ diff -Nru postgresql-17-17.7/src/backend/tsearch/wparser_def.c postgresql-17-17.8/src/backend/tsearch/wparser_def.c --- postgresql-17-17.7/src/backend/tsearch/wparser_def.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/tsearch/wparser_def.c 2026-02-09 21:51:54.000000000 +0000 @@ -1728,7 +1728,8 @@ prs->state->charlen = 0; else prs->state->charlen = (prs->charmaxlen == 1) ? prs->charmaxlen : - pg_mblen(prs->str + prs->state->posbyte); + pg_mblen_range(prs->str + prs->state->posbyte, + prs->str + prs->lenstr); Assert(prs->state->posbyte + prs->state->charlen <= prs->lenstr); Assert(prs->state->state >= TPS_Base && prs->state->state < TPS_Null); diff -Nru postgresql-17-17.7/src/backend/utils/.gitignore postgresql-17-17.8/src/backend/utils/.gitignore --- postgresql-17-17.7/src/backend/utils/.gitignore 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/.gitignore 2026-02-09 21:51:54.000000000 +0000 @@ -4,3 +4,6 @@ /fmgr-stamp /probes.h /errcodes.h +/pgstat_wait_event.c +/wait_event_funcs_data.c +/wait_event_types.h diff -Nru postgresql-17-17.7/src/backend/utils/Makefile postgresql-17-17.8/src/backend/utils/Makefile --- postgresql-17-17.7/src/backend/utils/Makefile 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/Makefile 2026-02-09 21:51:54.000000000 +0000 @@ -43,7 +43,7 @@ submake-adt-headers: $(MAKE) -C adt jsonpath_gram.h -$(SUBDIRS:%=%-recursive): fmgr-stamp errcodes.h +$(SUBDIRS:%=%-recursive): fmgr-stamp errcodes.h pgstat_wait_event.c wait_event_funcs_data.c wait_event_types.h # fmgr-stamp records the last time we ran Gen_fmgrtab.pl. We don't rely on # the timestamps of the individual output files, because the Perl script @@ -55,6 +55,12 @@ errcodes.h: $(top_srcdir)/src/backend/utils/errcodes.txt generate-errcodes.pl $(PERL) $(srcdir)/generate-errcodes.pl --outfile $@ $< +pgstat_wait_event.c: wait_event_types.h +wait_event_funcs_data.c: wait_event_types.h + +wait_event_types.h: $(top_srcdir)/src/backend/utils/activity/wait_event_names.txt $(top_srcdir)/src/backend/utils/activity/generate-wait_event_types.pl + $(PERL) $(top_srcdir)/src/backend/utils/activity/generate-wait_event_types.pl --code $< + ifeq ($(enable_dtrace), yes) probes.h: postprocess_dtrace.sed probes.h.tmp sed -f $^ >$@ @@ -70,8 +76,8 @@ # These generated headers must be symlinked into src/include/. # We use header-stamp to record that we've done this because the symlinks # themselves may appear older than fmgr-stamp. -$(top_builddir)/src/include/utils/header-stamp: fmgr-stamp errcodes.h probes.h - cd '$(dir $@)' && for file in fmgroids.h fmgrprotos.h errcodes.h probes.h; do \ +$(top_builddir)/src/include/utils/header-stamp: fmgr-stamp errcodes.h probes.h pgstat_wait_event.c wait_event_funcs_data.c wait_event_types.h + cd '$(dir $@)' && for file in fmgroids.h fmgrprotos.h errcodes.h probes.h pgstat_wait_event.c wait_event_funcs_data.c wait_event_types.h; do \ rm -f $$file && $(LN_S) "../../../$(subdir)/$$file" . ; \ done touch $@ @@ -90,3 +96,4 @@ clean: rm -f probes.h probes.h.tmp rm -f fmgroids.h fmgrprotos.h fmgrtab.c fmgr-stamp errcodes.h + rm -f wait_event_types.h pgstat_wait_event.c wait_event_funcs_data.c diff -Nru postgresql-17-17.7/src/backend/utils/activity/.gitignore postgresql-17-17.8/src/backend/utils/activity/.gitignore --- postgresql-17-17.7/src/backend/utils/activity/.gitignore 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/activity/.gitignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -/pgstat_wait_event.c -/wait_event_types.h -/wait_event_funcs_data.c diff -Nru postgresql-17-17.7/src/backend/utils/activity/Makefile postgresql-17-17.8/src/backend/utils/activity/Makefile --- postgresql-17-17.7/src/backend/utils/activity/Makefile 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/activity/Makefile 2026-02-09 21:51:54.000000000 +0000 @@ -35,17 +35,8 @@ wait_event.o \ wait_event_funcs.o -include $(top_srcdir)/src/backend/common.mk - -wait_event_funcs.o: wait_event_funcs_data.c -wait_event_funcs_data.c: wait_event_types.h - -wait_event.o: pgstat_wait_event.c -pgstat_wait_event.c: wait_event_types.h - touch $@ +# Force these dependencies to be known even without dependency info built: +wait_event.o: wait_event.c $(top_builddir)/src/backend/utils/pgstat_wait_event.c +wait_event_funcs.o: wait_event_funcs.c $(top_builddir)/src/backend/utils/wait_event_funcs_data.c -wait_event_types.h: $(top_srcdir)/src/backend/utils/activity/wait_event_names.txt generate-wait_event_types.pl - $(PERL) $(srcdir)/generate-wait_event_types.pl --code $< - -clean: - rm -f wait_event_types.h pgstat_wait_event.c wait_event_funcs_data.c +include $(top_srcdir)/src/backend/common.mk diff -Nru postgresql-17-17.7/src/backend/utils/activity/meson.build postgresql-17-17.8/src/backend/utils/activity/meson.build --- postgresql-17-17.7/src/backend/utils/activity/meson.build 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/activity/meson.build 2026-02-09 21:51:54.000000000 +0000 @@ -29,7 +29,6 @@ wait_event = static_library('wait_event_names', waitevent_sources, dependencies: [backend_code], - include_directories: include_directories('../../../include/utils'), kwargs: internal_lib_args, ) diff -Nru postgresql-17-17.7/src/backend/utils/activity/wait_event.c postgresql-17-17.8/src/backend/utils/activity/wait_event.c --- postgresql-17-17.7/src/backend/utils/activity/wait_event.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/activity/wait_event.c 2026-02-09 21:51:54.000000000 +0000 @@ -504,4 +504,4 @@ return event_name; } -#include "pgstat_wait_event.c" +#include "utils/pgstat_wait_event.c" diff -Nru postgresql-17-17.7/src/backend/utils/activity/wait_event_funcs.c postgresql-17-17.8/src/backend/utils/activity/wait_event_funcs.c --- postgresql-17-17.7/src/backend/utils/activity/wait_event_funcs.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/activity/wait_event_funcs.c 2026-02-09 21:51:54.000000000 +0000 @@ -31,7 +31,7 @@ waitEventData[] = { -#include "wait_event_funcs_data.c" +#include "utils/wait_event_funcs_data.c" /* end of list */ {NULL, NULL, NULL} }; diff -Nru postgresql-17-17.7/src/backend/utils/activity/wait_event_names.txt postgresql-17-17.8/src/backend/utils/activity/wait_event_names.txt --- postgresql-17-17.7/src/backend/utils/activity/wait_event_names.txt 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/activity/wait_event_names.txt 2026-02-09 21:51:54.000000000 +0000 @@ -14,13 +14,13 @@ # # The files generated from this one are: # -# src/backend/utils/activity/wait_event_types.h +# wait_event_types.h # typedef enum definitions for wait events. # -# src/backend/utils/activity/pgstat_wait_event.c +# pgstat_wait_event.c # C functions to get the wait event name based on the enum. # -# src/backend/utils/activity/wait_event_types.sgml +# wait_event_types.sgml # SGML tables of wait events for inclusion in the documentation. # # When adding a new wait event, make sure it is placed in the appropriate diff -Nru postgresql-17-17.7/src/backend/utils/adt/arrayfuncs.c postgresql-17-17.8/src/backend/utils/adt/arrayfuncs.c --- postgresql-17-17.7/src/backend/utils/adt/arrayfuncs.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/arrayfuncs.c 2026-02-09 21:51:54.000000000 +0000 @@ -3716,6 +3716,12 @@ elmalign = TYPALIGN_SHORT; break; + case INT4OID: + elmlen = sizeof(int32); + elmbyval = true; + elmalign = TYPALIGN_INT; + break; + case OIDOID: elmlen = sizeof(Oid); elmbyval = true; diff -Nru postgresql-17-17.7/src/backend/utils/adt/encode.c postgresql-17-17.8/src/backend/utils/adt/encode.c --- postgresql-17-17.7/src/backend/utils/adt/encode.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/encode.c 2026-02-09 21:51:54.000000000 +0000 @@ -215,7 +215,7 @@ ereturn(escontext, 0, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("invalid hexadecimal digit: \"%.*s\"", - pg_mblen(s), s))); + pg_mblen_range(s, srcend), s))); s++; if (s >= srcend) ereturn(escontext, 0, @@ -225,7 +225,7 @@ ereturn(escontext, 0, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("invalid hexadecimal digit: \"%.*s\"", - pg_mblen(s), s))); + pg_mblen_range(s, srcend), s))); s++; *p++ = (v1 << 4) | v2; } @@ -354,7 +354,7 @@ ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("invalid symbol \"%.*s\" found while decoding base64 sequence", - pg_mblen(s - 1), s - 1))); + pg_mblen_range(s - 1, srcend), s - 1))); } /* add it to buffer */ buf = (buf << 6) + b; diff -Nru postgresql-17-17.7/src/backend/utils/adt/format_type.c postgresql-17-17.8/src/backend/utils/adt/format_type.c --- postgresql-17-17.7/src/backend/utils/adt/format_type.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/format_type.c 2026-02-09 21:51:54.000000000 +0000 @@ -448,11 +448,15 @@ { oidvector *oidArray = (oidvector *) PG_GETARG_POINTER(0); char *result; - int numargs = oidArray->dim1; + int numargs; int num; size_t total; size_t left; + /* validate input before fetching dim1 */ + check_valid_oidvector(oidArray); + numargs = oidArray->dim1; + total = 20 * numargs + 1; result = palloc(total); result[0] = '\0'; diff -Nru postgresql-17-17.7/src/backend/utils/adt/formatting.c postgresql-17-17.8/src/backend/utils/adt/formatting.c --- postgresql-17-17.7/src/backend/utils/adt/formatting.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/formatting.c 2026-02-09 21:51:54.000000000 +0000 @@ -1396,7 +1396,7 @@ ereport(ERROR, (errcode(ERRCODE_INVALID_DATETIME_FORMAT), errmsg("invalid datetime format separator: \"%s\"", - pnstrdup(str, pg_mblen(str))))); + pnstrdup(str, pg_mblen_cstr(str))))); if (*str == ' ') n->type = NODE_TYPE_SPACE; @@ -1426,7 +1426,7 @@ /* backslash quotes the next character, if any */ if (*str == '\\' && *(str + 1)) str++; - chlen = pg_mblen(str); + chlen = pg_mblen_cstr(str); n->type = NODE_TYPE_CHAR; memcpy(n->character, str, chlen); n->character[chlen] = '\0'; @@ -1444,7 +1444,7 @@ */ if (*str == '\\' && *(str + 1) == '"') str++; - chlen = pg_mblen(str); + chlen = pg_mblen_cstr(str); if ((flags & DCH_FLAG) && is_separator_char(str)) n->type = NODE_TYPE_SEPARATOR; @@ -2274,8 +2274,8 @@ do { \ if (S_THth(_suf)) \ { \ - if (*(ptr)) (ptr) += pg_mblen(ptr); \ - if (*(ptr)) (ptr) += pg_mblen(ptr); \ + if (*(ptr)) (ptr) += pg_mblen_cstr(ptr); \ + if (*(ptr)) (ptr) += pg_mblen_cstr(ptr); \ } \ } while (0) @@ -3481,7 +3481,7 @@ * insist that the consumed character match the format's * character. */ - s += pg_mblen(s); + s += pg_mblen_cstr(s); } continue; } @@ -3503,11 +3503,11 @@ if (extra_skip > 0) extra_skip--; else - s += pg_mblen(s); + s += pg_mblen_cstr(s); } else { - int chlen = pg_mblen(s); + int chlen = pg_mblen_cstr(s); /* * Standard mode requires strict match of format characters. @@ -5809,13 +5809,15 @@ static void NUM_eat_non_data_chars(NUMProc *Np, int n, int input_len) { + const char *end = Np->inout + input_len; + while (n-- > 0) { if (OVERLOAD_TEST) break; /* end of input */ if (strchr("0123456789.,+-", *Np->inout_p) != NULL) break; /* it's a data character */ - Np->inout_p += pg_mblen(Np->inout_p); + Np->inout_p += pg_mblen_range(Np->inout_p, end); } } @@ -6268,7 +6270,7 @@ } else { - Np->inout_p += pg_mblen(Np->inout_p); + Np->inout_p += pg_mblen_range(Np->inout_p, Np->inout + input_len); } continue; } diff -Nru postgresql-17-17.7/src/backend/utils/adt/int.c postgresql-17-17.8/src/backend/utils/adt/int.c --- postgresql-17-17.7/src/backend/utils/adt/int.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/int.c 2026-02-09 21:51:54.000000000 +0000 @@ -135,6 +135,30 @@ } /* + * validate that an array object meets the restrictions of int2vector + * + * We need this because there are pathways by which a general int2[] array can + * be cast to int2vector, allowing the type's restrictions to be violated. + * All code that receives an int2vector as a SQL parameter should check this. + */ +static void +check_valid_int2vector(const int2vector *int2Array) +{ + /* + * We insist on ndim == 1 and dataoffset == 0 (that is, no nulls) because + * otherwise the array's layout will not be what calling code expects. We + * needn't be picky about the index lower bound though. Checking elemtype + * is just paranoia. + */ + if (int2Array->ndim != 1 || + int2Array->dataoffset != 0 || + int2Array->elemtype != INT2OID) + ereport(ERROR, + (errcode(ERRCODE_DATATYPE_MISMATCH), + errmsg("array is not a valid int2vector"))); +} + +/* * int2vectorin - converts "num num ..." to internal form */ Datum @@ -208,10 +232,14 @@ { int2vector *int2Array = (int2vector *) PG_GETARG_POINTER(0); int num, - nnums = int2Array->dim1; + nnums; char *rp; char *result; + /* validate input before fetching dim1 */ + check_valid_int2vector(int2Array); + nnums = int2Array->dim1; + /* assumes sign, 5 digits, ' ' */ rp = result = (char *) palloc(nnums * 7 + 1); for (num = 0; num < nnums; num++) @@ -272,6 +300,7 @@ Datum int2vectorsend(PG_FUNCTION_ARGS) { + /* We don't do check_valid_int2vector, since array_send won't care */ return array_send(fcinfo); } diff -Nru postgresql-17-17.7/src/backend/utils/adt/jsonfuncs.c postgresql-17-17.8/src/backend/utils/adt/jsonfuncs.c --- postgresql-17-17.7/src/backend/utils/adt/jsonfuncs.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/jsonfuncs.c 2026-02-09 21:51:54.000000000 +0000 @@ -693,7 +693,7 @@ { /* Advance to next multibyte character */ if (IS_HIGHBIT_SET(*context_start)) - context_start += pg_mblen(context_start); + context_start += pg_mblen_range(context_start, context_end); else context_start++; } diff -Nru postgresql-17-17.7/src/backend/utils/adt/jsonpath_gram.y postgresql-17-17.8/src/backend/utils/adt/jsonpath_gram.y --- postgresql-17-17.7/src/backend/utils/adt/jsonpath_gram.y 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/jsonpath_gram.y 2026-02-09 21:51:54.000000000 +0000 @@ -597,7 +597,8 @@ (errcode(ERRCODE_SYNTAX_ERROR), errmsg("invalid input syntax for type %s", "jsonpath"), errdetail("Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate.", - pg_mblen(flags->val + i), flags->val + i))); + pg_mblen_range(flags->val + i, flags->val + flags->len), + flags->val + i))); break; } } diff -Nru postgresql-17-17.7/src/backend/utils/adt/levenshtein.c postgresql-17-17.8/src/backend/utils/adt/levenshtein.c --- postgresql-17-17.7/src/backend/utils/adt/levenshtein.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/levenshtein.c 2026-02-09 21:51:54.000000000 +0000 @@ -83,6 +83,8 @@ int *s_char_len = NULL; int j; const char *y; + const char *send = source + slen; + const char *tend = target + tlen; /* * For varstr_levenshtein_less_equal, we have real variables called @@ -183,10 +185,10 @@ #endif /* - * In order to avoid calling pg_mblen() repeatedly on each character in s, - * we cache all the lengths before starting the main loop -- but if all - * the characters in both strings are single byte, then we skip this and - * use a fast-path in the main loop. If only one string contains + * In order to avoid calling pg_mblen_range() repeatedly on each character + * in s, we cache all the lengths before starting the main loop -- but if + * all the characters in both strings are single byte, then we skip this + * and use a fast-path in the main loop. If only one string contains * multi-byte characters, we still build the array, so that the fast-path * needn't deal with the case where the array hasn't been initialized. */ @@ -198,7 +200,7 @@ s_char_len = (int *) palloc((m + 1) * sizeof(int)); for (i = 0; i < m; ++i) { - s_char_len[i] = pg_mblen(cp); + s_char_len[i] = pg_mblen_range(cp, send); cp += s_char_len[i]; } s_char_len[i] = 0; @@ -224,7 +226,7 @@ { int *temp; const char *x = source; - int y_char_len = n != tlen + 1 ? pg_mblen(y) : 1; + int y_char_len = n != tlen + 1 ? pg_mblen_range(y, tend) : 1; int i; #ifdef LEVENSHTEIN_LESS_EQUAL diff -Nru postgresql-17-17.7/src/backend/utils/adt/like.c postgresql-17-17.8/src/backend/utils/adt/like.c --- postgresql-17-17.7/src/backend/utils/adt/like.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/like.c 2026-02-09 21:51:54.000000000 +0000 @@ -55,20 +55,20 @@ *-------------------- */ static inline int -wchareq(const char *p1, const char *p2) +wchareq(const char *p1, int p1len, const char *p2, int p2len) { - int p1_len; + int p1clen; /* Optimization: quickly compare the first byte. */ if (*p1 != *p2) return 0; - p1_len = pg_mblen(p1); - if (pg_mblen(p2) != p1_len) + p1clen = pg_mblen_with_len(p1, p1len); + if (pg_mblen_with_len(p2, p2len) != p1clen) return 0; /* They are the same length */ - while (p1_len--) + while (p1clen--) { if (*p1++ != *p2++) return 0; @@ -105,11 +105,11 @@ #define NextByte(p, plen) ((p)++, (plen)--) /* Set up to compile like_match.c for multibyte characters */ -#define CHAREQ(p1, p2) wchareq((p1), (p2)) +#define CHAREQ(p1, p1len, p2, p2len) wchareq((p1), (p1len), (p2), (p2len)) #define NextChar(p, plen) \ - do { int __l = pg_mblen(p); (p) +=__l; (plen) -=__l; } while (0) + do { int __l = pg_mblen_with_len((p), (plen)); (p) +=__l; (plen) -=__l; } while (0) #define CopyAdvChar(dst, src, srclen) \ - do { int __l = pg_mblen(src); \ + do { int __l = pg_mblen_with_len((src), (srclen)); \ (srclen) -= __l; \ while (__l-- > 0) \ *(dst)++ = *(src)++; \ @@ -121,7 +121,7 @@ #include "like_match.c" /* Set up to compile like_match.c for single-byte characters */ -#define CHAREQ(p1, p2) (*(p1) == *(p2)) +#define CHAREQ(p1, p1len, p2, p2len) (*(p1) == *(p2)) #define NextChar(p, plen) NextByte((p), (plen)) #define CopyAdvChar(dst, src, srclen) (*(dst)++ = *(src)++, (srclen)--) diff -Nru postgresql-17-17.7/src/backend/utils/adt/like_match.c postgresql-17-17.8/src/backend/utils/adt/like_match.c --- postgresql-17-17.7/src/backend/utils/adt/like_match.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/like_match.c 2026-02-09 21:51:54.000000000 +0000 @@ -294,6 +294,7 @@ errhint("Escape string must be empty or one character."))); e = VARDATA_ANY(esc); + elen = VARSIZE_ANY_EXHDR(esc); /* * If specified escape is '\', just copy the pattern as-is. @@ -312,7 +313,7 @@ afterescape = false; while (plen > 0) { - if (CHAREQ(p, e) && !afterescape) + if (CHAREQ(p, plen, e, elen) && !afterescape) { *r++ = '\\'; NextChar(p, plen); diff -Nru postgresql-17-17.7/src/backend/utils/adt/multirangetypes.c postgresql-17-17.8/src/backend/utils/adt/multirangetypes.c --- postgresql-17-17.7/src/backend/utils/adt/multirangetypes.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/multirangetypes.c 2026-02-09 21:51:54.000000000 +0000 @@ -483,8 +483,9 @@ int32 output_range_count = 0; /* Sort the ranges so we can find the ones that overlap/meet. */ - qsort_arg(ranges, input_range_count, sizeof(RangeType *), range_compare, - rangetyp); + if (ranges != NULL) + qsort_arg(ranges, input_range_count, sizeof(RangeType *), + range_compare, rangetyp); /* Now merge where possible: */ for (i = 0; i < input_range_count; i++) diff -Nru postgresql-17-17.7/src/backend/utils/adt/network_selfuncs.c postgresql-17-17.8/src/backend/utils/adt/network_selfuncs.c --- postgresql-17-17.7/src/backend/utils/adt/network_selfuncs.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/network_selfuncs.c 2026-02-09 21:51:54.000000000 +0000 @@ -43,9 +43,9 @@ /* Maximum number of items to consider in join selectivity calculations */ #define MAX_CONSIDERED_ELEMS 1024 -static Selectivity networkjoinsel_inner(Oid operator, +static Selectivity networkjoinsel_inner(Oid operator, int opr_codenum, VariableStatData *vardata1, VariableStatData *vardata2); -static Selectivity networkjoinsel_semi(Oid operator, +static Selectivity networkjoinsel_semi(Oid operator, int opr_codenum, VariableStatData *vardata1, VariableStatData *vardata2); static Selectivity mcv_population(float4 *mcv_numbers, int mcv_nvalues); static Selectivity inet_hist_value_sel(Datum *values, int nvalues, @@ -82,6 +82,7 @@ Oid operator = PG_GETARG_OID(1); List *args = (List *) PG_GETARG_POINTER(2); int varRelid = PG_GETARG_INT32(3); + int opr_codenum; VariableStatData vardata; Node *other; bool varonleft; @@ -96,6 +97,14 @@ FmgrInfo proc; /* + * Before all else, verify that the operator is one of the ones supported + * by this function, which in turn proves that the input datatypes are + * what we expect. Otherwise, attaching this selectivity function to some + * unexpected operator could cause trouble. + */ + opr_codenum = inet_opr_codenum(operator); + + /* * If expression is not (variable op something) or (something op * variable), then punt and return a default estimate. */ @@ -150,13 +159,12 @@ STATISTIC_KIND_HISTOGRAM, InvalidOid, ATTSTATSSLOT_VALUES)) { - int opr_codenum = inet_opr_codenum(operator); + int h_codenum; /* Commute if needed, so we can consider histogram to be on the left */ - if (!varonleft) - opr_codenum = -opr_codenum; + h_codenum = varonleft ? opr_codenum : -opr_codenum; non_mcv_selec = inet_hist_value_sel(hslot.values, hslot.nvalues, - constvalue, opr_codenum); + constvalue, h_codenum); free_attstatsslot(&hslot); } @@ -203,10 +211,19 @@ #endif SpecialJoinInfo *sjinfo = (SpecialJoinInfo *) PG_GETARG_POINTER(4); double selec; + int opr_codenum; VariableStatData vardata1; VariableStatData vardata2; bool join_is_reversed; + /* + * Before all else, verify that the operator is one of the ones supported + * by this function, which in turn proves that the input datatypes are + * what we expect. Otherwise, attaching this selectivity function to some + * unexpected operator could cause trouble. + */ + opr_codenum = inet_opr_codenum(operator); + get_join_variables(root, args, sjinfo, &vardata1, &vardata2, &join_is_reversed); @@ -220,15 +237,18 @@ * Selectivity for left/full join is not exactly the same as inner * join, but we neglect the difference, as eqjoinsel does. */ - selec = networkjoinsel_inner(operator, &vardata1, &vardata2); + selec = networkjoinsel_inner(operator, opr_codenum, + &vardata1, &vardata2); break; case JOIN_SEMI: case JOIN_ANTI: /* Here, it's important that we pass the outer var on the left. */ if (!join_is_reversed) - selec = networkjoinsel_semi(operator, &vardata1, &vardata2); + selec = networkjoinsel_semi(operator, opr_codenum, + &vardata1, &vardata2); else selec = networkjoinsel_semi(get_commutator(operator), + -opr_codenum, &vardata2, &vardata1); break; default: @@ -260,7 +280,7 @@ * Also, MCV vs histogram selectivity is not neglected as in eqjoinsel_inner(). */ static Selectivity -networkjoinsel_inner(Oid operator, +networkjoinsel_inner(Oid operator, int opr_codenum, VariableStatData *vardata1, VariableStatData *vardata2) { Form_pg_statistic stats; @@ -273,7 +293,6 @@ mcv2_exists = false, hist1_exists = false, hist2_exists = false; - int opr_codenum; int mcv1_length = 0, mcv2_length = 0; AttStatsSlot mcv1_slot; @@ -325,8 +344,6 @@ memset(&hist2_slot, 0, sizeof(hist2_slot)); } - opr_codenum = inet_opr_codenum(operator); - /* * Calculate selectivity for MCV vs MCV matches. */ @@ -387,7 +404,7 @@ * histogram selectivity for semi/anti join cases. */ static Selectivity -networkjoinsel_semi(Oid operator, +networkjoinsel_semi(Oid operator, int opr_codenum, VariableStatData *vardata1, VariableStatData *vardata2) { Form_pg_statistic stats; @@ -401,7 +418,6 @@ mcv2_exists = false, hist1_exists = false, hist2_exists = false; - int opr_codenum; FmgrInfo proc; int i, mcv1_length = 0, @@ -455,7 +471,6 @@ memset(&hist2_slot, 0, sizeof(hist2_slot)); } - opr_codenum = inet_opr_codenum(operator); fmgr_info(get_opcode(operator), &proc); /* Estimate number of input rows represented by RHS histogram. */ @@ -827,6 +842,9 @@ /* * Assign useful code numbers for the subnet inclusion/overlap operators * + * This will throw an error if the operator is not one of the ones we + * support in networksel() and networkjoinsel(). + * * Only inet_masklen_inclusion_cmp() and inet_hist_match_divider() depend * on the exact codes assigned here; but many other places in this file * know that they can negate a code to obtain the code for the commutator diff -Nru postgresql-17-17.7/src/backend/utils/adt/oid.c postgresql-17-17.8/src/backend/utils/adt/oid.c --- postgresql-17-17.7/src/backend/utils/adt/oid.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/oid.c 2026-02-09 21:51:54.000000000 +0000 @@ -108,6 +108,30 @@ } /* + * validate that an array object meets the restrictions of oidvector + * + * We need this because there are pathways by which a general oid[] array can + * be cast to oidvector, allowing the type's restrictions to be violated. + * All code that receives an oidvector as a SQL parameter should check this. + */ +void +check_valid_oidvector(const oidvector *oidArray) +{ + /* + * We insist on ndim == 1 and dataoffset == 0 (that is, no nulls) because + * otherwise the array's layout will not be what calling code expects. We + * needn't be picky about the index lower bound though. Checking elemtype + * is just paranoia. + */ + if (oidArray->ndim != 1 || + oidArray->dataoffset != 0 || + oidArray->elemtype != OIDOID) + ereport(ERROR, + (errcode(ERRCODE_DATATYPE_MISMATCH), + errmsg("array is not a valid oidvector"))); +} + +/* * oidvectorin - converts "num num ..." to internal form */ Datum @@ -159,10 +183,14 @@ { oidvector *oidArray = (oidvector *) PG_GETARG_POINTER(0); int num, - nnums = oidArray->dim1; + nnums; char *rp; char *result; + /* validate input before fetching dim1 */ + check_valid_oidvector(oidArray); + nnums = oidArray->dim1; + /* assumes sign, 10 digits, ' ' */ rp = result = (char *) palloc(nnums * 12 + 1); for (num = 0; num < nnums; num++) @@ -225,6 +253,7 @@ Datum oidvectorsend(PG_FUNCTION_ARGS) { + /* We don't do check_valid_oidvector, since array_send won't care */ return array_send(fcinfo); } diff -Nru postgresql-17-17.7/src/backend/utils/adt/oracle_compat.c postgresql-17-17.8/src/backend/utils/adt/oracle_compat.c --- postgresql-17-17.7/src/backend/utils/adt/oracle_compat.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/oracle_compat.c 2026-02-09 21:51:54.000000000 +0000 @@ -153,8 +153,8 @@ char *ptr1, *ptr2, *ptr2start, - *ptr2end, *ptr_ret; + const char *ptr2end; int m, s1len, s2len; @@ -199,7 +199,7 @@ while (m--) { - int mlen = pg_mblen(ptr2); + int mlen = pg_mblen_range(ptr2, ptr2end); memcpy(ptr_ret, ptr2, mlen); ptr_ret += mlen; @@ -212,7 +212,7 @@ while (s1len--) { - int mlen = pg_mblen(ptr1); + int mlen = pg_mblen_unbounded(ptr1); memcpy(ptr_ret, ptr1, mlen); ptr_ret += mlen; @@ -251,8 +251,8 @@ char *ptr1, *ptr2, *ptr2start, - *ptr2end, *ptr_ret; + const char *ptr2end; int m, s1len, s2len; @@ -292,11 +292,12 @@ m = len - s1len; ptr1 = VARDATA_ANY(string1); + ptr_ret = VARDATA(ret); while (s1len--) { - int mlen = pg_mblen(ptr1); + int mlen = pg_mblen_unbounded(ptr1); memcpy(ptr_ret, ptr1, mlen); ptr_ret += mlen; @@ -308,7 +309,7 @@ while (m--) { - int mlen = pg_mblen(ptr2); + int mlen = pg_mblen_range(ptr2, ptr2end); memcpy(ptr_ret, ptr2, mlen); ptr_ret += mlen; @@ -393,6 +394,7 @@ */ const char **stringchars; const char **setchars; + const char *setend; int *stringmblen; int *setmblen; int stringnchars; @@ -400,6 +402,7 @@ int resultndx; int resultnchars; const char *p; + const char *pend; int len; int mblen; const char *str_pos; @@ -410,10 +413,11 @@ stringnchars = 0; p = string; len = stringlen; + pend = p + len; while (len > 0) { stringchars[stringnchars] = p; - stringmblen[stringnchars] = mblen = pg_mblen(p); + stringmblen[stringnchars] = mblen = pg_mblen_range(p, pend); stringnchars++; p += mblen; len -= mblen; @@ -424,10 +428,11 @@ setnchars = 0; p = set; len = setlen; + setend = set + setlen; while (len > 0) { setchars[setnchars] = p; - setmblen[setnchars] = mblen = pg_mblen(p); + setmblen[setnchars] = mblen = pg_mblen_range(p, setend); setnchars++; p += mblen; len -= mblen; @@ -805,6 +810,8 @@ *to_end; char *source, *target; + const char *source_end; + const char *from_end; int m, fromlen, tolen, @@ -819,9 +826,11 @@ if (m <= 0) PG_RETURN_TEXT_P(string); source = VARDATA_ANY(string); + source_end = source + m; fromlen = VARSIZE_ANY_EXHDR(from); from_ptr = VARDATA_ANY(from); + from_end = from_ptr + fromlen; tolen = VARSIZE_ANY_EXHDR(to); to_ptr = VARDATA_ANY(to); to_end = to_ptr + tolen; @@ -845,12 +854,12 @@ while (m > 0) { - source_len = pg_mblen(source); + source_len = pg_mblen_range(source, source_end); from_index = 0; for (i = 0; i < fromlen; i += len) { - len = pg_mblen(&from_ptr[i]); + len = pg_mblen_range(&from_ptr[i], from_end); if (len == source_len && memcmp(source, &from_ptr[i], len) == 0) break; @@ -866,11 +875,11 @@ { if (p >= to_end) break; - p += pg_mblen(p); + p += pg_mblen_range(p, to_end); } if (p < to_end) { - len = pg_mblen(p); + len = pg_mblen_range(p, to_end); memcpy(target, p, len); target += len; retlen += len; diff -Nru postgresql-17-17.7/src/backend/utils/adt/pg_locale.c postgresql-17-17.8/src/backend/utils/adt/pg_locale.c --- postgresql-17-17.7/src/backend/utils/adt/pg_locale.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/pg_locale.c 2026-02-09 21:51:54.000000000 +0000 @@ -66,6 +66,7 @@ #include "utils/lsyscache.h" #include "utils/memutils.h" #include "utils/pg_locale.h" +#include "utils/relcache.h" #include "utils/syscache.h" #ifdef USE_ICU @@ -1258,6 +1259,8 @@ Assert(OidIsValid(collation)); Assert(collation != DEFAULT_COLLATION_OID); + AssertCouldGetRelation(); + if (collation_cache == NULL) { /* First time through, initialize the hash table */ diff -Nru postgresql-17-17.7/src/backend/utils/adt/pgstatfuncs.c postgresql-17-17.8/src/backend/utils/adt/pgstatfuncs.c --- postgresql-17-17.7/src/backend/utils/adt/pgstatfuncs.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/pgstatfuncs.c 2026-02-09 21:51:54.000000000 +0000 @@ -756,7 +756,7 @@ activity = beentry->st_activity_raw; clipped_activity = pgstat_clip_activity(activity); - ret = cstring_to_text(activity); + ret = cstring_to_text(clipped_activity); pfree(clipped_activity); PG_RETURN_TEXT_P(ret); diff -Nru postgresql-17-17.7/src/backend/utils/adt/regexp.c postgresql-17-17.8/src/backend/utils/adt/regexp.c --- postgresql-17-17.7/src/backend/utils/adt/regexp.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/regexp.c 2026-02-09 21:51:54.000000000 +0000 @@ -443,7 +443,7 @@ ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("invalid regular expression option: \"%.*s\"", - pg_mblen(opt_p + i), opt_p + i))); + pg_mblen_range(opt_p + i, opt_p + opt_len), opt_p + i))); break; } } @@ -673,12 +673,13 @@ if (VARSIZE_ANY_EXHDR(opt) > 0) { char *opt_p = VARDATA_ANY(opt); + const char *end_p = opt_p + VARSIZE_ANY_EXHDR(opt); if (*opt_p >= '0' && *opt_p <= '9') ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("invalid regular expression option: \"%.*s\"", - pg_mblen(opt_p), opt_p), + pg_mblen_range(opt_p, end_p), opt_p), errhint("If you meant to use regexp_replace() with a start parameter, cast the fourth argument to integer explicitly."))); } @@ -772,6 +773,7 @@ *r; int plen, elen; + const char *pend; bool afterescape = false; int nquotes = 0; int bracket_depth = 0; /* square bracket nesting level */ @@ -779,6 +781,7 @@ p = VARDATA_ANY(pat_text); plen = VARSIZE_ANY_EXHDR(pat_text); + pend = p + plen; if (esc_text == NULL) { /* No ESCAPE clause provided; default to backslash as escape */ @@ -878,7 +881,7 @@ if (elen > 1) { - int mblen = pg_mblen(p); + int mblen = pg_mblen_range(p, pend); if (mblen > 1) { diff -Nru postgresql-17-17.7/src/backend/utils/adt/tsquery.c postgresql-17-17.8/src/backend/utils/adt/tsquery.c --- postgresql-17-17.7/src/backend/utils/adt/tsquery.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/tsquery.c 2026-02-09 21:51:54.000000000 +0000 @@ -120,7 +120,7 @@ return buf; buf++; - while (*buf && pg_mblen(buf) == 1) + while (*buf && pg_mblen_cstr(buf) == 1) { switch (*buf) { @@ -197,7 +197,7 @@ continue; } - if (!t_isdigit(ptr)) + if (!t_isdigit_cstr(ptr)) return false; errno = 0; @@ -259,12 +259,12 @@ return false; /* it shouldn't be a part of any word */ - if (t_iseq(ptr, '-') || t_iseq(ptr, '_') || t_isalnum(ptr)) + if (t_iseq(ptr, '-') || t_iseq(ptr, '_') || t_isalnum_cstr(ptr)) return false; for (;;) { - ptr += pg_mblen(ptr); + ptr += pg_mblen_cstr(ptr); if (*ptr == '\0') /* got end of string without operand */ return false; @@ -274,7 +274,7 @@ * So we still treat OR literal as operation with possibly incorrect * operand and will not search it as lexeme */ - if (!t_isspace(ptr)) + if (!t_isspace_cstr(ptr)) break; } @@ -315,7 +315,7 @@ /* generic syntax error message is fine */ return PT_ERR; } - else if (!t_isspace(state->buf)) + else if (!t_isspace_cstr(state->buf)) { /* * We rely on the tsvector parser to parse the value for @@ -383,14 +383,14 @@ { return (state->count) ? PT_ERR : PT_END; } - else if (!t_isspace(state->buf)) + else if (!t_isspace_cstr(state->buf)) { return PT_ERR; } break; } - state->buf += pg_mblen(state->buf); + state->buf += pg_mblen_cstr(state->buf); } } @@ -444,7 +444,7 @@ state->state = WAITOPERAND; continue; } - else if (!t_isspace(state->buf)) + else if (!t_isspace_cstr(state->buf)) { /* * We rely on the tsvector parser to parse the value for @@ -492,7 +492,7 @@ state->buf++; continue; } - else if (!t_isspace(state->buf)) + else if (!t_isspace_cstr(state->buf)) { /* insert implicit AND between operands */ state->state = WAITOPERAND; @@ -502,7 +502,7 @@ break; } - state->buf += pg_mblen(state->buf); + state->buf += pg_mblen_cstr(state->buf); } } @@ -1014,9 +1014,8 @@ *(in->cur) = '\\'; in->cur++; } - COPYCHAR(in->cur, op); - clen = pg_mblen(op); + clen = ts_copychar_cstr(in->cur, op); op += clen; in->cur += clen; } diff -Nru postgresql-17-17.7/src/backend/utils/adt/tsvector.c postgresql-17-17.8/src/backend/utils/adt/tsvector.c --- postgresql-17-17.7/src/backend/utils/adt/tsvector.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/tsvector.c 2026-02-09 21:51:54.000000000 +0000 @@ -319,9 +319,9 @@ lenbuf = 0, pp; WordEntry *ptr = ARRPTR(out); - char *curbegin, - *curin, + char *curin, *curout; + const char *curend; lenbuf = out->size * 2 /* '' */ + out->size - 1 /* space */ + 2 /* \0 */ ; for (i = 0; i < out->size; i++) @@ -334,13 +334,14 @@ curout = outbuf = (char *) palloc(lenbuf); for (i = 0; i < out->size; i++) { - curbegin = curin = STRPTR(out) + ptr->pos; + curin = STRPTR(out) + ptr->pos; + curend = curin + ptr->len; if (i != 0) *curout++ = ' '; *curout++ = '\''; - while (curin - curbegin < ptr->len) + while (curin < curend) { - int len = pg_mblen(curin); + int len = pg_mblen_range(curin, curend); if (t_iseq(curin, '\'')) *curout++ = '\''; diff -Nru postgresql-17-17.7/src/backend/utils/adt/tsvector_op.c postgresql-17-17.8/src/backend/utils/adt/tsvector_op.c --- postgresql-17-17.7/src/backend/utils/adt/tsvector_op.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/tsvector_op.c 2026-02-09 21:51:54.000000000 +0000 @@ -2604,11 +2604,15 @@ if (ws) { char *buf; + const char *end; buf = VARDATA_ANY(ws); - while (buf - VARDATA_ANY(ws) < VARSIZE_ANY_EXHDR(ws)) + end = buf + VARSIZE_ANY_EXHDR(ws); + while (buf < end) { - if (pg_mblen(buf) == 1) + int len = pg_mblen_range(buf, end); + + if (len == 1) { switch (*buf) { @@ -2632,7 +2636,7 @@ stat->weight |= 0; } } - buf += pg_mblen(buf); + buf += len; } } diff -Nru postgresql-17-17.7/src/backend/utils/adt/tsvector_parser.c postgresql-17-17.8/src/backend/utils/adt/tsvector_parser.c --- postgresql-17-17.7/src/backend/utils/adt/tsvector_parser.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/tsvector_parser.c 2026-02-09 21:51:54.000000000 +0000 @@ -206,10 +206,9 @@ else if ((state->oprisdelim && ISOPERATOR(state->prsbuf)) || (state->is_web && t_iseq(state->prsbuf, '"'))) PRSSYNTAXERROR; - else if (!t_isspace(state->prsbuf)) + else if (!t_isspace_cstr(state->prsbuf)) { - COPYCHAR(curpos, state->prsbuf); - curpos += pg_mblen(state->prsbuf); + curpos += ts_copychar_cstr(curpos, state->prsbuf); statecode = WAITENDWORD; } } @@ -223,8 +222,7 @@ else { RESIZEPRSBUF; - COPYCHAR(curpos, state->prsbuf); - curpos += pg_mblen(state->prsbuf); + curpos += ts_copychar_cstr(curpos, state->prsbuf); Assert(oldstate != 0); statecode = oldstate; } @@ -236,7 +234,7 @@ statecode = WAITNEXTCHAR; oldstate = WAITENDWORD; } - else if (t_isspace(state->prsbuf) || *(state->prsbuf) == '\0' || + else if (t_isspace_cstr(state->prsbuf) || *(state->prsbuf) == '\0' || (state->oprisdelim && ISOPERATOR(state->prsbuf)) || (state->is_web && t_iseq(state->prsbuf, '"'))) { @@ -259,8 +257,7 @@ else { RESIZEPRSBUF; - COPYCHAR(curpos, state->prsbuf); - curpos += pg_mblen(state->prsbuf); + curpos += ts_copychar_cstr(curpos, state->prsbuf); } } else if (statecode == WAITENDCMPLX) @@ -279,8 +276,7 @@ else { RESIZEPRSBUF; - COPYCHAR(curpos, state->prsbuf); - curpos += pg_mblen(state->prsbuf); + curpos += ts_copychar_cstr(curpos, state->prsbuf); } } else if (statecode == WAITCHARCMPLX) @@ -288,8 +284,7 @@ if (!state->is_web && t_iseq(state->prsbuf, '\'')) { RESIZEPRSBUF; - COPYCHAR(curpos, state->prsbuf); - curpos += pg_mblen(state->prsbuf); + curpos += ts_copychar_cstr(curpos, state->prsbuf); statecode = WAITENDCMPLX; } else @@ -300,7 +295,7 @@ PRSSYNTAXERROR; if (state->oprisdelim) { - /* state->prsbuf+=pg_mblen(state->prsbuf); */ + /* state->prsbuf+=pg_mblen_cstr(state->prsbuf); */ RETURN_TOKEN; } else @@ -317,7 +312,7 @@ } else if (statecode == INPOSINFO) { - if (t_isdigit(state->prsbuf)) + if (t_isdigit_cstr(state->prsbuf)) { if (posalen == 0) { @@ -372,10 +367,10 @@ PRSSYNTAXERROR; WEP_SETWEIGHT(pos[npos - 1], 0); } - else if (t_isspace(state->prsbuf) || + else if (t_isspace_cstr(state->prsbuf) || *(state->prsbuf) == '\0') RETURN_TOKEN; - else if (!t_isdigit(state->prsbuf)) + else if (!t_isdigit_cstr(state->prsbuf)) PRSSYNTAXERROR; } else /* internal error */ @@ -383,6 +378,6 @@ statecode); /* get next char */ - state->prsbuf += pg_mblen(state->prsbuf); + state->prsbuf += pg_mblen_cstr(state->prsbuf); } } diff -Nru postgresql-17-17.7/src/backend/utils/adt/varbit.c postgresql-17-17.8/src/backend/utils/adt/varbit.c --- postgresql-17-17.7/src/backend/utils/adt/varbit.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/varbit.c 2026-02-09 21:51:54.000000000 +0000 @@ -232,7 +232,7 @@ ereturn(escontext, (Datum) 0, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), errmsg("\"%.*s\" is not a valid binary digit", - pg_mblen(sp), sp))); + pg_mblen_cstr(sp), sp))); x >>= 1; if (x == 0) @@ -257,7 +257,7 @@ ereturn(escontext, (Datum) 0, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), errmsg("\"%.*s\" is not a valid hexadecimal digit", - pg_mblen(sp), sp))); + pg_mblen_cstr(sp), sp))); if (bc) { @@ -533,7 +533,7 @@ ereturn(escontext, (Datum) 0, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), errmsg("\"%.*s\" is not a valid binary digit", - pg_mblen(sp), sp))); + pg_mblen_cstr(sp), sp))); x >>= 1; if (x == 0) @@ -558,7 +558,7 @@ ereturn(escontext, (Datum) 0, (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), errmsg("\"%.*s\" is not a valid hexadecimal digit", - pg_mblen(sp), sp))); + pg_mblen_cstr(sp), sp))); if (bc) { diff -Nru postgresql-17-17.7/src/backend/utils/adt/varlena.c postgresql-17-17.8/src/backend/utils/adt/varlena.c --- postgresql-17-17.7/src/backend/utils/adt/varlena.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/varlena.c 2026-02-09 21:51:54.000000000 +0000 @@ -799,8 +799,11 @@ * charlen_to_bytelen() * Compute the number of bytes occupied by n characters starting at *p * - * It is caller's responsibility that there actually are n characters; - * the string need not be null-terminated. + * The caller shall ensure there are n complete characters. Callers achieve + * this by deriving "n" from regmatch_t findings from searching a wchar array. + * pg_mb2wchar_with_len() skips any trailing incomplete character, so regex + * matches will end no later than the last complete character. (The string + * need not be null-terminated.) */ static int charlen_to_bytelen(const char *p, int n) @@ -815,7 +818,7 @@ const char *s; for (s = p; n > 0; n--) - s += pg_mblen(s); + s += pg_mblen_unbounded(s); /* caller verified encoding */ return s - p; } @@ -949,6 +952,7 @@ int32 slice_start; int32 slice_size; int32 slice_strlen; + int32 slice_len; text *slice; int32 E1; int32 i; @@ -1018,7 +1022,8 @@ slice = (text *) DatumGetPointer(str); /* see if we got back an empty string */ - if (VARSIZE_ANY_EXHDR(slice) == 0) + slice_len = VARSIZE_ANY_EXHDR(slice); + if (slice_len == 0) { if (slice != (text *) DatumGetPointer(str)) pfree(slice); @@ -1027,7 +1032,7 @@ /* Now we can get the actual length of the slice in MB characters */ slice_strlen = pg_mbstrlen_with_len(VARDATA_ANY(slice), - VARSIZE_ANY_EXHDR(slice)); + slice_len); /* * Check that the start position wasn't > slice_strlen. If so, SQL99 @@ -1054,7 +1059,7 @@ */ p = VARDATA_ANY(slice); for (i = 0; i < S1 - 1; i++) - p += pg_mblen(p); + p += pg_mblen_unbounded(p); /* hang onto a pointer to our start position */ s = p; @@ -1064,7 +1069,7 @@ * length. */ for (i = S1; i < E1; i++) - p += pg_mblen(p); + p += pg_mblen_unbounded(p); ret = (text *) palloc(VARHDRSZ + (p - s)); SET_VARSIZE(ret, VARHDRSZ + (p - s)); @@ -1362,6 +1367,8 @@ */ if (state->is_multibyte_char_in_char) { + const char *haystack_end = state->str1 + state->len1; + /* Walk one character at a time, until we reach the match. */ /* the search should never move backwards. */ @@ -1370,7 +1377,7 @@ while (state->refpoint < matchptr) { /* step to next character. */ - state->refpoint += pg_mblen(state->refpoint); + state->refpoint += pg_mblen_range(state->refpoint, haystack_end); state->refpos++; /* @@ -4685,6 +4692,8 @@ } else { + const char *end_ptr; + /* * When fldsep is NULL, each character in the input string becomes a * separate element in the result set. The separator is effectively @@ -4693,10 +4702,11 @@ inputstring_len = VARSIZE_ANY_EXHDR(inputstring); start_ptr = VARDATA_ANY(inputstring); + end_ptr = start_ptr + inputstring_len; while (inputstring_len > 0) { - int chunk_len = pg_mblen(start_ptr); + int chunk_len = pg_mblen_range(start_ptr, end_ptr); CHECK_FOR_INTERRUPTS(); @@ -5600,7 +5610,7 @@ { int sz; - sz = pg_mblen(p); + sz = pg_mblen_range(p, endp); dst -= sz; memcpy(dst, p, sz); p += sz; @@ -5761,7 +5771,7 @@ ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("unrecognized format() type specifier \"%.*s\"", - pg_mblen(cp), cp), + pg_mblen_range(cp, end_ptr), cp), errhint("For a single \"%%\" use \"%%%%\"."))); /* If indirect width was specified, get its value */ @@ -5882,7 +5892,7 @@ ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("unrecognized format() type specifier \"%.*s\"", - pg_mblen(cp), cp), + pg_mblen_range(cp, end_ptr), cp), errhint("For a single \"%%\" use \"%%%%\"."))); break; } diff -Nru postgresql-17-17.7/src/backend/utils/adt/xml.c postgresql-17-17.8/src/backend/utils/adt/xml.c --- postgresql-17-17.7/src/backend/utils/adt/xml.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/adt/xml.c 2026-02-09 21:51:54.000000000 +0000 @@ -2338,8 +2338,7 @@ char *utf8string; pg_wchar ret[2]; /* need space for trailing zero */ - /* note we're not assuming s is null-terminated */ - utf8string = pg_server_to_any(s, pg_mblen(s), PG_UTF8); + utf8string = pg_server_to_any(s, pg_mblen_cstr(s), PG_UTF8); pg_encoding_mb2wchar_with_len(PG_UTF8, utf8string, ret, pg_encoding_mblen(PG_UTF8, utf8string)); @@ -2392,7 +2391,7 @@ initStringInfo(&buf); - for (p = ident; *p; p += pg_mblen(p)) + for (p = ident; *p; p += pg_mblen_cstr(p)) { if (*p == ':' && (p == ident || fully_escaped)) appendStringInfoString(&buf, "_x003A_"); @@ -2417,7 +2416,7 @@ : !is_valid_xml_namechar(u)) appendStringInfo(&buf, "_x%04X_", (unsigned int) u); else - appendBinaryStringInfo(&buf, p, pg_mblen(p)); + appendBinaryStringInfo(&buf, p, pg_mblen_cstr(p)); } } @@ -2440,7 +2439,7 @@ initStringInfo(&buf); - for (p = name; *p; p += pg_mblen(p)) + for (p = name; *p; p += pg_mblen_cstr(p)) { if (*p == '_' && *(p + 1) == 'x' && isxdigit((unsigned char) *(p + 2)) @@ -2458,7 +2457,7 @@ p += 6; } else - appendBinaryStringInfo(&buf, p, pg_mblen(p)); + appendBinaryStringInfo(&buf, p, pg_mblen_cstr(p)); } return buf.data; diff -Nru postgresql-17-17.7/src/backend/utils/cache/catcache.c postgresql-17-17.8/src/backend/utils/cache/catcache.c --- postgresql-17-17.7/src/backend/utils/cache/catcache.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/cache/catcache.c 2026-02-09 21:51:54.000000000 +0000 @@ -1055,11 +1055,40 @@ } /* + * ConditionalCatalogCacheInitializeCache + * + * Call CatalogCacheInitializeCache() if not yet done. + */ +pg_attribute_always_inline +static void +ConditionalCatalogCacheInitializeCache(CatCache *cache) +{ +#ifdef USE_ASSERT_CHECKING + /* + * TypeCacheRelCallback() runs outside transactions and relies on TYPEOID + * for hashing. This isn't ideal. Since lookup_type_cache() both + * registers the callback and searches TYPEOID, reaching trouble likely + * requires OOM at an unlucky moment. + * + * InvalidateAttoptCacheCallback() runs outside transactions and likewise + * relies on ATTNUM. InitPostgres() initializes ATTNUM, so it's reliable. + */ + if (!(cache->id == TYPEOID || cache->id == ATTNUM) || + IsTransactionState()) + AssertCouldGetRelation(); + else + Assert(cache->cc_tupdesc != NULL); +#endif + + if (unlikely(cache->cc_tupdesc == NULL)) + CatalogCacheInitializeCache(cache); +} + +/* * CatalogCacheInitializeCache * * This function does final initialization of a catcache: obtain the tuple - * descriptor and set up the hash and equality function links. We assume - * that the relcache entry can be opened at this point! + * descriptor and set up the hash and equality function links. */ #ifdef CACHEDEBUG #define CatalogCacheInitializeCache_DEBUG1 \ @@ -1194,8 +1223,7 @@ void InitCatCachePhase2(CatCache *cache, bool touch_index) { - if (cache->cc_tupdesc == NULL) - CatalogCacheInitializeCache(cache); + ConditionalCatalogCacheInitializeCache(cache); if (touch_index && cache->id != AMOID && @@ -1374,16 +1402,12 @@ dlist_head *bucket; CatCTup *ct; - /* Make sure we're in an xact, even if this ends up being a cache hit */ - Assert(IsTransactionState()); - Assert(cache->cc_nkeys == nkeys); /* * one-time startup overhead for each cache */ - if (unlikely(cache->cc_tupdesc == NULL)) - CatalogCacheInitializeCache(cache); + ConditionalCatalogCacheInitializeCache(cache); #ifdef CATCACHE_STATS cache->cc_searches++; @@ -1638,7 +1662,7 @@ ct->refcount--; if (resowner) - ResourceOwnerForgetCatCacheRef(CurrentResourceOwner, &ct->tuple); + ResourceOwnerForgetCatCacheRef(resowner, &ct->tuple); if ( #ifndef CATCACHE_FORCE_RELEASE @@ -1669,8 +1693,7 @@ /* * one-time startup overhead for each cache */ - if (cache->cc_tupdesc == NULL) - CatalogCacheInitializeCache(cache); + ConditionalCatalogCacheInitializeCache(cache); /* * calculate the hash value @@ -1721,8 +1744,7 @@ /* * one-time startup overhead for each cache */ - if (unlikely(cache->cc_tupdesc == NULL)) - CatalogCacheInitializeCache(cache); + ConditionalCatalogCacheInitializeCache(cache); Assert(nkeys > 0 && nkeys < cache->cc_nkeys); @@ -2083,7 +2105,7 @@ Assert(list->refcount > 0); list->refcount--; if (resowner) - ResourceOwnerForgetCatCacheListRef(CurrentResourceOwner, list); + ResourceOwnerForgetCatCacheListRef(resowner, list); if ( #ifndef CATCACHE_FORCE_RELEASE @@ -2356,7 +2378,8 @@ PrepareToInvalidateCacheTuple(Relation relation, HeapTuple tuple, HeapTuple newtuple, - void (*function) (int, uint32, Oid)) + void (*function) (int, uint32, Oid, void *), + void *context) { slist_iter iter; Oid reloid; @@ -2391,13 +2414,12 @@ continue; /* Just in case cache hasn't finished initialization yet... */ - if (ccp->cc_tupdesc == NULL) - CatalogCacheInitializeCache(ccp); + ConditionalCatalogCacheInitializeCache(ccp); hashvalue = CatalogCacheComputeTupleHashValue(ccp, ccp->cc_nkeys, tuple); dbid = ccp->cc_relisshared ? (Oid) 0 : MyDatabaseId; - (*function) (ccp->id, hashvalue, dbid); + (*function) (ccp->id, hashvalue, dbid, context); if (newtuple) { @@ -2406,7 +2428,7 @@ newhashvalue = CatalogCacheComputeTupleHashValue(ccp, ccp->cc_nkeys, newtuple); if (newhashvalue != hashvalue) - (*function) (ccp->id, newhashvalue, dbid); + (*function) (ccp->id, newhashvalue, dbid, context); } } } diff -Nru postgresql-17-17.7/src/backend/utils/cache/inval.c postgresql-17-17.8/src/backend/utils/cache/inval.c --- postgresql-17-17.7/src/backend/utils/cache/inval.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/cache/inval.c 2026-02-09 21:51:54.000000000 +0000 @@ -94,6 +94,10 @@ * worth trying to avoid sending such inval traffic in the future, if those * problems can be overcome cheaply. * + * When making a nontransactional change to a cacheable object, we must + * likewise send the invalidation immediately, before ending the change's + * critical section. This includes inplace heap updates, relmap, and smgr. + * * When wal_level=logical, write invalidations into WAL at each command end to * support the decoding of the in-progress transactions. See * CommandEndInvalidationMessages. @@ -131,13 +135,15 @@ /* * Pending requests are stored as ready-to-send SharedInvalidationMessages. - * We keep the messages themselves in arrays in TopTransactionContext - * (there are separate arrays for catcache and relcache messages). Control - * information is kept in a chain of TransInvalidationInfo structs, also - * allocated in TopTransactionContext. (We could keep a subtransaction's - * TransInvalidationInfo in its CurTransactionContext; but that's more - * wasteful not less so, since in very many scenarios it'd be the only - * allocation in the subtransaction's CurTransactionContext.) + * We keep the messages themselves in arrays in TopTransactionContext (there + * are separate arrays for catcache and relcache messages). For transactional + * messages, control information is kept in a chain of TransInvalidationInfo + * structs, also allocated in TopTransactionContext. (We could keep a + * subtransaction's TransInvalidationInfo in its CurTransactionContext; but + * that's more wasteful not less so, since in very many scenarios it'd be the + * only allocation in the subtransaction's CurTransactionContext.) For + * inplace update messages, control information appears in an + * InvalidationInfo, allocated in CurrentMemoryContext. * * We can store the message arrays densely, and yet avoid moving data around * within an array, because within any one subtransaction we need only @@ -148,7 +154,9 @@ * struct. Similarly, we need distinguish messages of prior subtransactions * from those of the current subtransaction only until the subtransaction * completes, after which we adjust the array indexes in the parent's - * TransInvalidationInfo to include the subtransaction's messages. + * TransInvalidationInfo to include the subtransaction's messages. Inplace + * invalidations don't need a concept of command or subtransaction boundaries, + * since we send them during the WAL insertion critical section. * * The ordering of the individual messages within a command's or * subtransaction's output is not considered significant, although this @@ -201,7 +209,7 @@ /*---------------- - * Invalidation messages are divided into two groups: + * Transactional invalidation messages are divided into two groups: * 1) events so far in current command, not yet reflected to caches. * 2) events in previous commands of current transaction; these have * been reflected to local caches, and must be either broadcast to @@ -217,26 +225,36 @@ *---------------- */ -typedef struct TransInvalidationInfo +/* fields common to both transactional and inplace invalidation */ +typedef struct InvalidationInfo { - /* Back link to parent transaction's info */ - struct TransInvalidationInfo *parent; - - /* Subtransaction nesting depth */ - int my_level; - /* Events emitted by current command */ InvalidationMsgsGroup CurrentCmdInvalidMsgs; + /* init file must be invalidated? */ + bool RelcacheInitFileInval; +} InvalidationInfo; + +/* subclass adding fields specific to transactional invalidation */ +typedef struct TransInvalidationInfo +{ + /* Base class */ + struct InvalidationInfo ii; + /* Events emitted by previous commands of this (sub)transaction */ InvalidationMsgsGroup PriorCmdInvalidMsgs; - /* init file must be invalidated? */ - bool RelcacheInitFileInval; + /* Back link to parent transaction's info */ + struct TransInvalidationInfo *parent; + + /* Subtransaction nesting depth */ + int my_level; } TransInvalidationInfo; static TransInvalidationInfo *transInvalInfo = NULL; +static InvalidationInfo *inplaceInvalInfo = NULL; + /* GUC storage */ int debug_discard_caches = 0; @@ -544,9 +562,12 @@ static void RegisterCatcacheInvalidation(int cacheId, uint32 hashValue, - Oid dbId) + Oid dbId, + void *context) { - AddCatcacheInvalidationMessage(&transInvalInfo->CurrentCmdInvalidMsgs, + InvalidationInfo *info = (InvalidationInfo *) context; + + AddCatcacheInvalidationMessage(&info->CurrentCmdInvalidMsgs, cacheId, hashValue, dbId); } @@ -556,10 +577,9 @@ * Register an invalidation event for all catcache entries from a catalog. */ static void -RegisterCatalogInvalidation(Oid dbId, Oid catId) +RegisterCatalogInvalidation(InvalidationInfo *info, Oid dbId, Oid catId) { - AddCatalogInvalidationMessage(&transInvalInfo->CurrentCmdInvalidMsgs, - dbId, catId); + AddCatalogInvalidationMessage(&info->CurrentCmdInvalidMsgs, dbId, catId); } /* @@ -568,10 +588,9 @@ * As above, but register a relcache invalidation event. */ static void -RegisterRelcacheInvalidation(Oid dbId, Oid relId) +RegisterRelcacheInvalidation(InvalidationInfo *info, Oid dbId, Oid relId) { - AddRelcacheInvalidationMessage(&transInvalInfo->CurrentCmdInvalidMsgs, - dbId, relId); + AddRelcacheInvalidationMessage(&info->CurrentCmdInvalidMsgs, dbId, relId); /* * Most of the time, relcache invalidation is associated with system @@ -588,7 +607,7 @@ * as well. Also zap when we are invalidating whole relcache. */ if (relId == InvalidOid || RelationIdIsInInitFile(relId)) - transInvalInfo->RelcacheInitFileInval = true; + info->RelcacheInitFileInval = true; } /* @@ -598,24 +617,28 @@ * Only needed for catalogs that don't have catcaches. */ static void -RegisterSnapshotInvalidation(Oid dbId, Oid relId) +RegisterSnapshotInvalidation(InvalidationInfo *info, Oid dbId, Oid relId) { - AddSnapshotInvalidationMessage(&transInvalInfo->CurrentCmdInvalidMsgs, - dbId, relId); + AddSnapshotInvalidationMessage(&info->CurrentCmdInvalidMsgs, dbId, relId); } /* * PrepareInvalidationState * Initialize inval data for the current (sub)transaction. */ -static void +static InvalidationInfo * PrepareInvalidationState(void) { TransInvalidationInfo *myInfo; + /* PrepareToInvalidateCacheTuple() needs relcache */ + AssertCouldGetRelation(); + /* Can't queue transactional message while collecting inplace messages. */ + Assert(inplaceInvalInfo == NULL); + if (transInvalInfo != NULL && transInvalInfo->my_level == GetCurrentTransactionNestLevel()) - return; + return (InvalidationInfo *) transInvalInfo; myInfo = (TransInvalidationInfo *) MemoryContextAllocZero(TopTransactionContext, @@ -638,7 +661,7 @@ * counter. This is a convenient place to check for that, as well as * being important to keep management of the message arrays simple. */ - if (NumMessagesInGroup(&transInvalInfo->CurrentCmdInvalidMsgs) != 0) + if (NumMessagesInGroup(&transInvalInfo->ii.CurrentCmdInvalidMsgs) != 0) elog(ERROR, "cannot start a subtransaction when there are unprocessed inval messages"); /* @@ -647,8 +670,8 @@ * to update them to follow whatever is already in the arrays. */ SetGroupToFollow(&myInfo->PriorCmdInvalidMsgs, - &transInvalInfo->CurrentCmdInvalidMsgs); - SetGroupToFollow(&myInfo->CurrentCmdInvalidMsgs, + &transInvalInfo->ii.CurrentCmdInvalidMsgs); + SetGroupToFollow(&myInfo->ii.CurrentCmdInvalidMsgs, &myInfo->PriorCmdInvalidMsgs); } else @@ -664,6 +687,41 @@ } transInvalInfo = myInfo; + return (InvalidationInfo *) myInfo; +} + +/* + * PrepareInplaceInvalidationState + * Initialize inval data for an inplace update. + * + * See previous function for more background. + */ +static InvalidationInfo * +PrepareInplaceInvalidationState(void) +{ + InvalidationInfo *myInfo; + + AssertCouldGetRelation(); + /* limit of one inplace update under assembly */ + Assert(inplaceInvalInfo == NULL); + + /* gone after WAL insertion CritSection ends, so use current context */ + myInfo = (InvalidationInfo *) palloc0(sizeof(InvalidationInfo)); + + /* Stash our messages past end of the transactional messages, if any. */ + if (transInvalInfo != NULL) + SetGroupToFollow(&myInfo->CurrentCmdInvalidMsgs, + &transInvalInfo->ii.CurrentCmdInvalidMsgs); + else + { + InvalMessageArrays[CatCacheMsgs].msgs = NULL; + InvalMessageArrays[CatCacheMsgs].maxmsgs = 0; + InvalMessageArrays[RelCacheMsgs].msgs = NULL; + InvalMessageArrays[RelCacheMsgs].maxmsgs = 0; + } + + inplaceInvalInfo = myInfo; + return myInfo; } /* ---------------------------------------------------------------- @@ -806,6 +864,12 @@ void AcceptInvalidationMessages(void) { +#ifdef USE_ASSERT_CHECKING + /* message handlers shall access catalogs only during transactions */ + if (IsTransactionState()) + AssertCouldGetRelation(); +#endif + ReceiveSharedInvalidMessages(LocalExecuteInvalidationMessage, InvalidateSystemCaches); @@ -903,7 +967,7 @@ * after we send the SI messages. However, we need not do anything unless * we committed. */ - *RelcacheInitFileInval = transInvalInfo->RelcacheInitFileInval; + *RelcacheInitFileInval = transInvalInfo->ii.RelcacheInitFileInval; /* * Collect all the pending messages into a single contiguous array of @@ -914,7 +978,7 @@ * not new ones. */ nummsgs = NumMessagesInGroup(&transInvalInfo->PriorCmdInvalidMsgs) + - NumMessagesInGroup(&transInvalInfo->CurrentCmdInvalidMsgs); + NumMessagesInGroup(&transInvalInfo->ii.CurrentCmdInvalidMsgs); *msgs = msgarray = (SharedInvalidationMessage *) MemoryContextAlloc(CurTransactionContext, @@ -927,7 +991,7 @@ msgs, n * sizeof(SharedInvalidationMessage)), nmsgs += n)); - ProcessMessageSubGroupMulti(&transInvalInfo->CurrentCmdInvalidMsgs, + ProcessMessageSubGroupMulti(&transInvalInfo->ii.CurrentCmdInvalidMsgs, CatCacheMsgs, (memcpy(msgarray + nmsgs, msgs, @@ -939,7 +1003,7 @@ msgs, n * sizeof(SharedInvalidationMessage)), nmsgs += n)); - ProcessMessageSubGroupMulti(&transInvalInfo->CurrentCmdInvalidMsgs, + ProcessMessageSubGroupMulti(&transInvalInfo->ii.CurrentCmdInvalidMsgs, RelCacheMsgs, (memcpy(msgarray + nmsgs, msgs, @@ -1025,7 +1089,9 @@ void AtEOXact_Inval(bool isCommit) { - /* Quick exit if no messages */ + inplaceInvalInfo = NULL; + + /* Quick exit if no transactional messages */ if (transInvalInfo == NULL) return; @@ -1041,16 +1107,16 @@ * after we send the SI messages. However, we need not do anything * unless we committed. */ - if (transInvalInfo->RelcacheInitFileInval) + if (transInvalInfo->ii.RelcacheInitFileInval) RelationCacheInitFilePreInvalidate(); AppendInvalidationMessages(&transInvalInfo->PriorCmdInvalidMsgs, - &transInvalInfo->CurrentCmdInvalidMsgs); + &transInvalInfo->ii.CurrentCmdInvalidMsgs); ProcessInvalidationMessagesMulti(&transInvalInfo->PriorCmdInvalidMsgs, SendSharedInvalidMessages); - if (transInvalInfo->RelcacheInitFileInval) + if (transInvalInfo->ii.RelcacheInitFileInval) RelationCacheInitFilePostInvalidate(); } else @@ -1064,6 +1130,56 @@ } /* + * PreInplace_Inval + * Process queued-up invalidation before inplace update critical section. + * + * Tasks belong here if they are safe even if the inplace update does not + * complete. Currently, this just unlinks a cache file, which can fail. The + * sum of this and AtInplace_Inval() mirrors AtEOXact_Inval(isCommit=true). + */ +void +PreInplace_Inval(void) +{ + Assert(CritSectionCount == 0); + + if (inplaceInvalInfo && inplaceInvalInfo->RelcacheInitFileInval) + RelationCacheInitFilePreInvalidate(); +} + +/* + * AtInplace_Inval + * Process queued-up invalidations after inplace update buffer mutation. + */ +void +AtInplace_Inval(void) +{ + Assert(CritSectionCount > 0); + + if (inplaceInvalInfo == NULL) + return; + + ProcessInvalidationMessagesMulti(&inplaceInvalInfo->CurrentCmdInvalidMsgs, + SendSharedInvalidMessages); + + if (inplaceInvalInfo->RelcacheInitFileInval) + RelationCacheInitFilePostInvalidate(); + + inplaceInvalInfo = NULL; +} + +/* + * ForgetInplace_Inval + * Alternative to PreInplace_Inval()+AtInplace_Inval(): discard queued-up + * invalidations. This lets inplace update enumerate invalidations + * optimistically, before locking the buffer. + */ +void +ForgetInplace_Inval(void) +{ + inplaceInvalInfo = NULL; +} + +/* * AtEOSubXact_Inval * Process queued-up invalidation messages at end of subtransaction. * @@ -1085,9 +1201,20 @@ AtEOSubXact_Inval(bool isCommit) { int my_level; - TransInvalidationInfo *myInfo = transInvalInfo; + TransInvalidationInfo *myInfo; + + /* + * Successful inplace update must clear this, but we clear it on abort. + * Inplace updates allocate this in CurrentMemoryContext, which has + * lifespan <= subtransaction lifespan. Hence, don't free it explicitly. + */ + if (isCommit) + Assert(inplaceInvalInfo == NULL); + else + inplaceInvalInfo = NULL; - /* Quick exit if no messages. */ + /* Quick exit if no transactional messages. */ + myInfo = transInvalInfo; if (myInfo == NULL) return; @@ -1128,12 +1255,12 @@ &myInfo->PriorCmdInvalidMsgs); /* Must readjust parent's CurrentCmdInvalidMsgs indexes now */ - SetGroupToFollow(&myInfo->parent->CurrentCmdInvalidMsgs, + SetGroupToFollow(&myInfo->parent->ii.CurrentCmdInvalidMsgs, &myInfo->parent->PriorCmdInvalidMsgs); /* Pending relcache inval becomes parent's problem too */ - if (myInfo->RelcacheInitFileInval) - myInfo->parent->RelcacheInitFileInval = true; + if (myInfo->ii.RelcacheInitFileInval) + myInfo->parent->ii.RelcacheInitFileInval = true; /* Pop the transaction state stack */ transInvalInfo = myInfo->parent; @@ -1180,7 +1307,7 @@ if (transInvalInfo == NULL) return; - ProcessInvalidationMessages(&transInvalInfo->CurrentCmdInvalidMsgs, + ProcessInvalidationMessages(&transInvalInfo->ii.CurrentCmdInvalidMsgs, LocalExecuteInvalidationMessage); /* WAL Log per-command invalidation messages for wal_level=logical */ @@ -1188,30 +1315,28 @@ LogLogicalInvalidations(); AppendInvalidationMessages(&transInvalInfo->PriorCmdInvalidMsgs, - &transInvalInfo->CurrentCmdInvalidMsgs); + &transInvalInfo->ii.CurrentCmdInvalidMsgs); } /* - * CacheInvalidateHeapTuple - * Register the given tuple for invalidation at end of command - * (ie, current command is creating or outdating this tuple). - * Also, detect whether a relcache invalidation is implied. - * - * For an insert or delete, tuple is the target tuple and newtuple is NULL. - * For an update, we are called just once, with tuple being the old tuple - * version and newtuple the new version. This allows avoidance of duplicate - * effort during an update. + * CacheInvalidateHeapTupleCommon + * Common logic for end-of-command and inplace variants. */ -void -CacheInvalidateHeapTuple(Relation relation, - HeapTuple tuple, - HeapTuple newtuple) +static void +CacheInvalidateHeapTupleCommon(Relation relation, + HeapTuple tuple, + HeapTuple newtuple, + InvalidationInfo *(*prepare_callback) (void)) { + InvalidationInfo *info; Oid tupleRelId; Oid databaseId; Oid relationId; + /* PrepareToInvalidateCacheTuple() needs relcache */ + AssertCouldGetRelation(); + /* Do nothing during bootstrap */ if (IsBootstrapProcessingMode()) return; @@ -1231,11 +1356,8 @@ if (IsToastRelation(relation)) return; - /* - * If we're not prepared to queue invalidation messages for this - * subtransaction level, get ready now. - */ - PrepareInvalidationState(); + /* Allocate any required resources. */ + info = prepare_callback(); /* * First let the catcache do its thing @@ -1244,11 +1366,12 @@ if (RelationInvalidatesSnapshotsOnly(tupleRelId)) { databaseId = IsSharedRelation(tupleRelId) ? InvalidOid : MyDatabaseId; - RegisterSnapshotInvalidation(databaseId, tupleRelId); + RegisterSnapshotInvalidation(info, databaseId, tupleRelId); } else PrepareToInvalidateCacheTuple(relation, tuple, newtuple, - RegisterCatcacheInvalidation); + RegisterCatcacheInvalidation, + (void *) info); /* * Now, is this tuple one of the primary definers of a relcache entry? See @@ -1321,7 +1444,48 @@ /* * Yes. We need to register a relcache invalidation event. */ - RegisterRelcacheInvalidation(databaseId, relationId); + RegisterRelcacheInvalidation(info, databaseId, relationId); +} + +/* + * CacheInvalidateHeapTuple + * Register the given tuple for invalidation at end of command + * (ie, current command is creating or outdating this tuple) and end of + * transaction. Also, detect whether a relcache invalidation is implied. + * + * For an insert or delete, tuple is the target tuple and newtuple is NULL. + * For an update, we are called just once, with tuple being the old tuple + * version and newtuple the new version. This allows avoidance of duplicate + * effort during an update. + */ +void +CacheInvalidateHeapTuple(Relation relation, + HeapTuple tuple, + HeapTuple newtuple) +{ + CacheInvalidateHeapTupleCommon(relation, tuple, newtuple, + PrepareInvalidationState); +} + +/* + * CacheInvalidateHeapTupleInplace + * Register the given tuple for nontransactional invalidation pertaining + * to an inplace update. Also, detect whether a relcache invalidation is + * implied. + * + * Like CacheInvalidateHeapTuple(), but for inplace updates. + * + * Just before and just after the inplace update, the tuple's cache keys must + * match those in key_equivalent_tuple. Cache keys consist of catcache lookup + * key columns and columns referencing pg_class.oid values, + * e.g. pg_constraint.conrelid, which would trigger relcache inval. + */ +void +CacheInvalidateHeapTupleInplace(Relation relation, + HeapTuple key_equivalent_tuple) +{ + CacheInvalidateHeapTupleCommon(relation, key_equivalent_tuple, NULL, + PrepareInplaceInvalidationState); } /* @@ -1340,14 +1504,13 @@ { Oid databaseId; - PrepareInvalidationState(); - if (IsSharedRelation(catalogId)) databaseId = InvalidOid; else databaseId = MyDatabaseId; - RegisterCatalogInvalidation(databaseId, catalogId); + RegisterCatalogInvalidation(PrepareInvalidationState(), + databaseId, catalogId); } /* @@ -1365,15 +1528,14 @@ Oid databaseId; Oid relationId; - PrepareInvalidationState(); - relationId = RelationGetRelid(relation); if (relation->rd_rel->relisshared) databaseId = InvalidOid; else databaseId = MyDatabaseId; - RegisterRelcacheInvalidation(databaseId, relationId); + RegisterRelcacheInvalidation(PrepareInvalidationState(), + databaseId, relationId); } /* @@ -1386,9 +1548,8 @@ void CacheInvalidateRelcacheAll(void) { - PrepareInvalidationState(); - - RegisterRelcacheInvalidation(InvalidOid, InvalidOid); + RegisterRelcacheInvalidation(PrepareInvalidationState(), + InvalidOid, InvalidOid); } /* @@ -1402,14 +1563,13 @@ Oid databaseId; Oid relationId; - PrepareInvalidationState(); - relationId = classtup->oid; if (classtup->relisshared) databaseId = InvalidOid; else databaseId = MyDatabaseId; - RegisterRelcacheInvalidation(databaseId, relationId); + RegisterRelcacheInvalidation(PrepareInvalidationState(), + databaseId, relationId); } /* @@ -1423,8 +1583,6 @@ { HeapTuple tup; - PrepareInvalidationState(); - tup = SearchSysCache1(RELOID, ObjectIdGetDatum(relid)); if (!HeapTupleIsValid(tup)) elog(ERROR, "cache lookup failed for relation %u", relid); @@ -1614,7 +1772,7 @@ if (transInvalInfo == NULL) return; - group = &transInvalInfo->CurrentCmdInvalidMsgs; + group = &transInvalInfo->ii.CurrentCmdInvalidMsgs; nmsgs = NumMessagesInGroup(group); if (nmsgs > 0) diff -Nru postgresql-17-17.7/src/backend/utils/cache/relcache.c postgresql-17-17.8/src/backend/utils/cache/relcache.c --- postgresql-17-17.7/src/backend/utils/cache/relcache.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/cache/relcache.c 2026-02-09 21:51:54.000000000 +0000 @@ -2037,6 +2037,23 @@ relation->rd_isvalid = true; } +#ifdef USE_ASSERT_CHECKING +/* + * AssertCouldGetRelation + * + * Check safety of calling RelationIdGetRelation(). + * + * In code that reads catalogs in the event of a cache miss, call this + * before checking the cache. + */ +void +AssertCouldGetRelation(void) +{ + Assert(IsTransactionState()); + AssertBufferLocksPermitCatalogRead(); +} +#endif + /* ---------------------------------------------------------------- * Relation Descriptor Lookup Interface @@ -2064,8 +2081,7 @@ { Relation rd; - /* Make sure we're in an xact, even if this ends up being a cache hit */ - Assert(IsTransactionState()); + AssertCouldGetRelation(); /* * first try to find reldesc in the cache diff -Nru postgresql-17-17.7/src/backend/utils/cache/syscache.c postgresql-17-17.8/src/backend/utils/cache/syscache.c --- postgresql-17-17.7/src/backend/utils/cache/syscache.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/cache/syscache.c 2026-02-09 21:51:54.000000000 +0000 @@ -356,8 +356,7 @@ /* * If an inplace update just finished, ensure we process the syscache - * inval. XXX this is insufficient: the inplace updater may not yet - * have reached AtEOXact_Inval(). See test at inplace-inval.spec. + * inval. * * If a heap_update() call just released its LOCKTAG_TUPLE, we'll * probably find the old tuple and reach "tuple concurrently updated". diff -Nru postgresql-17-17.7/src/backend/utils/mb/mbutils.c postgresql-17-17.8/src/backend/utils/mb/mbutils.c --- postgresql-17-17.7/src/backend/utils/mb/mbutils.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/mb/mbutils.c 2026-02-09 21:51:54.000000000 +0000 @@ -38,7 +38,9 @@ #include "catalog/namespace.h" #include "mb/pg_wchar.h" #include "utils/fmgrprotos.h" +#include "utils/memdebug.h" #include "utils/memutils.h" +#include "utils/relcache.h" #include "varatt.h" /* @@ -96,6 +98,13 @@ int len, bool is_client_to_server); static int cliplen(const char *str, int len, int limit); +pg_attribute_noreturn() +static void report_invalid_encoding_int(int encoding, const char *mbstr, + int mblen, int len); + +pg_attribute_noreturn() +static void report_invalid_encoding_db(const char *mbstr, int mblen, int len); + /* * Prepare for a future call to SetClientEncoding. Success should mean @@ -310,7 +319,7 @@ { Oid utf8_to_server_proc; - Assert(IsTransactionState()); + AssertCouldGetRelation(); utf8_to_server_proc = FindDefaultConversionProc(PG_UTF8, current_server_encoding); @@ -1018,11 +1027,126 @@ return pg_wchar_table[encoding].wchar2mb_with_len(from, (unsigned char *) to, len); } -/* returns the byte length of a multibyte character */ +/* + * Returns the byte length of a multibyte character sequence in a + * null-terminated string. Raises an illegal byte sequence error if the + * sequence would hit a null terminator. + * + * The caller is expected to have checked for a terminator at *mbstr == 0 + * before calling, but some callers want 1 in that case, so this function + * continues that tradition. + * + * This must only be used for strings that have a null-terminator to enable + * bounds detection. + */ +int +pg_mblen_cstr(const char *mbstr) +{ + int length = pg_wchar_table[DatabaseEncoding->encoding].mblen((const unsigned char *) mbstr); + + /* + * The .mblen functions return 1 when given a pointer to a terminator. + * Some callers depend on that, so we tolerate it for now. Well-behaved + * callers check the leading byte for a terminator *before* calling. + */ + for (int i = 1; i < length; ++i) + if (unlikely(mbstr[i] == 0)) + report_invalid_encoding_db(mbstr, length, i); + + /* + * String should be NUL-terminated, but checking that would make typical + * callers O(N^2), tripling Valgrind check-world time. Unless + * VALGRIND_EXPENSIVE, check 1 byte after each actual character. (If we + * found a character, not a terminator, the next byte must be a terminator + * or the start of the next character.) If the caller iterates the whole + * string, the last call will diagnose a missing terminator. + */ + if (mbstr[0] != '\0') + { +#ifdef VALGRIND_EXPENSIVE + VALGRIND_CHECK_MEM_IS_DEFINED(mbstr, strlen(mbstr)); +#else + VALGRIND_CHECK_MEM_IS_DEFINED(mbstr + length, 1); +#endif + } + + return length; +} + +/* + * Returns the byte length of a multibyte character sequence bounded by a range + * [mbstr, end) of at least one byte in size. Raises an illegal byte sequence + * error if the sequence would exceed the range. + */ +int +pg_mblen_range(const char *mbstr, const char *end) +{ + int length = pg_wchar_table[DatabaseEncoding->encoding].mblen((const unsigned char *) mbstr); + + Assert(end > mbstr); +#ifdef VALGRIND_EXPENSIVE + VALGRIND_CHECK_MEM_IS_DEFINED(mbstr, end - mbstr); +#else + VALGRIND_CHECK_MEM_IS_DEFINED(mbstr, length); +#endif + + if (unlikely(mbstr + length > end)) + report_invalid_encoding_db(mbstr, length, end - mbstr); + + return length; +} + +/* + * Returns the byte length of a multibyte character sequence bounded by a range + * extending for 'limit' bytes, which must be at least one. Raises an illegal + * byte sequence error if the sequence would exceed the range. + */ +int +pg_mblen_with_len(const char *mbstr, int limit) +{ + int length = pg_wchar_table[DatabaseEncoding->encoding].mblen((const unsigned char *) mbstr); + + Assert(limit >= 1); +#ifdef VALGRIND_EXPENSIVE + VALGRIND_CHECK_MEM_IS_DEFINED(mbstr, limit); +#else + VALGRIND_CHECK_MEM_IS_DEFINED(mbstr, length); +#endif + + if (unlikely(length > limit)) + report_invalid_encoding_db(mbstr, length, limit); + + return length; +} + + +/* + * Returns the length of a multibyte character sequence, without any + * validation of bounds. + * + * PLEASE NOTE: This function can only be used safely if the caller has + * already verified the input string, since otherwise there is a risk of + * overrunning the buffer if the string is invalid. A prior call to a + * pg_mbstrlen* function suffices. + */ +int +pg_mblen_unbounded(const char *mbstr) +{ + int length = pg_wchar_table[DatabaseEncoding->encoding].mblen((const unsigned char *) mbstr); + + VALGRIND_CHECK_MEM_IS_DEFINED(mbstr, length); + + return length; +} + +/* + * Historical name for pg_mblen_unbounded(). Should not be used and will be + * removed in a later version. + */ int pg_mblen(const char *mbstr) { - return pg_wchar_table[DatabaseEncoding->encoding].mblen((const unsigned char *) mbstr); + return pg_mblen_unbounded(mbstr); } /* returns the display length of a multibyte character */ @@ -1044,14 +1168,14 @@ while (*mbstr) { - mbstr += pg_mblen(mbstr); + mbstr += pg_mblen_cstr(mbstr); len++; } return len; } /* returns the length (counted in wchars) of a multibyte string - * (not necessarily NULL terminated) + * (stops at the first of "limit" or a NUL) */ int pg_mbstrlen_with_len(const char *mbstr, int limit) @@ -1064,7 +1188,7 @@ while (limit > 0 && *mbstr) { - int l = pg_mblen(mbstr); + int l = pg_mblen_with_len(mbstr, limit); limit -= l; mbstr += l; @@ -1134,7 +1258,7 @@ while (len > 0 && *mbstr) { - l = pg_mblen(mbstr); + l = pg_mblen_with_len(mbstr, len); nch++; if (nch > limit) break; @@ -1698,12 +1822,19 @@ report_invalid_encoding(int encoding, const char *mbstr, int len) { int l = pg_encoding_mblen_or_incomplete(encoding, mbstr, len); + + report_invalid_encoding_int(encoding, mbstr, l, len); +} + +static void +report_invalid_encoding_int(int encoding, const char *mbstr, int mblen, int len) +{ char buf[8 * 5 + 1]; char *p = buf; int j, jlimit; - jlimit = Min(l, len); + jlimit = Min(mblen, len); jlimit = Min(jlimit, 8); /* prevent buffer overrun */ for (j = 0; j < jlimit; j++) @@ -1720,6 +1851,12 @@ buf))); } +static void +report_invalid_encoding_db(const char *mbstr, int mblen, int len) +{ + report_invalid_encoding_int(GetDatabaseEncoding(), mbstr, mblen, len); +} + /* * report_untranslatable_char: complain about untranslatable character * diff -Nru postgresql-17-17.7/src/backend/utils/misc/guc_tables.c postgresql-17-17.8/src/backend/utils/misc/guc_tables.c --- postgresql-17-17.7/src/backend/utils/misc/guc_tables.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/misc/guc_tables.c 2026-02-09 21:51:54.000000000 +0000 @@ -71,6 +71,7 @@ #include "replication/slotsync.h" #include "replication/syncrep.h" #include "storage/bufmgr.h" +#include "storage/fd.h" #include "storage/large_object.h" #include "storage/pg_shmem.h" #include "storage/predicate.h" @@ -483,6 +484,14 @@ {NULL, 0, false} }; +static const struct config_enum_entry file_extend_method_options[] = { +#ifdef HAVE_POSIX_FALLOCATE + {"posix_fallocate", FILE_EXTEND_METHOD_POSIX_FALLOCATE, false}, +#endif + {"write_zeros", FILE_EXTEND_METHOD_WRITE_ZEROS, false}, + {NULL, 0, false} +}; + /* * Options for enum values stored in other modules */ @@ -4991,6 +5000,16 @@ NULL, NULL, NULL }, + { + {"file_extend_method", PGC_SIGHUP, RESOURCES_DISK, + gettext_noop("Selects the method used for extending data files."), + NULL + }, + &file_extend_method, + DEFAULT_FILE_EXTEND_METHOD, file_extend_method_options, + NULL, NULL, NULL + }, + { {"wal_sync_method", PGC_SIGHUP, WAL_SETTINGS, gettext_noop("Selects the method used for forcing WAL updates to disk."), diff -Nru postgresql-17-17.7/src/backend/utils/misc/injection_point.c postgresql-17-17.8/src/backend/utils/misc/injection_point.c --- postgresql-17-17.7/src/backend/utils/misc/injection_point.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/misc/injection_point.c 2026-02-09 21:51:54.000000000 +0000 @@ -282,16 +282,16 @@ int free_idx; if (strlen(name) >= INJ_NAME_MAXLEN) - elog(ERROR, "injection point name %s too long (maximum of %u)", - name, INJ_NAME_MAXLEN); + elog(ERROR, "injection point name %s too long (maximum of %u characters)", + name, INJ_NAME_MAXLEN - 1); if (strlen(library) >= INJ_LIB_MAXLEN) - elog(ERROR, "injection point library %s too long (maximum of %u)", - library, INJ_LIB_MAXLEN); + elog(ERROR, "injection point library %s too long (maximum of %u characters)", + library, INJ_LIB_MAXLEN - 1); if (strlen(function) >= INJ_FUNC_MAXLEN) - elog(ERROR, "injection point function %s too long (maximum of %u)", - function, INJ_FUNC_MAXLEN); - if (private_data_size >= INJ_PRIVATE_MAXLEN) - elog(ERROR, "injection point data too long (maximum of %u)", + elog(ERROR, "injection point function %s too long (maximum of %u characters)", + function, INJ_FUNC_MAXLEN - 1); + if (private_data_size > INJ_PRIVATE_MAXLEN) + elog(ERROR, "injection point data too long (maximum of %u bytes)", INJ_PRIVATE_MAXLEN); /* diff -Nru postgresql-17-17.7/src/backend/utils/misc/postgresql.conf.sample postgresql-17-17.8/src/backend/utils/misc/postgresql.conf.sample --- postgresql-17-17.7/src/backend/utils/misc/postgresql.conf.sample 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/misc/postgresql.conf.sample 2026-02-09 21:51:54.000000000 +0000 @@ -175,6 +175,11 @@ #temp_file_limit = -1 # limits per-process temp file space # in kilobytes, or -1 for no limit +#file_extend_method = posix_fallocate # the default is the first option supported + # by the operating system: + # posix_fallocate (most Unix-like systems) + # write_zeros + #max_notify_queue_pages = 1048576 # limits the number of SLRU pages allocated # for NOTIFY / LISTEN queue @@ -246,7 +251,7 @@ #wal_skip_threshold = 2MB #commit_delay = 0 # range 0-100000, in microseconds -#commit_siblings = 5 # range 1-1000 +#commit_siblings = 5 # range 0-1000 # - Checkpoints - diff -Nru postgresql-17-17.7/src/backend/utils/misc/ps_status.c postgresql-17-17.8/src/backend/utils/misc/ps_status.c --- postgresql-17-17.7/src/backend/utils/misc/ps_status.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/misc/ps_status.c 2026-02-09 21:51:54.000000000 +0000 @@ -52,7 +52,7 @@ #define PS_USE_SETPROCTITLE_FAST #elif defined(HAVE_SETPROCTITLE) #define PS_USE_SETPROCTITLE -#elif defined(__linux__) || defined(__sun) || defined(__darwin__) +#elif defined(__linux__) || defined(__sun) || defined(__darwin__) || defined(__GNU__) #define PS_USE_CLOBBER_ARGV #elif defined(WIN32) #define PS_USE_WIN32 @@ -62,7 +62,7 @@ /* Different systems want the buffer padded differently */ -#if defined(__linux__) || defined(__darwin__) +#if defined(__linux__) || defined(__darwin__) || defined(__GNU__) #define PS_PADDING '\0' #else #define PS_PADDING ' ' diff -Nru postgresql-17-17.7/src/backend/utils/mmgr/mcxt.c postgresql-17-17.8/src/backend/utils/mmgr/mcxt.c --- postgresql-17-17.7/src/backend/utils/mmgr/mcxt.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/mmgr/mcxt.c 2026-02-09 21:51:54.000000000 +0000 @@ -157,6 +157,9 @@ /* This is a transient link to the active portal's memory context: */ MemoryContext PortalContext = NULL; +/* Is memory context logging currently in progress? */ +static bool LogMemoryContextInProgress = false; + static void MemoryContextDeleteOnly(MemoryContext context); static void MemoryContextCallResetCallbacks(MemoryContext context); static void MemoryContextStatsInternal(MemoryContext context, int level, @@ -1290,26 +1293,45 @@ LogMemoryContextPending = false; /* - * Use LOG_SERVER_ONLY to prevent this message from being sent to the - * connected client. + * Exit immediately if memory context logging is already in progress. This + * prevents recursive calls, which could occur if logging is requested + * repeatedly and rapidly, potentially leading to infinite recursion and a + * crash. */ - ereport(LOG_SERVER_ONLY, - (errhidestmt(true), - errhidecontext(true), - errmsg("logging memory contexts of PID %d", MyProcPid))); + if (LogMemoryContextInProgress) + return; + LogMemoryContextInProgress = true; - /* - * When a backend process is consuming huge memory, logging all its memory - * contexts might overrun available disk space. To prevent this, we limit - * the depth of the hierarchy, as well as the number of child contexts to - * log per parent to 100. - * - * As with MemoryContextStats(), we suppose that practical cases where the - * dump gets long will typically be huge numbers of siblings under the - * same parent context; while the additional debugging value from seeing - * details about individual siblings beyond 100 will not be large. - */ - MemoryContextStatsDetail(TopMemoryContext, 100, 100, false); + PG_TRY(); + { + /* + * Use LOG_SERVER_ONLY to prevent this message from being sent to the + * connected client. + */ + ereport(LOG_SERVER_ONLY, + (errhidestmt(true), + errhidecontext(true), + errmsg("logging memory contexts of PID %d", MyProcPid))); + + /* + * When a backend process is consuming huge memory, logging all its + * memory contexts might overrun available disk space. To prevent + * this, we limit the depth of the hierarchy, as well as the number of + * child contexts to log per parent to 100. + * + * As with MemoryContextStats(), we suppose that practical cases where + * the dump gets long will typically be huge numbers of siblings under + * the same parent context; while the additional debugging value from + * seeing details about individual siblings beyond 100 will not be + * large. + */ + MemoryContextStatsDetail(TopMemoryContext, 100, 100, false); + } + PG_FINALLY(); + { + LogMemoryContextInProgress = false; + } + PG_END_TRY(); } void * diff -Nru postgresql-17-17.7/src/backend/utils/sort/sharedtuplestore.c postgresql-17-17.8/src/backend/utils/sort/sharedtuplestore.c --- postgresql-17-17.7/src/backend/utils/sort/sharedtuplestore.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/backend/utils/sort/sharedtuplestore.c 2026-02-09 21:51:54.000000000 +0000 @@ -324,7 +324,8 @@ /* Do we have space? */ size = accessor->sts->meta_data_size + tuple->t_len; - if (accessor->write_pointer + size > accessor->write_end) + if (accessor->write_pointer == NULL || + accessor->write_pointer + size > accessor->write_end) { if (accessor->write_chunk == NULL) { diff -Nru postgresql-17-17.7/src/bin/initdb/po/es.po postgresql-17-17.8/src/bin/initdb/po/es.po --- postgresql-17-17.7/src/bin/initdb/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/initdb/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: initdb (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:38+0000\n" +"POT-Creation-Date: 2026-02-06 23:35+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_amcheck/po/es.po postgresql-17-17.8/src/bin/pg_amcheck/po/es.po --- postgresql-17-17.7/src/bin/pg_amcheck/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_amcheck/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: pg_amcheck (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:39+0000\n" +"POT-Creation-Date: 2026-02-06 23:37+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_archivecleanup/po/es.po postgresql-17-17.8/src/bin/pg_archivecleanup/po/es.po --- postgresql-17-17.7/src/bin/pg_archivecleanup/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_archivecleanup/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_archivecleanup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:39+0000\n" +"POT-Creation-Date: 2026-02-06 23:37+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_basebackup/po/es.po postgresql-17-17.8/src/bin/pg_basebackup/po/es.po --- postgresql-17-17.7/src/bin/pg_basebackup/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_basebackup/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: pg_basebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:36+0000\n" +"POT-Creation-Date: 2026-02-06 23:34+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_basebackup/po/ja.po postgresql-17-17.8/src/bin/pg_basebackup/po/ja.po --- postgresql-17-17.7/src/bin/pg_basebackup/po/ja.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_basebackup/po/ja.po 2026-02-09 21:51:54.000000000 +0000 @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: pg_basebackup (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-04 11:45+0900\n" -"PO-Revision-Date: 2025-11-05 11:30+0900\n" +"POT-Creation-Date: 2025-11-07 10:21+0900\n" +"PO-Revision-Date: 2025-11-07 10:56+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -1498,8 +1498,8 @@ #: pg_createsubscriber.c:671 #, c-format -msgid "subscriber successfully reset WAL on the subscriber" -msgstr "サブスクライバはサブスクライバのWALのリセットに成功しました" +msgid "successfully reset WAL on the subscriber" +msgstr "サブスクライバのWALのリセットに成功しました" #: pg_createsubscriber.c:673 #, c-format diff -Nru postgresql-17-17.7/src/bin/pg_basebackup/po/ru.po postgresql-17-17.8/src/bin/pg_basebackup/po/ru.po --- postgresql-17-17.7/src/bin/pg_basebackup/po/ru.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_basebackup/po/ru.po 2026-02-09 21:51:54.000000000 +0000 @@ -1,7 +1,7 @@ # Russian message translation file for pg_basebackup # Copyright (C) 2012-2016 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# SPDX-FileCopyrightText: 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Alexander Lakhin +# SPDX-FileCopyrightText: 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026 Alexander Lakhin msgid "" msgstr "" "Project-Id-Version: pg_basebackup (PostgreSQL current)\n" diff -Nru postgresql-17-17.7/src/bin/pg_basebackup/po/sv.po postgresql-17-17.8/src/bin/pg_basebackup/po/sv.po --- postgresql-17-17.7/src/bin/pg_basebackup/po/sv.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_basebackup/po/sv.po 2026-02-09 21:51:54.000000000 +0000 @@ -1,14 +1,14 @@ # SWEDISH message translation file for pg_basebackup # Copyright (C) 2017 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026. # msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-08-26 18:20+0000\n" -"PO-Revision-Date: 2024-08-26 20:56+0200\n" +"POT-Creation-Date: 2026-02-03 03:07+0000\n" +"PO-Revision-Date: 2026-02-04 07:12+0100\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -239,7 +239,7 @@ #: ../../fe_utils/recovery_gen.c:39 ../../fe_utils/recovery_gen.c:50 #: ../../fe_utils/recovery_gen.c:89 ../../fe_utils/recovery_gen.c:109 -#: ../../fe_utils/recovery_gen.c:168 pg_basebackup.c:1636 streamutil.c:331 +#: ../../fe_utils/recovery_gen.c:168 pg_basebackup.c:1636 streamutil.c:334 #, c-format msgid "out of memory" msgstr "slut på minne" @@ -256,12 +256,12 @@ msgid "could not create file \"%s\": %m" msgstr "kunde inte skapa fil \"%s\": %m" -#: ../../fe_utils/string_utils.c:434 +#: ../../fe_utils/string_utils.c:587 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"\n" msgstr "shell-kommandots argument innehåller nyrad eller vagnretur: \"%s\"\n" -#: ../../fe_utils/string_utils.c:607 +#: ../../fe_utils/string_utils.c:760 #, c-format msgid "database name contains a newline or carriage return: \"%s\"\n" msgstr "databasnamnet innehåller nyrad eller vagnretur: \"%s\"\n" @@ -789,7 +789,7 @@ msgstr "kunde inte läsa från rör (pipe) som har data: %m" #: pg_basebackup.c:491 pg_basebackup.c:633 pg_basebackup.c:2258 -#: streamutil.c:518 +#: streamutil.c:521 #, c-format msgid "could not parse write-ahead log location \"%s\"" msgstr "kunde inte parsa write-ahead-logg-plats \"%s\"" @@ -977,8 +977,8 @@ msgstr "servern stöder inte inkrementella backup:er" #: pg_basebackup.c:1850 pg_basebackup.c:2008 pg_recvlogical.c:272 -#: receivelog.c:543 receivelog.c:582 streamutil.c:364 streamutil.c:438 -#: streamutil.c:490 streamutil.c:578 streamutil.c:730 streamutil.c:775 +#: receivelog.c:543 receivelog.c:582 streamutil.c:367 streamutil.c:441 +#: streamutil.c:493 streamutil.c:581 streamutil.c:733 streamutil.c:778 #, c-format msgid "could not send replication command \"%s\": %s" msgstr "kunde inte skicka replikeringskommando \"%s\": %s" @@ -1118,7 +1118,7 @@ msgid "child %d died, expected %d" msgstr "barn %d dog, förväntade %d" -#: pg_basebackup.c:2248 streamutil.c:89 streamutil.c:204 streamutil.c:316 +#: pg_basebackup.c:2248 streamutil.c:92 streamutil.c:207 streamutil.c:319 #, c-format msgid "%s" msgstr "%s" @@ -1174,9 +1174,9 @@ #: pg_basebackup.c:2712 pg_basebackup.c:2724 pg_basebackup.c:2736 #: pg_basebackup.c:2744 pg_basebackup.c:2757 pg_basebackup.c:2763 #: pg_basebackup.c:2772 pg_basebackup.c:2784 pg_basebackup.c:2795 -#: pg_basebackup.c:2803 pg_createsubscriber.c:2037 pg_createsubscriber.c:2047 -#: pg_createsubscriber.c:2055 pg_createsubscriber.c:2083 -#: pg_createsubscriber.c:2115 pg_receivewal.c:748 pg_receivewal.c:760 +#: pg_basebackup.c:2803 pg_createsubscriber.c:2047 pg_createsubscriber.c:2057 +#: pg_createsubscriber.c:2065 pg_createsubscriber.c:2093 +#: pg_createsubscriber.c:2125 pg_receivewal.c:748 pg_receivewal.c:760 #: pg_receivewal.c:767 pg_receivewal.c:776 pg_receivewal.c:783 #: pg_receivewal.c:793 pg_recvlogical.c:853 pg_recvlogical.c:865 #: pg_recvlogical.c:875 pg_recvlogical.c:882 pg_recvlogical.c:889 @@ -1186,7 +1186,7 @@ msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758 +#: pg_basebackup.c:2584 pg_createsubscriber.c:2055 pg_receivewal.c:758 #: pg_recvlogical.c:863 #, c-format msgid "too many command-line arguments (first is \"%s\")" @@ -1304,7 +1304,7 @@ msgid "replication slot \"%s\" created in database \"%s\" on primary was left behind" msgstr "replikeringsslotten \"%s\" som skapades i databasen \"%s\" på primären har lämnats kvar" -#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 +#: pg_createsubscriber.c:206 pg_createsubscriber.c:1270 #, c-format msgid "Drop this replication slot soon to avoid retention of WAL files." msgstr "Släng denna replikeringsslot inom kort för att undvika att WAL-filer köas upp." @@ -1491,13 +1491,13 @@ #: pg_createsubscriber.c:671 #, c-format -msgid "subscriber successfully changed the system identifier" -msgstr "prenumeranten lyckades ändra systemidentifieraren" +msgid "successfully reset WAL on the subscriber" +msgstr "lyckades resetta WAL hos prenumeranten" #: pg_createsubscriber.c:673 #, c-format -msgid "could not change system identifier of subscriber: %s" -msgstr "kunde inte ändra systemidentifierare för prenumerant: %s" +msgid "could not reset WAL on subscriber: %s" +msgstr "kunde inte resetta WAL hos prenumerant: %s" #: pg_createsubscriber.c:697 #, c-format @@ -1616,319 +1616,319 @@ msgid "could not obtain pre-existing subscriptions: %s" msgstr "kunde inte hämta redan existerande prenumerationer: %s" -#: pg_createsubscriber.c:1258 +#: pg_createsubscriber.c:1268 #, c-format msgid "could not drop replication slot \"%s\" on primary" msgstr "kunde inte slänga replikeringsslotten \"%s\" på primären" -#: pg_createsubscriber.c:1292 +#: pg_createsubscriber.c:1302 #, c-format msgid "could not obtain failover replication slot information: %s" msgstr "kunde inte hämta replikeringsslottens information för failover: %s" -#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303 +#: pg_createsubscriber.c:1304 pg_createsubscriber.c:1313 #, c-format msgid "Drop the failover replication slots on subscriber soon to avoid retention of WAL files." msgstr "Släng replikeringsslottar för failover på prenumeranten inom kort för att undvika att köa upp WAL-filer." -#: pg_createsubscriber.c:1302 +#: pg_createsubscriber.c:1312 #, c-format msgid "could not drop failover replication slot" msgstr "kunde inte slänga replikeringsslot för failover" -#: pg_createsubscriber.c:1324 +#: pg_createsubscriber.c:1334 #, c-format msgid "creating the replication slot \"%s\" in database \"%s\"" msgstr "skapar replikeringsslot \"%s\" i databasen \"%s\"" -#: pg_createsubscriber.c:1342 +#: pg_createsubscriber.c:1352 #, c-format msgid "could not create replication slot \"%s\" in database \"%s\": %s" msgstr "kunde inte skapa replikeringsslot \"%s\" i databasen \"%s\": %s" -#: pg_createsubscriber.c:1372 +#: pg_createsubscriber.c:1382 #, c-format msgid "dropping the replication slot \"%s\" in database \"%s\"" msgstr "slänger replikeringsslot \"%s\" i databasen \"%s\"" -#: pg_createsubscriber.c:1388 +#: pg_createsubscriber.c:1398 #, c-format msgid "could not drop replication slot \"%s\" in database \"%s\": %s" msgstr "kunde inte slänga replikeringsslot \"%s\" i databasen \"%s\": %s" -#: pg_createsubscriber.c:1409 +#: pg_createsubscriber.c:1419 #, c-format msgid "pg_ctl failed with exit code %d" msgstr "pg_ctl avslutade med felkod %d" -#: pg_createsubscriber.c:1414 +#: pg_createsubscriber.c:1424 #, c-format msgid "pg_ctl was terminated by exception 0x%X" msgstr "pg_ctl avslutades med avbrott 0x%X" -#: pg_createsubscriber.c:1416 +#: pg_createsubscriber.c:1426 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "Se C-include-fil \"ntstatus.h\" för en beskrivning av det hexdecimala värdet." -#: pg_createsubscriber.c:1418 +#: pg_createsubscriber.c:1428 #, c-format msgid "pg_ctl was terminated by signal %d: %s" msgstr "pg_ctl terminerades av signal %d: %s" -#: pg_createsubscriber.c:1424 +#: pg_createsubscriber.c:1434 #, c-format msgid "pg_ctl exited with unrecognized status %d" msgstr "pg_ctl avslutade med okänd statuskod %d" -#: pg_createsubscriber.c:1427 +#: pg_createsubscriber.c:1437 #, c-format msgid "The failed command was: %s" msgstr "Det misslyckade kommandot var: %s" -#: pg_createsubscriber.c:1473 +#: pg_createsubscriber.c:1483 #, c-format msgid "server was started" msgstr "servern startad" -#: pg_createsubscriber.c:1488 +#: pg_createsubscriber.c:1498 #, c-format msgid "server was stopped" msgstr "servern är stoppad" -#: pg_createsubscriber.c:1507 +#: pg_createsubscriber.c:1517 #, c-format msgid "waiting for the target server to reach the consistent state" msgstr "väntar på att målservern skall komma till ett konsistent läge" -#: pg_createsubscriber.c:1530 +#: pg_createsubscriber.c:1540 #, c-format msgid "recovery timed out" msgstr "timeout vid återställning" -#: pg_createsubscriber.c:1543 +#: pg_createsubscriber.c:1553 #, c-format msgid "server did not end recovery" msgstr "servern avslutade inte återställning" -#: pg_createsubscriber.c:1545 +#: pg_createsubscriber.c:1555 #, c-format msgid "target server reached the consistent state" msgstr "målservern har nått ett konsistent läge" -#: pg_createsubscriber.c:1546 +#: pg_createsubscriber.c:1556 #, c-format msgid "If pg_createsubscriber fails after this point, you must recreate the physical replica before continuing." msgstr "" "Om pg_createsubscriber misslyckas efter denna punkt så måste du\n" "återskapa den fysiska replikan innan du fortsätter." -#: pg_createsubscriber.c:1573 +#: pg_createsubscriber.c:1583 #, c-format msgid "could not obtain publication information: %s" msgstr "kunde inte hämta publiceringsinformation: %s" -#: pg_createsubscriber.c:1587 +#: pg_createsubscriber.c:1597 #, c-format msgid "publication \"%s\" already exists" msgstr "publicering \"%s\" finns redan" -#: pg_createsubscriber.c:1588 +#: pg_createsubscriber.c:1598 #, c-format msgid "Consider renaming this publication before continuing." msgstr "Överväg att byta namn på denna publicering innan fortsättning." -#: pg_createsubscriber.c:1595 +#: pg_createsubscriber.c:1605 #, c-format msgid "creating publication \"%s\" in database \"%s\"" msgstr "skapar puiblicering \"%s\" i databasen \"%s\"" -#: pg_createsubscriber.c:1608 +#: pg_createsubscriber.c:1618 #, c-format msgid "could not create publication \"%s\" in database \"%s\": %s" msgstr "kunde inte skapa publicering \"%s\" i databasen \"%s\": %s" -#: pg_createsubscriber.c:1637 +#: pg_createsubscriber.c:1647 #, c-format msgid "dropping publication \"%s\" in database \"%s\"" msgstr "slänger publiceringen \"%s\" i databasen \"%s\"" -#: pg_createsubscriber.c:1651 +#: pg_createsubscriber.c:1661 #, c-format msgid "could not drop publication \"%s\" in database \"%s\": %s" msgstr "kunde inte slänga publiceringen \"%s\" i databasen \"%s\": %s" -#: pg_createsubscriber.c:1697 +#: pg_createsubscriber.c:1707 #, c-format msgid "creating subscription \"%s\" in database \"%s\"" msgstr "skapar prenumeration \"%s\" i databasen \"%s\"" -#: pg_createsubscriber.c:1718 +#: pg_createsubscriber.c:1728 #, c-format msgid "could not create subscription \"%s\" in database \"%s\": %s" msgstr "kunde inte skapa prenumeration \"%s\" i databasen \"%s\": %s" -#: pg_createsubscriber.c:1763 +#: pg_createsubscriber.c:1773 #, c-format msgid "could not obtain subscription OID: %s" msgstr "kunde inte hämta prenumerations-OID: %s" -#: pg_createsubscriber.c:1770 +#: pg_createsubscriber.c:1780 #, c-format msgid "could not obtain subscription OID: got %d rows, expected %d row" msgstr "kunde inte hämta prenumerations-OID: fick %d rader, förväntade %d rad" -#: pg_createsubscriber.c:1794 +#: pg_createsubscriber.c:1804 #, c-format msgid "setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"" msgstr "sätter progress för replikering (nod-namn \"%s\", LSN %s) i databasen \"%s\"" -#: pg_createsubscriber.c:1809 +#: pg_createsubscriber.c:1819 #, c-format msgid "could not set replication progress for subscription \"%s\": %s" msgstr "kunde inte sätta progress för replikering till prenumeration \"%s\": %s" -#: pg_createsubscriber.c:1840 +#: pg_createsubscriber.c:1850 #, c-format msgid "enabling subscription \"%s\" in database \"%s\"" msgstr "aktiverar prenumeration \"%s\" i databasen \"%s\"" -#: pg_createsubscriber.c:1852 +#: pg_createsubscriber.c:1862 #, c-format msgid "could not enable subscription \"%s\": %s" msgstr "kunde inte aktivera prenumerationen \"%s\": %s" -#: pg_createsubscriber.c:1944 +#: pg_createsubscriber.c:1954 #, c-format msgid "cannot be executed by \"root\"" msgstr "kan inte köras av \"root\"" -#: pg_createsubscriber.c:1945 +#: pg_createsubscriber.c:1955 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Du måste köra %s som PostgreSQL:s superuser." -#: pg_createsubscriber.c:1966 +#: pg_createsubscriber.c:1976 #, c-format msgid "database \"%s\" specified more than once" msgstr "database \"%s\" angiven mer än en gång" -#: pg_createsubscriber.c:2007 +#: pg_createsubscriber.c:2017 #, c-format msgid "publication \"%s\" specified more than once" msgstr "publicering \"%s\" angiven mer än en gång" -#: pg_createsubscriber.c:2019 +#: pg_createsubscriber.c:2029 #, c-format msgid "replication slot \"%s\" specified more than once" msgstr "replikeringsslott \"%s\" angiven mer än en gång" -#: pg_createsubscriber.c:2031 +#: pg_createsubscriber.c:2041 #, c-format msgid "subscription \"%s\" specified more than once" msgstr "prenumeration \"%s\" angiven mer än en gång" -#: pg_createsubscriber.c:2054 +#: pg_createsubscriber.c:2064 #, c-format msgid "no subscriber data directory specified" msgstr "ingen datakatalog för prenumeration angiven" -#: pg_createsubscriber.c:2065 +#: pg_createsubscriber.c:2075 #, c-format msgid "could not determine current directory" msgstr "kunde inte bestämma aktuell katalog" -#: pg_createsubscriber.c:2082 +#: pg_createsubscriber.c:2092 #, c-format msgid "no publisher connection string specified" msgstr "ingen anslutningssträng angiven för publicerare" -#: pg_createsubscriber.c:2086 +#: pg_createsubscriber.c:2096 #, c-format msgid "validating publisher connection string" msgstr "validerar publicerares anslutningssträng" -#: pg_createsubscriber.c:2092 +#: pg_createsubscriber.c:2102 #, c-format msgid "validating subscriber connection string" msgstr "validerar prenumerants anslutningssträng" -#: pg_createsubscriber.c:2097 +#: pg_createsubscriber.c:2107 #, c-format msgid "no database was specified" msgstr "ingen databas angavs" -#: pg_createsubscriber.c:2109 +#: pg_createsubscriber.c:2119 #, c-format msgid "database name \"%s\" was extracted from the publisher connection string" msgstr "databasnamn \"%s\" extraherades från publicistens anslutningssträng" -#: pg_createsubscriber.c:2114 +#: pg_createsubscriber.c:2124 #, c-format msgid "no database name specified" msgstr "inget databasnamn angavs" -#: pg_createsubscriber.c:2124 +#: pg_createsubscriber.c:2134 #, c-format msgid "wrong number of publication names specified" msgstr "fel antal namn på publicister angavs" -#: pg_createsubscriber.c:2125 +#: pg_createsubscriber.c:2135 #, c-format msgid "The number of specified publication names (%d) must match the number of specified database names (%d)." msgstr "Antalet angivna namn på publicister (%d) måste matcha antalet angivna namn på databaser (%d)." -#: pg_createsubscriber.c:2131 +#: pg_createsubscriber.c:2141 #, c-format msgid "wrong number of subscription names specified" msgstr "fel antal namn på prenumeranter angivna" -#: pg_createsubscriber.c:2132 +#: pg_createsubscriber.c:2142 #, c-format msgid "The number of specified subscription names (%d) must match the number of specified database names (%d)." msgstr "Antalet angivna namn på prenumeranter (%d) måste matcha antalet angivna namn på databaser (%d)." -#: pg_createsubscriber.c:2138 +#: pg_createsubscriber.c:2148 #, c-format msgid "wrong number of replication slot names specified" msgstr "fel antal namn på replikeringsslottar angivet" -#: pg_createsubscriber.c:2139 +#: pg_createsubscriber.c:2149 #, c-format msgid "The number of specified replication slot names (%d) must match the number of specified database names (%d)." msgstr "Antalet angivna namn på replikeringsslottar (%d) måste matcha antalet angivna namn på databaser (%d)." -#: pg_createsubscriber.c:2168 +#: pg_createsubscriber.c:2178 #, c-format msgid "subscriber data directory is not a copy of the source database cluster" msgstr "prenumerantens datakatalog är inte en kopia på källdatabasens kluster" -#: pg_createsubscriber.c:2181 +#: pg_createsubscriber.c:2191 #, c-format msgid "standby server is running" msgstr "standby-servern kör" -#: pg_createsubscriber.c:2182 +#: pg_createsubscriber.c:2192 #, c-format msgid "Stop the standby server and try again." msgstr "Stoppa standby-servern och försök igen." -#: pg_createsubscriber.c:2191 +#: pg_createsubscriber.c:2201 #, c-format msgid "starting the standby server with command-line options" msgstr "startar standby-server med kommandoradsflaggor" -#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 +#: pg_createsubscriber.c:2217 pg_createsubscriber.c:2252 #, c-format msgid "stopping the subscriber" msgstr "stoppar prenumeranten" -#: pg_createsubscriber.c:2221 +#: pg_createsubscriber.c:2231 #, c-format msgid "starting the subscriber" msgstr "startar prenumeranten" -#: pg_createsubscriber.c:2250 +#: pg_createsubscriber.c:2260 #, c-format msgid "Done!" msgstr "Klar!" @@ -2476,93 +2476,93 @@ msgid "could not send copy-end packet: %s" msgstr "kunde inte skicka \"copy-end\"-paket: %s" -#: streamutil.c:162 +#: streamutil.c:165 msgid "Password: " msgstr "Lösenord: " -#: streamutil.c:189 +#: streamutil.c:192 #, c-format msgid "could not connect to server" msgstr "kunde inte ansluta till server" -#: streamutil.c:230 +#: streamutil.c:233 #, c-format msgid "could not clear \"search_path\": %s" msgstr "kunde inte nollställa \"search_path\": %s" -#: streamutil.c:246 +#: streamutil.c:249 #, c-format msgid "could not determine server setting for \"integer_datetimes\"" msgstr "kunde inte lista ut serverns inställning för \"integer_datetimes\"" -#: streamutil.c:253 +#: streamutil.c:256 #, c-format msgid "\"integer_datetimes\" compile flag does not match server" msgstr "kompileringsflaggan \"integer_datetimes\" matchar inte servern" -#: streamutil.c:372 +#: streamutil.c:375 #, c-format msgid "could not fetch WAL segment size: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "kunde inte hämta WAL-segmentstorlek: fick %d rader och %d fält, förväntade %d rader och %d eller fler fält" -#: streamutil.c:382 +#: streamutil.c:385 #, c-format msgid "WAL segment size could not be parsed" msgstr "WAL-segment-storlek kunde inte parsas" -#: streamutil.c:400 +#: streamutil.c:403 #, c-format msgid "remote server reported invalid WAL segment size (%d byte)" msgid_plural "remote server reported invalid WAL segment size (%d bytes)" msgstr[0] "fjärrservern rapporterade ogiltig WAL-segmentstorlek (%d byte)" msgstr[1] "fjärrservern rapporterade ogiltig WAL-segmentstorlek (%d byte)" -#: streamutil.c:404 +#: streamutil.c:407 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "Storleken på WAL-segment måste vara en tvåpotens mellan 1 MB och 1 GB." -#: streamutil.c:446 +#: streamutil.c:449 #, c-format msgid "could not fetch group access flag: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "kunde inte hämta gruppaccessflagga: fick %d rader och %d fält, förväntade %d rader och %d eller fler fält" -#: streamutil.c:455 +#: streamutil.c:458 #, c-format msgid "group access flag could not be parsed: %s" msgstr "gruppaccessflagga kunde inte parsas: %s" -#: streamutil.c:498 streamutil.c:535 +#: streamutil.c:501 streamutil.c:538 #, c-format msgid "could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "kunde inte identifiera system: fick %d rader och %d fält, förväntade %d rader och %d eller fler fält" -#: streamutil.c:587 +#: streamutil.c:590 #, c-format msgid "could not read replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "kunde inte läsa replikeringsslot \"%s\": fick %d rader och %d fält, förväntade %d rader och %d fält" -#: streamutil.c:599 +#: streamutil.c:602 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "replikeringsslot \"%s\" existerar inte" -#: streamutil.c:610 +#: streamutil.c:613 #, c-format msgid "expected a physical replication slot, got type \"%s\" instead" msgstr "förväntade en fysisk replikeringsslot men fick av typen \"%s\" istället" -#: streamutil.c:624 +#: streamutil.c:627 #, c-format msgid "could not parse restart_lsn \"%s\" for replication slot \"%s\"" msgstr "kunde inte parsa restart_lsn \"%s\" för replikeringsslot \"%s\"" -#: streamutil.c:741 +#: streamutil.c:744 #, c-format msgid "could not create replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "kunde inte skapa replikeringsslot \"%s\": fick %d rader och %d fält, förväntade %d rader och %d fält" -#: streamutil.c:785 +#: streamutil.c:788 #, c-format msgid "could not drop replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "kunde inte slänga replikeringsslot \"%s\": fick %d rader och %d fält, förväntade %d rader och %d fält" diff -Nru postgresql-17-17.7/src/bin/pg_basebackup/po/uk.po postgresql-17-17.8/src/bin/pg_basebackup/po/uk.po --- postgresql-17-17.7/src/bin/pg_basebackup/po/uk.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_basebackup/po/uk.po 2026-02-09 21:51:54.000000000 +0000 @@ -2,8 +2,8 @@ msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-08-31 06:20+0000\n" -"PO-Revision-Date: 2024-09-23 19:38\n" +"POT-Creation-Date: 2025-12-31 02:38+0000\n" +"PO-Revision-Date: 2026-01-02 12:56\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -235,7 +235,7 @@ #: ../../fe_utils/recovery_gen.c:39 ../../fe_utils/recovery_gen.c:50 #: ../../fe_utils/recovery_gen.c:89 ../../fe_utils/recovery_gen.c:109 -#: ../../fe_utils/recovery_gen.c:168 pg_basebackup.c:1636 streamutil.c:331 +#: ../../fe_utils/recovery_gen.c:168 pg_basebackup.c:1636 streamutil.c:334 #, c-format msgid "out of memory" msgstr "недостатньо пам'яті" @@ -252,12 +252,12 @@ msgid "could not create file \"%s\": %m" msgstr "неможливо створити файл \"%s\": %m" -#: ../../fe_utils/string_utils.c:434 +#: ../../fe_utils/string_utils.c:587 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"\n" msgstr "аргумент командної оболонки містить символ нового рядка або повернення каретки: \"%s\"\n" -#: ../../fe_utils/string_utils.c:607 +#: ../../fe_utils/string_utils.c:760 #, c-format msgid "database name contains a newline or carriage return: \"%s\"\n" msgstr "назва бази даних містить символ нового рядка або повернення каретки: \"%s\"\n" @@ -746,7 +746,7 @@ msgstr "не можливо прочитати з готових каналів: %m" #: pg_basebackup.c:491 pg_basebackup.c:633 pg_basebackup.c:2258 -#: streamutil.c:518 +#: streamutil.c:521 #, c-format msgid "could not parse write-ahead log location \"%s\"" msgstr "не вдалося проаналізувати наперед журнал локації \"%s\"" @@ -940,8 +940,8 @@ msgstr "сервер не підтримує інкрементне резервне копіювання" #: pg_basebackup.c:1850 pg_basebackup.c:2008 pg_recvlogical.c:272 -#: receivelog.c:543 receivelog.c:582 streamutil.c:364 streamutil.c:438 -#: streamutil.c:490 streamutil.c:578 streamutil.c:730 streamutil.c:775 +#: receivelog.c:543 receivelog.c:582 streamutil.c:367 streamutil.c:441 +#: streamutil.c:493 streamutil.c:581 streamutil.c:733 streamutil.c:778 #, c-format msgid "could not send replication command \"%s\": %s" msgstr "не вдалося відправити реплікаційну команду \"%s\": %s" @@ -1081,7 +1081,7 @@ msgid "child %d died, expected %d" msgstr "завершився дочірній процес %d, очікувалося %d" -#: pg_basebackup.c:2248 streamutil.c:89 streamutil.c:204 streamutil.c:316 +#: pg_basebackup.c:2248 streamutil.c:92 streamutil.c:207 streamutil.c:319 #, c-format msgid "%s" msgstr "%s" @@ -1137,9 +1137,9 @@ #: pg_basebackup.c:2712 pg_basebackup.c:2724 pg_basebackup.c:2736 #: pg_basebackup.c:2744 pg_basebackup.c:2757 pg_basebackup.c:2763 #: pg_basebackup.c:2772 pg_basebackup.c:2784 pg_basebackup.c:2795 -#: pg_basebackup.c:2803 pg_createsubscriber.c:2037 pg_createsubscriber.c:2047 -#: pg_createsubscriber.c:2055 pg_createsubscriber.c:2083 -#: pg_createsubscriber.c:2115 pg_receivewal.c:748 pg_receivewal.c:760 +#: pg_basebackup.c:2803 pg_createsubscriber.c:2047 pg_createsubscriber.c:2057 +#: pg_createsubscriber.c:2065 pg_createsubscriber.c:2093 +#: pg_createsubscriber.c:2125 pg_receivewal.c:748 pg_receivewal.c:760 #: pg_receivewal.c:767 pg_receivewal.c:776 pg_receivewal.c:783 #: pg_receivewal.c:793 pg_recvlogical.c:853 pg_recvlogical.c:865 #: pg_recvlogical.c:875 pg_recvlogical.c:882 pg_recvlogical.c:889 @@ -1149,7 +1149,7 @@ msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758 +#: pg_basebackup.c:2584 pg_createsubscriber.c:2055 pg_receivewal.c:758 #: pg_recvlogical.c:863 #, c-format msgid "too many command-line arguments (first is \"%s\")" @@ -1267,7 +1267,7 @@ msgid "replication slot \"%s\" created in database \"%s\" on primary was left behind" msgstr "слот реплікації \"%s\" створений в базі даних \"%s\" на основному кластері залишився позаду" -#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 +#: pg_createsubscriber.c:206 pg_createsubscriber.c:1270 #, c-format msgid "Drop this replication slot soon to avoid retention of WAL files." msgstr "Видаліть цей слот реплікації найближчим часом, щоб уникнути збереження файлів WAL." @@ -1448,13 +1448,13 @@ #: pg_createsubscriber.c:671 #, c-format -msgid "subscriber successfully changed the system identifier" -msgstr "підписник успішно змінив системний ідентифікатор" +msgid "successfully reset WAL on the subscriber" +msgstr "успішно скинуто WAL на підписнику" #: pg_createsubscriber.c:673 #, c-format -msgid "could not change system identifier of subscriber: %s" -msgstr "не вдалося змінити системний ідентифікатор підписника: %s" +msgid "could not reset WAL on subscriber: %s" +msgstr "не вдалося скинути WAL на підписнику: %s" #: pg_createsubscriber.c:697 #, c-format @@ -1573,317 +1573,317 @@ msgid "could not obtain pre-existing subscriptions: %s" msgstr "не вдалося отримати раніше наявні підписки: %s" -#: pg_createsubscriber.c:1258 +#: pg_createsubscriber.c:1268 #, c-format msgid "could not drop replication slot \"%s\" on primary" msgstr "не вдалося видалити слот реплікації \"%s\" на головному сервері" -#: pg_createsubscriber.c:1292 +#: pg_createsubscriber.c:1302 #, c-format msgid "could not obtain failover replication slot information: %s" msgstr "не вдалося отримати інформацію про запасний слот реплікації: %s" -#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303 +#: pg_createsubscriber.c:1304 pg_createsubscriber.c:1313 #, c-format msgid "Drop the failover replication slots on subscriber soon to avoid retention of WAL files." msgstr "Видаліть запасний слот реплікації найближчим часом, щоб уникнути збереження файлів WAL." -#: pg_createsubscriber.c:1302 +#: pg_createsubscriber.c:1312 #, c-format msgid "could not drop failover replication slot" msgstr "не вдалося видалити запасний слот реплікації" -#: pg_createsubscriber.c:1324 +#: pg_createsubscriber.c:1334 #, c-format msgid "creating the replication slot \"%s\" in database \"%s\"" msgstr "створюю слот реплікації \"%s\" в базі даних \"%s\"" -#: pg_createsubscriber.c:1342 +#: pg_createsubscriber.c:1352 #, c-format msgid "could not create replication slot \"%s\" in database \"%s\": %s" msgstr "не вдалося створити слот реплікації \"%s\" в базі даних \"%s\": %s" -#: pg_createsubscriber.c:1372 +#: pg_createsubscriber.c:1382 #, c-format msgid "dropping the replication slot \"%s\" in database \"%s\"" msgstr "видалення слоту реплікації \"%s\" в базі даних \"%s\"" -#: pg_createsubscriber.c:1388 +#: pg_createsubscriber.c:1398 #, c-format msgid "could not drop replication slot \"%s\" in database \"%s\": %s" msgstr "не вдалося видалити слот реплікації \"%s\" в базі даних \"%s\": %s" -#: pg_createsubscriber.c:1409 +#: pg_createsubscriber.c:1419 #, c-format msgid "pg_ctl failed with exit code %d" msgstr "помилка pg_ctl з кодом %d" -#: pg_createsubscriber.c:1414 +#: pg_createsubscriber.c:1424 #, c-format msgid "pg_ctl was terminated by exception 0x%X" msgstr "pg_ctl був перерваний винятком 0x%X" -#: pg_createsubscriber.c:1416 +#: pg_createsubscriber.c:1426 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "Опис цього Шістнадцяткового значення дивіться у включаємому C-файлі \"ntstatus.h\"." -#: pg_createsubscriber.c:1418 +#: pg_createsubscriber.c:1428 #, c-format msgid "pg_ctl was terminated by signal %d: %s" msgstr "pg_ctl було припинено сигналом %d: %s" -#: pg_createsubscriber.c:1424 +#: pg_createsubscriber.c:1434 #, c-format msgid "pg_ctl exited with unrecognized status %d" msgstr "pg_ctl завершився з невідомим статусом %d" -#: pg_createsubscriber.c:1427 +#: pg_createsubscriber.c:1437 #, c-format msgid "The failed command was: %s" msgstr "Команда з помилкою: %s" -#: pg_createsubscriber.c:1473 +#: pg_createsubscriber.c:1483 #, c-format msgid "server was started" msgstr "сервер був запущений" -#: pg_createsubscriber.c:1488 +#: pg_createsubscriber.c:1498 #, c-format msgid "server was stopped" msgstr "сервер було зупинено" -#: pg_createsubscriber.c:1507 +#: pg_createsubscriber.c:1517 #, c-format msgid "waiting for the target server to reach the consistent state" msgstr "чекаю на досягнення узгодженого стану цільовим сервером" -#: pg_createsubscriber.c:1530 +#: pg_createsubscriber.c:1540 #, c-format msgid "recovery timed out" msgstr "час відновлення вичерпався" -#: pg_createsubscriber.c:1543 +#: pg_createsubscriber.c:1553 #, c-format msgid "server did not end recovery" msgstr "сервер не завершив відновлення" -#: pg_createsubscriber.c:1545 +#: pg_createsubscriber.c:1555 #, c-format msgid "target server reached the consistent state" msgstr "цільовий сервер досяг узгодженого стану" -#: pg_createsubscriber.c:1546 +#: pg_createsubscriber.c:1556 #, c-format msgid "If pg_createsubscriber fails after this point, you must recreate the physical replica before continuing." msgstr "Якщо pg_createsubscriber поверне помилку після цієї точки, вам потрібно буде перестворити фізичну репліку перед продовженням." -#: pg_createsubscriber.c:1573 +#: pg_createsubscriber.c:1583 #, c-format msgid "could not obtain publication information: %s" msgstr "не вдалося отримати інформацію про публікацію: %s" -#: pg_createsubscriber.c:1587 +#: pg_createsubscriber.c:1597 #, c-format msgid "publication \"%s\" already exists" msgstr "публікація \"%s\" вже існує" -#: pg_createsubscriber.c:1588 +#: pg_createsubscriber.c:1598 #, c-format msgid "Consider renaming this publication before continuing." msgstr "Подумайте про перейменування цієї публікації, перш ніж продовжити." -#: pg_createsubscriber.c:1595 +#: pg_createsubscriber.c:1605 #, c-format msgid "creating publication \"%s\" in database \"%s\"" msgstr "створення публікації \"%s\" в базі даних \"%s\"" -#: pg_createsubscriber.c:1608 +#: pg_createsubscriber.c:1618 #, c-format msgid "could not create publication \"%s\" in database \"%s\": %s" msgstr "не вдалося створити публікацію \"%s\" в базі даних \"%s\": %s" -#: pg_createsubscriber.c:1637 +#: pg_createsubscriber.c:1647 #, c-format msgid "dropping publication \"%s\" in database \"%s\"" msgstr "видалення публікації \"%s\" в базі даних \"%s\"" -#: pg_createsubscriber.c:1651 +#: pg_createsubscriber.c:1661 #, c-format msgid "could not drop publication \"%s\" in database \"%s\": %s" msgstr "не вдалося видалити публікацію \"%s\" в базі даних \"%s\": %s" -#: pg_createsubscriber.c:1697 +#: pg_createsubscriber.c:1707 #, c-format msgid "creating subscription \"%s\" in database \"%s\"" msgstr "створення підписки \"%s\" в базі даних \"%s\"" -#: pg_createsubscriber.c:1718 +#: pg_createsubscriber.c:1728 #, c-format msgid "could not create subscription \"%s\" in database \"%s\": %s" msgstr "не вдалося створити підписку \"%s\" в базі даних \"%s\": %s" -#: pg_createsubscriber.c:1763 +#: pg_createsubscriber.c:1773 #, c-format msgid "could not obtain subscription OID: %s" msgstr "не вдалося отримати OID підписки: %s" -#: pg_createsubscriber.c:1770 +#: pg_createsubscriber.c:1780 #, c-format msgid "could not obtain subscription OID: got %d rows, expected %d row" msgstr "не вдалося отримати OID підписки: отримано %d рядків, очікувалось %d рядок" -#: pg_createsubscriber.c:1794 +#: pg_createsubscriber.c:1804 #, c-format msgid "setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"" msgstr "налаштування прогресу реплікації (назва вузла \"%s, LSN %s) в базі даних \"%s\"" -#: pg_createsubscriber.c:1809 +#: pg_createsubscriber.c:1819 #, c-format msgid "could not set replication progress for subscription \"%s\": %s" msgstr "не вдалося виставити прогрес реплікації для підписки \"%s\": %s" -#: pg_createsubscriber.c:1840 +#: pg_createsubscriber.c:1850 #, c-format msgid "enabling subscription \"%s\" in database \"%s\"" msgstr "активація підписки \"%s\" в базі даних \"%s\"" -#: pg_createsubscriber.c:1852 +#: pg_createsubscriber.c:1862 #, c-format msgid "could not enable subscription \"%s\": %s" msgstr "не вдалося активувати підписку \"%s\": %s" -#: pg_createsubscriber.c:1944 +#: pg_createsubscriber.c:1954 #, c-format msgid "cannot be executed by \"root\"" msgstr "\"root\" не може це виконувати" -#: pg_createsubscriber.c:1945 +#: pg_createsubscriber.c:1955 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Запускати %s треба від суперкористувача PostgreSQL." -#: pg_createsubscriber.c:1966 +#: pg_createsubscriber.c:1976 #, c-format msgid "database \"%s\" specified more than once" msgstr "база даних \"%s\" вказана неодноразово" -#: pg_createsubscriber.c:2007 +#: pg_createsubscriber.c:2017 #, c-format msgid "publication \"%s\" specified more than once" msgstr "публікація \"%s\" вказана неодноразово" -#: pg_createsubscriber.c:2019 +#: pg_createsubscriber.c:2029 #, c-format msgid "replication slot \"%s\" specified more than once" msgstr "слот реплікації \"%s\" вказаний неодноразово" -#: pg_createsubscriber.c:2031 +#: pg_createsubscriber.c:2041 #, c-format msgid "subscription \"%s\" specified more than once" msgstr "підписка \"%s\" вказана неодноразово" -#: pg_createsubscriber.c:2054 +#: pg_createsubscriber.c:2064 #, c-format msgid "no subscriber data directory specified" msgstr "не вказано каталог з даними підписника" -#: pg_createsubscriber.c:2065 +#: pg_createsubscriber.c:2075 #, c-format msgid "could not determine current directory" msgstr "не вдалося визначити поточний каталог" -#: pg_createsubscriber.c:2082 +#: pg_createsubscriber.c:2092 #, c-format msgid "no publisher connection string specified" msgstr "немає рядка підключення до видавця" -#: pg_createsubscriber.c:2086 +#: pg_createsubscriber.c:2096 #, c-format msgid "validating publisher connection string" msgstr "перевірка рядка підключення видавця" -#: pg_createsubscriber.c:2092 +#: pg_createsubscriber.c:2102 #, c-format msgid "validating subscriber connection string" msgstr "перевірка рядка з'єднання з підписником" -#: pg_createsubscriber.c:2097 +#: pg_createsubscriber.c:2107 #, c-format msgid "no database was specified" msgstr "база даних не вказана" -#: pg_createsubscriber.c:2109 +#: pg_createsubscriber.c:2119 #, c-format msgid "database name \"%s\" was extracted from the publisher connection string" msgstr "ім'я бази даних \"%s\" було отримано з рядка підключення видавця" -#: pg_createsubscriber.c:2114 +#: pg_createsubscriber.c:2124 #, c-format msgid "no database name specified" msgstr "не вказано ім'я бази даних" -#: pg_createsubscriber.c:2124 +#: pg_createsubscriber.c:2134 #, c-format msgid "wrong number of publication names specified" msgstr "вказана невірна кількість імен публікації" -#: pg_createsubscriber.c:2125 +#: pg_createsubscriber.c:2135 #, c-format msgid "The number of specified publication names (%d) must match the number of specified database names (%d)." msgstr "Кількість вказаних назв публікації (%d) мусить співпадати з кількістю вказаних баз даних (%d)." -#: pg_createsubscriber.c:2131 +#: pg_createsubscriber.c:2141 #, c-format msgid "wrong number of subscription names specified" msgstr "вказано неправильну кількість імен підписки" -#: pg_createsubscriber.c:2132 +#: pg_createsubscriber.c:2142 #, c-format msgid "The number of specified subscription names (%d) must match the number of specified database names (%d)." msgstr "Кількість зазначених назв підписки (%d) повинна співпадати з кількістю зазначених назв бази даних (%d)." -#: pg_createsubscriber.c:2138 +#: pg_createsubscriber.c:2148 #, c-format msgid "wrong number of replication slot names specified" msgstr "вказано неправильну кількість назв слотів реплікації" -#: pg_createsubscriber.c:2139 +#: pg_createsubscriber.c:2149 #, c-format msgid "The number of specified replication slot names (%d) must match the number of specified database names (%d)." msgstr "Кількість вказаних назв слотів реплікації (%d) повинна збігатися з кількістю вказаних назв бази даних (%d)." -#: pg_createsubscriber.c:2168 +#: pg_createsubscriber.c:2178 #, c-format msgid "subscriber data directory is not a copy of the source database cluster" msgstr "каталог даних підписника не є копією кластера вихідної бази даних" -#: pg_createsubscriber.c:2181 +#: pg_createsubscriber.c:2191 #, c-format msgid "standby server is running" msgstr "резервний сервер працює" -#: pg_createsubscriber.c:2182 +#: pg_createsubscriber.c:2192 #, c-format msgid "Stop the standby server and try again." msgstr "Зупиніть резервний сервер та повторіть спробу." -#: pg_createsubscriber.c:2191 +#: pg_createsubscriber.c:2201 #, c-format msgid "starting the standby server with command-line options" msgstr "запуск резервного серверу з параметрами командного рядка" -#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 +#: pg_createsubscriber.c:2217 pg_createsubscriber.c:2252 #, c-format msgid "stopping the subscriber" msgstr "зупинка підписника" -#: pg_createsubscriber.c:2221 +#: pg_createsubscriber.c:2231 #, c-format msgid "starting the subscriber" msgstr "запуск підписника" -#: pg_createsubscriber.c:2250 +#: pg_createsubscriber.c:2260 #, c-format msgid "Done!" msgstr "Готово!" @@ -2413,41 +2413,41 @@ msgid "could not send copy-end packet: %s" msgstr "не вдалося відправити пакет кінця копіювання \"copy-end\": %s" -#: streamutil.c:162 +#: streamutil.c:165 msgid "Password: " msgstr "Пароль: " -#: streamutil.c:189 +#: streamutil.c:192 #, c-format msgid "could not connect to server" msgstr "не вдалося підключитись до серверу" -#: streamutil.c:230 +#: streamutil.c:233 #, c-format msgid "could not clear \"search_path\": %s" msgstr "не вдалося очистити \"search_path\": %s" -#: streamutil.c:246 +#: streamutil.c:249 #, c-format msgid "could not determine server setting for \"integer_datetimes\"" msgstr "не вдалося визначити налаштування сервера для \"integer_datetimes\"" -#: streamutil.c:253 +#: streamutil.c:256 #, c-format msgid "\"integer_datetimes\" compile flag does not match server" msgstr "флаг компіляції \"integer_datetimes\" не відповідає серверу" -#: streamutil.c:372 +#: streamutil.c:375 #, c-format msgid "could not fetch WAL segment size: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "не вдалося отримати розмір сегменту WAL: отримано %d рядків і %d полів, очікувалось %d рядків і %d або більше полів" -#: streamutil.c:382 +#: streamutil.c:385 #, c-format msgid "WAL segment size could not be parsed" msgstr "не вдалося аналізувати розмір сегмента WAL" -#: streamutil.c:400 +#: streamutil.c:403 #, c-format msgid "remote server reported invalid WAL segment size (%d byte)" msgid_plural "remote server reported invalid WAL segment size (%d bytes)" @@ -2456,52 +2456,52 @@ msgstr[2] "віддалений сервер повідомив про неправильний розмір сегмента WAL (%d байтів)" msgstr[3] "віддалений сервер повідомив про неправильний розмір сегмента WAL (%d байтів)" -#: streamutil.c:404 +#: streamutil.c:407 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "Розмір сегмента WAL повинен бути степенем двійки від 1 МБ до 1 ГБ." -#: streamutil.c:446 +#: streamutil.c:449 #, c-format msgid "could not fetch group access flag: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "не вдалося вилучити позначку доступа групи: отримано %d рядків і %d полів, очікувалось %d рядків і %d або більше полів" -#: streamutil.c:455 +#: streamutil.c:458 #, c-format msgid "group access flag could not be parsed: %s" msgstr "не вдалося аналізувати позначку доступа групи: %s" -#: streamutil.c:498 streamutil.c:535 +#: streamutil.c:501 streamutil.c:538 #, c-format msgid "could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "не вдалося ідентифікувати систему: отримано %d рядків і %d полів, очікувалось %d рядків і %d або більше полів" -#: streamutil.c:587 +#: streamutil.c:590 #, c-format msgid "could not read replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "не вдалося прочитати слот реплікації \"%s\": отримано %d рядків і %d полів, очікувалось %d рядків і %d полів" -#: streamutil.c:599 +#: streamutil.c:602 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "слот реплікації \"%s\" не існує" -#: streamutil.c:610 +#: streamutil.c:613 #, c-format msgid "expected a physical replication slot, got type \"%s\" instead" msgstr "очікувався слот фізичної реплікації, а натомість знайдено \"%s\"" -#: streamutil.c:624 +#: streamutil.c:627 #, c-format msgid "could not parse restart_lsn \"%s\" for replication slot \"%s\"" msgstr "не вдалося аналізувати restart_lsn \"%s\" для слоту реплікації \"%s\"" -#: streamutil.c:741 +#: streamutil.c:744 #, c-format msgid "could not create replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "не вдалося створити слот реплікації \"%s\": отримано %d рядків і %d полів, очікувалось %d рядків і %d полів" -#: streamutil.c:785 +#: streamutil.c:788 #, c-format msgid "could not drop replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "не вдалося видалити слот реплікації \"%s\": отримано %d рядків і %d полів, очікувалось %d рядків і %d полів" diff -Nru postgresql-17-17.7/src/bin/pg_checksums/po/es.po postgresql-17-17.8/src/bin/pg_checksums/po/es.po --- postgresql-17-17.7/src/bin/pg_checksums/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_checksums/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: pg_checksums (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:41+0000\n" +"POT-Creation-Date: 2026-02-06 23:38+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: pgsql-es-ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_combinebackup/copy_file.c postgresql-17-17.8/src/bin/pg_combinebackup/copy_file.c --- postgresql-17-17.7/src/bin/pg_combinebackup/copy_file.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_combinebackup/copy_file.c 2026-02-09 21:51:54.000000000 +0000 @@ -196,7 +196,7 @@ } if (rb < 0) - pg_fatal("could not read from file \"%s\": %m", dst); + pg_fatal("could not read from file \"%s\": %m", src); pg_free(buffer); close(src_fd); diff -Nru postgresql-17-17.7/src/bin/pg_combinebackup/meson.build postgresql-17-17.8/src/bin/pg_combinebackup/meson.build --- postgresql-17-17.7/src/bin/pg_combinebackup/meson.build 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_combinebackup/meson.build 2026-02-09 21:51:54.000000000 +0000 @@ -37,6 +37,7 @@ 't/007_wal_level_minimal.pl', 't/008_promote.pl', 't/009_no_full_file.pl', + 't/011_ib_truncation.pl', ], } } diff -Nru postgresql-17-17.7/src/bin/pg_combinebackup/pg_combinebackup.c postgresql-17-17.8/src/bin/pg_combinebackup/pg_combinebackup.c --- postgresql-17-17.7/src/bin/pg_combinebackup/pg_combinebackup.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_combinebackup/pg_combinebackup.c 2026-02-09 21:51:54.000000000 +0000 @@ -481,7 +481,7 @@ tsmap->old_dir); if (!is_absolute_path(tsmap->new_dir)) - pg_fatal("old directory is not an absolute path in tablespace mapping: %s", + pg_fatal("new directory is not an absolute path in tablespace mapping: %s", tsmap->new_dir); /* Canonicalize paths to avoid spurious failures when comparing. */ diff -Nru postgresql-17-17.7/src/bin/pg_combinebackup/po/de.po postgresql-17-17.8/src/bin/pg_combinebackup/po/de.po --- postgresql-17-17.7/src/bin/pg_combinebackup/po/de.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_combinebackup/po/de.po 2026-02-09 21:51:54.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-11-07 13:52+0000\n" +"POT-Creation-Date: 2026-02-07 08:39+0000\n" "PO-Revision-Date: 2024-11-07 15:31+0100\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" @@ -41,7 +41,7 @@ msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m" #: ../../common/controldata_utils.c:110 copy_file.c:150 load_manifest.c:161 -#: load_manifest.c:199 pg_combinebackup.c:1400 reconstruct.c:540 +#: load_manifest.c:199 pg_combinebackup.c:1400 reconstruct.c:542 #, c-format msgid "could not read file \"%s\": %m" msgstr "konnte Datei »%s« nicht lesen: %m" @@ -53,7 +53,7 @@ #: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 #: backup_label.c:174 copy_file.c:68 pg_combinebackup.c:538 -#: pg_combinebackup.c:1175 reconstruct.c:369 reconstruct.c:740 +#: pg_combinebackup.c:1175 reconstruct.c:369 reconstruct.c:742 #: write_manifest.c:187 #, c-format msgid "could not close file \"%s\": %m" @@ -82,13 +82,13 @@ #: ../../common/file_utils.c:480 backup_label.c:143 copy_file.c:66 #: copy_file.c:139 copy_file.c:171 copy_file.c:175 copy_file.c:225 #: copy_file.c:268 load_manifest.c:128 pg_combinebackup.c:523 -#: pg_combinebackup.c:1167 reconstruct.c:523 reconstruct.c:638 +#: pg_combinebackup.c:1167 reconstruct.c:525 reconstruct.c:640 #: write_manifest.c:250 #, c-format msgid "could not open file \"%s\": %m" msgstr "konnte Datei »%s« nicht öffnen: %m" -#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:759 +#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:761 #: write_manifest.c:260 #, c-format msgid "could not write file \"%s\": %m" @@ -101,7 +101,7 @@ msgstr "konnte Datei »%s« nicht fsyncen: %m" #: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 -#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:852 #, c-format msgid "out of memory" msgstr "Speicher aufgebraucht" @@ -138,7 +138,7 @@ #: ../../common/file_utils.c:120 ../../common/file_utils.c:566 #: backup_label.c:187 load_manifest.c:133 pg_combinebackup.c:676 #: pg_combinebackup.c:1131 pg_combinebackup.c:1383 reconstruct.c:204 -#: reconstruct.c:421 +#: reconstruct.c:422 #, c-format msgid "could not stat file \"%s\": %m" msgstr "konnte »stat« für Datei »%s« nicht ausführen: %m" @@ -165,255 +165,255 @@ msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "konnte Datei »%s« nicht in »%s« umbenennen: %m" -#: ../../common/jsonapi.c:2121 +#: ../../common/jsonapi.c:2124 msgid "Recursive descent parser cannot use incremental lexer." msgstr "Parser mit rekursivem Abstieg kann inkrementellen Lexer nicht benutzen." -#: ../../common/jsonapi.c:2123 +#: ../../common/jsonapi.c:2126 msgid "Incremental parser requires incremental lexer." msgstr "Inkrementeller Parser benötigt inkrementellen Lexer." -#: ../../common/jsonapi.c:2125 +#: ../../common/jsonapi.c:2128 msgid "JSON nested too deep, maximum permitted depth is 6400." msgstr "JSON zu tief geschachtelt, maximale erlaubte Tiefe ist 6400." -#: ../../common/jsonapi.c:2127 +#: ../../common/jsonapi.c:2130 #, c-format msgid "Escape sequence \"\\%.*s\" is invalid." msgstr "Escape-Sequenz »\\%.*s« ist nicht gültig." -#: ../../common/jsonapi.c:2131 +#: ../../common/jsonapi.c:2134 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Zeichen mit Wert 0x%02x muss escapt werden." -#: ../../common/jsonapi.c:2135 +#: ../../common/jsonapi.c:2138 #, c-format msgid "Expected end of input, but found \"%.*s\"." msgstr "Ende der Eingabe erwartet, aber »%.*s« gefunden." -#: ../../common/jsonapi.c:2138 +#: ../../common/jsonapi.c:2141 #, c-format msgid "Expected array element or \"]\", but found \"%.*s\"." msgstr "Array-Element oder »]« erwartet, aber »%.*s« gefunden." -#: ../../common/jsonapi.c:2141 +#: ../../common/jsonapi.c:2144 #, c-format msgid "Expected \",\" or \"]\", but found \"%.*s\"." msgstr "»,« oder »]« erwartet, aber »%.*s« gefunden." -#: ../../common/jsonapi.c:2144 +#: ../../common/jsonapi.c:2147 #, c-format msgid "Expected \":\", but found \"%.*s\"." msgstr "»:« erwartet, aber »%.*s« gefunden." -#: ../../common/jsonapi.c:2147 +#: ../../common/jsonapi.c:2150 #, c-format msgid "Expected JSON value, but found \"%.*s\"." msgstr "JSON-Wert erwartet, aber »%.*s« gefunden." -#: ../../common/jsonapi.c:2150 +#: ../../common/jsonapi.c:2153 msgid "The input string ended unexpectedly." msgstr "Die Eingabezeichenkette endete unerwartet." -#: ../../common/jsonapi.c:2152 +#: ../../common/jsonapi.c:2155 #, c-format msgid "Expected string or \"}\", but found \"%.*s\"." msgstr "Zeichenkette oder »}« erwartet, aber »%.*s« gefunden." -#: ../../common/jsonapi.c:2155 +#: ../../common/jsonapi.c:2158 #, c-format msgid "Expected \",\" or \"}\", but found \"%.*s\"." msgstr "»,« oder »}« erwartet, aber »%.*s« gefunden." -#: ../../common/jsonapi.c:2158 +#: ../../common/jsonapi.c:2161 #, c-format msgid "Expected string, but found \"%.*s\"." msgstr "Zeichenkette erwartet, aber »%.*s« gefunden." -#: ../../common/jsonapi.c:2161 +#: ../../common/jsonapi.c:2164 #, c-format msgid "Token \"%.*s\" is invalid." msgstr "Token »%.*s« ist ungültig." -#: ../../common/jsonapi.c:2164 +#: ../../common/jsonapi.c:2167 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 kann nicht in »text« umgewandelt werden." -#: ../../common/jsonapi.c:2166 +#: ../../common/jsonapi.c:2169 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "Nach »\\u« müssen vier Hexadezimalziffern folgen." -#: ../../common/jsonapi.c:2169 +#: ../../common/jsonapi.c:2172 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." msgstr "Unicode-Escape-Werte können nicht für Code-Punkt-Werte über 007F verwendet werden, wenn die Kodierung nicht UTF8 ist." -#: ../../common/jsonapi.c:2178 +#: ../../common/jsonapi.c:2181 #, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." msgstr "Unicode-Escape-Wert konnte nicht in die Serverkodierung %s umgewandelt werden." -#: ../../common/jsonapi.c:2185 +#: ../../common/jsonapi.c:2188 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Unicode-High-Surrogate darf nicht auf ein High-Surrogate folgen." -#: ../../common/jsonapi.c:2187 +#: ../../common/jsonapi.c:2190 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Unicode-Low-Surrogate muss auf ein High-Surrogate folgen." -#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:854 #, c-format msgid "could not initialize checksum of manifest" msgstr "konnte Prüfsumme des Manifests nicht initialisieren" -#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 +#: ../../common/parse_manifest.c:203 ../../common/parse_manifest.c:260 msgid "manifest ended unexpectedly" msgstr "Manifest endete unerwartet" -#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#: ../../common/parse_manifest.c:209 ../../common/parse_manifest.c:861 #, c-format msgid "could not update checksum of manifest" msgstr "konnte Prüfsumme des Manifests nicht aktualisieren" -#: ../../common/parse_manifest.c:302 +#: ../../common/parse_manifest.c:301 msgid "unexpected object start" msgstr "unerwarteter Objektstart" -#: ../../common/parse_manifest.c:337 +#: ../../common/parse_manifest.c:336 msgid "unexpected object end" msgstr "unerwartetes Objektende" -#: ../../common/parse_manifest.c:366 +#: ../../common/parse_manifest.c:365 msgid "unexpected array start" msgstr "unerwarteter Array-Start" -#: ../../common/parse_manifest.c:391 +#: ../../common/parse_manifest.c:390 msgid "unexpected array end" msgstr "unerwartetes Array-Ende" -#: ../../common/parse_manifest.c:418 +#: ../../common/parse_manifest.c:417 msgid "expected version indicator" msgstr "unerwartete Versionskennzeichnung" -#: ../../common/parse_manifest.c:454 +#: ../../common/parse_manifest.c:453 msgid "unrecognized top-level field" msgstr "unbekanntes Feld auf oberster Ebene" -#: ../../common/parse_manifest.c:473 +#: ../../common/parse_manifest.c:472 msgid "unexpected file field" msgstr "unerwartetes Feld für Datei" -#: ../../common/parse_manifest.c:487 +#: ../../common/parse_manifest.c:486 msgid "unexpected WAL range field" msgstr "unerwartetes Feld für WAL-Bereich" -#: ../../common/parse_manifest.c:493 +#: ../../common/parse_manifest.c:492 msgid "unexpected object field" msgstr "unbekanntes Feld für Objekt" -#: ../../common/parse_manifest.c:583 +#: ../../common/parse_manifest.c:582 msgid "unexpected scalar" msgstr "unerwarteter Skalar" -#: ../../common/parse_manifest.c:609 +#: ../../common/parse_manifest.c:608 msgid "manifest version not an integer" msgstr "Manifestversion ist keine ganze Zahl" -#: ../../common/parse_manifest.c:613 +#: ../../common/parse_manifest.c:612 msgid "unexpected manifest version" msgstr "unerwartete Manifestversion" -#: ../../common/parse_manifest.c:637 +#: ../../common/parse_manifest.c:636 msgid "system identifier in manifest not an integer" msgstr "Systemidentifikator im Manifest ist keine ganze Zahl" -#: ../../common/parse_manifest.c:662 +#: ../../common/parse_manifest.c:661 msgid "missing path name" msgstr "fehlender Pfadname" -#: ../../common/parse_manifest.c:665 +#: ../../common/parse_manifest.c:664 msgid "both path name and encoded path name" msgstr "sowohl Pfadname als auch kodierter Pfadname angegeben" -#: ../../common/parse_manifest.c:667 +#: ../../common/parse_manifest.c:666 msgid "missing size" msgstr "Größenangabe fehlt" -#: ../../common/parse_manifest.c:670 +#: ../../common/parse_manifest.c:669 msgid "checksum without algorithm" msgstr "Prüfsumme ohne Algorithmus" -#: ../../common/parse_manifest.c:684 +#: ../../common/parse_manifest.c:683 msgid "could not decode file name" msgstr "konnte Dateinamen nicht dekodieren" -#: ../../common/parse_manifest.c:694 +#: ../../common/parse_manifest.c:693 msgid "file size is not an integer" msgstr "Dateigröße ist keine ganze Zahl" -#: ../../common/parse_manifest.c:700 pg_combinebackup.c:199 +#: ../../common/parse_manifest.c:699 pg_combinebackup.c:199 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "unbekannter Prüfsummenalgorithmus: »%s«" -#: ../../common/parse_manifest.c:719 +#: ../../common/parse_manifest.c:718 #, c-format msgid "invalid checksum for file \"%s\": \"%s\"" msgstr "ungültige Prüfsumme für Datei »%s«: »%s«" -#: ../../common/parse_manifest.c:762 +#: ../../common/parse_manifest.c:761 msgid "missing timeline" msgstr "Zeitleiste fehlt" -#: ../../common/parse_manifest.c:764 +#: ../../common/parse_manifest.c:763 msgid "missing start LSN" msgstr "Start-LSN fehlt" -#: ../../common/parse_manifest.c:766 +#: ../../common/parse_manifest.c:765 msgid "missing end LSN" msgstr "End-LSN fehlt" -#: ../../common/parse_manifest.c:772 +#: ../../common/parse_manifest.c:771 msgid "timeline is not an integer" msgstr "Zeitleiste ist keine ganze Zahl" -#: ../../common/parse_manifest.c:775 +#: ../../common/parse_manifest.c:774 msgid "could not parse start LSN" msgstr "konnte Start-LSN nicht parsen" -#: ../../common/parse_manifest.c:778 +#: ../../common/parse_manifest.c:777 msgid "could not parse end LSN" msgstr "konnte End-LSN nicht parsen" -#: ../../common/parse_manifest.c:843 +#: ../../common/parse_manifest.c:842 msgid "expected at least 2 lines" msgstr "mindestens 2 Zeilen erwartet" -#: ../../common/parse_manifest.c:846 +#: ../../common/parse_manifest.c:845 msgid "last line not newline-terminated" msgstr "letzte Zeile nicht durch Newline abgeschlossen" -#: ../../common/parse_manifest.c:865 +#: ../../common/parse_manifest.c:864 #, c-format msgid "could not finalize checksum of manifest" msgstr "konnte Prüfsumme des Manifests nicht abschließen" -#: ../../common/parse_manifest.c:869 +#: ../../common/parse_manifest.c:868 #, c-format msgid "manifest has no checksum" msgstr "Manifest hat keine Prüfsumme" -#: ../../common/parse_manifest.c:873 +#: ../../common/parse_manifest.c:872 #, c-format msgid "invalid manifest checksum: \"%s\"" msgstr "ungültige Manifestprüfsumme: »%s«" -#: ../../common/parse_manifest.c:877 +#: ../../common/parse_manifest.c:876 #, c-format msgid "manifest checksum mismatch" msgstr "Manifestprüfsumme stimmt nicht überein" -#: ../../common/parse_manifest.c:892 +#: ../../common/parse_manifest.c:891 #, c-format msgid "could not parse backup manifest: %s" msgstr "konnte Backup-Manifest nicht parsen: %s" @@ -463,13 +463,13 @@ msgid "%s: %s requires %s" msgstr "%s: %s benötigt %s" -#: backup_label.c:162 reconstruct.c:761 write_manifest.c:262 +#: backup_label.c:162 reconstruct.c:763 write_manifest.c:262 #, c-format msgid "could not write file \"%s\": wrote %d of %d" msgstr "konnte Datei »%s« nicht schreiben: %d von %d geschrieben" -#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:721 -#: reconstruct.c:767 write_manifest.c:270 +#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:723 +#: reconstruct.c:769 write_manifest.c:270 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "konnte Prüfsumme der Datei »%s« nicht aktualisieren" @@ -484,7 +484,7 @@ msgid "could not write to file \"%s\", offset %u: wrote %d of %d" msgstr "konnte nicht in Datei »%s«, Position %u schreiben: %d von %d geschrieben" -#: copy_file.c:199 reconstruct.c:784 +#: copy_file.c:199 reconstruct.c:786 #, c-format msgid "could not read from file \"%s\": %m" msgstr "konnte nicht aus Datei »%s« lesen: %m" @@ -509,12 +509,12 @@ msgid "file cloning not supported on this platform" msgstr "Klonen von Dateien wird auf dieser Plattform nicht unterstützt" -#: copy_file.c:278 reconstruct.c:704 +#: copy_file.c:278 reconstruct.c:706 #, c-format msgid "error while copying file range from \"%s\" to \"%s\": %m" msgstr "Fehler beim Kopieren von Dateibereich von »%s« nach »%s«: %m" -#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:724 +#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:726 #, c-format msgid "copy_file_range not supported on this platform" msgstr "copy_file_range wird auf dieser Plattform nicht unterstützt" @@ -539,12 +539,12 @@ msgid "could not read file \"%s\": read %lld of %lld" msgstr "konnte Datei »%s« nicht lesen: %lld von %lld gelesen" -#: load_manifest.c:249 +#: load_manifest.c:248 #, c-format msgid "backup manifest version 1 does not support incremental backup" msgstr "Backup-Manifest Version 1 unterstützt kein inkrementelles Backup" -#: load_manifest.c:281 +#: load_manifest.c:280 #, c-format msgid "duplicate path name in backup manifest: \"%s\"" msgstr "doppelter Pfadname im Backup-Manifest: »%s«" @@ -599,11 +599,16 @@ msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "ungültiges Tablespace-Mapping-Format »%s«, muss »ALTES_VERZ=NEUES_VERZ« sein" -#: pg_combinebackup.c:480 pg_combinebackup.c:484 +#: pg_combinebackup.c:480 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "altes Verzeichnis im Tablespace-Mapping ist kein absoluter Pfad: %s" +#: pg_combinebackup.c:484 +#, c-format +msgid "new directory is not an absolute path in tablespace mapping: %s" +msgstr "neues Verzeichnis im Tablespace-Mapping ist kein absoluter Pfad: %s" + #: pg_combinebackup.c:553 #, c-format msgid "backup at \"%s\" is a full backup, but only the first backup should be a full backup" @@ -868,32 +873,32 @@ msgid "full backup contains unexpected incremental file \"%s\"" msgstr "volles Backup enthält unerwartete inkrementelle Datei »%s«" -#: reconstruct.c:423 +#: reconstruct.c:424 #, c-format msgid "file \"%s\" is too short: expected %llu, found %llu" msgstr "Datei »%s« ist zu kurz: %llu erwartet, %llu gefunden" -#: reconstruct.c:465 +#: reconstruct.c:466 #, c-format msgid "file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)" msgstr "Datei »%s« hat falsche inkrementelle magische Zahl (0x%x, erwartet 0x%x)" -#: reconstruct.c:471 +#: reconstruct.c:472 #, c-format msgid "file \"%s\" has block count %u in excess of segment size %u" msgstr "Datei »%s« hat Blockzahl %u, was die Segmentgröße %u überschreitet" -#: reconstruct.c:478 +#: reconstruct.c:479 #, c-format msgid "file \"%s\" has truncation block length %u in excess of segment size %u" msgstr "Datei »%s« hat Truncation-Blocklänge %u, was die Segmentgröße %u überschreitet" -#: reconstruct.c:542 +#: reconstruct.c:544 #, c-format msgid "could not read file \"%s\": read %d of %u" msgstr "konnte Datei »%s« nicht lesen: %d von %u gelesen" -#: reconstruct.c:786 +#: reconstruct.c:788 #, c-format msgid "could not read from file \"%s\", offset %llu: read %d of %d" msgstr "konnte nicht aus Datei »%s«, Position %llu lesen: %d von %d gelesen" diff -Nru postgresql-17-17.7/src/bin/pg_combinebackup/po/es.po postgresql-17-17.8/src/bin/pg_combinebackup/po/es.po --- postgresql-17-17.7/src/bin/pg_combinebackup/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_combinebackup/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:39+0000\n" +"POT-Creation-Date: 2026-02-06 23:36+0000\n" "PO-Revision-Date: 2024-11-16 09:07+0100\n" "Last-Translator: Álvaro Herrera \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -604,11 +604,16 @@ msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "formato de mapeo de tablespace «%s» no válido, debe ser «ANTIGUO=NUEVO»" -#: pg_combinebackup.c:480 pg_combinebackup.c:484 +#: pg_combinebackup.c:480 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "directorio antiguo no es una ruta absoluta en mapeo de tablespace: %s" +#: pg_combinebackup.c:484 +#, c-format +msgid "new directory is not an absolute path in tablespace mapping: %s" +msgstr "directorio nuevo no es una ruta absoluta en mapeo de tablespace: %s" + #: pg_combinebackup.c:553 #, c-format msgid "backup at \"%s\" is a full backup, but only the first backup should be a full backup" diff -Nru postgresql-17-17.7/src/bin/pg_combinebackup/po/ru.po postgresql-17-17.8/src/bin/pg_combinebackup/po/ru.po --- postgresql-17-17.7/src/bin/pg_combinebackup/po/ru.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_combinebackup/po/ru.po 2026-02-09 21:51:54.000000000 +0000 @@ -1,10 +1,10 @@ -# SPDX-FileCopyrightText: 2024, 2025 Alexander Lakhin +# SPDX-FileCopyrightText: 2024, 2025, 2026 Alexander Lakhin msgid "" msgstr "" "Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-09 06:28+0200\n" -"PO-Revision-Date: 2024-11-09 08:04+0300\n" +"POT-Creation-Date: 2026-02-07 11:39+0200\n" +"PO-Revision-Date: 2026-02-07 09:22+0200\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -618,13 +618,20 @@ "сопоставление табл. пространства записано неверно: \"%s\"; должно быть " "\"СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ\"" -#: pg_combinebackup.c:480 pg_combinebackup.c:484 +#: pg_combinebackup.c:480 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "" "старый каталог в сопоставлении табл. пространства задан не абсолютным путём: " "%s" +#: pg_combinebackup.c:484 +#, c-format +msgid "new directory is not an absolute path in tablespace mapping: %s" +msgstr "" +"новый каталог в сопоставлении табл. пространства задан не абсолютным путём: " +"%s" + #: pg_combinebackup.c:553 #, c-format msgid "" diff -Nru postgresql-17-17.7/src/bin/pg_combinebackup/po/sv.po postgresql-17-17.8/src/bin/pg_combinebackup/po/sv.po --- postgresql-17-17.7/src/bin/pg_combinebackup/po/sv.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_combinebackup/po/sv.po 2026-02-09 21:51:54.000000000 +0000 @@ -1,14 +1,14 @@ # Swedish message translation file for pg_combinebackup # Copyright (C) 2024 PostgreSQL Global Development Group # This file is distributed under the same license as the pg_combinebackup (PostgreSQL) package. -# Dennis Björklund , 2024, 2025. +# Dennis Björklund , 2024, 2025, 2026. # msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-02-12 13:52+0000\n" -"PO-Revision-Date: 2025-02-12 20:37+0100\n" +"POT-Creation-Date: 2026-02-06 23:36+0000\n" +"PO-Revision-Date: 2026-02-07 09:26+0100\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -43,7 +43,7 @@ msgstr "kunde inte öppna filen \"%s\" för läsning: %m" #: ../../common/controldata_utils.c:110 copy_file.c:150 load_manifest.c:161 -#: load_manifest.c:199 pg_combinebackup.c:1400 reconstruct.c:540 +#: load_manifest.c:199 pg_combinebackup.c:1400 reconstruct.c:542 #, c-format msgid "could not read file \"%s\": %m" msgstr "kunde inte läsa fil \"%s\": %m" @@ -55,7 +55,7 @@ #: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 #: backup_label.c:174 copy_file.c:68 pg_combinebackup.c:538 -#: pg_combinebackup.c:1175 reconstruct.c:369 reconstruct.c:740 +#: pg_combinebackup.c:1175 reconstruct.c:369 reconstruct.c:742 #: write_manifest.c:187 #, c-format msgid "could not close file \"%s\": %m" @@ -83,13 +83,13 @@ #: ../../common/file_utils.c:480 backup_label.c:143 copy_file.c:66 #: copy_file.c:139 copy_file.c:171 copy_file.c:175 copy_file.c:225 #: copy_file.c:268 load_manifest.c:128 pg_combinebackup.c:523 -#: pg_combinebackup.c:1167 reconstruct.c:523 reconstruct.c:638 +#: pg_combinebackup.c:1167 reconstruct.c:525 reconstruct.c:640 #: write_manifest.c:250 #, c-format msgid "could not open file \"%s\": %m" msgstr "kunde inte öppna fil \"%s\": %m" -#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:759 +#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:761 #: write_manifest.c:260 #, c-format msgid "could not write file \"%s\": %m" @@ -139,7 +139,7 @@ #: ../../common/file_utils.c:120 ../../common/file_utils.c:566 #: backup_label.c:187 load_manifest.c:133 pg_combinebackup.c:676 #: pg_combinebackup.c:1131 pg_combinebackup.c:1383 reconstruct.c:204 -#: reconstruct.c:421 +#: reconstruct.c:422 #, c-format msgid "could not stat file \"%s\": %m" msgstr "kunde inte göra stat() på fil \"%s\": %m" @@ -166,99 +166,99 @@ msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" -#: ../../common/jsonapi.c:2121 +#: ../../common/jsonapi.c:2124 msgid "Recursive descent parser cannot use incremental lexer." msgstr "Recursive-descent-parser kan inte använda inkrementell lexer." -#: ../../common/jsonapi.c:2123 +#: ../../common/jsonapi.c:2126 msgid "Incremental parser requires incremental lexer." msgstr "Inkrementell parser kräver en inkrementell lexer." -#: ../../common/jsonapi.c:2125 +#: ../../common/jsonapi.c:2128 msgid "JSON nested too deep, maximum permitted depth is 6400." msgstr "JSON nästlad för djupt, maximal tillåtet djup är 6400." -#: ../../common/jsonapi.c:2127 +#: ../../common/jsonapi.c:2130 #, c-format msgid "Escape sequence \"\\%.*s\" is invalid." msgstr "Escape-sekvens \"\\%.*s\" är ogiltig." -#: ../../common/jsonapi.c:2131 +#: ../../common/jsonapi.c:2134 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Tecken med värde 0x%02x måste escape:as." -#: ../../common/jsonapi.c:2135 +#: ../../common/jsonapi.c:2138 #, c-format msgid "Expected end of input, but found \"%.*s\"." msgstr "Förväntade slut på indata, men hittade \"%.*s\"." -#: ../../common/jsonapi.c:2138 +#: ../../common/jsonapi.c:2141 #, c-format msgid "Expected array element or \"]\", but found \"%.*s\"." msgstr "Färväntade array-element eller \"]\", men hittade \"%.*s\"." -#: ../../common/jsonapi.c:2141 +#: ../../common/jsonapi.c:2144 #, c-format msgid "Expected \",\" or \"]\", but found \"%.*s\"." msgstr "Förväntade \",\" eller \"]\", men hittade \"%.*s\"." -#: ../../common/jsonapi.c:2144 +#: ../../common/jsonapi.c:2147 #, c-format msgid "Expected \":\", but found \"%.*s\"." msgstr "Förväntade sig \":\" men hittade \"%.*s\"." -#: ../../common/jsonapi.c:2147 +#: ../../common/jsonapi.c:2150 #, c-format msgid "Expected JSON value, but found \"%.*s\"." msgstr "Förväntade JSON-värde, men hittade \"%.*s\"." -#: ../../common/jsonapi.c:2150 +#: ../../common/jsonapi.c:2153 msgid "The input string ended unexpectedly." msgstr "Indatasträngen avslutades oväntat." -#: ../../common/jsonapi.c:2152 +#: ../../common/jsonapi.c:2155 #, c-format msgid "Expected string or \"}\", but found \"%.*s\"." msgstr "Färväntade sträng eller \"}\", men hittade \"%.*s\"." -#: ../../common/jsonapi.c:2155 +#: ../../common/jsonapi.c:2158 #, c-format msgid "Expected \",\" or \"}\", but found \"%.*s\"." msgstr "Förväntade sig \",\" eller \"}\" men hittade \"%.*s\"." -#: ../../common/jsonapi.c:2158 +#: ../../common/jsonapi.c:2161 #, c-format msgid "Expected string, but found \"%.*s\"." msgstr "Förväntade sträng, men hittade \"%.*s\"." -#: ../../common/jsonapi.c:2161 +#: ../../common/jsonapi.c:2164 #, c-format msgid "Token \"%.*s\" is invalid." msgstr "Token \"%.*s\" är ogiltig." -#: ../../common/jsonapi.c:2164 +#: ../../common/jsonapi.c:2167 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 kan inte konverteras till text." -#: ../../common/jsonapi.c:2166 +#: ../../common/jsonapi.c:2169 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "\"\\u\" måste följas av fyra hexdecimala siffror." -#: ../../common/jsonapi.c:2169 +#: ../../common/jsonapi.c:2172 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." msgstr "Escape-värden för unicode kan inte användas för kodpunkter med värde över 007F när kodningen inte är UTF8." -#: ../../common/jsonapi.c:2178 +#: ../../common/jsonapi.c:2181 #, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." msgstr "Escape-värde för unicode kan inte översättas till serverns kodning %s." -#: ../../common/jsonapi.c:2185 +#: ../../common/jsonapi.c:2188 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Unicodes övre surrogathalva får inte komma efter en övre surrogathalva." -#: ../../common/jsonapi.c:2187 +#: ../../common/jsonapi.c:2190 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Unicodes lägre surrogathalva måste följa en övre surrogathalva." @@ -464,13 +464,13 @@ msgid "%s: %s requires %s" msgstr "%s: %s kräver %s" -#: backup_label.c:162 reconstruct.c:761 write_manifest.c:262 +#: backup_label.c:162 reconstruct.c:763 write_manifest.c:262 #, c-format msgid "could not write file \"%s\": wrote %d of %d" msgstr "kunde inte skriva fil \"%s\": skrev %d av %d" -#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:721 -#: reconstruct.c:767 write_manifest.c:270 +#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:723 +#: reconstruct.c:769 write_manifest.c:270 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "kunde inte uppdatera kontrollsumma för filen \"%s\"" @@ -485,7 +485,7 @@ msgid "could not write to file \"%s\", offset %u: wrote %d of %d" msgstr "kunde inte skriva till fil \"%s\", offset %u: skrev %d av %d" -#: copy_file.c:199 reconstruct.c:784 +#: copy_file.c:199 reconstruct.c:786 #, c-format msgid "could not read from file \"%s\": %m" msgstr "kunde inte läsa från fil \"%s\": %m" @@ -510,12 +510,12 @@ msgid "file cloning not supported on this platform" msgstr "filkloning stöds inte på denna plattform" -#: copy_file.c:278 reconstruct.c:704 +#: copy_file.c:278 reconstruct.c:706 #, c-format msgid "error while copying file range from \"%s\" to \"%s\": %m" msgstr "fel vid kopiering av filintervall från \"%s\" till \"%s\": %m" -#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:724 +#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:726 #, c-format msgid "copy_file_range not supported on this platform" msgstr "copy_file_range stöds inte på denna plattform" @@ -600,11 +600,16 @@ msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "ogiltigt tablespace-mappningsformat \"%s\", måste vara \"OLDDIR=NEWDIR\"" -#: pg_combinebackup.c:480 pg_combinebackup.c:484 +#: pg_combinebackup.c:480 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "gammal katalog är inte en absolut sökväg i tablespace-mappning: %s" +#: pg_combinebackup.c:484 +#, c-format +msgid "new directory is not an absolute path in tablespace mapping: %s" +msgstr "ny katalog är inte en absolut sökväg i tablespace-mappning: %s" + #: pg_combinebackup.c:553 #, c-format msgid "backup at \"%s\" is a full backup, but only the first backup should be a full backup" @@ -865,32 +870,32 @@ msgid "full backup contains unexpected incremental file \"%s\"" msgstr "full backup innehåller in oväntad inkrementell fil \"%s\"" -#: reconstruct.c:423 +#: reconstruct.c:424 #, c-format msgid "file \"%s\" is too short: expected %llu, found %llu" msgstr "filen \"%s\" är för kort: förväntade %llu, hittade %llu" -#: reconstruct.c:465 +#: reconstruct.c:466 #, c-format msgid "file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)" msgstr "filen \"%s\" har ett felaktigt inkrementellt magiskt nummer (0x%x, förväntade 0x%x)" -#: reconstruct.c:471 +#: reconstruct.c:472 #, c-format msgid "file \"%s\" has block count %u in excess of segment size %u" msgstr "filen \"%s\" har ett blockantal %u som är större än segmentstorleken %u" -#: reconstruct.c:478 +#: reconstruct.c:479 #, c-format msgid "file \"%s\" has truncation block length %u in excess of segment size %u" msgstr "filen \"%s\" trunkeringsblocklängd %u som är större än segmentstorleken %u" -#: reconstruct.c:542 +#: reconstruct.c:544 #, c-format msgid "could not read file \"%s\": read %d of %u" msgstr "kunde inte läsa filen \"%s\": läste %d av %u" -#: reconstruct.c:786 +#: reconstruct.c:788 #, c-format msgid "could not read from file \"%s\", offset %llu: read %d of %d" msgstr "kunde inte läsa från filen \"%s\", offset %llu: läste %d av %d" diff -Nru postgresql-17-17.7/src/bin/pg_combinebackup/t/011_ib_truncation.pl postgresql-17-17.8/src/bin/pg_combinebackup/t/011_ib_truncation.pl --- postgresql-17-17.7/src/bin/pg_combinebackup/t/011_ib_truncation.pl 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_combinebackup/t/011_ib_truncation.pl 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,101 @@ +# Copyright (c) 2025-2026, PostgreSQL Global Development Group +# +# This test aims to validate that the calculated truncation block never exceeds +# the segment size. + +use strict; +use warnings FATAL => 'all'; +use PostgreSQL::Test::Cluster; +use PostgreSQL::Test::Utils; +use Test::More; + +# Initialize primary node +my $primary = PostgreSQL::Test::Cluster->new('primary'); +$primary->init(has_archiving => 1, allows_streaming => 1); +$primary->append_conf('postgresql.conf', 'summarize_wal = on'); +$primary->start; + +# Backup locations +my $backup_path = $primary->backup_dir; +my $full_backup = "$backup_path/full"; + +# To avoid using up lots of disk space in the CI/buildfarm environment, this +# test will only find the issue when run with a small RELSEG_SIZE. As of this +# writing, one of the CI runs is configured using --with-segsize-blocks=6, and +# we aim to have this test check for the issue only in that configuration. +my $target_blocks = 6; +my $block_size = $primary->safe_psql('postgres', + "SELECT current_setting('block_size')::int;"); + +# We'll have two blocks more than the target number of blocks (one will +# survive the subsequent truncation). +my $target_rows = int($target_blocks + 2); +my $rows_after_truncation = int($target_rows - 1); + +# Create a test table. STORAGE PLAIN prevents compression and TOASTing of +# repetitive data, ensuring predictable row sizes. +$primary->safe_psql( + 'postgres', q{ + CREATE TABLE t ( + id int, + data text STORAGE PLAIN + ); +}); + +# The tuple size should be enough to prevent two tuples from being on the same +# page. Since the template string has a length of 32 bytes, it's enough to +# repeat it (block_size / (2*32)) times. +$primary->safe_psql( + 'postgres', + "INSERT INTO t + SELECT i, + repeat('0123456789ABCDEF0123456789ABCDEF', ($block_size / (2*32))) + FROM generate_series(1, $target_rows) i;" +); + +# Make sure hint bits are set. +$primary->safe_psql('postgres', 'VACUUM t;'); + +# Verify that the relation is as large as was desired. +my $t_blocks = $primary->safe_psql('postgres', + "SELECT pg_relation_size('t') / current_setting('block_size')::int;"); +cmp_ok($t_blocks, '>', $target_blocks, 'target block size exceeded'); + +# Take a full base backup +$primary->backup('full'); + +# Delete rows at the logical end of the table, creating removable pages. +$primary->safe_psql('postgres', + "DELETE FROM t WHERE id > ($rows_after_truncation);"); + +# VACUUM the table. TRUNCATE is enabled by default, and is just mentioned here +# for emphasis. +$primary->safe_psql('postgres', 'VACUUM (TRUNCATE) t;'); + +# Verify expected length after truncation. +$t_blocks = $primary->safe_psql('postgres', + "SELECT pg_relation_size('t') / current_setting('block_size')::int;"); +is($t_blocks, $rows_after_truncation, 'post-truncation row count as expected'); +cmp_ok($t_blocks, '>', $target_blocks, + 'post-truncation block count as expected'); + +# Take an incremental backup based on the full backup manifest +$primary->backup('incr', + backup_options => [ '--incremental', "$full_backup/backup_manifest" ]); + +# Combine full and incremental backups. Before the fix, this failed because +# the INCREMENTAL file header contained an incorrect truncation_block value. +my $restored = PostgreSQL::Test::Cluster->new('node2'); +$restored->init_from_backup($primary, 'incr', combine_with_prior => ['full']); +$restored->start(); + +# Check that the restored table contains the correct number of rows +my $restored_count = + $restored->safe_psql('postgres', "SELECT count(*) FROM t;"); +is($restored_count, $rows_after_truncation, + 'Restored backup has correct row count'); + +$primary->stop; +$restored->stop; + +done_testing(); diff -Nru postgresql-17-17.7/src/bin/pg_config/po/es.po postgresql-17-17.8/src/bin/pg_config/po/es.po --- postgresql-17-17.7/src/bin/pg_config/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_config/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: pg_config (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:35+0000\n" +"POT-Creation-Date: 2026-02-06 23:33+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_controldata/po/es.po postgresql-17-17.8/src/bin/pg_controldata/po/es.po --- postgresql-17-17.7/src/bin/pg_controldata/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_controldata/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: pg_controldata (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:40+0000\n" +"POT-Creation-Date: 2026-02-06 23:37+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_ctl/po/es.po postgresql-17-17.8/src/bin/pg_ctl/po/es.po --- postgresql-17-17.7/src/bin/pg_ctl/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_ctl/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: pg_ctl (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:36+0000\n" +"POT-Creation-Date: 2026-02-06 23:34+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_dump/pg_dump.c postgresql-17-17.8/src/bin/pg_dump/pg_dump.c --- postgresql-17-17.7/src/bin/pg_dump/pg_dump.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_dump/pg_dump.c 2026-02-09 21:51:54.000000000 +0000 @@ -5057,7 +5057,9 @@ subrinfo[i].dobj.catId.tableoid = relid; subrinfo[i].dobj.catId.oid = cur_srsubid; AssignDumpId(&subrinfo[i].dobj); - subrinfo[i].dobj.name = pg_strdup(subinfo->dobj.name); + subrinfo[i].dobj.namespace = tblinfo->dobj.namespace; + subrinfo[i].dobj.name = tblinfo->dobj.name; + subrinfo[i].subinfo = subinfo; subrinfo[i].tblinfo = tblinfo; subrinfo[i].srsubstate = PQgetvalue(res, i, i_srsubstate)[0]; if (PQgetisnull(res, i, i_srsublsn)) @@ -5065,8 +5067,6 @@ else subrinfo[i].srsublsn = pg_strdup(PQgetvalue(res, i, i_srsublsn)); - subrinfo[i].subinfo = subinfo; - /* Decide whether we want to dump it */ selectDumpableObject(&(subrinfo[i].dobj), fout); } @@ -5094,7 +5094,7 @@ Assert(fout->dopt->binary_upgrade && fout->remoteVersion >= 170000); - tag = psprintf("%s %s", subinfo->dobj.name, subrinfo->dobj.name); + tag = psprintf("%s %s", subinfo->dobj.name, subrinfo->tblinfo->dobj.name); query = createPQExpBuffer(); @@ -5109,7 +5109,7 @@ "\n-- For binary upgrade, must preserve the subscriber table.\n"); appendPQExpBufferStr(query, "SELECT pg_catalog.binary_upgrade_add_sub_rel_state("); - appendStringLiteralAH(query, subrinfo->dobj.name, fout); + appendStringLiteralAH(query, subinfo->dobj.name, fout); appendPQExpBuffer(query, ", %u, '%c'", subrinfo->tblinfo->dobj.catId.oid, diff -Nru postgresql-17-17.7/src/bin/pg_dump/pg_dump_sort.c postgresql-17-17.8/src/bin/pg_dump/pg_dump_sort.c --- postgresql-17-17.7/src/bin/pg_dump/pg_dump_sort.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_dump/pg_dump_sort.c 2026-02-09 21:51:54.000000000 +0000 @@ -453,6 +453,17 @@ if (cmpval != 0) return cmpval; } + else if (obj1->objType == DO_SUBSCRIPTION_REL) + { + SubRelInfo *srobj1 = *(SubRelInfo *const *) p1; + SubRelInfo *srobj2 = *(SubRelInfo *const *) p2; + + /* Sort by subscription name, since (namespace, name) match the rel */ + cmpval = strcmp(srobj1->subinfo->dobj.name, + srobj2->subinfo->dobj.name); + if (cmpval != 0) + return cmpval; + } /* * Shouldn't get here except after catalog corruption, but if we do, sort diff -Nru postgresql-17-17.7/src/bin/pg_dump/po/es.po postgresql-17-17.8/src/bin/pg_dump/po/es.po --- postgresql-17-17.7/src/bin/pg_dump/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_dump/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: pg_dump (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:38+0000\n" +"POT-Creation-Date: 2026-02-06 23:36+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -1279,8 +1279,8 @@ msgid "reconnection failed: %s" msgstr "falló la reconexión: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:808 pg_dump_sort.c:1440 -#: pg_dump_sort.c:1460 pg_dumpall.c:1798 pg_dumpall.c:1882 +#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:808 pg_dump_sort.c:1451 +#: pg_dump_sort.c:1471 pg_dumpall.c:1798 pg_dumpall.c:1882 #, c-format msgid "%s" msgstr "%s" @@ -2512,39 +2512,39 @@ msgid "%s filter for \"%s\" is not allowed" msgstr "el filtro %s para «%s» no está permitido" -#: pg_dump_sort.c:648 +#: pg_dump_sort.c:659 #, c-format msgid "invalid dumpId %d" msgstr "dumpId %d no válido" -#: pg_dump_sort.c:654 +#: pg_dump_sort.c:665 #, c-format msgid "invalid dependency %d" msgstr "dependencia %d no válida" -#: pg_dump_sort.c:818 +#: pg_dump_sort.c:829 #, c-format msgid "could not identify dependency loop" msgstr "no se pudo identificar bucle de dependencia" -#: pg_dump_sort.c:1436 +#: pg_dump_sort.c:1447 #, c-format msgid "there are circular foreign-key constraints on this table:" msgid_plural "there are circular foreign-key constraints among these tables:" msgstr[0] "hay restricciones de llave foránea circulares en la siguiente tabla:" msgstr[1] "hay restricciones de llave foránea circulares entre las siguientes tablas:" -#: pg_dump_sort.c:1441 +#: pg_dump_sort.c:1452 #, c-format msgid "You might not be able to restore the dump without using --disable-triggers or temporarily dropping the constraints." msgstr "Puede no ser capaz de restaurar el respaldo sin usar --disable-triggers o temporalmente eliminar las restricciones." -#: pg_dump_sort.c:1442 +#: pg_dump_sort.c:1453 #, c-format msgid "Consider using a full dump instead of a --data-only dump to avoid this problem." msgstr "Considere usar un volcado completo en lugar de --data-only para evitar este problema." -#: pg_dump_sort.c:1454 +#: pg_dump_sort.c:1465 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "no se pudo resolver el bucle de dependencias entre los siguientes elementos:" diff -Nru postgresql-17-17.7/src/bin/pg_dump/po/ru.po postgresql-17-17.8/src/bin/pg_dump/po/ru.po --- postgresql-17-17.7/src/bin/pg_dump/po/ru.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_dump/po/ru.po 2026-02-09 21:51:54.000000000 +0000 @@ -5,12 +5,12 @@ # Oleg Bartunov , 2004. # Sergey Burladyan , 2012. # Dmitriy Olshevskiy , 2014. -# SPDX-FileCopyrightText: 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Alexander Lakhin +# SPDX-FileCopyrightText: 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026 Alexander Lakhin msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-09 06:28+0200\n" +"POT-Creation-Date: 2026-02-07 11:39+0200\n" "PO-Revision-Date: 2025-09-04 22:18+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -1321,8 +1321,8 @@ msgid "reconnection failed: %s" msgstr "переподключиться не удалось: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:808 pg_dump_sort.c:1440 -#: pg_dump_sort.c:1460 pg_dumpall.c:1798 pg_dumpall.c:1882 +#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:808 pg_dump_sort.c:1451 +#: pg_dump_sort.c:1471 pg_dumpall.c:1798 pg_dumpall.c:1882 #, c-format msgid "%s" msgstr "%s" @@ -2702,22 +2702,22 @@ msgid "%s filter for \"%s\" is not allowed" msgstr "фильтр %s для \"%s\" не допускается" -#: pg_dump_sort.c:648 +#: pg_dump_sort.c:659 #, c-format msgid "invalid dumpId %d" msgstr "неверный dumpId %d" -#: pg_dump_sort.c:654 +#: pg_dump_sort.c:665 #, c-format msgid "invalid dependency %d" msgstr "неверная зависимость %d" -#: pg_dump_sort.c:818 +#: pg_dump_sort.c:829 #, c-format msgid "could not identify dependency loop" msgstr "не удалось определить цикл зависимостей" -#: pg_dump_sort.c:1436 +#: pg_dump_sort.c:1447 #, c-format msgid "there are circular foreign-key constraints on this table:" msgid_plural "there are circular foreign-key constraints among these tables:" @@ -2725,7 +2725,7 @@ msgstr[1] "в следующих таблицах зациклены ограничения внешних ключей:" msgstr[2] "в следующих таблицах зациклены ограничения внешних ключей:" -#: pg_dump_sort.c:1441 +#: pg_dump_sort.c:1452 #, c-format msgid "" "You might not be able to restore the dump without using --disable-triggers " @@ -2734,7 +2734,7 @@ "Возможно, для восстановления базы потребуется использовать --disable-" "triggers или временно удалить ограничения." -#: pg_dump_sort.c:1442 +#: pg_dump_sort.c:1453 #, c-format msgid "" "Consider using a full dump instead of a --data-only dump to avoid this " @@ -2743,7 +2743,7 @@ "Во избежание этой проблемы, вероятно, стоит выгружать всю базу данных, а не " "только данные (--data-only)." -#: pg_dump_sort.c:1454 +#: pg_dump_sort.c:1465 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "не удалось разрешить цикл зависимостей для следующих объектов:" diff -Nru postgresql-17-17.7/src/bin/pg_dump/po/uk.po postgresql-17-17.8/src/bin/pg_dump/po/uk.po --- postgresql-17-17.7/src/bin/pg_dump/po/uk.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_dump/po/uk.po 2026-02-09 21:51:54.000000000 +0000 @@ -2,8 +2,8 @@ msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-03-29 10:40+0000\n" -"PO-Revision-Date: 2025-04-01 13:47\n" +"POT-Creation-Date: 2025-12-31 02:40+0000\n" +"PO-Revision-Date: 2026-01-02 12:56\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -38,9 +38,9 @@ msgstr "підказка: " #: ../../common/compression.c:132 ../../common/compression.c:141 -#: ../../common/compression.c:150 compress_gzip.c:413 compress_gzip.c:420 -#: compress_io.c:109 compress_lz4.c:780 compress_lz4.c:787 compress_zstd.c:25 -#: compress_zstd.c:31 +#: ../../common/compression.c:150 compress_gzip.c:441 compress_gzip.c:448 +#: compress_io.c:109 compress_lz4.c:800 compress_lz4.c:807 compress_zstd.c:26 +#: compress_zstd.c:32 #, c-format msgid "this build does not support compression with %s" msgstr "ця збірка не підтримує стиснення з %s" @@ -242,330 +242,360 @@ msgid "database name contains a newline or carriage return: \"%s\"\n" msgstr "назва бази даних містить символ нового рядка або повернення каретки: \"%s\"\n" -#: common.c:135 +#: common.c:136 #, c-format msgid "reading extensions" msgstr "читання розширень" -#: common.c:138 +#: common.c:139 #, c-format msgid "identifying extension members" msgstr "ідентифікація членів розширення" -#: common.c:141 +#: common.c:142 #, c-format msgid "reading schemas" msgstr "читання схемів" -#: common.c:150 +#: common.c:151 #, c-format msgid "reading user-defined tables" msgstr "читання користувацьких таблиць" -#: common.c:155 +#: common.c:156 #, c-format msgid "reading user-defined functions" msgstr "читання користувацьких функцій" -#: common.c:159 +#: common.c:160 #, c-format msgid "reading user-defined types" msgstr "читання користувацьких типів" -#: common.c:163 +#: common.c:164 #, c-format msgid "reading procedural languages" msgstr "читання процедурних мов" -#: common.c:166 +#: common.c:167 #, c-format msgid "reading user-defined aggregate functions" msgstr "читання користувацьких агрегатних функцій" -#: common.c:169 +#: common.c:170 #, c-format msgid "reading user-defined operators" msgstr "читання користувацьких операторів" -#: common.c:172 +#: common.c:173 #, c-format msgid "reading user-defined access methods" msgstr "читання користувацьких методів доступу" -#: common.c:175 +#: common.c:176 #, c-format msgid "reading user-defined operator classes" msgstr "читання користувацьких класів операторів" -#: common.c:178 +#: common.c:179 #, c-format msgid "reading user-defined operator families" msgstr "читання користувацьких сімейств операторів" -#: common.c:181 +#: common.c:182 #, c-format msgid "reading user-defined text search parsers" msgstr "читання користувацьких парсерів текстового пошуку" -#: common.c:184 +#: common.c:185 #, c-format msgid "reading user-defined text search templates" msgstr "читання користувацьких шаблонів текстового пошуку" -#: common.c:187 +#: common.c:188 #, c-format msgid "reading user-defined text search dictionaries" msgstr "читання користувацьких словників текстового пошуку" -#: common.c:190 +#: common.c:191 #, c-format msgid "reading user-defined text search configurations" msgstr "читання користувацьких конфігурацій текстового пошуку" -#: common.c:193 +#: common.c:194 #, c-format msgid "reading user-defined foreign-data wrappers" msgstr "читання користувацьких джерел сторонніх даних" -#: common.c:196 +#: common.c:197 #, c-format msgid "reading user-defined foreign servers" msgstr "читання користувацьких сторонніх серверів" -#: common.c:199 +#: common.c:200 #, c-format msgid "reading default privileges" msgstr "читання прав за замовчуванням" -#: common.c:202 +#: common.c:203 #, c-format msgid "reading user-defined collations" msgstr "читання користувацьких сортувань" -#: common.c:205 +#: common.c:206 #, c-format msgid "reading user-defined conversions" msgstr "читання користувацьких перетворень" -#: common.c:208 +#: common.c:209 #, c-format msgid "reading type casts" msgstr "читання типу приведення" -#: common.c:211 +#: common.c:212 #, c-format msgid "reading transforms" msgstr "читання перетворень" -#: common.c:214 +#: common.c:215 #, c-format msgid "reading table inheritance information" msgstr "читання інформації про успадкування таблиці" -#: common.c:217 +#: common.c:218 #, c-format msgid "reading event triggers" msgstr "читання тригерів подій" -#: common.c:221 +#: common.c:222 #, c-format msgid "finding extension tables" msgstr "пошук таблиць розширень" -#: common.c:225 +#: common.c:226 #, c-format msgid "finding inheritance relationships" msgstr "пошук відносин успадкування" -#: common.c:228 +#: common.c:229 #, c-format msgid "reading column info for interesting tables" msgstr "читання інформації про стовпці цікавлячої таблиці" -#: common.c:231 +#: common.c:232 #, c-format msgid "flagging inherited columns in subtables" msgstr "помітка успадкованих стовпців в підтаблицях" -#: common.c:234 +#: common.c:235 #, c-format msgid "reading partitioning data" msgstr "читання даних секції" -#: common.c:237 +#: common.c:238 #, c-format msgid "reading indexes" msgstr "читання індексів" -#: common.c:240 +#: common.c:241 #, c-format msgid "flagging indexes in partitioned tables" msgstr "помітка індексів в секційних таблицях" -#: common.c:243 +#: common.c:244 #, c-format msgid "reading extended statistics" msgstr "читання розширеної статистики" -#: common.c:246 +#: common.c:247 #, c-format msgid "reading constraints" msgstr "читання обмежень" -#: common.c:249 +#: common.c:250 #, c-format msgid "reading triggers" msgstr "читання тригерів" -#: common.c:252 +#: common.c:253 #, c-format msgid "reading rewrite rules" msgstr "читання правил перезаписування" -#: common.c:255 +#: common.c:256 #, c-format msgid "reading policies" msgstr "читання політик" -#: common.c:258 +#: common.c:259 #, c-format msgid "reading publications" msgstr "читання публікацій" -#: common.c:261 +#: common.c:262 #, c-format msgid "reading publication membership of tables" msgstr "читання членства публікації для таблиць" -#: common.c:264 +#: common.c:265 #, c-format msgid "reading publication membership of schemas" msgstr "читання членства публікації для схем" -#: common.c:267 +#: common.c:268 #, c-format msgid "reading subscriptions" msgstr "читання підписок" -#: common.c:270 +#: common.c:271 #, c-format msgid "reading subscription membership of tables" msgstr "читання підписки членства таблиць" -#: common.c:333 +#: common.c:334 #, c-format msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgstr "помилка перевірки, батьківський елемент ідентифікатора OID %u для таблиці \"%s\" (ідентифікатор OID %u) не знайдено" -#: common.c:375 +#: common.c:376 #, c-format msgid "invalid number of parents %d for table \"%s\"" msgstr "неприпустиме число батьківських елементів %d для таблиці \"%s\"" -#: common.c:1098 +#: common.c:1117 #, c-format msgid "could not parse numeric array \"%s\": too many numbers" msgstr "не вдалося проаналізувати числовий масив \"%s\": забагато чисел" -#: common.c:1110 +#: common.c:1129 #, c-format msgid "could not parse numeric array \"%s\": invalid character in number" msgstr "не вдалося проаналізувати числовий масив \"%s\": неприпустимий характер числа" -#: compress_gzip.c:69 compress_gzip.c:183 +#: compress_gzip.c:78 compress_gzip.c:192 #, c-format msgid "could not initialize compression library: %s" msgstr "не вдалося ініціалізувати бібліотеку стиснення: %s" -#: compress_gzip.c:93 +#: compress_gzip.c:102 #, c-format msgid "could not close compression stream: %s" msgstr "не вдалося закрити потік стиснення: %s" -#: compress_gzip.c:113 compress_lz4.c:227 compress_zstd.c:109 +#: compress_gzip.c:122 compress_lz4.c:228 compress_zstd.c:110 #, c-format msgid "could not compress data: %s" msgstr "не вдалося стиснути дані: %s" -#: compress_gzip.c:199 compress_gzip.c:214 +#: compress_gzip.c:208 compress_gzip.c:223 #, c-format msgid "could not uncompress data: %s" msgstr "не вдалося розпакувати дані: %s" -#: compress_gzip.c:221 +#: compress_gzip.c:230 #, c-format msgid "could not close compression library: %s" msgstr "не вдалося закрити бібліотеку стиснення: %s" -#: compress_gzip.c:266 compress_lz4.c:608 compress_lz4.c:628 compress_lz4.c:647 +#: compress_gzip.c:290 compress_lz4.c:513 compress_lz4.c:616 compress_lz4.c:633 #, c-format msgid "could not read from input file: %s" msgstr "не вдалося прочитати з вхідного файлу: %s" -#: compress_gzip.c:295 compress_none.c:97 compress_none.c:139 -#: compress_zstd.c:374 pg_backup_custom.c:651 +#: compress_gzip.c:307 compress_zstd.c:381 +#, c-format +msgid "could not write to file: %s" +msgstr "не вдалося записати у файл: %s" + +#: compress_gzip.c:323 compress_lz4.c:494 compress_none.c:94 +#: compress_none.c:135 compress_zstd.c:314 pg_backup_custom.c:651 #, c-format msgid "could not read from input file: %m" msgstr "не вдалося прочитати з вхідного файлу: %m" -#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:141 -#: compress_zstd.c:372 pg_backup_custom.c:649 pg_backup_directory.c:565 +#: compress_gzip.c:325 compress_lz4.c:635 compress_none.c:137 +#: compress_zstd.c:399 pg_backup_custom.c:649 pg_backup_directory.c:547 #: pg_backup_tar.c:740 pg_backup_tar.c:763 #, c-format msgid "could not read from input file: end of file" msgstr "не вдалося прочитати з вхідного файлу: кінець файлу" -#: compress_lz4.c:157 +#: compress_lz4.c:158 #, c-format msgid "could not create LZ4 decompression context: %s" msgstr "не вдалося створити контекст декомпресії LZ4: %s" -#: compress_lz4.c:180 +#: compress_lz4.c:181 #, c-format msgid "could not decompress: %s" msgstr "не вдалося розпакувати: %s" -#: compress_lz4.c:193 +#: compress_lz4.c:194 #, c-format msgid "could not free LZ4 decompression context: %s" msgstr "не вдалося звільнити контекст декомпресії LZ4: %s" -#: compress_lz4.c:259 compress_lz4.c:266 compress_lz4.c:680 compress_lz4.c:690 +#: compress_lz4.c:260 compress_lz4.c:267 compress_lz4.c:689 compress_lz4.c:704 #, c-format msgid "could not end compression: %s" msgstr "не вдалося закінчити стискання: %s" -#: compress_lz4.c:301 +#: compress_lz4.c:302 #, c-format msgid "could not initialize LZ4 compression: %s" msgstr "не вдалося ініціалізувати стискання LZ4: %s" -#: compress_lz4.c:697 +#: compress_lz4.c:463 compress_lz4.c:581 +#, c-format +msgid "unable to initialize LZ4 library: %s" +msgstr "не вдалося ініціалізувати бібліотеку LZ4: %s" + +#: compress_lz4.c:593 +#, c-format +msgid "error during writing: %s" +msgstr "помилка під час запису: %s" + +#: compress_lz4.c:599 +#, c-format +msgid "error during writing: %m" +msgstr "помилка під час запису: %m" + +#: compress_lz4.c:698 +#, c-format +msgid "could not write to output file: %m" +msgstr "не можливо записати у вихідний файл: %m" + +#: compress_lz4.c:711 #, c-format msgid "could not end decompression: %s" msgstr "не вдалося закінчити розпакування: %s" -#: compress_zstd.c:66 +#: compress_lz4.c:726 compress_none.c:156 +#, c-format +msgid "could not close file: %m" +msgstr "не вдалося закрити файл: %m" + +#: compress_none.c:109 compress_zstd.c:388 +#, c-format +msgid "could not write to file: %m" +msgstr "не вдалося записати в файл: %m" + +#: compress_zstd.c:67 #, c-format msgid "could not set compression parameter \"%s\": %s" msgstr "не вдалося встановити параметр стискання \"%s\": %s" -#: compress_zstd.c:78 compress_zstd.c:232 compress_zstd.c:491 -#: compress_zstd.c:499 +#: compress_zstd.c:79 compress_zstd.c:233 compress_zstd.c:282 +#: compress_zstd.c:372 #, c-format msgid "could not initialize compression library" msgstr "не вдалося ініціалізувати бібліотеку стискання" -#: compress_zstd.c:195 compress_zstd.c:309 +#: compress_zstd.c:196 compress_zstd.c:335 #, c-format msgid "could not decompress data: %s" msgstr "не вдалося розпакувати дані: %s" -#: compress_zstd.c:502 -#, c-format -msgid "unhandled mode \"%s\"" -msgstr "непідтримуваний режим \"%s\"" - #: filter.c:49 #, c-format msgid "could not open filter file \"%s\": %m" @@ -586,32 +616,32 @@ msgid "invalid format in filter read from file \"%s\" on line %d: %s" msgstr "неприпустимий формат прочитанний у файлі \"%s\" в рядку %d: %s" -#: filter.c:241 filter.c:468 +#: filter.c:244 filter.c:471 #, c-format msgid "could not read from filter file \"%s\": %m" msgstr "не вдалося прочитати з файлу фільтра %s: %m" -#: filter.c:244 +#: filter.c:247 msgid "unexpected end of file" msgstr "несподіваний кінець файлу" -#: filter.c:311 +#: filter.c:314 msgid "missing object name pattern" msgstr "відсутній шаблон назви об'єкта" -#: filter.c:422 +#: filter.c:425 msgid "no filter command found (expected \"include\" or \"exclude\")" msgstr "не знайдено команди фільтрів (очікувалося \"include\" або \"exclude\")" -#: filter.c:433 +#: filter.c:436 msgid "invalid filter command (expected \"include\" or \"exclude\")" msgstr "неприпустима команда фільтра (очікувалась \"include\" або \"exclude\")" -#: filter.c:440 +#: filter.c:443 msgid "missing filter object type" msgstr "відсутній тип об'єкту фільтру" -#: filter.c:447 +#: filter.c:450 #, c-format msgid "unsupported filter object type: \"%.*s\"" msgstr "непідтримуваний тип об'єкта фільтру: \"%.*s\"" @@ -693,7 +723,7 @@ msgid "pgpipe: could not accept connection: error code %d" msgstr "pgpipe: не вдалося прийняти зв'язок: код помилки %d" -#: pg_backup_archiver.c:261 pg_backup_archiver.c:1706 +#: pg_backup_archiver.c:261 pg_backup_archiver.c:1725 #, c-format msgid "could not close output file: %m" msgstr "не вдалося закрити вихідний файл: %m" @@ -738,72 +768,72 @@ msgid "implied data-only restore" msgstr "мається на увазі відновлення лише даних" -#: pg_backup_archiver.c:510 +#: pg_backup_archiver.c:521 #, c-format msgid "dropping %s %s" msgstr "видалення %s %s" -#: pg_backup_archiver.c:642 +#: pg_backup_archiver.c:653 #, c-format msgid "could not find where to insert IF EXISTS in statement \"%s\"" msgstr "не вдалося знайти, куди вставити IF EXISTS в інструкції \"%s\"" -#: pg_backup_archiver.c:828 pg_backup_archiver.c:830 +#: pg_backup_archiver.c:847 pg_backup_archiver.c:849 #, c-format msgid "warning from original dump file: %s" msgstr "попередження з оригінального файлу дамп: %s" -#: pg_backup_archiver.c:864 +#: pg_backup_archiver.c:883 #, c-format msgid "creating %s \"%s.%s\"" msgstr "створення %s \"%s.%s\"" -#: pg_backup_archiver.c:867 +#: pg_backup_archiver.c:886 #, c-format msgid "creating %s \"%s\"" msgstr "створення %s \" \"%s\"" -#: pg_backup_archiver.c:917 +#: pg_backup_archiver.c:936 #, c-format msgid "connecting to new database \"%s\"" msgstr "підключення до нової бази даних \"%s\"" -#: pg_backup_archiver.c:944 +#: pg_backup_archiver.c:963 #, c-format msgid "processing %s" msgstr "обробка %s" -#: pg_backup_archiver.c:966 +#: pg_backup_archiver.c:985 #, c-format msgid "processing data for table \"%s.%s\"" msgstr "обробка даних для таблиці \"%s.%s\"" -#: pg_backup_archiver.c:1036 +#: pg_backup_archiver.c:1055 #, c-format msgid "executing %s %s" msgstr "виконання %s %s" -#: pg_backup_archiver.c:1096 +#: pg_backup_archiver.c:1115 #, c-format msgid "disabling triggers for %s" msgstr "вимкнення тригерів для %s" -#: pg_backup_archiver.c:1122 +#: pg_backup_archiver.c:1141 #, c-format msgid "enabling triggers for %s" msgstr "увімкнення тригерів для %s" -#: pg_backup_archiver.c:1187 +#: pg_backup_archiver.c:1206 #, c-format msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine" msgstr "внутрішня помилка - WriteData не може бути викликана поза контекстом підпрограми DataDumper " -#: pg_backup_archiver.c:1379 +#: pg_backup_archiver.c:1398 #, c-format msgid "large-object output not supported in chosen format" msgstr "вивід великих об'єктів не підтримується у вибраному форматі" -#: pg_backup_archiver.c:1442 +#: pg_backup_archiver.c:1461 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" @@ -812,55 +842,55 @@ msgstr[2] "відновлено %d великих об'єктів" msgstr[3] "відновлено %d великих об'єктів" -#: pg_backup_archiver.c:1469 pg_backup_tar.c:683 +#: pg_backup_archiver.c:1488 pg_backup_tar.c:683 #, c-format msgid "restoring large object with OID %u" msgstr "відновлення великого об'єкту з OID %u" -#: pg_backup_archiver.c:1481 +#: pg_backup_archiver.c:1500 #, c-format msgid "could not create large object %u: %s" msgstr "не вдалося створити великий об'єкт %u: %s" -#: pg_backup_archiver.c:1486 pg_dump.c:3889 +#: pg_backup_archiver.c:1505 pg_dump.c:3921 #, c-format msgid "could not open large object %u: %s" msgstr "не вдалося відкрити великий об'єкт %u: %s" -#: pg_backup_archiver.c:1542 +#: pg_backup_archiver.c:1561 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "не вдалося відкрити файл TOC \"%s\": %m" -#: pg_backup_archiver.c:1570 +#: pg_backup_archiver.c:1589 #, c-format msgid "line ignored: %s" msgstr "рядок проігноровано: %s" -#: pg_backup_archiver.c:1577 pg_backup_db.c:609 +#: pg_backup_archiver.c:1596 pg_backup_db.c:609 #, c-format msgid "could not find entry for ID %d" msgstr "не вдалося знайти введення для ID %d" -#: pg_backup_archiver.c:1600 pg_backup_directory.c:219 -#: pg_backup_directory.c:613 +#: pg_backup_archiver.c:1619 pg_backup_directory.c:219 +#: pg_backup_directory.c:595 #, c-format msgid "could not close TOC file: %m" msgstr "не вдалося закрити файл TOC: %m" -#: pg_backup_archiver.c:1687 pg_backup_custom.c:152 pg_backup_directory.c:333 -#: pg_backup_directory.c:600 pg_backup_directory.c:666 -#: pg_backup_directory.c:684 pg_dumpall.c:506 +#: pg_backup_archiver.c:1706 pg_backup_custom.c:152 pg_backup_directory.c:333 +#: pg_backup_directory.c:582 pg_backup_directory.c:648 +#: pg_backup_directory.c:666 pg_dumpall.c:525 #, c-format msgid "could not open output file \"%s\": %m" msgstr "не вдалося відкрити вихідний файл \"%s\": %m" -#: pg_backup_archiver.c:1689 pg_backup_custom.c:158 +#: pg_backup_archiver.c:1708 pg_backup_custom.c:158 #, c-format msgid "could not open output file: %m" msgstr "не вдалося відкрити вихідний файл: %m" -#: pg_backup_archiver.c:1772 +#: pg_backup_archiver.c:1791 #, c-format msgid "wrote %zu byte of large object data (result = %d)" msgid_plural "wrote %zu bytes of large object data (result = %d)" @@ -869,268 +899,268 @@ msgstr[2] "записано %zu байтів даних великого об'єкта (результат = %d)" msgstr[3] "записано %zu байтів даних великого об'єкта (результат = %d)" -#: pg_backup_archiver.c:1778 +#: pg_backup_archiver.c:1797 #, c-format msgid "could not write to large object: %s" msgstr "не вдалося записати до великого об'єкту: %s" -#: pg_backup_archiver.c:1868 +#: pg_backup_archiver.c:1887 #, c-format msgid "while INITIALIZING:" msgstr "при ІНІЦІАЛІЗАЦІЇ:" -#: pg_backup_archiver.c:1873 +#: pg_backup_archiver.c:1892 #, c-format msgid "while PROCESSING TOC:" msgstr "при ОБРОБЦІ TOC:" -#: pg_backup_archiver.c:1878 +#: pg_backup_archiver.c:1897 #, c-format msgid "while FINALIZING:" msgstr "при ЗАВЕРШЕННІ:" -#: pg_backup_archiver.c:1883 +#: pg_backup_archiver.c:1902 #, c-format msgid "from TOC entry %d; %u %u %s %s %s" msgstr "зі входження до TOC %d; %u %u %s %s %s" -#: pg_backup_archiver.c:1959 +#: pg_backup_archiver.c:1978 #, c-format msgid "bad dumpId" msgstr "невірний dumpId" -#: pg_backup_archiver.c:1980 +#: pg_backup_archiver.c:1999 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "невірна таблиця dumpId для елементу даних таблиці" -#: pg_backup_archiver.c:2072 +#: pg_backup_archiver.c:2091 #, c-format msgid "unexpected data offset flag %d" msgstr "неочікувана позначка зсуву даних %d" -#: pg_backup_archiver.c:2085 +#: pg_backup_archiver.c:2104 #, c-format msgid "file offset in dump file is too large" msgstr "зсув файлу у файлі дампу завеликий" -#: pg_backup_archiver.c:2196 +#: pg_backup_archiver.c:2215 #, c-format msgid "directory name too long: \"%s\"" msgstr "ім'я каталогу задовге: \"%s\"" -#: pg_backup_archiver.c:2246 +#: pg_backup_archiver.c:2265 #, c-format msgid "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does not exist)" msgstr "каталог \"%s\" не схожий на архівний (\"toc.dat\" не існує)" -#: pg_backup_archiver.c:2254 pg_backup_custom.c:169 pg_backup_custom.c:812 -#: pg_backup_directory.c:204 pg_backup_directory.c:396 +#: pg_backup_archiver.c:2273 pg_backup_custom.c:169 pg_backup_custom.c:812 +#: pg_backup_directory.c:204 pg_backup_directory.c:390 #, c-format msgid "could not open input file \"%s\": %m" msgstr "не вдалося відкрити вхідний файл \"%s\": %m" -#: pg_backup_archiver.c:2261 pg_backup_custom.c:175 +#: pg_backup_archiver.c:2280 pg_backup_custom.c:175 #, c-format msgid "could not open input file: %m" msgstr "не вдалося відкрити вхідний файл: %m" -#: pg_backup_archiver.c:2267 +#: pg_backup_archiver.c:2286 #, c-format msgid "could not read input file: %m" msgstr "не вдалося прочитати вхідний файл: %m" -#: pg_backup_archiver.c:2269 +#: pg_backup_archiver.c:2288 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "вхідний файл закороткий (прочитано %lu, очікувалось 5)" -#: pg_backup_archiver.c:2301 +#: pg_backup_archiver.c:2320 #, c-format msgid "input file appears to be a text format dump. Please use psql." msgstr "вхідний файл схожий на дамп текстового формату. Будь ласка, використайте psql." -#: pg_backup_archiver.c:2307 +#: pg_backup_archiver.c:2326 #, c-format msgid "input file does not appear to be a valid archive (too short?)" msgstr "вхідний файл не схожий на архівний (закороткий?)" -#: pg_backup_archiver.c:2313 +#: pg_backup_archiver.c:2332 #, c-format msgid "input file does not appear to be a valid archive" msgstr "вхідний файл не схожий на архівний" -#: pg_backup_archiver.c:2322 +#: pg_backup_archiver.c:2341 #, c-format msgid "could not close input file: %m" msgstr "не вдалося закрити вхідний файл: %m" -#: pg_backup_archiver.c:2401 +#: pg_backup_archiver.c:2420 #, c-format msgid "could not open stdout for appending: %m" msgstr "не вдалося відкрити stdout для додавання: %m" -#: pg_backup_archiver.c:2446 +#: pg_backup_archiver.c:2465 #, c-format msgid "unrecognized file format \"%d\"" msgstr "нерозпізнаний формат файлу \"%d\"" -#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4648 +#: pg_backup_archiver.c:2546 pg_backup_archiver.c:4672 #, c-format msgid "finished item %d %s %s" msgstr "завершений об'єкт %d %s %s" -#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4661 +#: pg_backup_archiver.c:2550 pg_backup_archiver.c:4685 #, c-format msgid "worker process failed: exit code %d" msgstr "помилка при робочому процесі: код виходу %d" -#: pg_backup_archiver.c:2653 +#: pg_backup_archiver.c:2672 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC" msgstr "введення ідентифікатора %d поза діапазоном -- можливо, зміст пошкоджений" -#: pg_backup_archiver.c:2736 +#: pg_backup_archiver.c:2755 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "відновлення таблиць WITH OIDS більше не підтримується" -#: pg_backup_archiver.c:2818 +#: pg_backup_archiver.c:2837 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "нерозпізнане кодування \"%s\"" -#: pg_backup_archiver.c:2824 +#: pg_backup_archiver.c:2843 #, c-format msgid "invalid ENCODING item: %s" msgstr "невірний об'єкт КОДУВАННЯ: %s" -#: pg_backup_archiver.c:2842 +#: pg_backup_archiver.c:2861 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "невірний об'єкт STDSTRINGS: %s" -#: pg_backup_archiver.c:2867 +#: pg_backup_archiver.c:2886 #, c-format msgid "schema \"%s\" not found" msgstr "схему \"%s\" не знайдено" -#: pg_backup_archiver.c:2874 +#: pg_backup_archiver.c:2893 #, c-format msgid "table \"%s\" not found" msgstr "таблицю \"%s\" не знайдено" -#: pg_backup_archiver.c:2881 +#: pg_backup_archiver.c:2900 #, c-format msgid "index \"%s\" not found" msgstr "індекс \"%s\" не знайдено" -#: pg_backup_archiver.c:2888 +#: pg_backup_archiver.c:2907 #, c-format msgid "function \"%s\" not found" msgstr "функцію \"%s\" не знайдено" -#: pg_backup_archiver.c:2895 +#: pg_backup_archiver.c:2914 #, c-format msgid "trigger \"%s\" not found" msgstr "тригер \"%s\" не знайдено" -#: pg_backup_archiver.c:3326 +#: pg_backup_archiver.c:3376 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "не вдалося встановити користувача сеансу для \"%s\": %s" -#: pg_backup_archiver.c:3458 +#: pg_backup_archiver.c:3518 #, c-format msgid "could not set \"search_path\" to \"%s\": %s" msgstr "не вдалося встановити \"search_path\" для \"%s\": %s" -#: pg_backup_archiver.c:3519 +#: pg_backup_archiver.c:3579 #, c-format msgid "could not set \"default_tablespace\" to %s: %s" msgstr "не вдалося встановити \"default_tablespace\" для %s: %s" -#: pg_backup_archiver.c:3568 +#: pg_backup_archiver.c:3628 #, c-format msgid "could not set \"default_table_access_method\": %s" msgstr "не вдалося встановити \"default_table_access_method\" для: %s" -#: pg_backup_archiver.c:3617 +#: pg_backup_archiver.c:3677 #, c-format msgid "could not alter table access method: %s" msgstr "не вдалося змінити метод доступу до таблиці: %s" -#: pg_backup_archiver.c:3718 +#: pg_backup_archiver.c:3778 #, c-format msgid "don't know how to set owner for object type \"%s\"" msgstr "невідомо, як встановити власника об'єкту типу \"%s\"" -#: pg_backup_archiver.c:4005 +#: pg_backup_archiver.c:4029 #, c-format msgid "did not find magic string in file header" msgstr "в заголовку файлу не знайдено магічного рядка" -#: pg_backup_archiver.c:4019 +#: pg_backup_archiver.c:4043 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "в заголовку непідтримувана версія (%d.%d)" -#: pg_backup_archiver.c:4024 +#: pg_backup_archiver.c:4048 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "перевірка на розмір цілого числа (%lu) не вдалася" -#: pg_backup_archiver.c:4028 +#: pg_backup_archiver.c:4052 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "архів зроблено на архітектурі з більшими цілими числами, деякі операції можуть не виконуватися" -#: pg_backup_archiver.c:4038 +#: pg_backup_archiver.c:4062 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "очікуваний формат (%d) відрізняється від знайденого формату у файлі (%d)" -#: pg_backup_archiver.c:4060 +#: pg_backup_archiver.c:4084 #, c-format msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" msgstr "архів стиснено, але ця інсталяція не підтримує стискання (%s) -- дані не будуть доступними" -#: pg_backup_archiver.c:4096 +#: pg_backup_archiver.c:4120 #, c-format msgid "invalid creation date in header" msgstr "неприпустима дата створення у заголовку" -#: pg_backup_archiver.c:4230 +#: pg_backup_archiver.c:4254 #, c-format msgid "processing item %d %s %s" msgstr "обробка елементу %d %s %s" -#: pg_backup_archiver.c:4315 +#: pg_backup_archiver.c:4339 #, c-format msgid "entering main parallel loop" msgstr "введення головного паралельного циклу" -#: pg_backup_archiver.c:4326 +#: pg_backup_archiver.c:4350 #, c-format msgid "skipping item %d %s %s" msgstr "пропускається елемент %d %s %s " -#: pg_backup_archiver.c:4335 +#: pg_backup_archiver.c:4359 #, c-format msgid "launching item %d %s %s" msgstr "запуск елементу %d %s %s " -#: pg_backup_archiver.c:4389 +#: pg_backup_archiver.c:4413 #, c-format msgid "finished main parallel loop" msgstr "головний паралельний цикл завершився" -#: pg_backup_archiver.c:4425 +#: pg_backup_archiver.c:4449 #, c-format msgid "processing missed item %d %s %s" msgstr "обробка втраченого елементу %d %s %s" -#: pg_backup_archiver.c:4967 +#: pg_backup_archiver.c:4991 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "не вдалося створити таблицю \"%s\", дані не будуть відновлені" @@ -1217,12 +1247,12 @@ msgid "could not get server_version from libpq" msgstr "не вдалося отримати версію серверу з libpq" -#: pg_backup_db.c:53 pg_dumpall.c:1879 +#: pg_backup_db.c:53 pg_dumpall.c:1924 #, c-format msgid "aborting because of server version mismatch" msgstr "переривання через невідповідність версії серверу" -#: pg_backup_db.c:54 pg_dumpall.c:1880 +#: pg_backup_db.c:54 pg_dumpall.c:1925 #, c-format msgid "server version: %s; %s version: %s" msgstr "версія серверу: %s; версія %s: %s" @@ -1232,7 +1262,7 @@ msgid "already connected to a database" msgstr "вже під'єднано до бази даних" -#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1726 pg_dumpall.c:1828 +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1771 pg_dumpall.c:1873 msgid "Password: " msgstr "Пароль: " @@ -1246,18 +1276,18 @@ msgid "reconnection failed: %s" msgstr "помилка повторного підключення: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:788 pg_dump_sort.c:1213 -#: pg_dump_sort.c:1233 pg_dumpall.c:1753 pg_dumpall.c:1837 +#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:808 pg_dump_sort.c:1451 +#: pg_dump_sort.c:1471 pg_dumpall.c:1798 pg_dumpall.c:1882 #, c-format msgid "%s" msgstr "%s" -#: pg_backup_db.c:271 pg_dumpall.c:1942 pg_dumpall.c:1965 +#: pg_backup_db.c:271 pg_dumpall.c:1987 pg_dumpall.c:2010 #, c-format msgid "query failed: %s" msgstr "запит не вдався: %s" -#: pg_backup_db.c:273 pg_dumpall.c:1943 pg_dumpall.c:1966 +#: pg_backup_db.c:273 pg_dumpall.c:1988 pg_dumpall.c:2011 #, c-format msgid "Query was: %s" msgstr "Запит був: %s" @@ -1295,7 +1325,7 @@ msgid "COPY failed for table \"%s\": %s" msgstr "КОПІЮВАННЯ для таблиці \"%s\" не вдалося: %s" -#: pg_backup_db.c:521 pg_dump.c:2284 +#: pg_backup_db.c:521 pg_dump.c:2313 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "неочікувані зайві результати під час копіювання таблиці \"%s\"" @@ -1323,58 +1353,47 @@ msgid "could not create directory \"%s\": %m" msgstr "не вдалося створити каталог \"%s\": %m" -#: pg_backup_directory.c:357 pg_backup_directory.c:506 -#: pg_backup_directory.c:544 -#, c-format -msgid "could not write to output file: %s" -msgstr "не можливо записати у вихідний файл: %s" - -#: pg_backup_directory.c:375 +#: pg_backup_directory.c:369 #, c-format msgid "could not close data file: %m" msgstr "не вдалося закрити файл даних: %m" -#: pg_backup_directory.c:408 +#: pg_backup_directory.c:402 #, c-format msgid "could not close data file \"%s\": %m" msgstr "не вдалося закрити файл даних \"%s\": %m" -#: pg_backup_directory.c:455 +#: pg_backup_directory.c:454 #, c-format msgid "could not open large object TOC file \"%s\" for input: %m" msgstr "не вдалося відкрити великий об'єкт файлу TOC \"%s\" для вводу: %m" -#: pg_backup_directory.c:466 +#: pg_backup_directory.c:465 #, c-format msgid "invalid line in large object TOC file \"%s\": \"%s\"" msgstr "невірна лінія у великому об'єкті файлу TOC \"%s\": \"%s\"" -#: pg_backup_directory.c:475 +#: pg_backup_directory.c:474 #, c-format msgid "error reading large object TOC file \"%s\"" msgstr "помилка читання великого об'єкту файлу TOC \"%s\"" -#: pg_backup_directory.c:479 +#: pg_backup_directory.c:478 #, c-format msgid "could not close large object TOC file \"%s\": %m" msgstr "не вдалося закрити великий об'єкт файлу TOC \"%s\" %m" -#: pg_backup_directory.c:702 +#: pg_backup_directory.c:684 #, c-format msgid "could not close LO data file: %m" msgstr "не вдалося закрити файл даних LO: %m" -#: pg_backup_directory.c:712 -#, c-format -msgid "could not write to LOs TOC file: %s" -msgstr "не вдалося записати в файл LO TOC: %s" - -#: pg_backup_directory.c:728 +#: pg_backup_directory.c:703 #, c-format msgid "could not close LOs TOC file: %m" msgstr "не вдалося закрити файл LO TOC: %m" -#: pg_backup_directory.c:747 +#: pg_backup_directory.c:722 #, c-format msgid "file name too long: \"%s\"" msgstr "ім'я файлу задовге: \"%s\"" @@ -1469,10 +1488,10 @@ msgid "unrecognized section name: \"%s\"" msgstr "нерозпізнане ім’я розділу: \"%s\"" -#: pg_backup_utils.c:55 pg_dump.c:694 pg_dump.c:711 pg_dumpall.c:370 -#: pg_dumpall.c:380 pg_dumpall.c:388 pg_dumpall.c:396 pg_dumpall.c:403 -#: pg_dumpall.c:413 pg_dumpall.c:488 pg_restore.c:307 pg_restore.c:323 -#: pg_restore.c:337 +#: pg_backup_utils.c:55 pg_dump.c:700 pg_dump.c:717 pg_dumpall.c:379 +#: pg_dumpall.c:389 pg_dumpall.c:397 pg_dumpall.c:405 pg_dumpall.c:412 +#: pg_dumpall.c:422 pg_dumpall.c:507 pg_restore.c:312 pg_restore.c:328 +#: pg_restore.c:342 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." @@ -1482,284 +1501,299 @@ msgid "out of on_exit_nicely slots" msgstr "перевищено межу on_exit_nicely слотів" -#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321 +#: pg_dump.c:715 pg_dumpall.c:387 pg_restore.c:326 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_dump.c:728 pg_restore.c:344 +#: pg_dump.c:734 pg_restore.c:365 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "параметри -s/--schema-only і -a/--data-only не можуть використовуватись разом" -#: pg_dump.c:731 +#: pg_dump.c:737 #, c-format msgid "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "параметри -s/--schema-only і --include-foreign-data не можуть використовуватись разом" -#: pg_dump.c:734 +#: pg_dump.c:740 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "параметр --include-foreign-data не підтримується з паралельним резервним копіюванням" -#: pg_dump.c:737 pg_restore.c:347 +#: pg_dump.c:743 pg_restore.c:368 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "параметри -c/--clean і -a/--data-only не можна використовувати разом" -#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375 +#: pg_dump.c:746 pg_dumpall.c:417 pg_restore.c:396 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "параметр --if-exists потребує параметр -c/--clean" -#: pg_dump.c:747 +#: pg_dump.c:753 #, c-format msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts" msgstr "параметр --on-conflict-do-nothing вимагає опції --inserts, --rows-per-insert або --column-inserts" -#: pg_dump.c:776 +#: pg_dump.c:769 pg_dumpall.c:478 pg_restore.c:359 +#, c-format +msgid "could not generate restrict key" +msgstr "не вдалося згенерувати ключ обмеження" + +#: pg_dump.c:771 pg_dumpall.c:480 pg_restore.c:361 +#, c-format +msgid "invalid restrict key" +msgstr "неприпустимий ключ обмеження" + +#: pg_dump.c:774 +#, c-format +msgid "option --restrict-key can only be used with --format=plain" +msgstr "параметр --restrict-key можна використовувати тільки для --format=plain" + +#: pg_dump.c:796 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "нерозпізнаний алгоритм стискання: \"%s\"" -#: pg_dump.c:783 +#: pg_dump.c:803 #, c-format msgid "invalid compression specification: %s" msgstr "неприпустима специфікація стискання: %s" -#: pg_dump.c:796 +#: pg_dump.c:816 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "параметр стиснення \"%s\" в даний час не підтримується pg_dump" -#: pg_dump.c:808 +#: pg_dump.c:828 #, c-format msgid "parallel backup only supported by the directory format" msgstr "паралельне резервне копіювання підтримується лише з форматом \"каталог\"" -#: pg_dump.c:854 +#: pg_dump.c:874 #, c-format msgid "last built-in OID is %u" msgstr "останній вбудований OID %u" -#: pg_dump.c:863 +#: pg_dump.c:883 #, c-format msgid "no matching schemas were found" msgstr "відповідних схем не знайдено" -#: pg_dump.c:880 +#: pg_dump.c:900 #, c-format msgid "no matching tables were found" msgstr "відповідних таблиць не знайдено" -#: pg_dump.c:908 +#: pg_dump.c:928 #, c-format msgid "no matching extensions were found" msgstr "не знайдено відповідних розширень" -#: pg_dump.c:1092 +#: pg_dump.c:1113 #, c-format msgid "%s dumps a database as a text file or to other formats.\n\n" msgstr "%s зберігає резервну копію бази даних в текстовому файлі або в інших форматах.\n\n" -#: pg_dump.c:1093 pg_dumpall.c:636 pg_restore.c:452 +#: pg_dump.c:1114 pg_dumpall.c:671 pg_restore.c:473 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: pg_dump.c:1094 +#: pg_dump.c:1115 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [DBNAME]\n" -#: pg_dump.c:1096 pg_dumpall.c:639 pg_restore.c:455 +#: pg_dump.c:1117 pg_dumpall.c:674 pg_restore.c:476 #, c-format msgid "\n" "General options:\n" msgstr "\n" "Основні налаштування:\n" -#: pg_dump.c:1097 +#: pg_dump.c:1118 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=FILENAME ім'я файлу виводу або каталогу\n" -#: pg_dump.c:1098 +#: pg_dump.c:1119 #, c-format msgid " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" " plain text (default))\n" msgstr " -F, --format=c|d|t|p формат файлу виводу (спеціальний, каталог, tar,\n" " звичайний текст (за замовчуванням))\n" -#: pg_dump.c:1100 +#: pg_dump.c:1121 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM використовувати ці паралельні завдання для вивантаження\n" -#: pg_dump.c:1101 pg_dumpall.c:641 +#: pg_dump.c:1122 pg_dumpall.c:676 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose детальний режим\n" -#: pg_dump.c:1102 pg_dumpall.c:642 +#: pg_dump.c:1123 pg_dumpall.c:677 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію, потім вийти\n" -#: pg_dump.c:1103 +#: pg_dump.c:1124 #, c-format msgid " -Z, --compress=METHOD[:DETAIL]\n" " compress as specified\n" msgstr " -Z, --compress=METHOD[:DETAIL]\n" " стискати як вказано\n" -#: pg_dump.c:1105 pg_dumpall.c:643 +#: pg_dump.c:1126 pg_dumpall.c:678 #, c-format msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr " --lock-wait-timeout=TIMEOUT помилка після очікування TIMEOUT для блокування таблиці\n" -#: pg_dump.c:1106 pg_dumpall.c:671 +#: pg_dump.c:1127 pg_dumpall.c:706 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync не чекати безпечного збереження змін на диск\n" -#: pg_dump.c:1107 +#: pg_dump.c:1128 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr " --sync-method=METHOD встановити метод для синхронізації файлів на диск\n" -#: pg_dump.c:1108 pg_dumpall.c:644 +#: pg_dump.c:1129 pg_dumpall.c:679 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку, потім вийти\n" -#: pg_dump.c:1110 pg_dumpall.c:645 +#: pg_dump.c:1131 pg_dumpall.c:680 #, c-format msgid "\n" "Options controlling the output content:\n" msgstr "\n" "Параметри, що керують вихідним вмістом:\n" -#: pg_dump.c:1111 pg_dumpall.c:646 +#: pg_dump.c:1132 pg_dumpall.c:681 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only вивантажити лише дані, без схеми\n" -#: pg_dump.c:1112 +#: pg_dump.c:1133 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects включити у вивантаження великі об'єкти\n" -#: pg_dump.c:1113 +#: pg_dump.c:1134 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (те саме, що --large-objects, застарілий)\n" -#: pg_dump.c:1114 +#: pg_dump.c:1135 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -b, --no-large-objects виключити з вивантаження великі об'єкти\n" -#: pg_dump.c:1115 +#: pg_dump.c:1136 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr " --no-blobs (те саме, що --no-large-objects, застарілий)\n" -#: pg_dump.c:1116 pg_restore.c:466 +#: pg_dump.c:1137 pg_restore.c:487 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr " -c, --clean видалити об'єкти бази даних перед перед повторним створенням\n" -#: pg_dump.c:1117 +#: pg_dump.c:1138 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr " -C, --create включити у вивантаження команди для створення бази даних\n" -#: pg_dump.c:1118 +#: pg_dump.c:1139 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=PATTERN вивантажити лише вказане(і) розширення\n" -#: pg_dump.c:1119 pg_dumpall.c:648 +#: pg_dump.c:1140 pg_dumpall.c:683 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=ENCODING вивантажити дані в кодуванні ENCODING\n" -#: pg_dump.c:1120 +#: pg_dump.c:1141 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=PATTERN вивантажити лише вказану схему(и)\n" -#: pg_dump.c:1121 +#: pg_dump.c:1142 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=PATTERN НЕ вивантажувати вказану схему(и)\n" -#: pg_dump.c:1122 +#: pg_dump.c:1143 #, c-format msgid " -O, --no-owner skip restoration of object ownership in\n" " plain-text format\n" msgstr " -O, --no-owner пропускати відновлення володіння об'єктами\n" " при використанні текстового формату\n" -#: pg_dump.c:1124 pg_dumpall.c:652 +#: pg_dump.c:1145 pg_dumpall.c:687 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only вивантажити лише схему, без даних\n" -#: pg_dump.c:1125 +#: pg_dump.c:1146 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr " -S, --superuser=NAME ім'я користувача, яке буде використовуватись у звичайних текстових форматах\n" -#: pg_dump.c:1126 +#: pg_dump.c:1147 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=PATTERN вивантажити лише вказані таблиці\n" -#: pg_dump.c:1127 +#: pg_dump.c:1148 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=PATTERN НЕ вивантажувати вказані таблиці\n" -#: pg_dump.c:1128 pg_dumpall.c:655 +#: pg_dump.c:1149 pg_dumpall.c:690 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges не вивантажувати права (надання/відкликання)\n" -#: pg_dump.c:1129 pg_dumpall.c:656 +#: pg_dump.c:1150 pg_dumpall.c:691 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade для використання лише утилітами оновлення\n" -#: pg_dump.c:1130 pg_dumpall.c:657 +#: pg_dump.c:1151 pg_dumpall.c:692 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr " --column-inserts вивантажити дані у вигляді команд INSERT з іменами стовпців\n" -#: pg_dump.c:1131 pg_dumpall.c:658 +#: pg_dump.c:1152 pg_dumpall.c:693 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr " --disable-dollar-quoting вимкнути цінову пропозицію $, використовувати SQL стандартну цінову пропозицію\n" -#: pg_dump.c:1132 pg_dumpall.c:659 pg_restore.c:483 +#: pg_dump.c:1153 pg_dumpall.c:694 pg_restore.c:504 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr " --disable-triggers вимкнути тригери лише під час відновлення даних\n" -#: pg_dump.c:1133 +#: pg_dump.c:1154 #, c-format msgid " --enable-row-security enable row security (dump only content user has\n" " access to)\n" msgstr " --enable-row-security активувати захист на рівні рядків (вивантажити лише той вміст, до якого\n" " користувач має доступ)\n" -#: pg_dump.c:1135 +#: pg_dump.c:1156 #, c-format msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" msgstr " --exclude-extension=PATTERN НЕ вивантажувати вказане розширення\n" -#: pg_dump.c:1136 +#: pg_dump.c:1157 #, c-format msgid " --exclude-table-and-children=PATTERN\n" " do NOT dump the specified table(s), including\n" @@ -1768,12 +1802,12 @@ " не вивантажувати зазначені таблиці, включно\n" " з дочірніми та секціонованими таблицями\n" -#: pg_dump.c:1139 +#: pg_dump.c:1160 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " --exclude-table-data=PATTERN НЕ вивантажувати дані вказаних таблиць\n" -#: pg_dump.c:1140 +#: pg_dump.c:1161 #, c-format msgid " --exclude-table-data-and-children=PATTERN\n" " do NOT dump data for the specified table(s),\n" @@ -1782,24 +1816,24 @@ " не вивантажувати дані зазначених таблиць,\n" " включно з дочірніми та секціонованими таблицями\n" -#: pg_dump.c:1143 pg_dumpall.c:661 +#: pg_dump.c:1164 pg_dumpall.c:696 #, c-format msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" msgstr " --extra-float-digits=NUM змінити параметр за замовчуванням для extra_float_digits\n" -#: pg_dump.c:1144 +#: pg_dump.c:1165 #, c-format msgid " --filter=FILENAME include or exclude objects and data from dump\n" " based on expressions in FILENAME\n" msgstr " --filter=FILENAME включати або виключати об'єкти та дані з дампу\n" " на основі виразів у FILENAME\n" -#: pg_dump.c:1146 pg_dumpall.c:663 pg_restore.c:487 +#: pg_dump.c:1167 pg_dumpall.c:698 pg_restore.c:508 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists використовувати IF EXISTS під час видалення об'єктів\n" -#: pg_dump.c:1147 +#: pg_dump.c:1168 #, c-format msgid " --include-foreign-data=PATTERN\n" " include data of foreign tables on foreign\n" @@ -1808,101 +1842,106 @@ " включають дані підлеглих таблиць на підлеглих\n" " сервери, що відповідають ШАБЛОНУ\n" -#: pg_dump.c:1150 pg_dumpall.c:664 +#: pg_dump.c:1171 pg_dumpall.c:699 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts вивантажити дані у вигляді команд INSERT, не COPY\n" -#: pg_dump.c:1151 pg_dumpall.c:665 +#: pg_dump.c:1172 pg_dumpall.c:700 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root завантажувати секції через головну таблицю\n" -#: pg_dump.c:1152 pg_dumpall.c:666 +#: pg_dump.c:1173 pg_dumpall.c:701 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments не вивантажувати коментарі\n" -#: pg_dump.c:1153 pg_dumpall.c:667 +#: pg_dump.c:1174 pg_dumpall.c:702 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications не вивантажувати публікації\n" -#: pg_dump.c:1154 pg_dumpall.c:669 +#: pg_dump.c:1175 pg_dumpall.c:704 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels не вивантажувати завдання міток безпеки\n" -#: pg_dump.c:1155 pg_dumpall.c:670 +#: pg_dump.c:1176 pg_dumpall.c:705 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions не вивантажувати підписки\n" -#: pg_dump.c:1156 pg_dumpall.c:672 +#: pg_dump.c:1177 pg_dumpall.c:707 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method не вивантажувати табличні методи доступу\n" -#: pg_dump.c:1157 pg_dumpall.c:673 +#: pg_dump.c:1178 pg_dumpall.c:708 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces не вивантажувати призначення табличних просторів\n" -#: pg_dump.c:1158 pg_dumpall.c:674 +#: pg_dump.c:1179 pg_dumpall.c:709 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression не вивантажувати методи стиснення TOAST\n" -#: pg_dump.c:1159 pg_dumpall.c:675 +#: pg_dump.c:1180 pg_dumpall.c:710 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data не вивантажувати дані таблиць, які не журналюються\n" -#: pg_dump.c:1160 pg_dumpall.c:676 +#: pg_dump.c:1181 pg_dumpall.c:711 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" msgstr " --on-conflict-do-nothing додавати ON CONFLICT DO NOTHING до команди INSERT\n" -#: pg_dump.c:1161 pg_dumpall.c:677 +#: pg_dump.c:1182 pg_dumpall.c:712 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr " --quote-all-identifiers укладати в лапки всі ідентифікатори, а не тільки ключові слова\n" -#: pg_dump.c:1162 pg_dumpall.c:678 +#: pg_dump.c:1183 pg_dumpall.c:713 pg_restore.c:517 +#, c-format +msgid " --restrict-key=RESTRICT_KEY use provided string as psql \\restrict key\n" +msgstr " --restrict-key=RESTRICT_KEY використовувати вказаний рядок як ключ psql \\restrict\n" + +#: pg_dump.c:1184 pg_dumpall.c:714 #, c-format msgid " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" msgstr " --rows-per-insert=NROWS кількість рядків для INSERT; вимагає параметру --inserts\n" -#: pg_dump.c:1163 +#: pg_dump.c:1185 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr " --section=SECTION вивантажити вказану секцію (pre-data, data або post-data)\n" -#: pg_dump.c:1164 +#: pg_dump.c:1186 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr " --serializable-deferrable чекати коли вивантаження можна буде виконати без аномалій\n" -#: pg_dump.c:1165 +#: pg_dump.c:1187 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT використовувати під час вивантаження вказаний знімок\n" -#: pg_dump.c:1166 pg_restore.c:497 +#: pg_dump.c:1188 pg_restore.c:519 #, c-format msgid " --strict-names require table and/or schema include patterns to\n" " match at least one entity each\n" msgstr " --strict-names потребувати, щоб при вказівці шаблону включення\n" " таблиці і/або схеми йому відповідав мінімум один об'єкт\n" -#: pg_dump.c:1168 +#: pg_dump.c:1190 #, c-format msgid " --table-and-children=PATTERN dump only the specified table(s), including\n" " child and partition tables\n" msgstr " --table-and-children=PATTERN вивантажувати лише зазначені таблиці,\n" " включно з дочірніми та секціонованими таблицями\n" -#: pg_dump.c:1170 pg_dumpall.c:679 pg_restore.c:500 +#: pg_dump.c:1192 pg_dumpall.c:715 pg_restore.c:522 #, c-format msgid " --use-set-session-authorization\n" " use SET SESSION AUTHORIZATION commands instead of\n" @@ -1911,49 +1950,49 @@ " щоб встановити власника, використати команди SET SESSION AUTHORIZATION,\n" " замість команд ALTER OWNER\n" -#: pg_dump.c:1174 pg_dumpall.c:683 pg_restore.c:504 +#: pg_dump.c:1196 pg_dumpall.c:719 pg_restore.c:526 #, c-format msgid "\n" "Connection options:\n" msgstr "\n" "Налаштування з'єднання:\n" -#: pg_dump.c:1175 +#: pg_dump.c:1197 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=DBNAME ім'я бази даних для вивантаження\n" -#: pg_dump.c:1176 pg_dumpall.c:685 pg_restore.c:505 +#: pg_dump.c:1198 pg_dumpall.c:721 pg_restore.c:527 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME хост серверу баз даних або каталог сокетів\n" -#: pg_dump.c:1177 pg_dumpall.c:687 pg_restore.c:506 +#: pg_dump.c:1199 pg_dumpall.c:723 pg_restore.c:528 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT номер порту сервера бази даних\n" -#: pg_dump.c:1178 pg_dumpall.c:688 pg_restore.c:507 +#: pg_dump.c:1200 pg_dumpall.c:724 pg_restore.c:529 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAME підключатись як вказаний користувач бази даних\n" -#: pg_dump.c:1179 pg_dumpall.c:689 pg_restore.c:508 +#: pg_dump.c:1201 pg_dumpall.c:725 pg_restore.c:530 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ніколи не запитувати пароль\n" -#: pg_dump.c:1180 pg_dumpall.c:690 pg_restore.c:509 +#: pg_dump.c:1202 pg_dumpall.c:726 pg_restore.c:531 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password запитувати пароль завжди (повинно траплятись автоматично)\n" -#: pg_dump.c:1181 pg_dumpall.c:691 +#: pg_dump.c:1203 pg_dumpall.c:727 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROLENAME виконати SET ROLE до вивантаження\n" -#: pg_dump.c:1183 +#: pg_dump.c:1205 #, c-format msgid "\n" "If no database name is supplied, then the PGDATABASE environment\n" @@ -1961,239 +2000,239 @@ msgstr "\n" "Якщо ім'я бази даних не вказано, тоді використовується значення змінної середовища PGDATABASE.\n\n" -#: pg_dump.c:1185 pg_dumpall.c:695 pg_restore.c:516 +#: pg_dump.c:1207 pg_dumpall.c:731 pg_restore.c:538 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Повідомляти про помилки на <%s>.\n" -#: pg_dump.c:1186 pg_dumpall.c:696 pg_restore.c:517 +#: pg_dump.c:1208 pg_dumpall.c:732 pg_restore.c:539 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: pg_dump.c:1205 pg_dumpall.c:518 +#: pg_dump.c:1227 pg_dumpall.c:537 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "вказано неприпустиме клієнтське кодування \"%s\"" -#: pg_dump.c:1353 +#: pg_dump.c:1375 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "паралельні вивантаження для резервних серверів не підтримуються цією версію сервера" -#: pg_dump.c:1418 +#: pg_dump.c:1440 #, c-format msgid "invalid output format \"%s\" specified" msgstr "вказано неприпустимий формат виводу \"%s\"" -#: pg_dump.c:1459 pg_dump.c:1515 pg_dump.c:1568 pg_dumpall.c:1516 +#: pg_dump.c:1481 pg_dump.c:1537 pg_dump.c:1590 pg_dumpall.c:1558 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неправильне повне ім'я (забагато компонентів): %s" -#: pg_dump.c:1467 +#: pg_dump.c:1489 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "не знайдено відповідних схем для візерунку \"%s\"" -#: pg_dump.c:1520 +#: pg_dump.c:1542 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "не знайдено відповідних розширень для шаблону \"%s\"" -#: pg_dump.c:1573 +#: pg_dump.c:1595 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "не знайдено відповідних підлеглих серверів для шаблону \"%s\"" -#: pg_dump.c:1644 +#: pg_dump.c:1666 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "неправильне ім'я зв'язку (забагато компонентів): %s" -#: pg_dump.c:1666 +#: pg_dump.c:1688 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "не знайдено відповідних таблиць для візерунку\"%s\"" -#: pg_dump.c:1693 +#: pg_dump.c:1715 #, c-format msgid "You are currently not connected to a database." msgstr "На даний момент ви від'єднанні від бази даних." -#: pg_dump.c:1696 +#: pg_dump.c:1718 #, c-format msgid "cross-database references are not implemented: %s" msgstr "міжбазові посилання не реалізовані: %s" -#: pg_dump.c:2155 +#: pg_dump.c:2184 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "вивантажування змісту таблиці \"%s.%s\"" -#: pg_dump.c:2265 +#: pg_dump.c:2294 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Помилка вивантажування змісту таблиці \"%s\": помилка в PQgetCopyData()." -#: pg_dump.c:2266 pg_dump.c:2276 +#: pg_dump.c:2295 pg_dump.c:2305 #, c-format msgid "Error message from server: %s" msgstr "Повідомлення про помилку від сервера: %s" -#: pg_dump.c:2267 pg_dump.c:2277 +#: pg_dump.c:2296 pg_dump.c:2306 #, c-format msgid "Command was: %s" msgstr "Команда була: %s" -#: pg_dump.c:2275 +#: pg_dump.c:2304 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Помилка вивантажування змісту таблиці \"%s\": помилка в PQgetResult(). " -#: pg_dump.c:2366 +#: pg_dump.c:2395 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "неправильна кількість полів отриманих з таблиці \"%s\"" -#: pg_dump.c:3068 +#: pg_dump.c:3100 #, c-format msgid "saving database definition" msgstr "збереження визначення бази даних" -#: pg_dump.c:3177 +#: pg_dump.c:3209 #, c-format msgid "unrecognized locale provider: %s" msgstr "нерозпізнаний постачальник локалів: %s" -#: pg_dump.c:3538 +#: pg_dump.c:3570 #, c-format msgid "saving encoding = %s" msgstr "збереження кодування = %s" -#: pg_dump.c:3563 +#: pg_dump.c:3595 #, c-format msgid "saving \"standard_conforming_strings = %s\"" msgstr "збереження \"standard_conforming_strings = %s\"" -#: pg_dump.c:3602 +#: pg_dump.c:3634 #, c-format msgid "could not parse result of current_schemas()" msgstr "не вдалося проаналізувати результат current_schemas()" -#: pg_dump.c:3621 +#: pg_dump.c:3653 #, c-format msgid "saving \"search_path = %s\"" msgstr "збереження \"search_path = %s\"" -#: pg_dump.c:3657 +#: pg_dump.c:3689 #, c-format msgid "reading large objects" msgstr "читання великих об’єктів" -#: pg_dump.c:3878 +#: pg_dump.c:3910 #, c-format msgid "saving large objects \"%s\"" msgstr "збереження великих об’єктів \"%s\"" -#: pg_dump.c:3899 +#: pg_dump.c:3931 #, c-format msgid "error reading large object %u: %s" msgstr "помилка читання великих об’єктів %u: %s" -#: pg_dump.c:4002 +#: pg_dump.c:4034 #, c-format msgid "reading row-level security policies" msgstr "читання політик безпеки на рівні рядків" -#: pg_dump.c:4143 +#: pg_dump.c:4175 #, c-format msgid "unexpected policy command type: %c" msgstr "неочікуваний тип команди в політиці: %c" -#: pg_dump.c:4593 pg_dump.c:5151 pg_dump.c:12365 pg_dump.c:18250 -#: pg_dump.c:18252 pg_dump.c:18874 +#: pg_dump.c:4625 pg_dump.c:5183 pg_dump.c:12499 pg_dump.c:18428 +#: pg_dump.c:18430 pg_dump.c:19052 #, c-format msgid "could not parse %s array" msgstr "не вдалося аналізувати масив %s" -#: pg_dump.c:4807 +#: pg_dump.c:4839 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "підписки не вивантажені через те, що чинний користувач не є суперкористувачем" -#: pg_dump.c:5013 +#: pg_dump.c:5045 #, c-format msgid "subscription with OID %u does not exist" msgstr "підписки %u з OID не існує" -#: pg_dump.c:5020 +#: pg_dump.c:5052 #, c-format msgid "failed sanity check, table with OID %u not found" msgstr "помилка цілісності, таблиця з OID %u не знайдена" -#: pg_dump.c:5583 +#: pg_dump.c:5615 #, c-format msgid "could not find parent extension for %s %s" msgstr "не вдалося знайти батьківський елемент для %s %s" -#: pg_dump.c:5728 +#: pg_dump.c:5760 #, c-format msgid "schema with OID %u does not exist" msgstr "схема з OID %u не існує" -#: pg_dump.c:7210 pg_dump.c:17621 +#: pg_dump.c:7270 pg_dump.c:17794 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "помилка цілісності, за OID %u не вдалося знайти батьківську таблицю послідовності з OID %u" -#: pg_dump.c:7355 +#: pg_dump.c:7415 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "помилка цілісності, OID %u не знайдено в таблиці pg_partitioned_table" -#: pg_dump.c:7586 pg_dump.c:7860 pg_dump.c:8307 pg_dump.c:8921 pg_dump.c:9043 -#: pg_dump.c:9191 +#: pg_dump.c:7646 pg_dump.c:7920 pg_dump.c:8389 pg_dump.c:9003 pg_dump.c:9125 +#: pg_dump.c:9273 #, c-format msgid "unrecognized table OID %u" msgstr "нерозпізнаний OID таблиці %u" -#: pg_dump.c:7590 +#: pg_dump.c:7650 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "неочікувані дані індексу для таблиці \"%s\"" -#: pg_dump.c:8092 +#: pg_dump.c:8174 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "помилка цілісності, за OID %u не вдалося знайти батьківську таблицю для запису pg_rewrite з OID %u" -#: pg_dump.c:8925 +#: pg_dump.c:9007 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "неочікувані дані стовпця для таблиці \"%s\"" -#: pg_dump.c:8954 +#: pg_dump.c:9036 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "неприпустима нумерація стовпців у таблиці \"%s\"" -#: pg_dump.c:9005 +#: pg_dump.c:9087 #, c-format msgid "finding table default expressions" msgstr "пошук виразів за замовчуванням для таблиці" -#: pg_dump.c:9047 +#: pg_dump.c:9129 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "неприпустиме значення adnum %d для таблиці \"%s\"" -#: pg_dump.c:9141 +#: pg_dump.c:9223 #, c-format msgid "finding table check constraints" msgstr "пошук перевірочних обмежень таблиці" -#: pg_dump.c:9195 +#: pg_dump.c:9277 #, 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" @@ -2202,178 +2241,178 @@ msgstr[2] "очікувалось %d обмежень-перевірок для таблиці \"%s\", але знайдено %d" msgstr[3] "очікувалось %d обмежень-перевірок для таблиці \"%s\", але знайдено %d" -#: pg_dump.c:9199 +#: pg_dump.c:9281 #, c-format msgid "The system catalogs might be corrupted." msgstr "Системні каталоги можуть бути пошкоджені." -#: pg_dump.c:9889 +#: pg_dump.c:9971 #, c-format msgid "role with OID %u does not exist" msgstr "роль з OID %u не існує" -#: pg_dump.c:10001 pg_dump.c:10030 +#: pg_dump.c:10083 pg_dump.c:10112 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "непідтримуваний запис в pg_init_privs: %u %u %d" -#: pg_dump.c:10577 +#: pg_dump.c:10659 #, c-format msgid "missing metadata for large objects \"%s\"" msgstr "відсутні метадані для великих об'єктів \"%s\"" -#: pg_dump.c:10860 +#: pg_dump.c:10942 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "typtype типу даних \"%s\" має неприпустимий вигляд" -#: pg_dump.c:12434 +#: pg_dump.c:12568 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "нерозпізнане значення provolatile для функції \"%s\"" -#: pg_dump.c:12484 pg_dump.c:14380 +#: pg_dump.c:12618 pg_dump.c:14514 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "нерозпізнане значення proparallel для функції \"%s\"" -#: pg_dump.c:12614 pg_dump.c:12720 pg_dump.c:12727 +#: pg_dump.c:12748 pg_dump.c:12854 pg_dump.c:12861 #, c-format msgid "could not find function definition for function with OID %u" msgstr "не вдалося знайти визначення функції для функції з OID %u" -#: pg_dump.c:12653 +#: pg_dump.c:12787 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "неприпустиме значення в полі pg_cast.castfunc або pg_cast.castmethod" -#: pg_dump.c:12656 +#: pg_dump.c:12790 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "неприпустиме значення в полі pg_cast.castmethod" -#: pg_dump.c:12746 +#: pg_dump.c:12880 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "неприпустиме визначення перетворення, як мінімум одне з trffromsql і trftosql повинно бути ненульовим" -#: pg_dump.c:12763 +#: pg_dump.c:12897 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "неприпустиме значення в полі pg_transform.trffromsql" -#: pg_dump.c:12784 +#: pg_dump.c:12918 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "неприпустиме значення в полі pg_transform.trftosql" -#: pg_dump.c:12929 +#: pg_dump.c:13063 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "постфіксні оператори більше не підтримуються (оператор \"%s\")" -#: pg_dump.c:13099 +#: pg_dump.c:13233 #, c-format msgid "could not find operator with OID %s" msgstr "не вдалося знайти оператора з OID %s" -#: pg_dump.c:13167 +#: pg_dump.c:13301 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "неприпустимий тип \"%c\" методу доступу \"%s\"" -#: pg_dump.c:13841 pg_dump.c:13909 +#: pg_dump.c:13975 pg_dump.c:14043 #, c-format msgid "unrecognized collation provider: %s" msgstr "нерозпізнаний постачальник правил сортування: %s" -#: pg_dump.c:13850 pg_dump.c:13857 pg_dump.c:13868 pg_dump.c:13878 -#: pg_dump.c:13893 +#: pg_dump.c:13984 pg_dump.c:13991 pg_dump.c:14002 pg_dump.c:14012 +#: pg_dump.c:14027 #, c-format msgid "invalid collation \"%s\"" msgstr "неприпустиме правило сортування \"%s\"" -#: pg_dump.c:14299 +#: pg_dump.c:14433 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "нерозпізнане значення aggfinalmodify для агрегату \"%s\"" -#: pg_dump.c:14355 +#: pg_dump.c:14489 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "нерозпізнане значення aggmfinalmodify для агрегату \"%s\"" -#: pg_dump.c:15072 +#: pg_dump.c:15206 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "нерозпізнаний тип об’єкта у стандартному праві: %d" -#: pg_dump.c:15088 +#: pg_dump.c:15222 #, c-format msgid "could not parse default ACL list (%s)" msgstr "не вдалося проаналізувати стандартний ACL список (%s)" -#: pg_dump.c:15172 +#: pg_dump.c:15306 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "не вдалося аналізувати початковий список ACL (%s) або за замовченням (%s) для об'єкта \"%s\" (%s)" -#: pg_dump.c:15197 +#: pg_dump.c:15331 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "не вдалося аналізувати список ACL (%s) або за замовчуванням (%s) для об'єкту \"%s\" (%s)" -#: pg_dump.c:15740 +#: pg_dump.c:15874 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "запит на отримання визначення перегляду \"%s\" не повернув дані" -#: pg_dump.c:15743 +#: pg_dump.c:15877 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "запит на отримання визначення перегляду \"%s\" повернув більше, ніж одне визначення" -#: pg_dump.c:15750 +#: pg_dump.c:15884 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "визначення перегляду \"%s\" пусте (довжина нуль)" -#: pg_dump.c:15835 +#: pg_dump.c:15969 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS більше не підтримується (таблиця\"%s\")" -#: pg_dump.c:16822 +#: pg_dump.c:16956 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "неприпустиме число стовпців %d для таблиці \"%s\"" -#: pg_dump.c:16900 +#: pg_dump.c:17034 #, c-format msgid "could not parse index statistic columns" msgstr "не вдалося проаналізувати стовпці статистики індексів" -#: pg_dump.c:16902 +#: pg_dump.c:17036 #, c-format msgid "could not parse index statistic values" msgstr "не вдалося проаналізувати значення статистики індексів" -#: pg_dump.c:16904 +#: pg_dump.c:17038 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "невідповідна кількість стовпців і значень для статистики індексів" -#: pg_dump.c:17119 +#: pg_dump.c:17267 #, c-format msgid "missing index for constraint \"%s\"" msgstr "пропущено індекс для обмеження \"%s\"" -#: pg_dump.c:17354 +#: pg_dump.c:17527 #, c-format msgid "unrecognized constraint type: %c" msgstr "нерозпізнаний тип обмеження: %c" -#: pg_dump.c:17455 pg_dump.c:17685 +#: pg_dump.c:17628 pg_dump.c:17858 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" @@ -2382,63 +2421,63 @@ msgstr[2] "запит на отримання даних послідовності \"%s\" повернув %d рядків (очікувалося 1)" msgstr[3] "запит на отримання даних послідовності \"%s\" повернув %d рядків (очікувалося 1)" -#: pg_dump.c:17487 +#: pg_dump.c:17660 #, c-format msgid "unrecognized sequence type: %s" msgstr "нерозпізнаний тип послідовності: %s" -#: pg_dump.c:18002 +#: pg_dump.c:18180 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "помилка запиту на отримання правила \"%s\" для таблиці \"%s\": повернено неправильне число рядків " -#: pg_dump.c:18155 +#: pg_dump.c:18333 #, c-format msgid "could not find referenced extension %u" msgstr "не вдалося знайти згадане розширення %u" -#: pg_dump.c:18254 +#: pg_dump.c:18432 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "невідповідна кількість конфігурацій і умов для розширення" -#: pg_dump.c:18386 +#: pg_dump.c:18564 #, c-format msgid "reading dependency data" msgstr "читання даних залежності" -#: pg_dump.c:18472 +#: pg_dump.c:18650 #, c-format msgid "no referencing object %u %u" msgstr "немає об’єкту посилання %u %u" -#: pg_dump.c:18483 +#: pg_dump.c:18661 #, c-format msgid "no referenced object %u %u" msgstr "немає посилання на об'єкт %u %u" -#: pg_dump.c:18908 pg_dump.c:18946 pg_dumpall.c:2011 pg_restore.c:551 -#: pg_restore.c:597 +#: pg_dump.c:19086 pg_dump.c:19124 pg_dumpall.c:2056 pg_restore.c:573 +#: pg_restore.c:619 #, c-format msgid "%s filter for \"%s\" is not allowed" msgstr "фільтр %s для \"%s\" не дозволений" -#: pg_dump_sort.c:424 +#: pg_dump_sort.c:659 #, c-format msgid "invalid dumpId %d" msgstr "неприпустимий dumpId %d" -#: pg_dump_sort.c:430 +#: pg_dump_sort.c:665 #, c-format msgid "invalid dependency %d" msgstr "неприпустима залежність %d" -#: pg_dump_sort.c:594 +#: pg_dump_sort.c:829 #, c-format msgid "could not identify dependency loop" msgstr "не вдалося ідентифікувати цикл залежності" -#: pg_dump_sort.c:1209 +#: pg_dump_sort.c:1447 #, c-format msgid "there are circular foreign-key constraints on this table:" msgid_plural "there are circular foreign-key constraints among these tables:" @@ -2447,134 +2486,134 @@ msgstr[2] "у наступних таблицях зациклені зовнішні ключі:" msgstr[3] "у наступних таблицях зациклені зовнішні ключі:" -#: pg_dump_sort.c:1214 +#: pg_dump_sort.c:1452 #, c-format msgid "You might not be able to restore the dump without using --disable-triggers or temporarily dropping the constraints." msgstr "Ви не зможете відновити дамп без використання --disable-triggers або тимчасово розірвати обмеження." -#: pg_dump_sort.c:1215 +#: pg_dump_sort.c:1453 #, c-format msgid "Consider using a full dump instead of a --data-only dump to avoid this problem." msgstr "Можливо, використання повного вивантажування замість --data-only вивантажування допоможе уникнути цієї проблеми." -#: pg_dump_sort.c:1227 +#: pg_dump_sort.c:1465 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "не вдалося вирішити цикл залежності серед цих елементів:" -#: pg_dumpall.c:231 +#: pg_dumpall.c:234 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "програма \"%s\" потрібна для %s, але не знайдена в тому ж каталозі, що й \"%s\"" -#: pg_dumpall.c:234 +#: pg_dumpall.c:237 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "програма \"%s\" знайдена для \"%s\", але має відмінну версію від %s" -#: pg_dumpall.c:387 +#: pg_dumpall.c:396 #, c-format msgid "option --exclude-database cannot be used together with -g/--globals-only, -r/--roles-only, or -t/--tablespaces-only" msgstr "параметр --exclude-database не можна використовувати разом з -g/--globals-only, -r/--roles-only або -t/--tablespaces-only" -#: pg_dumpall.c:395 +#: pg_dumpall.c:404 #, c-format msgid "options -g/--globals-only and -r/--roles-only cannot be used together" msgstr "параметри -g/--globals-only і -r/--roles-only не можна використовувати разом" -#: pg_dumpall.c:402 +#: pg_dumpall.c:411 #, c-format msgid "options -g/--globals-only and -t/--tablespaces-only cannot be used together" msgstr "параметри -g/--globals-only і -t/--tablespaces-only не можна використовувати разом" -#: pg_dumpall.c:412 +#: pg_dumpall.c:421 #, c-format msgid "options -r/--roles-only and -t/--tablespaces-only cannot be used together" msgstr "параметри -r/--roles-only і -t/--tablespaces-only не можна використовувати разом" -#: pg_dumpall.c:474 pg_dumpall.c:1820 +#: pg_dumpall.c:493 pg_dumpall.c:1865 #, c-format msgid "could not connect to database \"%s\"" msgstr "не вдалося зв'язатися з базою даних \"%s\"" -#: pg_dumpall.c:486 +#: pg_dumpall.c:505 #, c-format msgid "could not connect to databases \"postgres\" or \"template1\"\n" "Please specify an alternative database." msgstr "не вдалося зв'язатися з базами даних \"postgres\" або \"template1\"\n" "Будь ласка, вкажіть альтернативну базу даних." -#: pg_dumpall.c:635 +#: pg_dumpall.c:670 #, c-format msgid "%s extracts a PostgreSQL database cluster into an SQL script file.\n\n" msgstr "%s експортує кластер баз даних PostgreSQL до SQL-скрипту.\n\n" -#: pg_dumpall.c:637 +#: pg_dumpall.c:672 #, c-format msgid " %s [OPTION]...\n" msgstr " %s: [OPTION]...\n" -#: pg_dumpall.c:640 +#: pg_dumpall.c:675 #, c-format msgid " -f, --file=FILENAME output file name\n" msgstr " -f, --file=FILENAME ім'я вихідного файлу\n" -#: pg_dumpall.c:647 +#: pg_dumpall.c:682 #, c-format msgid " -c, --clean clean (drop) databases before recreating\n" msgstr " -c, --clean очистити (видалити) бази даних перед відтворенням\n" -#: pg_dumpall.c:649 +#: pg_dumpall.c:684 #, c-format msgid " -g, --globals-only dump only global objects, no databases\n" msgstr " -g, --globals-only вивантажувати лише глобальні об’єкти, не бази даних\n" -#: pg_dumpall.c:650 pg_restore.c:475 +#: pg_dumpall.c:685 pg_restore.c:496 #, c-format msgid " -O, --no-owner skip restoration of object ownership\n" msgstr " -O, --no-owner пропускається відновлення форми власності об’єктом\n" -#: pg_dumpall.c:651 +#: pg_dumpall.c:686 #, c-format msgid " -r, --roles-only dump only roles, no databases or tablespaces\n" msgstr " -r, --roles-only вивантажувати лише ролі, не бази даних або табличні простори\n" -#: pg_dumpall.c:653 +#: pg_dumpall.c:688 #, c-format msgid " -S, --superuser=NAME superuser user name to use in the dump\n" msgstr " -S, --superuser=NAME ім'я суперкористувача для використання при вивантажуванні\n" -#: pg_dumpall.c:654 +#: pg_dumpall.c:689 #, c-format msgid " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" msgstr " -t, --tablespaces-only вивантажувати лише табличні простори, не бази даних або ролі\n" -#: pg_dumpall.c:660 +#: pg_dumpall.c:695 #, c-format msgid " --exclude-database=PATTERN exclude databases whose name matches PATTERN\n" msgstr " --exclude-database=PATTERN виключити бази даних, ім'я яких відповідає PATTERN\n" -#: pg_dumpall.c:662 +#: pg_dumpall.c:697 #, c-format msgid " --filter=FILENAME exclude databases based on expressions in FILENAME\n" msgstr " --filter=FILENAME виключити бази даних, на основі виразів у FILENAME\n" -#: pg_dumpall.c:668 +#: pg_dumpall.c:703 #, c-format msgid " --no-role-passwords do not dump passwords for roles\n" msgstr " --no-role-passwords не вивантажувати паролі для ролей\n" -#: pg_dumpall.c:684 +#: pg_dumpall.c:720 #, c-format msgid " -d, --dbname=CONNSTR connect using connection string\n" msgstr " -d, --dbname=CONNSTR підключення з використанням рядку підключення \n" -#: pg_dumpall.c:686 +#: pg_dumpall.c:722 #, c-format msgid " -l, --database=DBNAME alternative default database\n" msgstr " -l, --database=DBNAME альтернативна база даних за замовчуванням\n" -#: pg_dumpall.c:693 +#: pg_dumpall.c:729 #, c-format msgid "\n" "If -f/--file is not used, then the SQL script will be written to the standard\n" @@ -2582,304 +2621,309 @@ msgstr "\n" "Якщо -f/--file не використовується, тоді SQL- сценарій буде записаний до стандартного виводу.\n\n" -#: pg_dumpall.c:838 +#: pg_dumpall.c:874 #, c-format msgid "role name starting with \"pg_\" skipped (%s)" msgstr "пропущено ім’я ролі, що починається з \"pg_\" (%s)" #. translator: %s represents a numeric role OID -#: pg_dumpall.c:1055 pg_dumpall.c:1113 pg_dumpall.c:1122 +#: pg_dumpall.c:1091 pg_dumpall.c:1149 pg_dumpall.c:1158 #, c-format msgid "found orphaned pg_auth_members entry for role %s" msgstr "знайдено забутий запис в pg_auth_members для ролі %s" -#: pg_dumpall.c:1088 +#: pg_dumpall.c:1124 #, c-format msgid "could not find a legal dump ordering for memberships in role \"%s\"" msgstr "не вдалося знайти правильний порядок вивантаження членства в ролі \"%s\"" -#: pg_dumpall.c:1243 +#: pg_dumpall.c:1279 #, c-format msgid "could not parse ACL list (%s) for parameter \"%s\"" msgstr "не вдалося аналізувати список ACL (%s) для параметра \"%s\"" -#: pg_dumpall.c:1370 +#: pg_dumpall.c:1406 #, c-format msgid "could not parse ACL list (%s) for tablespace \"%s\"" msgstr "не вдалося аналізувати список ACL (%s) для табличного простору \"%s\"" -#: pg_dumpall.c:1577 +#: pg_dumpall.c:1620 #, c-format msgid "excluding database \"%s\"" msgstr "виключаємо базу даних \"%s\"" -#: pg_dumpall.c:1581 +#: pg_dumpall.c:1624 #, c-format msgid "dumping database \"%s\"" msgstr "вивантажуємо базу даних \"%s\"" -#: pg_dumpall.c:1612 +#: pg_dumpall.c:1657 #, c-format msgid "pg_dump failed on database \"%s\", exiting" msgstr "помилка pg_dump для бази даних \"%s\", завершення роботи" -#: pg_dumpall.c:1618 +#: pg_dumpall.c:1663 #, c-format msgid "could not re-open the output file \"%s\": %m" msgstr "не вдалося повторно відкрити файл виводу \"%s\": %m" -#: pg_dumpall.c:1662 +#: pg_dumpall.c:1707 #, c-format msgid "running \"%s\"" msgstr "виконується \"%s\"" -#: pg_dumpall.c:1863 +#: pg_dumpall.c:1908 #, c-format msgid "could not get server version" msgstr "не вдалося отримати версію серверу" -#: pg_dumpall.c:1866 +#: pg_dumpall.c:1911 #, c-format msgid "could not parse server version \"%s\"" msgstr "не вдалося аналізувати версію серверу \"%s\"" -#: pg_dumpall.c:1936 pg_dumpall.c:1959 +#: pg_dumpall.c:1981 pg_dumpall.c:2004 #, c-format msgid "executing %s" msgstr "виконується %s" -#: pg_dumpall.c:2031 +#: pg_dumpall.c:2076 msgid "unsupported filter object" msgstr "непідтримуваний об'єкт фільтру" -#: pg_restore.c:329 +#: pg_restore.c:334 #, c-format msgid "one of -d/--dbname and -f/--file must be specified" msgstr "необхідно вказати один з -d/--dbname або -f/--file" -#: pg_restore.c:336 +#: pg_restore.c:341 #, c-format msgid "options -d/--dbname and -f/--file cannot be used together" msgstr "параметри -d/--dbname і -f/--file не можуть використовуватись разом" -#: pg_restore.c:350 +#: pg_restore.c:347 +#, c-format +msgid "options -d/--dbname and --restrict-key cannot be used together" +msgstr "параметри -d/--dbname і --restrict-key не можуть використовуватись разом" + +#: pg_restore.c:371 #, c-format msgid "options -1/--single-transaction and --transaction-size cannot be used together" msgstr "параметри -1/--single-transaction і --transaction-size не можуть використовуватись разом" -#: pg_restore.c:357 +#: pg_restore.c:378 #, c-format msgid "options -C/--create and -1/--single-transaction cannot be used together" msgstr "параметри -C/--create і -1/--single-transaction не можуть використовуватись разом" -#: pg_restore.c:361 +#: pg_restore.c:382 #, c-format msgid "cannot specify both --single-transaction and multiple jobs" msgstr "параметр --single-transaction допускається лише з одним завданням" -#: pg_restore.c:399 +#: pg_restore.c:420 #, c-format msgid "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"" msgstr "нерозпізнаний формат архіву \"%s\"; будь ласка, вкажіть \"c\", \"d\" або \"t\"" -#: pg_restore.c:438 +#: pg_restore.c:459 #, c-format msgid "errors ignored on restore: %d" msgstr "при відновленні проігноровано помилок: %d" -#: pg_restore.c:451 +#: pg_restore.c:472 #, c-format msgid "%s restores a PostgreSQL database from an archive created by pg_dump.\n\n" msgstr "%s відновлює базу даних PostgreSQL з архіву, створеного командою pg_dump.\n\n" -#: pg_restore.c:453 +#: pg_restore.c:474 #, c-format msgid " %s [OPTION]... [FILE]\n" msgstr " %s [OPTION]... [FILE]\n" -#: pg_restore.c:456 +#: pg_restore.c:477 #, c-format msgid " -d, --dbname=NAME connect to database name\n" msgstr " -d, --dbname=NAME підключитись до вказаної бази даних\n" -#: pg_restore.c:457 +#: pg_restore.c:478 #, c-format msgid " -f, --file=FILENAME output file name (- for stdout)\n" msgstr " -f, --file=FILENAME ім'я файлу виводу (- для stdout)\n" -#: pg_restore.c:458 +#: pg_restore.c:479 #, c-format msgid " -F, --format=c|d|t backup file format (should be automatic)\n" msgstr " -F, --format=c|d|t формат файлу резервної копії (розпізнається автоматично)\n" -#: pg_restore.c:459 +#: pg_restore.c:480 #, c-format msgid " -l, --list print summarized TOC of the archive\n" msgstr " -l, --list вивести короткий зміст архіву\n" -#: pg_restore.c:460 +#: pg_restore.c:481 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose детальний режим\n" -#: pg_restore.c:461 +#: pg_restore.c:482 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію, потім вийти\n" -#: pg_restore.c:462 +#: pg_restore.c:483 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку, потім вийти\n" -#: pg_restore.c:464 +#: pg_restore.c:485 #, c-format msgid "\n" "Options controlling the restore:\n" msgstr "\n" "Параметри, що керують відновленням:\n" -#: pg_restore.c:465 +#: pg_restore.c:486 #, c-format msgid " -a, --data-only restore only the data, no schema\n" msgstr " -a, --data-only відновити лише дані, без схеми\n" -#: pg_restore.c:467 +#: pg_restore.c:488 #, c-format msgid " -C, --create create the target database\n" msgstr " -C, --create створити цільову базу даних\n" -#: pg_restore.c:468 +#: pg_restore.c:489 #, c-format msgid " -e, --exit-on-error exit on error, default is to continue\n" msgstr " -e, --exit-on-error вийти при помилці, продовжувати за замовчуванням\n" -#: pg_restore.c:469 +#: pg_restore.c:490 #, c-format msgid " -I, --index=NAME restore named index\n" msgstr " -I, --index=NAME відновити вказаний індекс\n" -#: pg_restore.c:470 +#: pg_restore.c:491 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to restore\n" msgstr " -j, --jobs=NUM щоб виконати відновлення, використайте ці паралельні завдання\n" -#: pg_restore.c:471 +#: pg_restore.c:492 #, c-format msgid " -L, --use-list=FILENAME use table of contents from this file for\n" " selecting/ordering output\n" msgstr " -L, --use-list=FILENAME використовувати зміст з цього файлу для \n" " вибору/упорядкування даних\n" -#: pg_restore.c:473 +#: pg_restore.c:494 #, c-format msgid " -n, --schema=NAME restore only objects in this schema\n" msgstr " -n, --schema=NAME відновити об'єкти лише в цій схемі\n" -#: pg_restore.c:474 +#: pg_restore.c:495 #, c-format msgid " -N, --exclude-schema=NAME do not restore objects in this schema\n" msgstr " -N, --exclude-schema=NAME не відновлювати об'єкти в цій схемі\n" -#: pg_restore.c:476 +#: pg_restore.c:497 #, c-format msgid " -P, --function=NAME(args) restore named function\n" msgstr " -P, --function=NAME(args) відновити вказану функцію\n" -#: pg_restore.c:477 +#: pg_restore.c:498 #, c-format msgid " -s, --schema-only restore only the schema, no data\n" msgstr " -s, --schema-only відновити лише схему, без даних\n" -#: pg_restore.c:478 +#: pg_restore.c:499 #, c-format msgid " -S, --superuser=NAME superuser user name to use for disabling triggers\n" msgstr " -S, --superuser=NAME ім'я суперкористувача для вимкнення тригерів\n" -#: pg_restore.c:479 +#: pg_restore.c:500 #, c-format msgid " -t, --table=NAME restore named relation (table, view, etc.)\n" msgstr " -t, --table=NAME відновити вказане відношення (таблицю, подання і т. д.)\n" -#: pg_restore.c:480 +#: pg_restore.c:501 #, c-format msgid " -T, --trigger=NAME restore named trigger\n" msgstr " -T, --trigger=NAME відновити вказаний тригер\n" -#: pg_restore.c:481 +#: pg_restore.c:502 #, c-format msgid " -x, --no-privileges skip restoration of access privileges (grant/revoke)\n" msgstr " -x, --no-privileges пропустити відновлення прав доступу (grant/revoke)\n" -#: pg_restore.c:482 +#: pg_restore.c:503 #, c-format msgid " -1, --single-transaction restore as a single transaction\n" msgstr " -1, --single-transaction відновити в одній транзакції\n" -#: pg_restore.c:484 +#: pg_restore.c:505 #, c-format msgid " --enable-row-security enable row security\n" msgstr " --enable-row-security активувати захист на рівні рядків\n" -#: pg_restore.c:485 +#: pg_restore.c:506 #, c-format msgid " --filter=FILENAME restore or skip objects based on expressions\n" " in FILENAME\n" msgstr " --filter=FILENAME відновлювати або пропускати об'єкти на основі виразів\n" " у FILENAME\n" -#: pg_restore.c:488 +#: pg_restore.c:509 #, c-format msgid " --no-comments do not restore comments\n" msgstr " --no-comments не відновлювати коментарі\n" -#: pg_restore.c:489 +#: pg_restore.c:510 #, c-format msgid " --no-data-for-failed-tables do not restore data of tables that could not be\n" " created\n" msgstr " --no-data-for-failed-tables не відновлювати дані таблиць, які не вдалося створити\n" -#: pg_restore.c:491 +#: pg_restore.c:512 #, c-format msgid " --no-publications do not restore publications\n" msgstr " --no-publications не відновлювати публікації \n" -#: pg_restore.c:492 +#: pg_restore.c:513 #, c-format msgid " --no-security-labels do not restore security labels\n" msgstr " --no-security-labels не відновлювати мітки безпеки \n" -#: pg_restore.c:493 +#: pg_restore.c:514 #, c-format msgid " --no-subscriptions do not restore subscriptions\n" msgstr " --no-subscriptions не відновлювати підписки\n" -#: pg_restore.c:494 +#: pg_restore.c:515 #, c-format msgid " --no-table-access-method do not restore table access methods\n" msgstr " --no-table-access-method не відновлювати табличний метод доступу\n" -#: pg_restore.c:495 +#: pg_restore.c:516 #, c-format msgid " --no-tablespaces do not restore tablespace assignments\n" msgstr " --no-tablespaces не відновлювати завдання табличного простору\n" -#: pg_restore.c:496 +#: pg_restore.c:518 #, c-format msgid " --section=SECTION restore named section (pre-data, data, or post-data)\n" msgstr " --section=SECTION відновлювати названий розділ (pre-data, data або post-data)\n" -#: pg_restore.c:499 +#: pg_restore.c:521 #, c-format msgid " --transaction-size=N commit after every N objects\n" msgstr " --transaction-size=N затверджувати транзакцію після N об'єктів\n" -#: pg_restore.c:510 +#: pg_restore.c:532 #, c-format msgid " --role=ROLENAME do SET ROLE before restore\n" msgstr " --role=ROLENAME виконати SET ROLE перед відновленням\n" -#: pg_restore.c:512 +#: pg_restore.c:534 #, c-format msgid "\n" "The options -I, -n, -N, -P, -t, -T, and --section can be combined and specified\n" @@ -2888,7 +2932,7 @@ "Параметри -I, -n, -N, -P, -t, -T, і --section можна групувати і вказувати\n" "декілька разів для вибору декількох об'єктів.\n" -#: pg_restore.c:515 +#: pg_restore.c:537 #, c-format msgid "\n" "If no input file name is supplied, then standard input is used.\n\n" diff -Nru postgresql-17-17.7/src/bin/pg_resetwal/pg_resetwal.c postgresql-17-17.8/src/bin/pg_resetwal/pg_resetwal.c --- postgresql-17-17.7/src/bin/pg_resetwal/pg_resetwal.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_resetwal/pg_resetwal.c 2026-02-09 21:51:54.000000000 +0000 @@ -69,8 +69,10 @@ static TransactionId set_oldest_commit_ts_xid = 0; static TransactionId set_newest_commit_ts_xid = 0; static Oid set_oid = 0; +static bool mxid_given = false; static MultiXactId set_mxid = 0; -static MultiXactOffset set_mxoff = (MultiXactOffset) -1; +static bool mxoff_given = false; +static MultiXactOffset set_mxoff = 0; static TimeLineID minXlogTli = 0; static XLogSegNo minXlogSegNo = 0; static int WalSegSz; @@ -115,6 +117,7 @@ MultiXactId set_oldestmxid = 0; char *endptr; char *endptr2; + int64 tmpi64; char *DataDir = NULL; char *log_fname = NULL; int fd; @@ -251,8 +254,6 @@ pg_log_error_hint("Try \"%s --help\" for more information.", progname); exit(1); } - if (set_mxid == 0) - pg_fatal("multitransaction ID (-m) must not be 0"); /* * XXX It'd be nice to have more sanity checks here, e.g. so @@ -260,19 +261,23 @@ */ if (set_oldestmxid == 0) pg_fatal("oldest multitransaction ID (-m) must not be 0"); + mxid_given = true; break; case 'O': errno = 0; - set_mxoff = strtoul(optarg, &endptr, 0); + tmpi64 = strtoi64(optarg, &endptr, 0); if (endptr == optarg || *endptr != '\0' || errno != 0) { pg_log_error("invalid argument for option %s", "-O"); pg_log_error_hint("Try \"%s --help\" for more information.", progname); exit(1); } - if (set_mxoff == -1) - pg_fatal("multitransaction offset (-O) must not be -1"); + if (tmpi64 < 0 || tmpi64 > (int64) MaxMultiXactOffset) + pg_fatal("multitransaction offset (-O) must be between 0 and %u", MaxMultiXactOffset); + + set_mxoff = (MultiXactOffset) tmpi64; + mxoff_given = true; break; case 'l': @@ -434,7 +439,7 @@ if (set_oid != 0) ControlFile.checkPointCopy.nextOid = set_oid; - if (set_mxid != 0) + if (mxid_given) { ControlFile.checkPointCopy.nextMulti = set_mxid; @@ -444,7 +449,7 @@ ControlFile.checkPointCopy.oldestMultiDB = InvalidOid; } - if (set_mxoff != -1) + if (mxoff_given) ControlFile.checkPointCopy.nextMultiOffset = set_mxoff; if (minXlogTli > ControlFile.checkPointCopy.ThisTimeLineID) @@ -797,7 +802,7 @@ newXlogSegNo, WalSegSz); printf(_("First log segment after reset: %s\n"), fname); - if (set_mxid != 0) + if (mxid_given) { printf(_("NextMultiXactId: %u\n"), ControlFile.checkPointCopy.nextMulti); @@ -807,7 +812,7 @@ ControlFile.checkPointCopy.oldestMultiDB); } - if (set_mxoff != -1) + if (mxoff_given) { printf(_("NextMultiOffset: %u\n"), ControlFile.checkPointCopy.nextMultiOffset); @@ -823,6 +828,10 @@ { printf(_("NextXID: %u\n"), XidFromFullTransactionId(ControlFile.checkPointCopy.nextXid)); + } + + if (set_oldest_xid != 0) + { printf(_("OldestXID: %u\n"), ControlFile.checkPointCopy.oldestXid); printf(_("OldestXID's DB: %u\n"), @@ -1034,6 +1043,8 @@ if (closedir(xldir)) pg_fatal("could not close directory \"%s\": %m", ARCHSTATDIR); + +#undef ARCHSTATDIR } /* @@ -1068,7 +1079,10 @@ pg_fatal("could not read directory \"%s\": %m", WALSUMMARYDIR); if (closedir(xldir)) - pg_fatal("could not close directory \"%s\": %m", ARCHSTATDIR); + pg_fatal("could not close directory \"%s\": %m", WALSUMMARYDIR); + +#undef WALSUMMARY_NHEXCHARS +#undef WALSUMMARYDIR } /* diff -Nru postgresql-17-17.7/src/bin/pg_resetwal/po/de.po postgresql-17-17.8/src/bin/pg_resetwal/po/de.po --- postgresql-17-17.7/src/bin/pg_resetwal/po/de.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_resetwal/po/de.po 2026-02-09 21:51:54.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-16 07:51+0000\n" +"POT-Creation-Date: 2026-02-07 08:37+0000\n" "PO-Revision-Date: 2024-03-26 11:01+0100\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" @@ -37,13 +37,13 @@ msgid "hint: " msgstr "Tipp: " -#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 -#: pg_resetwal.c:573 +#: ../../common/controldata_utils.c:97 pg_resetwal.c:375 pg_resetwal.c:530 +#: pg_resetwal.c:578 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m" -#: ../../common/controldata_utils.c:110 pg_resetwal.c:534 pg_resetwal.c:588 +#: ../../common/controldata_utils.c:110 pg_resetwal.c:539 pg_resetwal.c:593 #, c-format msgid "could not read file \"%s\": %m" msgstr "konnte Datei »%s« nicht lesen: %m" @@ -78,12 +78,12 @@ #: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70 #: ../../common/file_utils.c:347 ../../common/file_utils.c:406 -#: ../../common/file_utils.c:480 pg_resetwal.c:1134 +#: ../../common/file_utils.c:480 pg_resetwal.c:1148 #, c-format msgid "could not open file \"%s\": %m" msgstr "konnte Datei »%s« nicht öffnen: %m" -#: ../../common/controldata_utils.c:249 pg_resetwal.c:1142 pg_resetwal.c:1154 +#: ../../common/controldata_utils.c:249 pg_resetwal.c:1156 pg_resetwal.c:1168 #, c-format msgid "could not write file \"%s\": %m" msgstr "konnte Datei »%s« nicht schreiben: %m" @@ -122,13 +122,13 @@ msgstr "diese Installation unterstützt Sync-Methode »%s« nicht" #: ../../common/file_utils.c:151 ../../common/file_utils.c:281 -#: pg_resetwal.c:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054 +#: pg_resetwal.c:937 pg_resetwal.c:990 pg_resetwal.c:1025 pg_resetwal.c:1065 #, c-format msgid "could not open directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht öffnen: %m" #: ../../common/file_utils.c:169 ../../common/file_utils.c:315 -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 pg_resetwal.c:1068 +#: pg_resetwal.c:963 pg_resetwal.c:1004 pg_resetwal.c:1042 pg_resetwal.c:1079 #, c-format msgid "could not read directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht lesen: %m" @@ -184,152 +184,147 @@ msgstr "unbekannte Sync-Methode: %s" #. translator: the second %s is a command line argument (-e, etc) -#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203 -#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250 -#: pg_resetwal.c:270 pg_resetwal.c:281 +#: pg_resetwal.c:167 pg_resetwal.c:180 pg_resetwal.c:193 pg_resetwal.c:206 +#: pg_resetwal.c:213 pg_resetwal.c:232 pg_resetwal.c:245 pg_resetwal.c:253 +#: pg_resetwal.c:272 pg_resetwal.c:286 #, c-format msgid "invalid argument for option %s" msgstr "ungültiges Argument für Option %s" -#: pg_resetwal.c:165 pg_resetwal.c:178 pg_resetwal.c:191 pg_resetwal.c:204 -#: pg_resetwal.c:211 pg_resetwal.c:230 pg_resetwal.c:243 pg_resetwal.c:251 -#: pg_resetwal.c:271 pg_resetwal.c:282 pg_resetwal.c:307 pg_resetwal.c:320 -#: pg_resetwal.c:327 +#: pg_resetwal.c:168 pg_resetwal.c:181 pg_resetwal.c:194 pg_resetwal.c:207 +#: pg_resetwal.c:214 pg_resetwal.c:233 pg_resetwal.c:246 pg_resetwal.c:254 +#: pg_resetwal.c:273 pg_resetwal.c:287 pg_resetwal.c:312 pg_resetwal.c:325 +#: pg_resetwal.c:332 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Versuchen Sie »%s --help« für weitere Informationen." -#: pg_resetwal.c:169 +#: pg_resetwal.c:172 #, c-format msgid "transaction ID epoch (-e) must not be -1" msgstr "Transaktions-ID-Epoche (-e) darf nicht -1 sein" -#: pg_resetwal.c:182 +#: pg_resetwal.c:185 #, c-format msgid "oldest transaction ID (-u) must be greater than or equal to %u" msgstr "älteste Transaktions-ID (-u) muss größer oder gleich %u sein" -#: pg_resetwal.c:195 +#: pg_resetwal.c:198 #, c-format msgid "transaction ID (-x) must be greater than or equal to %u" msgstr "Transaktions-ID (-x) muss größer oder gleich %u sein" -#: pg_resetwal.c:217 pg_resetwal.c:221 +#: pg_resetwal.c:220 pg_resetwal.c:224 #, c-format msgid "transaction ID (-c) must be either %u or greater than or equal to %u" msgstr "Transaktions-ID (-c) muss entweder %u oder größer oder gleich %u sein" -#: pg_resetwal.c:234 +#: pg_resetwal.c:237 #, c-format msgid "OID (-o) must not be 0" msgstr "OID (-o) darf nicht 0 sein" -#: pg_resetwal.c:255 -#, c-format -msgid "multitransaction ID (-m) must not be 0" -msgstr "Multitransaktions-ID (-m) darf nicht 0 sein" - -#: pg_resetwal.c:262 +#: pg_resetwal.c:263 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "älteste Multitransaktions-ID (-m) darf nicht 0 sein" -#: pg_resetwal.c:275 +#: pg_resetwal.c:277 #, c-format -msgid "multitransaction offset (-O) must not be -1" -msgstr "Multitransaktions-Offset (-O) darf nicht -1 sein" +msgid "multitransaction offset (-O) must be between 0 and %u" +msgstr "Multitransaktions-Offset (-O) muss zwischen 0 und %u sein" -#: pg_resetwal.c:301 +#: pg_resetwal.c:306 #, c-format msgid "argument of %s must be a power of two between 1 and 1024" msgstr "Argument von %s muss eine Zweierpotenz zwischen 1 und 1024 sein" -#: pg_resetwal.c:318 +#: pg_resetwal.c:323 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "zu viele Kommandozeilenargumente (das erste ist »%s«)" -#: pg_resetwal.c:326 +#: pg_resetwal.c:331 #, c-format msgid "no data directory specified" msgstr "kein Datenverzeichnis angegeben" -#: pg_resetwal.c:340 +#: pg_resetwal.c:345 #, c-format msgid "cannot be executed by \"root\"" msgstr "kann nicht von »root« ausgeführt werden" -#: pg_resetwal.c:341 +#: pg_resetwal.c:346 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Sie müssen %s als PostgreSQL-Superuser ausführen." -#: pg_resetwal.c:351 +#: pg_resetwal.c:356 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "konnte Zugriffsrechte von Verzeichnis »%s« nicht lesen: %m" -#: pg_resetwal.c:357 +#: pg_resetwal.c:362 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "konnte nicht in Verzeichnis »%s« wechseln: %m" -#: pg_resetwal.c:375 +#: pg_resetwal.c:380 #, c-format msgid "lock file \"%s\" exists" msgstr "Sperrdatei »%s« existiert" -#: pg_resetwal.c:376 +#: pg_resetwal.c:381 #, c-format msgid "Is a server running? If not, delete the lock file and try again." msgstr "Läuft der Server? Wenn nicht, dann Sperrdatei löschen und nochmal versuchen." -#: pg_resetwal.c:475 +#: pg_resetwal.c:480 #, c-format msgid "not proceeding because control file values were guessed" msgstr "es wird nicht fortgefahren, weil Kontrolldateiwerte geschätzt wurden" -#: pg_resetwal.c:476 +#: pg_resetwal.c:481 #, c-format msgid "If these values seem acceptable, use -f to force reset." msgstr "Wenn diese Werte akzeptabel scheinen, dann benutzen Sie -f, um das Zurücksetzen zu erzwingen." -#: pg_resetwal.c:485 +#: pg_resetwal.c:490 #, c-format msgid "database server was not shut down cleanly" msgstr "Datenbankserver wurde nicht sauber heruntergefahren" -#: pg_resetwal.c:486 +#: pg_resetwal.c:491 #, c-format msgid "Resetting the write-ahead log might cause data to be lost." msgstr "Beim Zurücksetzen des Write-Ahead-Logs können Daten verloren gehen." -#: pg_resetwal.c:487 +#: pg_resetwal.c:492 #, c-format msgid "If you want to proceed anyway, use -f to force reset." msgstr "Wenn Sie trotzdem weiter machen wollen, dann benutzen Sie -f, um das Zurücksetzen zu erzwingen." -#: pg_resetwal.c:500 +#: pg_resetwal.c:505 #, c-format msgid "Write-ahead log reset\n" msgstr "Write-Ahead-Log wurde zurückgesetzt\n" -#: pg_resetwal.c:532 +#: pg_resetwal.c:537 #, c-format msgid "unexpected empty file \"%s\"" msgstr "unerwartete leere Datei »%s«" -#: pg_resetwal.c:542 +#: pg_resetwal.c:547 #, c-format msgid "data directory is of wrong version" msgstr "Datenverzeichnis hat falsche Version" -#: pg_resetwal.c:543 +#: pg_resetwal.c:548 #, c-format msgid "File \"%s\" contains \"%s\", which is not compatible with this program's version \"%s\"." msgstr "Datei »%s« enthält »%s«, was nicht mit der Version dieses Programms »%s« kompatibel ist." -#: pg_resetwal.c:576 +#: pg_resetwal.c:581 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -340,24 +335,24 @@ " touch %s\n" "aus und versuchen Sie es erneut." -#: pg_resetwal.c:604 +#: pg_resetwal.c:609 #, c-format msgid "pg_control exists but has invalid CRC; proceed with caution" msgstr "pg_control existiert, aber mit ungültiger CRC; mit Vorsicht fortfahren" -#: pg_resetwal.c:613 +#: pg_resetwal.c:618 #, c-format msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution" msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution" msgstr[0] "pg_control gibt ungültige WAL-Segmentgröße an (%d Byte); mit Vorsicht fortfahren" msgstr[1] "pg_control gibt ungültige WAL-Segmentgröße an (%d Bytes); mit Vorsicht fortfahren" -#: pg_resetwal.c:624 +#: pg_resetwal.c:629 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" msgstr "pg_control existiert, aber ist kaputt oder hat falsche Version; wird ignoriert" -#: pg_resetwal.c:719 +#: pg_resetwal.c:724 #, c-format msgid "" "Guessed pg_control values:\n" @@ -366,7 +361,7 @@ "Geschätzte pg_control-Werte:\n" "\n" -#: pg_resetwal.c:721 +#: pg_resetwal.c:726 #, c-format msgid "" "Current pg_control values:\n" @@ -375,167 +370,167 @@ "Aktuelle pg_control-Werte:\n" "\n" -#: pg_resetwal.c:723 +#: pg_resetwal.c:728 #, c-format msgid "pg_control version number: %u\n" msgstr "pg_control-Versionsnummer: %u\n" -#: pg_resetwal.c:725 +#: pg_resetwal.c:730 #, c-format msgid "Catalog version number: %u\n" msgstr "Katalogversionsnummer: %u\n" -#: pg_resetwal.c:727 +#: pg_resetwal.c:732 #, c-format msgid "Database system identifier: %llu\n" msgstr "Datenbanksystemidentifikation: %llu\n" -#: pg_resetwal.c:729 +#: pg_resetwal.c:734 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "TimeLineID des letzten Checkpoints: %u\n" -#: pg_resetwal.c:731 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "full_page_writes des letzten Checkpoints: %s\n" -#: pg_resetwal.c:732 +#: pg_resetwal.c:737 msgid "off" msgstr "aus" -#: pg_resetwal.c:732 +#: pg_resetwal.c:737 msgid "on" msgstr "an" -#: pg_resetwal.c:733 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "NextXID des letzten Checkpoints: %u:%u\n" -#: pg_resetwal.c:736 +#: pg_resetwal.c:741 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "NextOID des letzten Checkpoints: %u\n" -#: pg_resetwal.c:738 +#: pg_resetwal.c:743 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "NextMultiXactId des letzten Checkpoints: %u\n" -#: pg_resetwal.c:740 +#: pg_resetwal.c:745 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "NextMultiOffset des letzten Checkpoints: %u\n" -#: pg_resetwal.c:742 +#: pg_resetwal.c:747 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "oldestXID des letzten Checkpoints: %u\n" -#: pg_resetwal.c:744 +#: pg_resetwal.c:749 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "DB der oldestXID des letzten Checkpoints: %u\n" -#: pg_resetwal.c:746 +#: pg_resetwal.c:751 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "oldestActiveXID des letzten Checkpoints: %u\n" -#: pg_resetwal.c:748 +#: pg_resetwal.c:753 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "oldestMultiXid des letzten Checkpoints: %u\n" -#: pg_resetwal.c:750 +#: pg_resetwal.c:755 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "DB des oldestMulti des letzten Checkpoints: %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:757 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "oldestCommitTsXid des letzten Checkpoints: %u\n" -#: pg_resetwal.c:754 +#: pg_resetwal.c:759 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "newestCommitTsXid des letzten Checkpoints: %u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:761 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Maximale Datenausrichtung (Alignment): %u\n" -#: pg_resetwal.c:759 +#: pg_resetwal.c:764 #, c-format msgid "Database block size: %u\n" msgstr "Datenbankblockgröße: %u\n" -#: pg_resetwal.c:761 +#: pg_resetwal.c:766 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Blöcke pro Segment: %u\n" -#: pg_resetwal.c:763 +#: pg_resetwal.c:768 #, c-format msgid "WAL block size: %u\n" msgstr "WAL-Blockgröße: %u\n" -#: pg_resetwal.c:765 pg_resetwal.c:851 +#: pg_resetwal.c:770 pg_resetwal.c:860 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Bytes pro WAL-Segment: %u\n" -#: pg_resetwal.c:767 +#: pg_resetwal.c:772 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Maximale Bezeichnerlänge: %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:774 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Maximale Spalten in einem Index: %u\n" -#: pg_resetwal.c:771 +#: pg_resetwal.c:776 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Maximale Größe eines Stücks TOAST: %u\n" -#: pg_resetwal.c:773 +#: pg_resetwal.c:778 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Größe eines Large-Object-Chunks: %u\n" -#: pg_resetwal.c:776 +#: pg_resetwal.c:781 #, c-format msgid "Date/time type storage: %s\n" msgstr "Speicherung von Datum/Zeit-Typen: %s\n" -#: pg_resetwal.c:777 +#: pg_resetwal.c:782 msgid "64-bit integers" msgstr "64-Bit-Ganzzahlen" -#: pg_resetwal.c:778 +#: pg_resetwal.c:783 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Übergabe von Float8-Argumenten: %s\n" -#: pg_resetwal.c:779 +#: pg_resetwal.c:784 msgid "by reference" msgstr "Referenz" -#: pg_resetwal.c:779 +#: pg_resetwal.c:784 msgid "by value" msgstr "Wert" -#: pg_resetwal.c:780 +#: pg_resetwal.c:785 #, c-format msgid "Data page checksum version: %u\n" msgstr "Datenseitenprüfsummenversion: %u\n" -#: pg_resetwal.c:794 +#: pg_resetwal.c:799 #, c-format msgid "" "\n" @@ -548,82 +543,82 @@ "Zu ändernde Werte:\n" "\n" -#: pg_resetwal.c:798 +#: pg_resetwal.c:803 #, c-format msgid "First log segment after reset: %s\n" msgstr "Erstes Logdateisegment nach Zurücksetzen: %s\n" -#: pg_resetwal.c:802 +#: pg_resetwal.c:807 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:804 +#: pg_resetwal.c:809 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:806 +#: pg_resetwal.c:811 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "OldestMulti's DB: %u\n" -#: pg_resetwal.c:812 +#: pg_resetwal.c:817 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:818 +#: pg_resetwal.c:823 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:824 +#: pg_resetwal.c:829 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:826 +#: pg_resetwal.c:835 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:828 +#: pg_resetwal.c:837 #, c-format msgid "OldestXID's DB: %u\n" msgstr "OldestXID's DB: %u\n" -#: pg_resetwal.c:834 +#: pg_resetwal.c:843 #, c-format msgid "NextXID epoch: %u\n" msgstr "NextXID-Epoche: %u\n" -#: pg_resetwal.c:840 +#: pg_resetwal.c:849 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:845 +#: pg_resetwal.c:854 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 +#: pg_resetwal.c:966 pg_resetwal.c:1007 pg_resetwal.c:1045 pg_resetwal.c:1082 #, c-format msgid "could not close directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht schließen: %m" -#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063 +#: pg_resetwal.c:999 pg_resetwal.c:1037 pg_resetwal.c:1074 #, c-format msgid "could not delete file \"%s\": %m" msgstr "konnte Datei »%s« nicht löschen: %m" -#: pg_resetwal.c:1159 +#: pg_resetwal.c:1173 #, c-format msgid "fsync error: %m" msgstr "fsync-Fehler: %m" -#: pg_resetwal.c:1168 +#: pg_resetwal.c:1182 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -632,17 +627,17 @@ "%s setzt den PostgreSQL-Write-Ahead-Log zurück.\n" "\n" -#: pg_resetwal.c:1169 +#: pg_resetwal.c:1183 #, c-format msgid "Usage:\n" msgstr "Aufruf:\n" -#: pg_resetwal.c:1170 +#: pg_resetwal.c:1184 #, c-format msgid " %s [OPTION]... DATADIR\n" msgstr " %s [OPTION]... DATENVERZEICHNIS\n" -#: pg_resetwal.c:1172 +#: pg_resetwal.c:1186 #, c-format msgid "" "\n" @@ -651,12 +646,12 @@ "\n" "Optionen:\n" -#: pg_resetwal.c:1173 +#: pg_resetwal.c:1187 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]VERZ Datenbankverzeichnis\n" -#: pg_resetwal.c:1174 +#: pg_resetwal.c:1188 #, c-format msgid "" " -f, --force force update to be done even after unclean shutdown or\n" @@ -665,22 +660,22 @@ " -f, --force Änderung erzwingen, auch nach unsauberem Herunterfahren\n" " oder wenn pg_control-Werte geschätzt werden mussten\n" -#: pg_resetwal.c:1176 +#: pg_resetwal.c:1190 #, c-format msgid " -n, --dry-run no update, just show what would be done\n" msgstr " -n, --dry-run keine Änderungen; nur zeigen, was gemacht werden würde\n" -#: pg_resetwal.c:1177 +#: pg_resetwal.c:1191 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version Versionsinformationen anzeigen, dann beenden\n" -#: pg_resetwal.c:1178 +#: pg_resetwal.c:1192 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help diese Hilfe anzeigen, dann beenden\n" -#: pg_resetwal.c:1180 +#: pg_resetwal.c:1194 #, c-format msgid "" "\n" @@ -689,7 +684,7 @@ "\n" "Optionen um Kontrolldateiwerte setzen:\n" -#: pg_resetwal.c:1181 +#: pg_resetwal.c:1195 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -700,47 +695,47 @@ " älteste und neuste Transaktion mit Commit-\n" " Timestamp setzen (Null bedeutet keine Änderung)\n" -#: pg_resetwal.c:1184 +#: pg_resetwal.c:1198 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr " -e, --epoch=XIDEPOCHE nächste Transaktions-ID-Epoche setzen\n" -#: pg_resetwal.c:1185 +#: pg_resetwal.c:1199 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr " -l, --next-wal-file=WALDATEI minimale Startposition für neuen WAL setzen\n" -#: pg_resetwal.c:1186 +#: pg_resetwal.c:1200 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr " -m, --multixact-ids=MXID,MXID nächste und älteste Multitransaktions-ID setzen\n" -#: pg_resetwal.c:1187 +#: pg_resetwal.c:1201 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID nächste OID setzen\n" -#: pg_resetwal.c:1188 +#: pg_resetwal.c:1202 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr " -O, --multixact-offset=OFFSET nächsten Multitransaktions-Offset setzen\n" -#: pg_resetwal.c:1189 +#: pg_resetwal.c:1203 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr " -u, --oldest-transaction-id=XID älteste Transaktions-ID setzen\n" -#: pg_resetwal.c:1190 +#: pg_resetwal.c:1204 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID nächste Transaktions-ID setzen\n" -#: pg_resetwal.c:1191 +#: pg_resetwal.c:1205 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=ZAHL Größe eines WAL-Segments, in Megabytes\n" -#: pg_resetwal.c:1193 +#: pg_resetwal.c:1207 #, c-format msgid "" "\n" @@ -749,7 +744,7 @@ "\n" "Berichten Sie Fehler an <%s>.\n" -#: pg_resetwal.c:1194 +#: pg_resetwal.c:1208 #, c-format msgid "%s home page: <%s>\n" msgstr "%s Homepage: <%s>\n" diff -Nru postgresql-17-17.7/src/bin/pg_resetwal/po/es.po postgresql-17-17.8/src/bin/pg_resetwal/po/es.po --- postgresql-17-17.7/src/bin/pg_resetwal/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_resetwal/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: pg_resetwal (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:37+0000\n" +"POT-Creation-Date: 2026-02-06 23:35+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -43,13 +43,13 @@ msgid "hint: " msgstr "consejo: " -#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 -#: pg_resetwal.c:573 +#: ../../common/controldata_utils.c:97 pg_resetwal.c:375 pg_resetwal.c:530 +#: pg_resetwal.c:578 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "no se pudo abrir archivo «%s» para lectura: %m" -#: ../../common/controldata_utils.c:110 pg_resetwal.c:534 pg_resetwal.c:588 +#: ../../common/controldata_utils.c:110 pg_resetwal.c:539 pg_resetwal.c:593 #, c-format msgid "could not read file \"%s\": %m" msgstr "no se pudo leer el archivo «%s»: %m" @@ -84,12 +84,12 @@ #: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70 #: ../../common/file_utils.c:347 ../../common/file_utils.c:406 -#: ../../common/file_utils.c:480 pg_resetwal.c:1134 +#: ../../common/file_utils.c:480 pg_resetwal.c:1148 #, c-format msgid "could not open file \"%s\": %m" msgstr "no se pudo abrir el archivo «%s»: %m" -#: ../../common/controldata_utils.c:249 pg_resetwal.c:1142 pg_resetwal.c:1154 +#: ../../common/controldata_utils.c:249 pg_resetwal.c:1156 pg_resetwal.c:1168 #, c-format msgid "could not write file \"%s\": %m" msgstr "no se pudo escribir el archivo «%s»: %m" @@ -128,13 +128,13 @@ msgstr "esta instalación no soporta el método de sync «%s»" #: ../../common/file_utils.c:151 ../../common/file_utils.c:281 -#: pg_resetwal.c:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054 +#: pg_resetwal.c:937 pg_resetwal.c:990 pg_resetwal.c:1025 pg_resetwal.c:1065 #, c-format msgid "could not open directory \"%s\": %m" msgstr "no se pudo abrir el directorio «%s»: %m" #: ../../common/file_utils.c:169 ../../common/file_utils.c:315 -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 pg_resetwal.c:1068 +#: pg_resetwal.c:963 pg_resetwal.c:1004 pg_resetwal.c:1042 pg_resetwal.c:1079 #, c-format msgid "could not read directory \"%s\": %m" msgstr "no se pudo leer el directorio «%s»: %m" @@ -190,152 +190,147 @@ msgstr "método de sync no reconocido: %s" #. translator: the second %s is a command line argument (-e, etc) -#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203 -#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250 -#: pg_resetwal.c:270 pg_resetwal.c:281 +#: pg_resetwal.c:167 pg_resetwal.c:180 pg_resetwal.c:193 pg_resetwal.c:206 +#: pg_resetwal.c:213 pg_resetwal.c:232 pg_resetwal.c:245 pg_resetwal.c:253 +#: pg_resetwal.c:272 pg_resetwal.c:286 #, c-format msgid "invalid argument for option %s" msgstr "argumento no válido para la opción %s" -#: pg_resetwal.c:165 pg_resetwal.c:178 pg_resetwal.c:191 pg_resetwal.c:204 -#: pg_resetwal.c:211 pg_resetwal.c:230 pg_resetwal.c:243 pg_resetwal.c:251 -#: pg_resetwal.c:271 pg_resetwal.c:282 pg_resetwal.c:307 pg_resetwal.c:320 -#: pg_resetwal.c:327 +#: pg_resetwal.c:168 pg_resetwal.c:181 pg_resetwal.c:194 pg_resetwal.c:207 +#: pg_resetwal.c:214 pg_resetwal.c:233 pg_resetwal.c:246 pg_resetwal.c:254 +#: pg_resetwal.c:273 pg_resetwal.c:287 pg_resetwal.c:312 pg_resetwal.c:325 +#: pg_resetwal.c:332 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: pg_resetwal.c:169 +#: pg_resetwal.c:172 #, c-format msgid "transaction ID epoch (-e) must not be -1" msgstr "el \"epoch\" de ID de transacción (-e) no debe ser -1" -#: pg_resetwal.c:182 +#: pg_resetwal.c:185 #, c-format msgid "oldest transaction ID (-u) must be greater than or equal to %u" msgstr "el ID de transacción más antiguo (-u) debe ser mayor o igual a %u" -#: pg_resetwal.c:195 +#: pg_resetwal.c:198 #, c-format msgid "transaction ID (-x) must be greater than or equal to %u" msgstr "el ID de transacción (-x) debe ser mayor o igual a %u" -#: pg_resetwal.c:217 pg_resetwal.c:221 +#: pg_resetwal.c:220 pg_resetwal.c:224 #, c-format msgid "transaction ID (-c) must be either %u or greater than or equal to %u" msgstr "el ID de transacción (-c) debe ser %u o bien mayor o igual a %u" -#: pg_resetwal.c:234 +#: pg_resetwal.c:237 #, c-format msgid "OID (-o) must not be 0" msgstr "OID (-o) no debe ser cero" -#: pg_resetwal.c:255 -#, c-format -msgid "multitransaction ID (-m) must not be 0" -msgstr "el ID de multitransacción (-m) no debe ser 0" - -#: pg_resetwal.c:262 +#: pg_resetwal.c:263 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "el ID de multitransacción más antiguo (-m) no debe ser 0" -#: pg_resetwal.c:275 +#: pg_resetwal.c:277 #, c-format -msgid "multitransaction offset (-O) must not be -1" -msgstr "la posición de multitransacción (-O) no debe ser -1" +msgid "multitransaction offset (-O) must be between 0 and %u" +msgstr "la posición de multitransacción (-O) debe estar entre 0 y %u" -#: pg_resetwal.c:301 +#: pg_resetwal.c:306 #, c-format msgid "argument of %s must be a power of two between 1 and 1024" msgstr "el argumento de %s debe ser una potencia de dos entre 1 y 1024" -#: pg_resetwal.c:318 +#: pg_resetwal.c:323 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)" -#: pg_resetwal.c:326 +#: pg_resetwal.c:331 #, c-format msgid "no data directory specified" msgstr "directorio de datos no especificado" -#: pg_resetwal.c:340 +#: pg_resetwal.c:345 #, c-format msgid "cannot be executed by \"root\"" msgstr "no puede ser ejecutado con el usuario «root»" -#: pg_resetwal.c:341 +#: pg_resetwal.c:346 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Debe ejecutar %s con el superusuario de PostgreSQL." -#: pg_resetwal.c:351 +#: pg_resetwal.c:356 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "no se pudo obtener los permisos del directorio «%s»: %m" -#: pg_resetwal.c:357 +#: pg_resetwal.c:362 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "no se pudo cambiar al directorio «%s»: %m" -#: pg_resetwal.c:375 +#: pg_resetwal.c:380 #, c-format msgid "lock file \"%s\" exists" msgstr "el archivo candado «%s» existe" -#: pg_resetwal.c:376 +#: pg_resetwal.c:381 #, c-format msgid "Is a server running? If not, delete the lock file and try again." msgstr "¿Hay un servidor corriendo? Si no, borre el archivo candado e inténtelo de nuevo." -#: pg_resetwal.c:475 +#: pg_resetwal.c:480 #, c-format msgid "not proceeding because control file values were guessed" msgstr "no continuando porque los valores del archivo de control fueron asumidos" -#: pg_resetwal.c:476 +#: pg_resetwal.c:481 #, c-format msgid "If these values seem acceptable, use -f to force reset." msgstr "Si estos valores parecen aceptables, use -f para forzar reinicio." -#: pg_resetwal.c:485 +#: pg_resetwal.c:490 #, c-format msgid "database server was not shut down cleanly" msgstr "el directorio de destino no fue apagado limpiamente" -#: pg_resetwal.c:486 +#: pg_resetwal.c:491 #, c-format msgid "Resetting the write-ahead log might cause data to be lost." msgstr "Reiniciar el \"write-ahead log\" puede causar pérdida de datos." -#: pg_resetwal.c:487 +#: pg_resetwal.c:492 #, c-format msgid "If you want to proceed anyway, use -f to force reset." msgstr "Si quiere proceder de todas formas, use -f para forzar reinicio." -#: pg_resetwal.c:500 +#: pg_resetwal.c:505 #, c-format msgid "Write-ahead log reset\n" msgstr "\"Write-ahead log\" restablecido\n" -#: pg_resetwal.c:532 +#: pg_resetwal.c:537 #, c-format msgid "unexpected empty file \"%s\"" msgstr "archivo vacío inesperado «%s»" -#: pg_resetwal.c:542 +#: pg_resetwal.c:547 #, c-format msgid "data directory is of wrong version" msgstr "el directorio de datos tiene la versión equivocada" -#: pg_resetwal.c:543 +#: pg_resetwal.c:548 #, c-format msgid "File \"%s\" contains \"%s\", which is not compatible with this program's version \"%s\"." msgstr "El archivo «%s» contiene «%s», que no es compatible con la versión «%s» de este programa." -#: pg_resetwal.c:576 +#: pg_resetwal.c:581 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -346,24 +341,24 @@ " touch %s\n" "y pruebe de nuevo." -#: pg_resetwal.c:604 +#: pg_resetwal.c:609 #, c-format msgid "pg_control exists but has invalid CRC; proceed with caution" msgstr "existe pg_control pero tiene un CRC no válido, proceda con precaución" -#: pg_resetwal.c:613 +#: pg_resetwal.c:618 #, c-format msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution" msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution" msgstr[0] "pg_control especifica un tamaño de segmento de WAL no válido (%d byte), proceda con precaución" msgstr[1] "pg_control especifica un tamaño de segmento de WAL no válido (%d bytes), proceda con precaución" -#: pg_resetwal.c:624 +#: pg_resetwal.c:629 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" msgstr "existe pg_control pero está roto o tiene la versión equivocada; ignorándolo" -#: pg_resetwal.c:719 +#: pg_resetwal.c:724 #, c-format msgid "" "Guessed pg_control values:\n" @@ -372,7 +367,7 @@ "Valores de pg_control asumidos:\n" "\n" -#: pg_resetwal.c:721 +#: pg_resetwal.c:726 #, c-format msgid "" "Current pg_control values:\n" @@ -381,167 +376,167 @@ "Valores actuales de pg_control:\n" "\n" -#: pg_resetwal.c:723 +#: pg_resetwal.c:728 #, c-format msgid "pg_control version number: %u\n" msgstr "Número de versión de pg_control: %u\n" -#: pg_resetwal.c:725 +#: pg_resetwal.c:730 #, c-format msgid "Catalog version number: %u\n" msgstr "Número de versión de catálogo: %u\n" -#: pg_resetwal.c:727 +#: pg_resetwal.c:732 #, c-format msgid "Database system identifier: %llu\n" msgstr "Identificador de sistema: %llu\n" -#: pg_resetwal.c:729 +#: pg_resetwal.c:734 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "TimeLineID del checkpoint más reciente: %u\n" -#: pg_resetwal.c:731 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "full_page_writes del checkpoint más reciente: %s\n" -#: pg_resetwal.c:732 +#: pg_resetwal.c:737 msgid "off" msgstr "desactivado" -#: pg_resetwal.c:732 +#: pg_resetwal.c:737 msgid "on" msgstr "activado" -#: pg_resetwal.c:733 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "NextXID del checkpoint más reciente: %u:%u\n" -#: pg_resetwal.c:736 +#: pg_resetwal.c:741 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "NextOID del checkpoint más reciente: %u\n" -#: pg_resetwal.c:738 +#: pg_resetwal.c:743 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "NextMultiXactId del checkpoint más reciente: %u\n" -#: pg_resetwal.c:740 +#: pg_resetwal.c:745 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "NextMultiOffset del checkpoint más reciente: %u\n" -#: pg_resetwal.c:742 +#: pg_resetwal.c:747 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "oldestXID del checkpoint más reciente: %u\n" -#: pg_resetwal.c:744 +#: pg_resetwal.c:749 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "BD del oldestXID del checkpoint más reciente: %u\n" -#: pg_resetwal.c:746 +#: pg_resetwal.c:751 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "oldestActiveXID del checkpoint más reciente: %u\n" -#: pg_resetwal.c:748 +#: pg_resetwal.c:753 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "oldestMultiXid del checkpoint más reciente: %u\n" -#: pg_resetwal.c:750 +#: pg_resetwal.c:755 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "BD del oldestMultiXid del checkpt. más reciente: %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:757 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "oldestCommitTsXid del último checkpoint: %u\n" -#: pg_resetwal.c:754 +#: pg_resetwal.c:759 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "newestCommitTsXid del último checkpoint: %u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:761 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Máximo alineamiento de datos: %u\n" -#: pg_resetwal.c:759 +#: pg_resetwal.c:764 #, c-format msgid "Database block size: %u\n" msgstr "Tamaño del bloque de la base de datos: %u\n" -#: pg_resetwal.c:761 +#: pg_resetwal.c:766 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Bloques por segmento de relación grande: %u\n" -#: pg_resetwal.c:763 +#: pg_resetwal.c:768 #, c-format msgid "WAL block size: %u\n" msgstr "Tamaño del bloque de WAL: %u\n" -#: pg_resetwal.c:765 pg_resetwal.c:851 +#: pg_resetwal.c:770 pg_resetwal.c:860 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Bytes por segmento WAL: %u\n" -#: pg_resetwal.c:767 +#: pg_resetwal.c:772 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Longitud máxima de identificadores: %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:774 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Máximo número de columnas en un índice: %u\n" -#: pg_resetwal.c:771 +#: pg_resetwal.c:776 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Longitud máxima de un trozo TOAST: %u\n" -#: pg_resetwal.c:773 +#: pg_resetwal.c:778 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Longitud máxima de un trozo de objeto grande: %u\n" -#: pg_resetwal.c:776 +#: pg_resetwal.c:781 #, c-format msgid "Date/time type storage: %s\n" msgstr "Tipo de almacenamiento hora/fecha: %s\n" -#: pg_resetwal.c:777 +#: pg_resetwal.c:782 msgid "64-bit integers" msgstr "enteros de 64 bits" -#: pg_resetwal.c:778 +#: pg_resetwal.c:783 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Paso de parámetros float8: %s\n" -#: pg_resetwal.c:779 +#: pg_resetwal.c:784 msgid "by reference" msgstr "por referencia" -#: pg_resetwal.c:779 +#: pg_resetwal.c:784 msgid "by value" msgstr "por valor" -#: pg_resetwal.c:780 +#: pg_resetwal.c:785 #, c-format msgid "Data page checksum version: %u\n" msgstr "Versión de suma de verificación de datos: %u\n" -#: pg_resetwal.c:794 +#: pg_resetwal.c:799 #, c-format msgid "" "\n" @@ -554,82 +549,82 @@ "Valores a cambiar:\n" "\n" -#: pg_resetwal.c:798 +#: pg_resetwal.c:803 #, c-format msgid "First log segment after reset: %s\n" msgstr "Primer segmento de log después de reiniciar: %s\n" -#: pg_resetwal.c:802 +#: pg_resetwal.c:807 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:804 +#: pg_resetwal.c:809 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:806 +#: pg_resetwal.c:811 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "Base de datos del OldestMulti: %u\n" -#: pg_resetwal.c:812 +#: pg_resetwal.c:817 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:818 +#: pg_resetwal.c:823 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:824 +#: pg_resetwal.c:829 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:826 +#: pg_resetwal.c:835 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:828 +#: pg_resetwal.c:837 #, c-format msgid "OldestXID's DB: %u\n" msgstr "Base de datos del OldestXID: %u\n" -#: pg_resetwal.c:834 +#: pg_resetwal.c:843 #, c-format msgid "NextXID epoch: %u\n" msgstr "Epoch del NextXID: %u\n" -#: pg_resetwal.c:840 +#: pg_resetwal.c:849 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:845 +#: pg_resetwal.c:854 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 +#: pg_resetwal.c:966 pg_resetwal.c:1007 pg_resetwal.c:1045 pg_resetwal.c:1082 #, c-format msgid "could not close directory \"%s\": %m" msgstr "no se pudo abrir el directorio «%s»: %m" -#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063 +#: pg_resetwal.c:999 pg_resetwal.c:1037 pg_resetwal.c:1074 #, c-format msgid "could not delete file \"%s\": %m" msgstr "no se pudo borrar el archivo «%s»: %m" -#: pg_resetwal.c:1159 +#: pg_resetwal.c:1173 #, c-format msgid "fsync error: %m" msgstr "error de fsync: %m" -#: pg_resetwal.c:1168 +#: pg_resetwal.c:1182 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -638,17 +633,17 @@ "%s restablece el WAL (\"write-ahead log\") de PostgreSQL.\n" "\n" -#: pg_resetwal.c:1169 +#: pg_resetwal.c:1183 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: pg_resetwal.c:1170 +#: pg_resetwal.c:1184 #, c-format msgid " %s [OPTION]... DATADIR\n" msgstr " %s [OPCIÓN]... DATADIR\n" -#: pg_resetwal.c:1172 +#: pg_resetwal.c:1186 #, c-format msgid "" "\n" @@ -657,12 +652,12 @@ "\n" "Opciones:\n" -#: pg_resetwal.c:1173 +#: pg_resetwal.c:1187 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]DATADIR directorio de datos\n" -#: pg_resetwal.c:1174 +#: pg_resetwal.c:1188 #, c-format msgid "" " -f, --force force update to be done even after unclean shutdown or\n" @@ -672,22 +667,22 @@ " de un apagado no limpio o si los valores de pg_control\n" " tuvieron que asumirse\n" -#: pg_resetwal.c:1176 +#: pg_resetwal.c:1190 #, c-format msgid " -n, --dry-run no update, just show what would be done\n" msgstr " -n, --dry-run no actualiza, sólo muestra lo que se haría\n" -#: pg_resetwal.c:1177 +#: pg_resetwal.c:1191 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de versión, luego salir\n" -#: pg_resetwal.c:1178 +#: pg_resetwal.c:1192 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda, luego salir\n" -#: pg_resetwal.c:1180 +#: pg_resetwal.c:1194 #, c-format msgid "" "\n" @@ -696,7 +691,7 @@ "\n" "Opciones para sobreescribir valores del archivo de control:\n" -#: pg_resetwal.c:1181 +#: pg_resetwal.c:1195 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -708,53 +703,53 @@ " transacciones que llevan timestamp de commit\n" " (cero significa no cambiar)\n" -#: pg_resetwal.c:1184 +#: pg_resetwal.c:1198 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr "" " -e, --epoch=XIDEPOCH asigna el siguiente \"epoch\" de ID de\n" " transacción\n" -#: pg_resetwal.c:1185 +#: pg_resetwal.c:1199 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr "" " -l, --next-wal-file=ARCHIVOWAL fuerza una ubicación inicial mínima para\n" " nuevo WAL\n" -#: pg_resetwal.c:1186 +#: pg_resetwal.c:1200 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr "" " -m, --multixact-ids=MXID,MXID asigna el siguiente ID de multitransacción\n" " y el más antiguo\n" -#: pg_resetwal.c:1187 +#: pg_resetwal.c:1201 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID asigna el siguiente OID\n" -#: pg_resetwal.c:1188 +#: pg_resetwal.c:1202 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr " -O, --multixact-offset=OFFSET asigna la siguiente pos. de multitransacción\n" -#: pg_resetwal.c:1189 +#: pg_resetwal.c:1203 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr " -u, --oldest-transaction-id=XID asigna el ID de transacción más antiguo\n" -#: pg_resetwal.c:1190 +#: pg_resetwal.c:1204 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID asigna el siguiente ID de transacción\n" -#: pg_resetwal.c:1191 +#: pg_resetwal.c:1205 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=TAMAÑO tamaño de segmentos de WAL, en megabytes\n" -#: pg_resetwal.c:1193 +#: pg_resetwal.c:1207 #, c-format msgid "" "\n" @@ -763,7 +758,7 @@ "\n" "Reporte errores a <%s>.\n" -#: pg_resetwal.c:1194 +#: pg_resetwal.c:1208 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" diff -Nru postgresql-17-17.7/src/bin/pg_resetwal/po/ja.po postgresql-17-17.8/src/bin/pg_resetwal/po/ja.po --- postgresql-17-17.7/src/bin/pg_resetwal/po/ja.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_resetwal/po/ja.po 2026-02-09 21:51:54.000000000 +0000 @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: pg_resetwal (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-10-11 09:39+0900\n" -"PO-Revision-Date: 2023-10-11 11:00+0900\n" +"POT-Creation-Date: 2025-11-17 11:40+0900\n" +"PO-Revision-Date: 2025-11-17 13:23+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -42,6 +42,106 @@ msgid "hint: " msgstr "ヒント: " +#: ../../common/controldata_utils.c:97 pg_resetwal.c:375 pg_resetwal.c:530 +#: pg_resetwal.c:578 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "ファイル\"%s\"を読み取り用にオープンできませんでした: %m" + +#: ../../common/controldata_utils.c:110 pg_resetwal.c:539 pg_resetwal.c:593 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "ファイル\"%s\"の読み取りに失敗しました: %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "ファイル\"%1$s\"を読み込めませんでした: %3$zuバイトのうち%2$dバイトを読み込みました" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "ファイル\"%s\"をクローズできませんでした: %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "バイトオーダが合っていません" + +#: ../../common/controldata_utils.c:170 +#, c-format +msgid "" +"possible byte ordering mismatch\n" +"The byte ordering used to store the pg_control file might not match the one\n" +"used by this program. In that case the results below would be incorrect, and\n" +"the PostgreSQL installation would be incompatible with this data directory." +msgstr "" +"バイトオーダが異なる可能性があります。\n" +"pg_controlファイルを格納するために使用するバイトオーダが本プログラムで使用\n" +"されるものと一致しないようです。この場合以下の結果は不正確になります。また、\n" +"PostgreSQLインストレーションはこのデータディレクトリと互換性がなくなります。" + +#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70 +#: ../../common/file_utils.c:347 ../../common/file_utils.c:406 +#: ../../common/file_utils.c:480 pg_resetwal.c:1139 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "ファイル\"%s\"をオープンできませんでした: %m" + +#: ../../common/controldata_utils.c:249 pg_resetwal.c:1147 pg_resetwal.c:1159 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "ファイル\"%s\"を書き出せませんでした: %m" + +#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418 +#: ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "ファイル\"%s\"をfsyncできませんでした: %m" + +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 +#, c-format +msgid "out of memory\n" +msgstr "メモリ不足です\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "nullポインタは複製できません(内部エラー)\n" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "ファイル\"%s\"に対してファイルシステムを同期できませんでした: %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "ファイル\"%s\"のstatに失敗しました: %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../fe_utils/option_utils.c:99 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "このビルドでは同期方式\"%s\"をサポートしていません" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_resetwal.c:933 pg_resetwal.c:986 pg_resetwal.c:1021 pg_resetwal.c:1059 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: pg_resetwal.c:959 pg_resetwal.c:1000 pg_resetwal.c:1038 pg_resetwal.c:1073 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "ディレクトリ\"%s\"を読み取れませんでした: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m" + #: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" @@ -72,163 +172,163 @@ msgid "could not get exit code from subprocess: error code %lu" msgstr "サブプロセスの終了コードを入手できませんでした。: エラーコード %lu" +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "オプション%2$sに対する不正な値\"%1$s\"" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%sは%d..%dの範囲になければなりません" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "認識できない同期方式: %s" + #. translator: the second %s is a command line argument (-e, etc) -#: pg_resetwal.c:163 pg_resetwal.c:176 pg_resetwal.c:189 pg_resetwal.c:202 -#: pg_resetwal.c:209 pg_resetwal.c:228 pg_resetwal.c:241 pg_resetwal.c:249 -#: pg_resetwal.c:269 pg_resetwal.c:280 +#: pg_resetwal.c:167 pg_resetwal.c:180 pg_resetwal.c:193 pg_resetwal.c:206 +#: pg_resetwal.c:213 pg_resetwal.c:232 pg_resetwal.c:245 pg_resetwal.c:253 +#: pg_resetwal.c:272 pg_resetwal.c:286 #, c-format msgid "invalid argument for option %s" msgstr "オプション%sの引数が不正です" -#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203 -#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250 -#: pg_resetwal.c:270 pg_resetwal.c:281 pg_resetwal.c:306 pg_resetwal.c:319 -#: pg_resetwal.c:326 +#: pg_resetwal.c:168 pg_resetwal.c:181 pg_resetwal.c:194 pg_resetwal.c:207 +#: pg_resetwal.c:214 pg_resetwal.c:233 pg_resetwal.c:246 pg_resetwal.c:254 +#: pg_resetwal.c:273 pg_resetwal.c:287 pg_resetwal.c:312 pg_resetwal.c:325 +#: pg_resetwal.c:332 #, c-format msgid "Try \"%s --help\" for more information." msgstr "詳細は\"%s --help\"を実行してください。" -#: pg_resetwal.c:168 +#: pg_resetwal.c:172 #, c-format msgid "transaction ID epoch (-e) must not be -1" msgstr "トランザクションIDの基点(-e)は-1にはできません" -#: pg_resetwal.c:181 +#: pg_resetwal.c:185 #, c-format msgid "oldest transaction ID (-u) must be greater than or equal to %u" msgstr "最古のトランザクションID(-u)は%uもしくはそれ以上でなければなりません" -#: pg_resetwal.c:194 +#: pg_resetwal.c:198 #, c-format msgid "transaction ID (-x) must be greater than or equal to %u" msgstr "トランザクションID(-x)は%uもしくはそれ以上でなければなりません" -#: pg_resetwal.c:216 pg_resetwal.c:220 +#: pg_resetwal.c:220 pg_resetwal.c:224 #, c-format msgid "transaction ID (-c) must be either %u or greater than or equal to %u" msgstr "トランザクションID(-c)は%uまたは%u以上でなければなりません" -#: pg_resetwal.c:233 +#: pg_resetwal.c:237 #, c-format msgid "OID (-o) must not be 0" msgstr "OID(-o)は0にはできません" -#: pg_resetwal.c:254 -#, c-format -msgid "multitransaction ID (-m) must not be 0" -msgstr "マルチトランザクションID(-m)は0にはできません" - -#: pg_resetwal.c:261 +#: pg_resetwal.c:263 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "最古のマルチトランザクションID(-m)は0にはできません" -#: pg_resetwal.c:274 +#: pg_resetwal.c:277 #, c-format -msgid "multitransaction offset (-O) must not be -1" -msgstr "マルチトランザクションオフセット(-O)は-1にはできません" +msgid "multitransaction offset (-O) must be between 0 and %u" +msgstr "マルチトランザクションオフセット(-O)は0と%uとの間である必要があります" -#: pg_resetwal.c:300 +#: pg_resetwal.c:306 #, c-format msgid "argument of %s must be a power of two between 1 and 1024" msgstr "%sの引数は1から1024までの間の2の累乗でなければなりません" -#: pg_resetwal.c:317 +#: pg_resetwal.c:323 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "コマンドライン引数が多すぎます。(先頭は\"%s\")" -#: pg_resetwal.c:325 +#: pg_resetwal.c:331 #, c-format msgid "no data directory specified" msgstr "データディレクトリが指定されていません" -#: pg_resetwal.c:339 +#: pg_resetwal.c:345 #, c-format msgid "cannot be executed by \"root\"" msgstr "\"root\"では実行できません" -#: pg_resetwal.c:340 +#: pg_resetwal.c:346 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "PostgreSQLのスーパーユーザーで%sを実行しなければなりません" -#: pg_resetwal.c:350 +#: pg_resetwal.c:356 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "ディレクトリ\"%s\"の権限を読み取れませんでした: %m" -#: pg_resetwal.c:356 +#: pg_resetwal.c:362 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "ディレクトリ\"%s\"に移動できませんでした: %m" -#: pg_resetwal.c:369 pg_resetwal.c:523 pg_resetwal.c:571 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "ファイル\"%s\"を読み取り用にオープンできませんでした: %m" - -#: pg_resetwal.c:374 +#: pg_resetwal.c:380 #, c-format msgid "lock file \"%s\" exists" msgstr "ロックファイル\"%s\"が存在します" -#: pg_resetwal.c:375 +#: pg_resetwal.c:381 #, c-format msgid "Is a server running? If not, delete the lock file and try again." msgstr "サーバーが稼動していませんか? そうでなければロックファイルを削除し再実行してください。" -#: pg_resetwal.c:474 +#: pg_resetwal.c:480 #, c-format msgid "not proceeding because control file values were guessed" msgstr "制御ファイルの値が推測値であるため、処理をここで終了します" -#: pg_resetwal.c:475 +#: pg_resetwal.c:481 #, c-format msgid "If these values seem acceptable, use -f to force reset." msgstr "この値を許容できる場合は、-fを使用して強制リセットしてください。" -#: pg_resetwal.c:484 +#: pg_resetwal.c:490 #, c-format msgid "database server was not shut down cleanly" msgstr "ターゲットサーバーはクリーンにシャットダウンされていません" -#: pg_resetwal.c:485 +#: pg_resetwal.c:491 #, c-format msgid "Resetting the write-ahead log might cause data to be lost." msgstr "先行書き込みロ(WAL)グをリセットすると、データが失われる可能性があります。" -#: pg_resetwal.c:486 +#: pg_resetwal.c:492 #, c-format msgid "If you want to proceed anyway, use -f to force reset." msgstr "とにかく続行したいという場合には、-f でリセットを強行できます。" -#: pg_resetwal.c:498 +#: pg_resetwal.c:505 #, c-format msgid "Write-ahead log reset\n" msgstr "先行書き込みログがリセットされました\n" -#: pg_resetwal.c:530 +#: pg_resetwal.c:537 #, c-format msgid "unexpected empty file \"%s\"" msgstr "想定外の空のファイル\"%s\"" -#: pg_resetwal.c:532 pg_resetwal.c:586 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "ファイル\"%s\"の読み取りに失敗しました: %m" - -#: pg_resetwal.c:540 +#: pg_resetwal.c:547 #, c-format msgid "data directory is of wrong version" msgstr "データディレクトリのバージョンが違います" -#: pg_resetwal.c:541 +#: pg_resetwal.c:548 #, c-format msgid "File \"%s\" contains \"%s\", which is not compatible with this program's version \"%s\"." msgstr "ファイル\"%s\"では\"%s\"となっています、これはこのプログラムのバージョン\"%s\"と互換性がありません" -#: pg_resetwal.c:574 +#: pg_resetwal.c:581 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -239,23 +339,23 @@ " touch %s\n" "の後に再実行してください。" -#: pg_resetwal.c:602 +#: pg_resetwal.c:609 #, c-format msgid "pg_control exists but has invalid CRC; proceed with caution" msgstr "pg_controlがありましたが、CRCが不正でした; 注意して進めてください" -#: pg_resetwal.c:611 +#: pg_resetwal.c:618 #, c-format msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution" msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution" msgstr[0] "pg_controlにあるWALセグメントサイズ(%dバイト)は不正です; 注意して進めてください" -#: pg_resetwal.c:622 +#: pg_resetwal.c:629 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" msgstr "pg_controlがありましたが、破損あるいは間違ったバージョンです; 無視します" -#: pg_resetwal.c:717 +#: pg_resetwal.c:724 #, c-format msgid "" "Guessed pg_control values:\n" @@ -264,7 +364,7 @@ "pg_controlの推測値:\n" "\n" -#: pg_resetwal.c:719 +#: pg_resetwal.c:726 #, c-format msgid "" "Current pg_control values:\n" @@ -273,167 +373,167 @@ "現在のpg_controlの値:\n" "\n" -#: pg_resetwal.c:721 +#: pg_resetwal.c:728 #, c-format msgid "pg_control version number: %u\n" msgstr "pg_controlバージョン番号: %u\n" -#: pg_resetwal.c:723 +#: pg_resetwal.c:730 #, c-format msgid "Catalog version number: %u\n" msgstr "カタログバージョン番号: %u\n" -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 #, c-format msgid "Database system identifier: %llu\n" msgstr "データベースシステム識別子: %llu\n" -#: pg_resetwal.c:727 +#: pg_resetwal.c:734 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "最終チェックポイントの時系列ID: %u\n" -#: pg_resetwal.c:729 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "最終チェックポイントのfull_page_writes: %s\n" -#: pg_resetwal.c:730 +#: pg_resetwal.c:737 msgid "off" msgstr "オフ" -#: pg_resetwal.c:730 +#: pg_resetwal.c:737 msgid "on" msgstr "オン" -#: pg_resetwal.c:731 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "最終チェックポイントのNextXID: %u:%u\n" -#: pg_resetwal.c:734 +#: pg_resetwal.c:741 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "最終チェックポイントのNextOID: %u\n" -#: pg_resetwal.c:736 +#: pg_resetwal.c:743 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "最終チェックポイントのNextMultiXactId: %u\n" -#: pg_resetwal.c:738 +#: pg_resetwal.c:745 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "最終チェックポイントのNextMultiOffset: %u\n" -#: pg_resetwal.c:740 +#: pg_resetwal.c:747 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "最終チェックポイントのoldestXID: %u\n" -#: pg_resetwal.c:742 +#: pg_resetwal.c:749 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "最終チェックポイントのoldestXIDのDB: %u\n" -#: pg_resetwal.c:744 +#: pg_resetwal.c:751 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "最終チェックポイントのoldestActiveXID: %u\n" -#: pg_resetwal.c:746 +#: pg_resetwal.c:753 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "最終チェックポイントのoldestMultiXid: %u\n" -#: pg_resetwal.c:748 +#: pg_resetwal.c:755 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "最終チェックポイントのoldestMultiのDB: %u\n" -#: pg_resetwal.c:750 +#: pg_resetwal.c:757 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "最終チェックポイントのoldestCommitTsXid: %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:759 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "最終チェックポイントのnewestCommitTsXid: %u\n" -#: pg_resetwal.c:754 +#: pg_resetwal.c:761 #, c-format msgid "Maximum data alignment: %u\n" msgstr "最大データアラインメント: %u\n" -#: pg_resetwal.c:757 +#: pg_resetwal.c:764 #, c-format msgid "Database block size: %u\n" msgstr "データベースのブロックサイズ: %u\n" -#: pg_resetwal.c:759 +#: pg_resetwal.c:766 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "大きなリレーションのセグメント毎のブロック数:%u\n" -#: pg_resetwal.c:761 +#: pg_resetwal.c:768 #, c-format msgid "WAL block size: %u\n" msgstr "WALのブロックサイズ: %u\n" -#: pg_resetwal.c:763 pg_resetwal.c:849 +#: pg_resetwal.c:770 pg_resetwal.c:856 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "WALセグメント当たりのバイト数: %u\n" -#: pg_resetwal.c:765 +#: pg_resetwal.c:772 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "識別子の最大長: %u\n" -#: pg_resetwal.c:767 +#: pg_resetwal.c:774 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "インデックス内の最大列数: %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:776 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "TOASTチャンクの最大サイズ: %u\n" -#: pg_resetwal.c:771 +#: pg_resetwal.c:778 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "ラージオブジェクトチャンクのサイズ: %u\n" -#: pg_resetwal.c:774 +#: pg_resetwal.c:781 #, c-format msgid "Date/time type storage: %s\n" msgstr "日付/時刻型の格納方式: %s\n" -#: pg_resetwal.c:775 +#: pg_resetwal.c:782 msgid "64-bit integers" msgstr "64ビット整数" -#: pg_resetwal.c:776 +#: pg_resetwal.c:783 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Float8引数の渡し方: %s\n" -#: pg_resetwal.c:777 +#: pg_resetwal.c:784 msgid "by reference" msgstr "参照渡し" -#: pg_resetwal.c:777 +#: pg_resetwal.c:784 msgid "by value" msgstr "値渡し" -#: pg_resetwal.c:778 +#: pg_resetwal.c:785 #, c-format msgid "Data page checksum version: %u\n" msgstr "データベージチェックサムのバージョン: %u\n" -#: pg_resetwal.c:792 +#: pg_resetwal.c:799 #, c-format msgid "" "\n" @@ -446,102 +546,82 @@ "変更される値:\n" "\n" -#: pg_resetwal.c:796 +#: pg_resetwal.c:803 #, c-format msgid "First log segment after reset: %s\n" msgstr "リセット後最初のWALセグメント: %s\n" -#: pg_resetwal.c:800 +#: pg_resetwal.c:807 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:802 +#: pg_resetwal.c:809 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:804 +#: pg_resetwal.c:811 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "OldestMultiのDB: %u\n" -#: pg_resetwal.c:810 +#: pg_resetwal.c:817 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:816 +#: pg_resetwal.c:823 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:822 +#: pg_resetwal.c:829 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:824 +#: pg_resetwal.c:831 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:826 +#: pg_resetwal.c:833 #, c-format msgid "OldestXID's DB: %u\n" msgstr "OldestXIDのDB: %u\n" -#: pg_resetwal.c:832 +#: pg_resetwal.c:839 #, c-format msgid "NextXID epoch: %u\n" msgstr "NextXID基点: %u\n" -#: pg_resetwal.c:838 +#: pg_resetwal.c:845 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:843 +#: pg_resetwal.c:850 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:926 pg_resetwal.c:979 pg_resetwal.c:1014 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m" - -#: pg_resetwal.c:952 pg_resetwal.c:993 pg_resetwal.c:1031 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "ディレクトリ\"%s\"を読み取れませんでした: %m" - -#: pg_resetwal.c:955 pg_resetwal.c:996 pg_resetwal.c:1034 +#: pg_resetwal.c:962 pg_resetwal.c:1003 pg_resetwal.c:1041 pg_resetwal.c:1076 #, c-format msgid "could not close directory \"%s\": %m" msgstr "ディレクトリ\"%s\"をクローズできませんでした: %m" -#: pg_resetwal.c:988 pg_resetwal.c:1026 +#: pg_resetwal.c:995 pg_resetwal.c:1033 pg_resetwal.c:1068 #, c-format msgid "could not delete file \"%s\": %m" msgstr "ファイル\"%s\"を削除できませんでした: %m" -#: pg_resetwal.c:1098 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "ファイル\"%s\"をオープンできませんでした: %m" - -#: pg_resetwal.c:1106 pg_resetwal.c:1118 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "ファイル\"%s\"を書き出せませんでした: %m" - -#: pg_resetwal.c:1123 +#: pg_resetwal.c:1164 #, c-format msgid "fsync error: %m" msgstr "fsyncエラー: %m" -#: pg_resetwal.c:1132 +#: pg_resetwal.c:1173 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -550,17 +630,17 @@ "%sはPostgreSQLの先行書き込みログをリセットします。\n" "\n" -#: pg_resetwal.c:1133 +#: pg_resetwal.c:1174 #, c-format msgid "Usage:\n" msgstr "使用方法:\n" -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1175 #, c-format msgid " %s [OPTION]... DATADIR\n" msgstr " %s [OPTION]... DATADIR\n" -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1177 #, c-format msgid "" "\n" @@ -569,12 +649,12 @@ "\n" "オプション:\n" -#: pg_resetwal.c:1137 +#: pg_resetwal.c:1178 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]DATADIR データディレクトリ\n" -#: pg_resetwal.c:1138 +#: pg_resetwal.c:1179 #, c-format msgid "" " -f, --force force update to be done even after unclean shutdown or\n" @@ -583,22 +663,22 @@ " -f, --force クリーンではないシャットダウンの後、もしくはpg_controlの値の推定が\n" " 必要となった場合でも更新を強行する\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1181 #, c-format msgid " -n, --dry-run no update, just show what would be done\n" msgstr " -n, --dry-run 更新をせず、単に何が行なわれるかを表示\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1182 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version バージョン情報を表示して終了\n" -#: pg_resetwal.c:1142 +#: pg_resetwal.c:1183 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help このヘルプを表示して終了\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1185 #, c-format msgid "" "\n" @@ -607,7 +687,7 @@ "\n" "制御ファイルの値を上書きするためのオプション:\n" -#: pg_resetwal.c:1145 +#: pg_resetwal.c:1186 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -618,47 +698,47 @@ " コミットタイムスタンプを持つ最古と最新の\n" " トランザクション(0は変更しないことを意味する)\n" -#: pg_resetwal.c:1148 +#: pg_resetwal.c:1189 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr " -e, --epoch=XIDEPOCH 次のトランザクションIDの基点を設定\n" -#: pg_resetwal.c:1149 +#: pg_resetwal.c:1190 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr " -l, --next-wal-file=WALFILE 新しいWALの最小開始ポイントを設定\n" -#: pg_resetwal.c:1150 +#: pg_resetwal.c:1191 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr " -m, --multixact-ids=MXID,MXID 次および最古のマルチトランザクションIDを設定\n" -#: pg_resetwal.c:1151 +#: pg_resetwal.c:1192 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID 次のOIDを設定\n" -#: pg_resetwal.c:1152 +#: pg_resetwal.c:1193 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr " -O, --multixact-offset=OFFSET 次のマルチトランザクションオフセットを設定\n" -#: pg_resetwal.c:1153 +#: pg_resetwal.c:1194 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr " -u, --oldest-transaction-id=XID 最古のトランザクションIDを設定\n" -#: pg_resetwal.c:1154 +#: pg_resetwal.c:1195 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID 次のトランザクションIDを設定\n" -#: pg_resetwal.c:1155 +#: pg_resetwal.c:1196 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=SIZE WALセグメントのサイズ、単位はメガバイト\n" -#: pg_resetwal.c:1157 +#: pg_resetwal.c:1198 #, c-format msgid "" "\n" @@ -667,7 +747,10 @@ "\n" "バグは<%s>に報告してください。\n" -#: pg_resetwal.c:1158 +#: pg_resetwal.c:1199 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" + +#~ msgid "multitransaction ID (-m) must not be 0" +#~ msgstr "マルチトランザクションID(-m)は0にはできません" diff -Nru postgresql-17-17.7/src/bin/pg_resetwal/po/ru.po postgresql-17-17.8/src/bin/pg_resetwal/po/ru.po --- postgresql-17-17.7/src/bin/pg_resetwal/po/ru.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_resetwal/po/ru.po 2026-02-09 21:51:54.000000000 +0000 @@ -5,13 +5,13 @@ # Oleg Bartunov , 2004. # Sergey Burladyan , 2009. # Dmitriy Olshevskiy , 2014. -# SPDX-FileCopyrightText: 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Alexander Lakhin +# SPDX-FileCopyrightText: 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026 Alexander Lakhin msgid "" msgstr "" "Project-Id-Version: pg_resetxlog (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-09-02 09:29+0300\n" -"PO-Revision-Date: 2024-09-05 12:19+0300\n" +"POT-Creation-Date: 2026-02-07 11:39+0200\n" +"PO-Revision-Date: 2026-02-07 09:15+0200\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -41,13 +41,13 @@ msgid "hint: " msgstr "подсказка: " -#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 -#: pg_resetwal.c:573 +#: ../../common/controldata_utils.c:97 pg_resetwal.c:375 pg_resetwal.c:530 +#: pg_resetwal.c:578 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "не удалось открыть файл \"%s\" для чтения: %m" -#: ../../common/controldata_utils.c:110 pg_resetwal.c:534 pg_resetwal.c:588 +#: ../../common/controldata_utils.c:110 pg_resetwal.c:539 pg_resetwal.c:593 #, c-format msgid "could not read file \"%s\": %m" msgstr "не удалось прочитать файл \"%s\": %m" @@ -82,12 +82,12 @@ #: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70 #: ../../common/file_utils.c:347 ../../common/file_utils.c:406 -#: ../../common/file_utils.c:480 pg_resetwal.c:1134 +#: ../../common/file_utils.c:480 pg_resetwal.c:1148 #, c-format msgid "could not open file \"%s\": %m" msgstr "не удалось открыть файл \"%s\": %m" -#: ../../common/controldata_utils.c:249 pg_resetwal.c:1142 pg_resetwal.c:1154 +#: ../../common/controldata_utils.c:249 pg_resetwal.c:1156 pg_resetwal.c:1168 #, c-format msgid "could not write file \"%s\": %m" msgstr "не удалось записать файл \"%s\": %m" @@ -126,13 +126,13 @@ msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\"" #: ../../common/file_utils.c:151 ../../common/file_utils.c:281 -#: pg_resetwal.c:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054 +#: pg_resetwal.c:937 pg_resetwal.c:990 pg_resetwal.c:1025 pg_resetwal.c:1065 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" #: ../../common/file_utils.c:169 ../../common/file_utils.c:315 -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 pg_resetwal.c:1068 +#: pg_resetwal.c:963 pg_resetwal.c:1004 pg_resetwal.c:1042 pg_resetwal.c:1079 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не удалось прочитать каталог \"%s\": %m" @@ -188,154 +188,149 @@ msgstr "нераспознанный метод синхронизации: %s" #. translator: the second %s is a command line argument (-e, etc) -#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203 -#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250 -#: pg_resetwal.c:270 pg_resetwal.c:281 +#: pg_resetwal.c:167 pg_resetwal.c:180 pg_resetwal.c:193 pg_resetwal.c:206 +#: pg_resetwal.c:213 pg_resetwal.c:232 pg_resetwal.c:245 pg_resetwal.c:253 +#: pg_resetwal.c:272 pg_resetwal.c:286 #, c-format msgid "invalid argument for option %s" msgstr "недопустимый аргумент параметра %s" -#: pg_resetwal.c:165 pg_resetwal.c:178 pg_resetwal.c:191 pg_resetwal.c:204 -#: pg_resetwal.c:211 pg_resetwal.c:230 pg_resetwal.c:243 pg_resetwal.c:251 -#: pg_resetwal.c:271 pg_resetwal.c:282 pg_resetwal.c:307 pg_resetwal.c:320 -#: pg_resetwal.c:327 +#: pg_resetwal.c:168 pg_resetwal.c:181 pg_resetwal.c:194 pg_resetwal.c:207 +#: pg_resetwal.c:214 pg_resetwal.c:233 pg_resetwal.c:246 pg_resetwal.c:254 +#: pg_resetwal.c:273 pg_resetwal.c:287 pg_resetwal.c:312 pg_resetwal.c:325 +#: pg_resetwal.c:332 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_resetwal.c:169 +#: pg_resetwal.c:172 #, c-format msgid "transaction ID epoch (-e) must not be -1" msgstr "эпоха ID транзакции (-e) не должна быть равна -1" -#: pg_resetwal.c:182 +#: pg_resetwal.c:185 #, c-format msgid "oldest transaction ID (-u) must be greater than or equal to %u" msgstr "ID старейшей транзакции (-u) должен быть больше или равен %u" -#: pg_resetwal.c:195 +#: pg_resetwal.c:198 #, c-format msgid "transaction ID (-x) must be greater than or equal to %u" msgstr "ID транзакции (-x) должен быть больше или равен %u" -#: pg_resetwal.c:217 pg_resetwal.c:221 +#: pg_resetwal.c:220 pg_resetwal.c:224 #, c-format msgid "transaction ID (-c) must be either %u or greater than or equal to %u" msgstr "ID транзакции (-c) должен быть равен %u, либо больше или равен %u" -#: pg_resetwal.c:234 +#: pg_resetwal.c:237 #, c-format msgid "OID (-o) must not be 0" msgstr "OID (-o) не должен быть равен 0" -#: pg_resetwal.c:255 -#, c-format -msgid "multitransaction ID (-m) must not be 0" -msgstr "ID мультитранзакции (-m) не должен быть равен 0" - -#: pg_resetwal.c:262 +#: pg_resetwal.c:263 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "ID старейшей мультитранзакции (-m) не должен быть равен 0" -#: pg_resetwal.c:275 +#: pg_resetwal.c:277 #, c-format -msgid "multitransaction offset (-O) must not be -1" -msgstr "смещение мультитранзакции (-O) не должно быть равно -1" +msgid "multitransaction offset (-O) must be between 0 and %u" +msgstr "смещение мультитранзакции (-O) должно быть от 0 до %u" -#: pg_resetwal.c:301 +#: pg_resetwal.c:306 #, c-format msgid "argument of %s must be a power of two between 1 and 1024" msgstr "аргументом %s должна быть степень двух от 1 до 1024" -#: pg_resetwal.c:318 +#: pg_resetwal.c:323 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_resetwal.c:326 +#: pg_resetwal.c:331 #, c-format msgid "no data directory specified" msgstr "каталог данных не указан" -#: pg_resetwal.c:340 +#: pg_resetwal.c:345 #, c-format msgid "cannot be executed by \"root\"" msgstr "программу не должен запускать root" -#: pg_resetwal.c:341 +#: pg_resetwal.c:346 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Запускать %s нужно от имени суперпользователя PostgreSQL." -#: pg_resetwal.c:351 +#: pg_resetwal.c:356 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "не удалось прочитать права на каталог \"%s\": %m" -#: pg_resetwal.c:357 +#: pg_resetwal.c:362 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "не удалось перейти в каталог \"%s\": %m" -#: pg_resetwal.c:375 +#: pg_resetwal.c:380 #, c-format msgid "lock file \"%s\" exists" msgstr "файл блокировки \"%s\" существует" -#: pg_resetwal.c:376 +#: pg_resetwal.c:381 #, c-format msgid "Is a server running? If not, delete the lock file and try again." msgstr "" "Возможно, сервер запущен? Если нет, удалите этот файл и попробуйте снова." -#: pg_resetwal.c:475 +#: pg_resetwal.c:480 #, c-format msgid "not proceeding because control file values were guessed" msgstr "" "выполнение прервано, так как значения из контрольного файла являются " "предполагаемыми" -#: pg_resetwal.c:476 +#: pg_resetwal.c:481 #, c-format msgid "If these values seem acceptable, use -f to force reset." msgstr "" "Если эти значения всё же приемлемы, выполните сброс принудительно, добавив " "ключ -f." -#: pg_resetwal.c:485 +#: pg_resetwal.c:490 #, c-format msgid "database server was not shut down cleanly" msgstr "сервер баз данных не был остановлен штатно" -#: pg_resetwal.c:486 +#: pg_resetwal.c:491 #, c-format msgid "Resetting the write-ahead log might cause data to be lost." msgstr "Сброс журнала предзаписи может привести к потере данных." -#: pg_resetwal.c:487 +#: pg_resetwal.c:492 #, c-format msgid "If you want to proceed anyway, use -f to force reset." msgstr "" "Если вы всё же хотите продолжить, выполните сброс принудительно, добавив " "ключ -f." -#: pg_resetwal.c:500 +#: pg_resetwal.c:505 #, c-format msgid "Write-ahead log reset\n" msgstr "Журнал предзаписи сброшен\n" -#: pg_resetwal.c:532 +#: pg_resetwal.c:537 #, c-format msgid "unexpected empty file \"%s\"" msgstr "файл \"%s\" оказался пустым" -#: pg_resetwal.c:542 +#: pg_resetwal.c:547 #, c-format msgid "data directory is of wrong version" msgstr "каталог данных имеет неверную версию" -#: pg_resetwal.c:543 +#: pg_resetwal.c:548 #, c-format msgid "" "File \"%s\" contains \"%s\", which is not compatible with this program's " @@ -343,7 +338,7 @@ msgstr "" "Файл \"%s\" содержит строку \"%s\", а ожидается версия программы \"%s\"." -#: pg_resetwal.c:576 +#: pg_resetwal.c:581 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -354,14 +349,14 @@ " touch %s\n" "и повторите попытку." -#: pg_resetwal.c:604 +#: pg_resetwal.c:609 #, c-format msgid "pg_control exists but has invalid CRC; proceed with caution" msgstr "" "pg_control существует, но его контрольная сумма неверна; продолжайте с " "осторожностью" -#: pg_resetwal.c:613 +#: pg_resetwal.c:618 #, c-format msgid "" "pg_control specifies invalid WAL segment size (%d byte); proceed with caution" @@ -378,14 +373,14 @@ "в pg_control указан некорректный размер сегмента WAL (%d Б); продолжайте с " "осторожностью" -#: pg_resetwal.c:624 +#: pg_resetwal.c:629 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" msgstr "" "pg_control испорчен или имеет неизвестную либо недопустимую версию; " "игнорируется..." -#: pg_resetwal.c:719 +#: pg_resetwal.c:724 #, c-format msgid "" "Guessed pg_control values:\n" @@ -394,7 +389,7 @@ "Предполагаемые значения pg_control:\n" "\n" -#: pg_resetwal.c:721 +#: pg_resetwal.c:726 #, c-format msgid "" "Current pg_control values:\n" @@ -403,181 +398,181 @@ "Текущие значения pg_control:\n" "\n" -#: pg_resetwal.c:723 +#: pg_resetwal.c:728 #, c-format msgid "pg_control version number: %u\n" msgstr "Номер версии pg_control: %u\n" -#: pg_resetwal.c:725 +#: pg_resetwal.c:730 #, c-format msgid "Catalog version number: %u\n" msgstr "Номер версии каталога: %u\n" -#: pg_resetwal.c:727 +#: pg_resetwal.c:732 #, c-format msgid "Database system identifier: %llu\n" msgstr "Идентификатор системы баз данных: %llu\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:729 +#: pg_resetwal.c:734 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "Линия времени последней конт. точки: %u\n" # skip-rule: no-space-after-period -#: pg_resetwal.c:731 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Режим full_page_writes последней к.т: %s\n" -#: pg_resetwal.c:732 +#: pg_resetwal.c:737 msgid "off" msgstr "выкл." -#: pg_resetwal.c:732 +#: pg_resetwal.c:737 msgid "on" msgstr "вкл." # skip-rule: capital-letter-first -#: pg_resetwal.c:733 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "NextXID последней конт. точки: %u:%u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:736 +#: pg_resetwal.c:741 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "NextOID последней конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:738 +#: pg_resetwal.c:743 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "NextMultiXactId послед. конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:740 +#: pg_resetwal.c:745 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "NextMultiOffset послед. конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:742 +#: pg_resetwal.c:747 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "oldestXID последней конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:744 +#: pg_resetwal.c:749 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "БД с oldestXID последней конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:746 +#: pg_resetwal.c:751 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "oldestActiveXID последней к. т.: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:748 +#: pg_resetwal.c:753 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "oldestMultiXid последней конт. точки: %u\n" # skip-rule: capital-letter-first, double-space -#: pg_resetwal.c:750 +#: pg_resetwal.c:755 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "БД с oldestMulti последней к. т.: %u\n" # skip-rule: capital-letter-first, double-space -#: pg_resetwal.c:752 +#: pg_resetwal.c:757 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "oldestCommitTsXid последней к. т.: %u\n" # skip-rule: capital-letter-first, double-space -#: pg_resetwal.c:754 +#: pg_resetwal.c:759 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "newestCommitTsXid последней к. т.: %u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:761 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Макс. предел выравнивания данных: %u\n" -#: pg_resetwal.c:759 +#: pg_resetwal.c:764 #, c-format msgid "Database block size: %u\n" msgstr "Размер блока БД: %u\n" # skip-rule: double-space -#: pg_resetwal.c:761 +#: pg_resetwal.c:766 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Блоков в макс. сегменте отношений: %u\n" -#: pg_resetwal.c:763 +#: pg_resetwal.c:768 #, c-format msgid "WAL block size: %u\n" msgstr "Размер блока WAL: %u\n" -#: pg_resetwal.c:765 pg_resetwal.c:851 +#: pg_resetwal.c:770 pg_resetwal.c:860 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Байт в сегменте WAL: %u\n" -#: pg_resetwal.c:767 +#: pg_resetwal.c:772 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Максимальная длина идентификаторов: %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:774 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Макс. число столбцов в индексе: %u\n" -#: pg_resetwal.c:771 +#: pg_resetwal.c:776 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Максимальный размер порции TOAST: %u\n" -#: pg_resetwal.c:773 +#: pg_resetwal.c:778 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Размер порции большого объекта: %u\n" -#: pg_resetwal.c:776 +#: pg_resetwal.c:781 #, c-format msgid "Date/time type storage: %s\n" msgstr "Формат хранения даты/времени: %s\n" -#: pg_resetwal.c:777 +#: pg_resetwal.c:782 msgid "64-bit integers" msgstr "64-битные целые" -#: pg_resetwal.c:778 +#: pg_resetwal.c:783 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Передача аргумента float8: %s\n" -#: pg_resetwal.c:779 +#: pg_resetwal.c:784 msgid "by reference" msgstr "по ссылке" -#: pg_resetwal.c:779 +#: pg_resetwal.c:784 msgid "by value" msgstr "по значению" -#: pg_resetwal.c:780 +#: pg_resetwal.c:785 #, c-format msgid "Data page checksum version: %u\n" msgstr "Версия контрольных сумм страниц: %u\n" -#: pg_resetwal.c:794 +#: pg_resetwal.c:799 #, c-format msgid "" "\n" @@ -590,82 +585,82 @@ "Значения, которые будут изменены:\n" "\n" -#: pg_resetwal.c:798 +#: pg_resetwal.c:803 #, c-format msgid "First log segment after reset: %s\n" msgstr "Первый сегмент журнала после сброса: %s\n" -#: pg_resetwal.c:802 +#: pg_resetwal.c:807 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:804 +#: pg_resetwal.c:809 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:806 +#: pg_resetwal.c:811 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "БД с oldestMultiXid: %u\n" -#: pg_resetwal.c:812 +#: pg_resetwal.c:817 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:818 +#: pg_resetwal.c:823 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:824 +#: pg_resetwal.c:829 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:826 +#: pg_resetwal.c:835 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:828 +#: pg_resetwal.c:837 #, c-format msgid "OldestXID's DB: %u\n" msgstr "БД с oldestXID: %u\n" -#: pg_resetwal.c:834 +#: pg_resetwal.c:843 #, c-format msgid "NextXID epoch: %u\n" msgstr "Эпоха NextXID: %u\n" -#: pg_resetwal.c:840 +#: pg_resetwal.c:849 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:845 +#: pg_resetwal.c:854 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 +#: pg_resetwal.c:966 pg_resetwal.c:1007 pg_resetwal.c:1045 pg_resetwal.c:1082 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" -#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063 +#: pg_resetwal.c:999 pg_resetwal.c:1037 pg_resetwal.c:1074 #, c-format msgid "could not delete file \"%s\": %m" msgstr "ошибка удаления файла \"%s\": %m" -#: pg_resetwal.c:1159 +#: pg_resetwal.c:1173 #, c-format msgid "fsync error: %m" msgstr "ошибка синхронизации с ФС: %m" -#: pg_resetwal.c:1168 +#: pg_resetwal.c:1182 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -674,17 +669,17 @@ "%s сбрасывает журнал предзаписи PostgreSQL.\n" "\n" -#: pg_resetwal.c:1169 +#: pg_resetwal.c:1183 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: pg_resetwal.c:1170 +#: pg_resetwal.c:1184 #, c-format msgid " %s [OPTION]... DATADIR\n" msgstr " %s [ПАРАМЕТР]... КАТ_ДАННЫХ\n" -#: pg_resetwal.c:1172 +#: pg_resetwal.c:1186 #, c-format msgid "" "\n" @@ -693,12 +688,12 @@ "\n" "Параметры:\n" -#: pg_resetwal.c:1173 +#: pg_resetwal.c:1187 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]КАТ_ДАННЫХ каталог данных\n" -#: pg_resetwal.c:1174 +#: pg_resetwal.c:1188 #, c-format msgid "" " -f, --force force update to be done even after unclean shutdown " @@ -710,24 +705,24 @@ "нештатного\n" " отключения сервера\n" -#: pg_resetwal.c:1176 +#: pg_resetwal.c:1190 #, c-format msgid " -n, --dry-run no update, just show what would be done\n" msgstr "" " -n, --dry-run показать, какие действия будут выполнены, но не\n" " выполнять их\n" -#: pg_resetwal.c:1177 +#: pg_resetwal.c:1191 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_resetwal.c:1178 +#: pg_resetwal.c:1192 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_resetwal.c:1180 +#: pg_resetwal.c:1194 #, c-format msgid "" "\n" @@ -736,7 +731,7 @@ "\n" "Параметры, переопределяющие значения из контрольного файла:\n" -#: pg_resetwal.c:1181 +#: pg_resetwal.c:1195 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -748,13 +743,13 @@ " задать старейшую и новейшую транзакции,\n" " несущие метки времени (0 — не менять)\n" -#: pg_resetwal.c:1184 +#: pg_resetwal.c:1198 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr "" " -e, --epoch=XIDEPOCH задать эпоху для ID следующей транзакции\n" -#: pg_resetwal.c:1185 +#: pg_resetwal.c:1199 #, c-format msgid "" " -l, --next-wal-file=WALFILE set minimum starting location for new " @@ -763,7 +758,7 @@ " -l, --next-wal-file=ФАЙЛ_WAL задать минимальное начальное положение\n" " для нового WAL\n" -#: pg_resetwal.c:1186 +#: pg_resetwal.c:1200 #, c-format msgid "" " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" @@ -771,35 +766,35 @@ " -m, --multixact-ids=MXID,MXID задать ID следующей и старейшей\n" " мультитранзакции\n" -#: pg_resetwal.c:1187 +#: pg_resetwal.c:1201 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID задать следующий OID\n" -#: pg_resetwal.c:1188 +#: pg_resetwal.c:1202 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr "" " -O, --multixact-offset=СМЕЩЕНИЕ задать смещение следующей " "мультитранзакции\n" -#: pg_resetwal.c:1189 +#: pg_resetwal.c:1203 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr " -u, --oldest-transaction-id=XID задать ID старейшей ID\n" -#: pg_resetwal.c:1190 +#: pg_resetwal.c:1204 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID задать ID следующей транзакции\n" -#: pg_resetwal.c:1191 +#: pg_resetwal.c:1205 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr "" " --wal-segsize=РАЗМЕР размер сегментов WAL (в мегабайтах)\n" -#: pg_resetwal.c:1193 +#: pg_resetwal.c:1207 #, c-format msgid "" "\n" @@ -808,12 +803,16 @@ "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_resetwal.c:1194 +#: pg_resetwal.c:1208 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" #, c-format +#~ msgid "multitransaction ID (-m) must not be 0" +#~ msgstr "ID мультитранзакции (-m) не должен быть равен 0" + +#, c-format #~ msgid "argument of --wal-segsize must be a number" #~ msgstr "аргументом --wal-segsize должно быть число" diff -Nru postgresql-17-17.7/src/bin/pg_resetwal/po/sv.po postgresql-17-17.8/src/bin/pg_resetwal/po/sv.po --- postgresql-17-17.7/src/bin/pg_resetwal/po/sv.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_resetwal/po/sv.po 2026-02-09 21:51:54.000000000 +0000 @@ -1,5 +1,5 @@ # Swedish message translation file for resetxlog. -# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. +# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025. # Peter Eisentraut , 2010. # Mats Erik Andersson , 2014. # @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-07-12 17:51+0000\n" -"PO-Revision-Date: 2024-07-12 23:47+0200\n" +"POT-Creation-Date: 2026-02-02 02:07+0000\n" +"PO-Revision-Date: 2026-02-02 23:26+0100\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -37,13 +37,13 @@ msgid "hint: " msgstr "tips: " -#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 -#: pg_resetwal.c:573 +#: ../../common/controldata_utils.c:97 pg_resetwal.c:375 pg_resetwal.c:530 +#: pg_resetwal.c:578 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "kunde inte öppna filen \"%s\" för läsning: %m" -#: ../../common/controldata_utils.c:110 pg_resetwal.c:534 pg_resetwal.c:588 +#: ../../common/controldata_utils.c:110 pg_resetwal.c:539 pg_resetwal.c:593 #, c-format msgid "could not read file \"%s\": %m" msgstr "kunde inte läsa fil \"%s\": %m" @@ -77,12 +77,12 @@ #: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70 #: ../../common/file_utils.c:347 ../../common/file_utils.c:406 -#: ../../common/file_utils.c:480 pg_resetwal.c:1134 +#: ../../common/file_utils.c:480 pg_resetwal.c:1143 #, c-format msgid "could not open file \"%s\": %m" msgstr "kunde inte öppna fil \"%s\": %m" -#: ../../common/controldata_utils.c:249 pg_resetwal.c:1142 pg_resetwal.c:1154 +#: ../../common/controldata_utils.c:249 pg_resetwal.c:1151 pg_resetwal.c:1163 #, c-format msgid "could not write file \"%s\": %m" msgstr "kunde inte skriva fil \"%s\": %m" @@ -121,13 +121,13 @@ msgstr "detta bygge stöder inte synkmetod \"%s\"" #: ../../common/file_utils.c:151 ../../common/file_utils.c:281 -#: pg_resetwal.c:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054 +#: pg_resetwal.c:937 pg_resetwal.c:990 pg_resetwal.c:1025 pg_resetwal.c:1063 #, c-format msgid "could not open directory \"%s\": %m" msgstr "kunde inte öppna katalog \"%s\": %m" #: ../../common/file_utils.c:169 ../../common/file_utils.c:315 -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 pg_resetwal.c:1068 +#: pg_resetwal.c:963 pg_resetwal.c:1004 pg_resetwal.c:1042 pg_resetwal.c:1077 #, c-format msgid "could not read directory \"%s\": %m" msgstr "kunde inte läsa katalog \"%s\": %m" @@ -183,152 +183,147 @@ msgstr "okänd synkmetod: %s" #. translator: the second %s is a command line argument (-e, etc) -#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203 -#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250 -#: pg_resetwal.c:270 pg_resetwal.c:281 +#: pg_resetwal.c:167 pg_resetwal.c:180 pg_resetwal.c:193 pg_resetwal.c:206 +#: pg_resetwal.c:213 pg_resetwal.c:232 pg_resetwal.c:245 pg_resetwal.c:253 +#: pg_resetwal.c:272 pg_resetwal.c:286 #, c-format msgid "invalid argument for option %s" msgstr "ogiltigt argument för flaggan %s" -#: pg_resetwal.c:165 pg_resetwal.c:178 pg_resetwal.c:191 pg_resetwal.c:204 -#: pg_resetwal.c:211 pg_resetwal.c:230 pg_resetwal.c:243 pg_resetwal.c:251 -#: pg_resetwal.c:271 pg_resetwal.c:282 pg_resetwal.c:307 pg_resetwal.c:320 -#: pg_resetwal.c:327 +#: pg_resetwal.c:168 pg_resetwal.c:181 pg_resetwal.c:194 pg_resetwal.c:207 +#: pg_resetwal.c:214 pg_resetwal.c:233 pg_resetwal.c:246 pg_resetwal.c:254 +#: pg_resetwal.c:273 pg_resetwal.c:287 pg_resetwal.c:312 pg_resetwal.c:325 +#: pg_resetwal.c:332 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: pg_resetwal.c:169 +#: pg_resetwal.c:172 #, c-format msgid "transaction ID epoch (-e) must not be -1" msgstr "Epoch (-e) för transaktions-ID får inte vara -1." -#: pg_resetwal.c:182 +#: pg_resetwal.c:185 #, c-format msgid "oldest transaction ID (-u) must be greater than or equal to %u" msgstr "äldsta transaktions-ID (-u) måste vara större än eller lika med %u" -#: pg_resetwal.c:195 +#: pg_resetwal.c:198 #, c-format msgid "transaction ID (-x) must be greater than or equal to %u" msgstr "transaktions-ID (-x) måste vara större än eller lika med %u" -#: pg_resetwal.c:217 pg_resetwal.c:221 +#: pg_resetwal.c:220 pg_resetwal.c:224 #, c-format msgid "transaction ID (-c) must be either %u or greater than or equal to %u" msgstr "transaktions-ID (-c) måste antingen vara %u eller större än eller lika med %u" -#: pg_resetwal.c:234 +#: pg_resetwal.c:237 #, c-format msgid "OID (-o) must not be 0" msgstr "OID (-o) får inte vara 0." -#: pg_resetwal.c:255 -#, c-format -msgid "multitransaction ID (-m) must not be 0" -msgstr "Multitransaktions-ID (-m) får inte vara 0." - -#: pg_resetwal.c:262 +#: pg_resetwal.c:263 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "Äldsta multitransaktions-ID (-m) får inte vara 0." -#: pg_resetwal.c:275 +#: pg_resetwal.c:277 #, c-format -msgid "multitransaction offset (-O) must not be -1" -msgstr "Multitransaktionsoffset (-O) får inte vara -1." +msgid "multitransaction offset (-O) must be between 0 and %u" +msgstr "multitransaktionsoffset (-O) måste vara mellan 0 och %u" -#: pg_resetwal.c:301 +#: pg_resetwal.c:306 #, c-format msgid "argument of %s must be a power of two between 1 and 1024" msgstr "argumentet till %s måste vara en tvåpotens mellan 1 och 1024" -#: pg_resetwal.c:318 +#: pg_resetwal.c:323 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: pg_resetwal.c:326 +#: pg_resetwal.c:331 #, c-format msgid "no data directory specified" msgstr "ingen datakatalog angiven" -#: pg_resetwal.c:340 +#: pg_resetwal.c:345 #, c-format msgid "cannot be executed by \"root\"" msgstr "kan inte köras av \"root\"" -#: pg_resetwal.c:341 +#: pg_resetwal.c:346 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Du måste köra %s som PostgreSQL:s superuser." -#: pg_resetwal.c:351 +#: pg_resetwal.c:356 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "kunde inte läsa rättigheter på katalog \"%s\": %m" -#: pg_resetwal.c:357 +#: pg_resetwal.c:362 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "kunde inte byta katalog till \"%s\": %m" -#: pg_resetwal.c:375 +#: pg_resetwal.c:380 #, c-format msgid "lock file \"%s\" exists" msgstr "låsfil med namn \"%s\" finns redan" -#: pg_resetwal.c:376 +#: pg_resetwal.c:381 #, c-format msgid "Is a server running? If not, delete the lock file and try again." msgstr "Kör servern redan? Om inte, radera låsfilen och försök igen." -#: pg_resetwal.c:475 +#: pg_resetwal.c:480 #, c-format msgid "not proceeding because control file values were guessed" msgstr "fortsätter inte eftersom kontrollfilens värden har gissats" -#: pg_resetwal.c:476 +#: pg_resetwal.c:481 #, c-format msgid "If these values seem acceptable, use -f to force reset." msgstr "Om dessa värden verkar godtagbara, använd då -f för att framtvinga återställning." -#: pg_resetwal.c:485 +#: pg_resetwal.c:490 #, c-format msgid "database server was not shut down cleanly" msgstr "databasservern stångdes inte ner utan fel" -#: pg_resetwal.c:486 +#: pg_resetwal.c:491 #, c-format msgid "Resetting the write-ahead log might cause data to be lost." msgstr "Nollställa write-ahead-loggen kan göra att data förloras." -#: pg_resetwal.c:487 +#: pg_resetwal.c:492 #, c-format msgid "If you want to proceed anyway, use -f to force reset." msgstr "Om du vill fortsätta ändå, använd -f för att framtvinga återställning." -#: pg_resetwal.c:500 +#: pg_resetwal.c:505 #, c-format msgid "Write-ahead log reset\n" msgstr "Återställning av write-ahead-log\n" -#: pg_resetwal.c:532 +#: pg_resetwal.c:537 #, c-format msgid "unexpected empty file \"%s\"" msgstr "oväntad tom fil \"%s\"" -#: pg_resetwal.c:542 +#: pg_resetwal.c:547 #, c-format msgid "data directory is of wrong version" msgstr "datakatalogen har fel version" -#: pg_resetwal.c:543 +#: pg_resetwal.c:548 #, c-format msgid "File \"%s\" contains \"%s\", which is not compatible with this program's version \"%s\"." msgstr "Filen \"%s\" innehåller \"%s\", vilket inte är kompatibelt med detta programmets version \"%s\"." -#: pg_resetwal.c:576 +#: pg_resetwal.c:581 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -338,24 +333,24 @@ "Om du är säker på att sökvägen till datakatalogen är riktig,\n" "utför då \"touch %s\" och försök sedan igen." -#: pg_resetwal.c:604 +#: pg_resetwal.c:609 #, c-format msgid "pg_control exists but has invalid CRC; proceed with caution" msgstr "pg_control existerar men har ogiltig CRC. Fortsätt med varsamhet." -#: pg_resetwal.c:613 +#: pg_resetwal.c:618 #, c-format msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution" msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution" msgstr[0] "pg_control anger ogiltig WAL-segmentstorlek (%d byte); fortsätt med varsamhet." msgstr[1] "pg_control anger ogiltig WAL-segmentstorlek (%d byte); fortsätt med varsamhet." -#: pg_resetwal.c:624 +#: pg_resetwal.c:629 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" msgstr "pg_control existerar men är trasig eller har fel version. Den ignoreras." -#: pg_resetwal.c:719 +#: pg_resetwal.c:724 #, c-format msgid "" "Guessed pg_control values:\n" @@ -364,7 +359,7 @@ "Gissade värden för pg_control:\n" "\n" -#: pg_resetwal.c:721 +#: pg_resetwal.c:726 #, c-format msgid "" "Current pg_control values:\n" @@ -376,168 +371,168 @@ # November 26th, 2014: Insert six additional space characters # for best alignment with Swedish translation. # Translations should be checked against those of pg_controldata. -#: pg_resetwal.c:723 +#: pg_resetwal.c:728 #, c-format msgid "pg_control version number: %u\n" msgstr "Versionsnummer för pg_control: %u\n" -#: pg_resetwal.c:725 +#: pg_resetwal.c:730 #, c-format msgid "Catalog version number: %u\n" msgstr "Katalogversion: %u\n" -#: pg_resetwal.c:727 +#: pg_resetwal.c:732 #, c-format msgid "Database system identifier: %llu\n" msgstr "Databasens systemidentifierare: %llu\n" -#: pg_resetwal.c:729 +#: pg_resetwal.c:734 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "TimeLineID vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:731 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Senaste kontrollpunktens full_page_writes: %s\n" -#: pg_resetwal.c:732 +#: pg_resetwal.c:737 msgid "off" msgstr "av" -#: pg_resetwal.c:732 +#: pg_resetwal.c:737 msgid "on" msgstr "på" -#: pg_resetwal.c:733 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "NextXID vid senaste kontrollpunkt: %u:%u\n" -#: pg_resetwal.c:736 +#: pg_resetwal.c:741 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "NextOID vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:738 +#: pg_resetwal.c:743 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "NextMultiXactId vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:740 +#: pg_resetwal.c:745 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "NextMultiOffset vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:742 +#: pg_resetwal.c:747 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "oldestXID vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:744 +#: pg_resetwal.c:749 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "DB för oldestXID vid senaste kontrollpunkt: %u\n" # FIXME: too wide -#: pg_resetwal.c:746 +#: pg_resetwal.c:751 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "oldestActiveXID vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:748 +#: pg_resetwal.c:753 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "oldestMultiXid vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:750 +#: pg_resetwal.c:755 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "DB för oldestMulti vid senaste kontrollpkt: %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:757 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "oldestCommitTsXid vid senaste kontrollpunkt:%u\n" -#: pg_resetwal.c:754 +#: pg_resetwal.c:759 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "newestCommitTsXid vid senaste kontrollpunkt:%u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:761 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Maximal jämkning av data (alignment): %u\n" -#: pg_resetwal.c:759 +#: pg_resetwal.c:764 #, c-format msgid "Database block size: %u\n" msgstr "Databasens blockstorlek: %u\n" -#: pg_resetwal.c:761 +#: pg_resetwal.c:766 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Block per segment i en stor relation: %u\n" -#: pg_resetwal.c:763 +#: pg_resetwal.c:768 #, c-format msgid "WAL block size: %u\n" msgstr "Blockstorlek i transaktionsloggen: %u\n" -#: pg_resetwal.c:765 pg_resetwal.c:851 +#: pg_resetwal.c:770 pg_resetwal.c:860 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Segmentstorlek i transaktionsloggen: %u\n" -#: pg_resetwal.c:767 +#: pg_resetwal.c:772 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Maximal längd för identifierare: %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:774 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Maximalt antal kolonner i ett index: %u\n" -#: pg_resetwal.c:771 +#: pg_resetwal.c:776 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Maximal storlek för en TOAST-enhet: %u\n" -#: pg_resetwal.c:773 +#: pg_resetwal.c:778 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Storlek för large-object-enheter: %u\n" -#: pg_resetwal.c:776 +#: pg_resetwal.c:781 #, c-format msgid "Date/time type storage: %s\n" msgstr "Representation av dag och tid: %s\n" -#: pg_resetwal.c:777 +#: pg_resetwal.c:782 msgid "64-bit integers" msgstr "64-bitars heltal" -#: pg_resetwal.c:778 +#: pg_resetwal.c:783 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Åtkomst till float8-argument: %s\n" -#: pg_resetwal.c:779 +#: pg_resetwal.c:784 msgid "by reference" msgstr "referens" -#: pg_resetwal.c:779 +#: pg_resetwal.c:784 msgid "by value" msgstr "värdeåtkomst" -#: pg_resetwal.c:780 +#: pg_resetwal.c:785 #, c-format msgid "Data page checksum version: %u\n" msgstr "Checksummaversion för datasidor: %u\n" -#: pg_resetwal.c:794 +#: pg_resetwal.c:799 #, c-format msgid "" "\n" @@ -552,82 +547,82 @@ # November 26th, 2014: Insert additional spacing to fit # with the first translated text, which uses most characters. -#: pg_resetwal.c:798 +#: pg_resetwal.c:803 #, c-format msgid "First log segment after reset: %s\n" msgstr "Första loggsegment efter återställning: %s\n" -#: pg_resetwal.c:802 +#: pg_resetwal.c:807 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:804 +#: pg_resetwal.c:809 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:806 +#: pg_resetwal.c:811 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "DB för OldestMulti: %u\n" -#: pg_resetwal.c:812 +#: pg_resetwal.c:817 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:818 +#: pg_resetwal.c:823 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:824 +#: pg_resetwal.c:829 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:826 +#: pg_resetwal.c:835 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:828 +#: pg_resetwal.c:837 #, c-format msgid "OldestXID's DB: %u\n" msgstr "DB för OldestXID: %u\n" -#: pg_resetwal.c:834 +#: pg_resetwal.c:843 #, c-format msgid "NextXID epoch: %u\n" msgstr "Epoch för NextXID: %u\n" -#: pg_resetwal.c:840 +#: pg_resetwal.c:849 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:845 +#: pg_resetwal.c:854 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 +#: pg_resetwal.c:966 pg_resetwal.c:1007 pg_resetwal.c:1045 pg_resetwal.c:1080 #, c-format msgid "could not close directory \"%s\": %m" msgstr "kunde inte stänga katalog \"%s\": %m" -#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063 +#: pg_resetwal.c:999 pg_resetwal.c:1037 pg_resetwal.c:1072 #, c-format msgid "could not delete file \"%s\": %m" msgstr "kunde inte radera fil \"%s\": %m" -#: pg_resetwal.c:1159 +#: pg_resetwal.c:1168 #, c-format msgid "fsync error: %m" msgstr "misslyckad fsync: %m" -#: pg_resetwal.c:1168 +#: pg_resetwal.c:1177 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -636,17 +631,17 @@ "%s återställer write-ahead-log för PostgreSQL.\n" "\n" -#: pg_resetwal.c:1169 +#: pg_resetwal.c:1178 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: pg_resetwal.c:1170 +#: pg_resetwal.c:1179 #, c-format msgid " %s [OPTION]... DATADIR\n" msgstr " %s [FLAGGA]... DATAKATALOG\n" -#: pg_resetwal.c:1172 +#: pg_resetwal.c:1181 #, c-format msgid "" "\n" @@ -655,12 +650,12 @@ "\n" "Flaggor:\n" -#: pg_resetwal.c:1173 +#: pg_resetwal.c:1182 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]DATADIR datakatalog\n" -#: pg_resetwal.c:1174 +#: pg_resetwal.c:1183 #, c-format msgid "" " -f, --force force update to be done even after unclean shutdown or\n" @@ -669,29 +664,31 @@ " -f, --force tvinga uppdatering även om servern inte stängts ner\n" " korrekt eller om värden i pg_control har gissats\n" -#: pg_resetwal.c:1176 +#: pg_resetwal.c:1185 #, c-format msgid " -n, --dry-run no update, just show what would be done\n" msgstr " -n, --dry-run ingen updatering; visa bara planerade åtgärder\n" -#: pg_resetwal.c:1177 +#: pg_resetwal.c:1186 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_resetwal.c:1178 +#: pg_resetwal.c:1187 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa den här hjälpen, avsluta sedan\n" -#: pg_resetwal.c:1180 +#: pg_resetwal.c:1189 #, c-format msgid "" "\n" "Options to override control file values:\n" -msgstr "\nFlaggor som övertrumfar värden i kontrollfilen:\n" +msgstr "" +"\n" +"Flaggor som övertrumfar värden i kontrollfilen:\n" -#: pg_resetwal.c:1181 +#: pg_resetwal.c:1190 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -703,47 +700,47 @@ " kan ha commit-tidstämpel (noll betyder\n" " ingen ändring)\n" -#: pg_resetwal.c:1184 +#: pg_resetwal.c:1193 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr " -e, --epoch=XIDEPOCH sätter epoch för nästa transaktions-ID\n" -#: pg_resetwal.c:1185 +#: pg_resetwal.c:1194 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr " -l, --next-wal-file=WALFIL sätt minsta startposition för ny WAL\n" -#: pg_resetwal.c:1186 +#: pg_resetwal.c:1195 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr " -m, --multixact-ids=MXID,MXID sätt nästa och äldsta multitransaktions-ID\n" -#: pg_resetwal.c:1187 +#: pg_resetwal.c:1196 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID sätt nästa OID\n" -#: pg_resetwal.c:1188 +#: pg_resetwal.c:1197 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr " -O, --multixact-offset=OFFSET sätt nästa multitransaktionsoffset\n" -#: pg_resetwal.c:1189 +#: pg_resetwal.c:1198 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr " -u, --oldest-transaction-id=XID sätt äldsta transaktions-ID\n" -#: pg_resetwal.c:1190 +#: pg_resetwal.c:1199 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID sätt nästa transaktions-ID\n" -#: pg_resetwal.c:1191 +#: pg_resetwal.c:1200 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=STORLEK storlek på WAL-segment i megabyte\n" -#: pg_resetwal.c:1193 +#: pg_resetwal.c:1202 #, c-format msgid "" "\n" @@ -752,7 +749,7 @@ "\n" "Rapportera fel till <%s>.\n" -#: pg_resetwal.c:1194 +#: pg_resetwal.c:1203 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" diff -Nru postgresql-17-17.7/src/bin/pg_resetwal/po/uk.po postgresql-17-17.8/src/bin/pg_resetwal/po/uk.po --- postgresql-17-17.7/src/bin/pg_resetwal/po/uk.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_resetwal/po/uk.po 2026-02-09 21:51:54.000000000 +0000 @@ -2,8 +2,8 @@ msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-08-31 06:21+0000\n" -"PO-Revision-Date: 2024-09-23 19:38\n" +"POT-Creation-Date: 2025-12-31 02:39+0000\n" +"PO-Revision-Date: 2026-01-02 12:56\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -37,13 +37,13 @@ msgid "hint: " msgstr "підказка: " -#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 -#: pg_resetwal.c:573 +#: ../../common/controldata_utils.c:97 pg_resetwal.c:375 pg_resetwal.c:530 +#: pg_resetwal.c:578 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "не вдалося відкрити файл \"%s\" для читання: %m" -#: ../../common/controldata_utils.c:110 pg_resetwal.c:534 pg_resetwal.c:588 +#: ../../common/controldata_utils.c:110 pg_resetwal.c:539 pg_resetwal.c:593 #, c-format msgid "could not read file \"%s\": %m" msgstr "не вдалося прочитати файл \"%s\": %m" @@ -73,12 +73,12 @@ #: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70 #: ../../common/file_utils.c:347 ../../common/file_utils.c:406 -#: ../../common/file_utils.c:480 pg_resetwal.c:1134 +#: ../../common/file_utils.c:480 pg_resetwal.c:1143 #, c-format msgid "could not open file \"%s\": %m" msgstr "не можливо відкрити файл \"%s\": %m" -#: ../../common/controldata_utils.c:249 pg_resetwal.c:1142 pg_resetwal.c:1154 +#: ../../common/controldata_utils.c:249 pg_resetwal.c:1151 pg_resetwal.c:1163 #, c-format msgid "could not write file \"%s\": %m" msgstr "не вдалося записати файл \"%s\": %m" @@ -117,13 +117,13 @@ msgstr "ця збірка не підтримує метод синхронізації \"%s\"" #: ../../common/file_utils.c:151 ../../common/file_utils.c:281 -#: pg_resetwal.c:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054 +#: pg_resetwal.c:937 pg_resetwal.c:990 pg_resetwal.c:1025 pg_resetwal.c:1063 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не вдалося відкрити каталог \"%s\": %m" #: ../../common/file_utils.c:169 ../../common/file_utils.c:315 -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 pg_resetwal.c:1068 +#: pg_resetwal.c:963 pg_resetwal.c:1004 pg_resetwal.c:1042 pg_resetwal.c:1077 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не вдалося прочитати каталог \"%s\": %m" @@ -179,152 +179,147 @@ msgstr "нерозпізнаний метод синхронізації: %s" #. translator: the second %s is a command line argument (-e, etc) -#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203 -#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250 -#: pg_resetwal.c:270 pg_resetwal.c:281 +#: pg_resetwal.c:167 pg_resetwal.c:180 pg_resetwal.c:193 pg_resetwal.c:206 +#: pg_resetwal.c:213 pg_resetwal.c:232 pg_resetwal.c:245 pg_resetwal.c:253 +#: pg_resetwal.c:272 pg_resetwal.c:286 #, c-format msgid "invalid argument for option %s" msgstr "неприпустимий аргумент для параметру %s" -#: pg_resetwal.c:165 pg_resetwal.c:178 pg_resetwal.c:191 pg_resetwal.c:204 -#: pg_resetwal.c:211 pg_resetwal.c:230 pg_resetwal.c:243 pg_resetwal.c:251 -#: pg_resetwal.c:271 pg_resetwal.c:282 pg_resetwal.c:307 pg_resetwal.c:320 -#: pg_resetwal.c:327 +#: pg_resetwal.c:168 pg_resetwal.c:181 pg_resetwal.c:194 pg_resetwal.c:207 +#: pg_resetwal.c:214 pg_resetwal.c:233 pg_resetwal.c:246 pg_resetwal.c:254 +#: pg_resetwal.c:273 pg_resetwal.c:287 pg_resetwal.c:312 pg_resetwal.c:325 +#: pg_resetwal.c:332 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: pg_resetwal.c:169 +#: pg_resetwal.c:172 #, c-format msgid "transaction ID epoch (-e) must not be -1" msgstr "епоха ID транзакції (-e) не повинна бути -1" -#: pg_resetwal.c:182 +#: pg_resetwal.c:185 #, c-format msgid "oldest transaction ID (-u) must be greater than or equal to %u" msgstr "найстаріший ID транзакції (-u) має бути більший або рівним %u" -#: pg_resetwal.c:195 +#: pg_resetwal.c:198 #, c-format msgid "transaction ID (-x) must be greater than or equal to %u" msgstr "ID транзакції (-x) має бути більшим чи рівним %u" -#: pg_resetwal.c:217 pg_resetwal.c:221 +#: pg_resetwal.c:220 pg_resetwal.c:224 #, c-format msgid "transaction ID (-c) must be either %u or greater than or equal to %u" msgstr "ідентифікатор транзакції (-c) має бути або %u, або більше чи дорівнювати %u" -#: pg_resetwal.c:234 +#: pg_resetwal.c:237 #, c-format msgid "OID (-o) must not be 0" msgstr "OID (-o) не може бути 0" -#: pg_resetwal.c:255 -#, c-format -msgid "multitransaction ID (-m) must not be 0" -msgstr "ID мультитранзакції (-m) не повинен бути 0" - -#: pg_resetwal.c:262 +#: pg_resetwal.c:263 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "найстарший ID мультитранзакції (-m) не повинен бути 0" -#: pg_resetwal.c:275 +#: pg_resetwal.c:277 #, c-format -msgid "multitransaction offset (-O) must not be -1" -msgstr "зсув мультитранзакції (-O) не повинен бути -1" +msgid "multitransaction offset (-O) must be between 0 and %u" +msgstr "зсув мультитранзакції (O) повинен бути між 0 і %u" -#: pg_resetwal.c:301 +#: pg_resetwal.c:306 #, c-format msgid "argument of %s must be a power of two between 1 and 1024" msgstr "аргумент %s має бути ступенем двійки в діапазоні від 1 до 1024" -#: pg_resetwal.c:318 +#: pg_resetwal.c:323 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_resetwal.c:326 +#: pg_resetwal.c:331 #, c-format msgid "no data directory specified" msgstr "каталог даних не вказано" -#: pg_resetwal.c:340 +#: pg_resetwal.c:345 #, c-format msgid "cannot be executed by \"root\"" msgstr "\"root\" не може це виконувати" -#: pg_resetwal.c:341 +#: pg_resetwal.c:346 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Запускати %s треба від суперкористувача PostgreSQL." -#: pg_resetwal.c:351 +#: pg_resetwal.c:356 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "не вдалося прочитати дозволи на каталог \"%s\": %m" -#: pg_resetwal.c:357 +#: pg_resetwal.c:362 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "не вдалося змінити каталог на \"%s\": %m" -#: pg_resetwal.c:375 +#: pg_resetwal.c:380 #, c-format msgid "lock file \"%s\" exists" msgstr "файл блокування \"%s\" вже існує" -#: pg_resetwal.c:376 +#: pg_resetwal.c:381 #, c-format msgid "Is a server running? If not, delete the lock file and try again." msgstr "Чи запущений сервер? Якщо ні, видаліть файл блокування і спробуйте знову." -#: pg_resetwal.c:475 +#: pg_resetwal.c:480 #, c-format msgid "not proceeding because control file values were guessed" msgstr "не виконується, оскільки значення контрольного файлу були вгадані" -#: pg_resetwal.c:476 +#: pg_resetwal.c:481 #, c-format msgid "If these values seem acceptable, use -f to force reset." msgstr "Якщо ці значення здаються прийнятними, використовуйте -f для примусового скидання." -#: pg_resetwal.c:485 +#: pg_resetwal.c:490 #, c-format msgid "database server was not shut down cleanly" msgstr "сервер бази даних завершив роботу некоректно" -#: pg_resetwal.c:486 +#: pg_resetwal.c:491 #, c-format msgid "Resetting the write-ahead log might cause data to be lost." msgstr "Скидання журналу попереднього запису може призвести до втрати даних." -#: pg_resetwal.c:487 +#: pg_resetwal.c:492 #, c-format msgid "If you want to proceed anyway, use -f to force reset." msgstr "Якщо ви все одно хочете продовжити, використовуйте -f для примусового скидання." -#: pg_resetwal.c:500 +#: pg_resetwal.c:505 #, c-format msgid "Write-ahead log reset\n" msgstr "Журнал передзапису скинуто\n" -#: pg_resetwal.c:532 +#: pg_resetwal.c:537 #, c-format msgid "unexpected empty file \"%s\"" msgstr "неочікуваний порожній файл \"%s\"" -#: pg_resetwal.c:542 +#: pg_resetwal.c:547 #, c-format msgid "data directory is of wrong version" msgstr "каталог даних неправильної версії" -#: pg_resetwal.c:543 +#: pg_resetwal.c:548 #, c-format msgid "File \"%s\" contains \"%s\", which is not compatible with this program's version \"%s\"." msgstr "Файл \"%s\" містить \"%s\", який не сумісний з версією цієї програми \"%s\"." -#: pg_resetwal.c:576 +#: pg_resetwal.c:581 #, c-format msgid "If you are sure the data directory path is correct, execute\n" " touch %s\n" @@ -333,12 +328,12 @@ " touch %s\n" "і спробуйте знову." -#: pg_resetwal.c:604 +#: pg_resetwal.c:609 #, c-format msgid "pg_control exists but has invalid CRC; proceed with caution" msgstr "pg_control існує, але має недопустимий CRC; продовжуйте з обережністю" -#: pg_resetwal.c:613 +#: pg_resetwal.c:618 #, c-format msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution" msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution" @@ -347,320 +342,320 @@ msgstr[2] "pg_control вказує неприпустимий розмір сегмента WAL (%d байтів); продовжуйте з обережністю" msgstr[3] "pg_control вказує неприпустимий розмір сегмента WAL (%d байтів); продовжуйте з обережністю" -#: pg_resetwal.c:624 +#: pg_resetwal.c:629 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" msgstr "pg_control існує, але зламаний або неправильної версії; ігнорується" -#: pg_resetwal.c:719 +#: pg_resetwal.c:724 #, c-format msgid "Guessed pg_control values:\n\n" msgstr "Припустимі значення pg_control:\n\n" -#: pg_resetwal.c:721 +#: pg_resetwal.c:726 #, c-format msgid "Current pg_control values:\n\n" msgstr "Поточні значення pg_control:\n\n" -#: pg_resetwal.c:723 +#: pg_resetwal.c:728 #, c-format msgid "pg_control version number: %u\n" msgstr "pg_control номер версії: %u\n" -#: pg_resetwal.c:725 +#: pg_resetwal.c:730 #, c-format msgid "Catalog version number: %u\n" msgstr "Номер версії каталогу: %u\n" -#: pg_resetwal.c:727 +#: pg_resetwal.c:732 #, c-format msgid "Database system identifier: %llu\n" msgstr "Системний ідентифікатор бази даних: %llu\n" -#: pg_resetwal.c:729 +#: pg_resetwal.c:734 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "Останній TimeLineID контрольної точки: %u\n" -#: pg_resetwal.c:731 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Останній full_page_writes контрольної точки: %s\n" -#: pg_resetwal.c:732 +#: pg_resetwal.c:737 msgid "off" msgstr "вимк" -#: pg_resetwal.c:732 +#: pg_resetwal.c:737 msgid "on" msgstr "увімк" -#: pg_resetwal.c:733 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "Останній NextXID контрольної точки: %u%u\n" -#: pg_resetwal.c:736 +#: pg_resetwal.c:741 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "Останній NextOID контрольної точки: %u\n" -#: pg_resetwal.c:738 +#: pg_resetwal.c:743 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "Останній NextMultiXactId контрольної точки: %u\n" -#: pg_resetwal.c:740 +#: pg_resetwal.c:745 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "Останній NextMultiOffset контрольної точки: %u\n" -#: pg_resetwal.c:742 +#: pg_resetwal.c:747 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "Останній oldestXID контрольної точки: %u\n" -#: pg_resetwal.c:744 +#: pg_resetwal.c:749 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "Остання DB останнього oldestXID контрольної точки: %u\n" -#: pg_resetwal.c:746 +#: pg_resetwal.c:751 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "Останній oldestActiveXID контрольної точки: %u\n" -#: pg_resetwal.c:748 +#: pg_resetwal.c:753 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "Останній oldestMultiXid контрольної точки: %u \n" -#: pg_resetwal.c:750 +#: pg_resetwal.c:755 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "Остання DB останньої oldestMulti контрольної точки: %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:757 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "Останній oldestCommitTsXid контрольної точки:%u\n" -#: pg_resetwal.c:754 +#: pg_resetwal.c:759 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "Останній newestCommitTsXid контрольної точки: %u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:761 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Максимальне вирівнювання даних: %u\n" -#: pg_resetwal.c:759 +#: pg_resetwal.c:764 #, c-format msgid "Database block size: %u\n" msgstr "Розмір блоку бази даних: %u\n" -#: pg_resetwal.c:761 +#: pg_resetwal.c:766 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Блоків на сегмент великого відношення: %u\n" -#: pg_resetwal.c:763 +#: pg_resetwal.c:768 #, c-format msgid "WAL block size: %u\n" msgstr "Pозмір блоку WAL: %u\n" -#: pg_resetwal.c:765 pg_resetwal.c:851 +#: pg_resetwal.c:770 pg_resetwal.c:860 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Байтів на сегмент WAL: %u\n" -#: pg_resetwal.c:767 +#: pg_resetwal.c:772 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Максимальна довжина ідентифікаторів: %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:774 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Максимальна кількість стовпців в індексі: %u\n" -#: pg_resetwal.c:771 +#: pg_resetwal.c:776 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Максимальний розмір сегменту TOAST: %u\n" -#: pg_resetwal.c:773 +#: pg_resetwal.c:778 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Розмір сегменту великих обїєктів: %u\n" -#: pg_resetwal.c:776 +#: pg_resetwal.c:781 #, c-format msgid "Date/time type storage: %s\n" msgstr "Дата/час типу сховища: %s\n" -#: pg_resetwal.c:777 +#: pg_resetwal.c:782 msgid "64-bit integers" msgstr "64-бітні цілі" -#: pg_resetwal.c:778 +#: pg_resetwal.c:783 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Передача аргументу Float8: %s\n" -#: pg_resetwal.c:779 +#: pg_resetwal.c:784 msgid "by reference" msgstr "за посиланням" -#: pg_resetwal.c:779 +#: pg_resetwal.c:784 msgid "by value" msgstr "за значенням" -#: pg_resetwal.c:780 +#: pg_resetwal.c:785 #, c-format msgid "Data page checksum version: %u\n" msgstr "Версія контрольних сум сторінок даних: %u\n" -#: pg_resetwal.c:794 +#: pg_resetwal.c:799 #, c-format msgid "\n\n" "Values to be changed:\n\n" msgstr "\n\n" "Значення, що потребують зміни:\n\n" -#: pg_resetwal.c:798 +#: pg_resetwal.c:803 #, c-format msgid "First log segment after reset: %s\n" msgstr "Перший сегмент журналу після скидання: %s\n" -#: pg_resetwal.c:802 +#: pg_resetwal.c:807 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:804 +#: pg_resetwal.c:809 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:806 +#: pg_resetwal.c:811 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "OldestMulti's DB: %u\n" -#: pg_resetwal.c:812 +#: pg_resetwal.c:817 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:818 +#: pg_resetwal.c:823 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:824 +#: pg_resetwal.c:829 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:826 +#: pg_resetwal.c:835 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:828 +#: pg_resetwal.c:837 #, c-format msgid "OldestXID's DB: %u\n" msgstr "OldestXID's DB: %u\n" -#: pg_resetwal.c:834 +#: pg_resetwal.c:843 #, c-format msgid "NextXID epoch: %u\n" msgstr "Епоха NextXID: %u\n" -#: pg_resetwal.c:840 +#: pg_resetwal.c:849 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:845 +#: pg_resetwal.c:854 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 +#: pg_resetwal.c:966 pg_resetwal.c:1007 pg_resetwal.c:1045 pg_resetwal.c:1080 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не вдалося закрити каталог \"%s\": %m" -#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063 +#: pg_resetwal.c:999 pg_resetwal.c:1037 pg_resetwal.c:1072 #, c-format msgid "could not delete file \"%s\": %m" msgstr "не вдалося видалити файл \"%s\": %m" -#: pg_resetwal.c:1159 +#: pg_resetwal.c:1168 #, c-format msgid "fsync error: %m" msgstr "помилка fsync: %m" -#: pg_resetwal.c:1168 +#: pg_resetwal.c:1177 #, c-format msgid "%s resets the PostgreSQL write-ahead log.\n\n" msgstr "%s скидає журнал передзапису PostgreSQL.\n\n" -#: pg_resetwal.c:1169 +#: pg_resetwal.c:1178 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: pg_resetwal.c:1170 +#: pg_resetwal.c:1179 #, c-format msgid " %s [OPTION]... DATADIR\n" msgstr " %s [OPTION]... DATADIR\n" -#: pg_resetwal.c:1172 +#: pg_resetwal.c:1181 #, c-format msgid "\n" "Options:\n" msgstr "\n" "Параметри:\n" -#: pg_resetwal.c:1173 +#: pg_resetwal.c:1182 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]DATADIR каталог з даними\n" -#: pg_resetwal.c:1174 +#: pg_resetwal.c:1183 #, c-format msgid " -f, --force force update to be done even after unclean shutdown or\n" " if pg_control values had to be guessed\n" msgstr " -f, --force змусити оновлення виконуватися навіть після нечистого вимкнення або\n" " якщо значення pg_control потрібно було вгадувати\n" -#: pg_resetwal.c:1176 +#: pg_resetwal.c:1185 #, c-format msgid " -n, --dry-run no update, just show what would be done\n" msgstr " -n, --dry-run не оновлювати, просто показати, що було б зроблено\n" -#: pg_resetwal.c:1177 +#: pg_resetwal.c:1186 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: pg_resetwal.c:1178 +#: pg_resetwal.c:1187 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку потім вийти\n" -#: pg_resetwal.c:1180 +#: pg_resetwal.c:1189 #, c-format msgid "\n" "Options to override control file values:\n" msgstr "\n" "Опції для перевизначення значень контрольного файлу:\n" -#: pg_resetwal.c:1181 +#: pg_resetwal.c:1190 #, c-format msgid " -c, --commit-timestamp-ids=XID,XID\n" " set oldest and newest transactions bearing\n" @@ -669,54 +664,54 @@ " встановити найстарішу та найновішу транзакції\n" " затвердити позначку часу (нуль означає залишити без змін)\n" -#: pg_resetwal.c:1184 +#: pg_resetwal.c:1193 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr " -e, --epoch=XIDEPOCH встановити наступну епоху ID транзакцій\n" -#: pg_resetwal.c:1185 +#: pg_resetwal.c:1194 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr " -l, --next-wal-file=WALFILE задати мінімальне початкове розташування для нового WAL\n" -#: pg_resetwal.c:1186 +#: pg_resetwal.c:1195 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr " -m, --multixact-ids=MXID,MXID задати ID наступної і найстарішої мультитранзакції\n" -#: pg_resetwal.c:1187 +#: pg_resetwal.c:1196 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID задати наступний OID\n" -#: pg_resetwal.c:1188 +#: pg_resetwal.c:1197 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr " -O, --multixact-offset=OFFSET задати зсув наступної мультитранзакції\n" -#: pg_resetwal.c:1189 +#: pg_resetwal.c:1198 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr " -u, --oldest-transaction-id=XID задати ID найстарішої транзакції\n" -#: pg_resetwal.c:1190 +#: pg_resetwal.c:1199 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID задати ID наступної транзакції\n" -#: pg_resetwal.c:1191 +#: pg_resetwal.c:1200 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=SIZE розмір сегментів WAL, у мегабайтах\n" -#: pg_resetwal.c:1193 +#: pg_resetwal.c:1202 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: pg_resetwal.c:1194 +#: pg_resetwal.c:1203 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" diff -Nru postgresql-17-17.7/src/bin/pg_resetwal/t/001_basic.pl postgresql-17-17.8/src/bin/pg_resetwal/t/001_basic.pl --- postgresql-17-17.7/src/bin/pg_resetwal/t/001_basic.pl 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_resetwal/t/001_basic.pl 2026-02-09 21:51:54.000000000 +0000 @@ -118,10 +118,12 @@ [ 'pg_resetwal', '-m', '10,bar', $node->data_dir ], qr/error: invalid argument for option -m/, 'fails with incorrect -m option part 2'); -command_fails_like( - [ 'pg_resetwal', '-m', '0,10', $node->data_dir ], - qr/must not be 0/, - 'fails with -m value 0 part 1'); + +# This used to be forbidden, but nextMulti can legitimately be 0 after +# wraparound, so we now accept it in pg_resetwal too. +command_ok([ 'pg_resetwal', '-m', '0,10', $node->data_dir ], + 'succeeds with -m value 0 part 1'); + command_fails_like( [ 'pg_resetwal', '-m', '10,0', $node->data_dir ], qr/must not be 0/, @@ -142,7 +144,7 @@ 'fails with incorrect -O option'); command_fails_like( [ 'pg_resetwal', '-O', '-1', $node->data_dir ], - qr/must not be -1/, + qr/must be between 0 and 4294967295/, 'fails with -O value -1'); # --wal-segsize command_fails_like( diff -Nru postgresql-17-17.7/src/bin/pg_rewind/file_ops.c postgresql-17-17.8/src/bin/pg_rewind/file_ops.c --- postgresql-17-17.7/src/bin/pg_rewind/file_ops.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_rewind/file_ops.c 2026-02-09 21:51:54.000000000 +0000 @@ -327,7 +327,7 @@ fullpath); if (fstat(fd, &statbuf) < 0) - pg_fatal("could not open file \"%s\" for reading: %m", + pg_fatal("could not stat file \"%s\": %m", fullpath); len = statbuf.st_size; diff -Nru postgresql-17-17.7/src/bin/pg_rewind/po/es.po postgresql-17-17.8/src/bin/pg_rewind/po/es.po --- postgresql-17-17.7/src/bin/pg_rewind/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_rewind/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:40+0000\n" +"POT-Creation-Date: 2026-02-06 23:37+0000\n" "PO-Revision-Date: 2024-11-16 14:24+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -41,7 +41,7 @@ msgid "hint: " msgstr "consejo: " -#: ../../common/controldata_utils.c:97 file_ops.c:326 file_ops.c:330 +#: ../../common/controldata_utils.c:97 file_ops.c:326 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "no se pudo abrir archivo «%s» para lectura: %m" @@ -310,6 +310,11 @@ msgid "could not remove symbolic link \"%s\": %m" msgstr "no se pudo eliminar el enlace simbólico «%s»: %m" +#: file_ops.c:330 +#, c-format +msgid "could not stat file \"%s\" for reading: %m" +msgstr "no se pudo efectuar «stat» al archivo «%s» para lectura: %m" + #: file_ops.c:441 #, c-format msgid "could not read symbolic link \"%s\": %m" diff -Nru postgresql-17-17.7/src/bin/pg_rewind/po/ru.po postgresql-17-17.8/src/bin/pg_rewind/po/ru.po --- postgresql-17-17.7/src/bin/pg_rewind/po/ru.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_rewind/po/ru.po 2026-02-09 21:51:54.000000000 +0000 @@ -1,13 +1,13 @@ # Russian message translation file for pg_rewind # Copyright (C) 2015-2016 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# SPDX-FileCopyrightText: 2015-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Alexander Lakhin +# SPDX-FileCopyrightText: 2015-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026 Alexander Lakhin msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-08-02 11:37+0300\n" -"PO-Revision-Date: 2025-09-13 18:56+0300\n" +"POT-Creation-Date: 2026-02-07 11:39+0200\n" +"PO-Revision-Date: 2026-02-07 09:14+0200\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -37,7 +37,7 @@ msgid "hint: " msgstr "подсказка: " -#: ../../common/controldata_utils.c:97 file_ops.c:326 file_ops.c:330 +#: ../../common/controldata_utils.c:97 file_ops.c:326 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "не удалось открыть файл \"%s\" для чтения: %m" @@ -309,6 +309,11 @@ msgid "could not remove symbolic link \"%s\": %m" msgstr "ошибка при удалении символической ссылки \"%s\": %m" +#: file_ops.c:330 +#, c-format +msgid "could not stat file \"%s\" for reading: %m" +msgstr "не удалось получить информацию о файле \"%s\" для чтения: %m" + #: file_ops.c:441 #, c-format msgid "could not read symbolic link \"%s\": %m" diff -Nru postgresql-17-17.7/src/bin/pg_rewind/po/sv.po postgresql-17-17.8/src/bin/pg_rewind/po/sv.po --- postgresql-17-17.7/src/bin/pg_rewind/po/sv.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_rewind/po/sv.po 2026-02-09 21:51:54.000000000 +0000 @@ -1,14 +1,14 @@ # Swedish message translation file for pg_rewind # Copyright (C) 2017 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026. # msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-08-27 15:53+0000\n" -"PO-Revision-Date: 2024-08-27 18:32+0200\n" +"POT-Creation-Date: 2026-02-06 23:37+0000\n" +"PO-Revision-Date: 2026-02-07 09:31+0100\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -37,18 +37,18 @@ msgid "hint: " msgstr "tips: " -#: ../../common/controldata_utils.c:97 file_ops.c:326 file_ops.c:330 +#: ../../common/controldata_utils.c:97 file_ops.c:326 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "kunde inte öppna filen \"%s\" för läsning: %m" #: ../../common/controldata_utils.c:110 file_ops.c:341 local_source.c:104 -#: local_source.c:163 parsexlog.c:350 +#: local_source.c:163 parsexlog.c:371 #, c-format msgid "could not read file \"%s\": %m" msgstr "kunde inte läsa fil \"%s\": %m" -#: ../../common/controldata_utils.c:119 file_ops.c:344 parsexlog.c:352 +#: ../../common/controldata_utils.c:119 file_ops.c:344 parsexlog.c:373 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" @@ -79,7 +79,7 @@ #: ../../common/controldata_utils.c:230 ../../common/file_utils.c:70 #: ../../common/file_utils.c:347 ../../common/file_utils.c:406 #: ../../common/file_utils.c:480 ../../fe_utils/recovery_gen.c:140 -#: parsexlog.c:312 +#: parsexlog.c:333 #, c-format msgid "could not open file \"%s\": %m" msgstr "kunde inte öppna fil \"%s\": %m" @@ -235,12 +235,12 @@ msgid "could not create file \"%s\": %m" msgstr "kunde inte skapa fil \"%s\": %m" -#: ../../fe_utils/string_utils.c:434 +#: ../../fe_utils/string_utils.c:587 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"\n" msgstr "shell-kommandots argument innehåller nyrad eller vagnretur: \"%s\"\n" -#: ../../fe_utils/string_utils.c:607 +#: ../../fe_utils/string_utils.c:760 #, c-format msgid "database name contains a newline or carriage return: \"%s\"\n" msgstr "databasnamnet innehåller nyrad eller vagnretur: \"%s\"\n" @@ -305,6 +305,11 @@ msgid "could not remove symbolic link \"%s\": %m" msgstr "kan inte ta bort symbolisk länk \"%s\": %m" +#: file_ops.c:330 +#, c-format +msgid "could not stat file \"%s\" for reading: %m" +msgstr "kunde inte göra stat() på filen \"%s\" för läsning: %m" + #: file_ops.c:441 #, c-format msgid "could not read symbolic link \"%s\": %m" @@ -320,32 +325,32 @@ msgid "could not close directory \"%s\": %m" msgstr "kunde inte stänga katalog \"%s\": %m" -#: filemap.c:235 +#: filemap.c:297 #, c-format msgid "data file \"%s\" in source is not a regular file" msgstr "datafil \"%s\" i källan är inte en vanlig fil" -#: filemap.c:240 filemap.c:273 +#: filemap.c:302 filemap.c:335 #, c-format msgid "duplicate source file \"%s\"" msgstr "duplicerad källflagga \"%s\"" -#: filemap.c:328 +#: filemap.c:390 #, c-format msgid "unexpected page modification for non-regular file \"%s\"" msgstr "oväntad sidmodifiering för icke-regulär fil \"%s\"" -#: filemap.c:682 filemap.c:776 +#: filemap.c:744 filemap.c:846 #, c-format msgid "unknown file type for \"%s\"" msgstr "okänd filtyp på \"%s\"" -#: filemap.c:709 +#: filemap.c:779 #, c-format msgid "file \"%s\" is of different type in source and target" msgstr "filen \"%s\" har olika typ i källa och mål" -#: filemap.c:781 +#: filemap.c:851 #, c-format msgid "could not decide what to do with file \"%s\"" msgstr "kunde inte bestämma vad som skulle göras med filen \"%s\"" @@ -490,7 +495,7 @@ msgid "unexpected EOF while reading file \"%s\"" msgstr "oväntad EOF under läsning av fil \"%s\"" -#: parsexlog.c:80 parsexlog.c:139 parsexlog.c:199 +#: parsexlog.c:80 parsexlog.c:139 parsexlog.c:201 #, c-format msgid "out of memory while allocating a WAL reading processor" msgstr "slut på minne vid allokering av en WAL-läs-processor" @@ -510,22 +515,22 @@ msgid "end pointer %X/%X is not a valid end point; expected %X/%X" msgstr "slutpekare %X/%X är inte en giltig slutposition; förväntade %X/%X" -#: parsexlog.c:212 +#: parsexlog.c:214 #, c-format msgid "could not find previous WAL record at %X/%X: %s" msgstr "kunde inte hitta föregående WAL-post vid %X/%X: %s" -#: parsexlog.c:216 +#: parsexlog.c:218 #, c-format msgid "could not find previous WAL record at %X/%X" msgstr "kunde inte hitta förgående WAL-post vid %X/%X" -#: parsexlog.c:341 +#: parsexlog.c:362 #, c-format msgid "could not seek in file \"%s\": %m" msgstr "kunde inte söka (seek) i fil \"%s\": %m" -#: parsexlog.c:440 +#: parsexlog.c:461 #, c-format msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X" msgstr "WAL-post modifierar en relation, men posttypen känns inte igen: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X" @@ -726,154 +731,154 @@ msgid "no rewind required" msgstr "ingen rewind krävs" -#: pg_rewind.c:460 +#: pg_rewind.c:463 #, c-format msgid "rewinding from last common checkpoint at %X/%X on timeline %u" msgstr "rewind från senaste gemensamma checkpoint vid %X/%X på tidslinje %u" -#: pg_rewind.c:470 +#: pg_rewind.c:473 #, c-format msgid "reading source file list" msgstr "läser källfillista" -#: pg_rewind.c:474 +#: pg_rewind.c:477 #, c-format msgid "reading target file list" msgstr "läser målfillista" -#: pg_rewind.c:483 +#: pg_rewind.c:486 #, c-format msgid "reading WAL in target" msgstr "läser WAL i målet" -#: pg_rewind.c:504 +#: pg_rewind.c:507 #, c-format msgid "need to copy %lu MB (total source directory size is %lu MB)" msgstr "behöver kopiera %lu MB (total källkatalogstorlek är %lu MB)" -#: pg_rewind.c:522 +#: pg_rewind.c:525 #, c-format msgid "syncing target data directory" msgstr "synkar måldatakatalog" -#: pg_rewind.c:538 +#: pg_rewind.c:541 #, c-format msgid "Done!" msgstr "Klar!" -#: pg_rewind.c:618 +#: pg_rewind.c:621 #, c-format msgid "no action decided for file \"%s\"" msgstr "ingen åtgärd beslutades för filen \"%s\"" -#: pg_rewind.c:650 +#: pg_rewind.c:653 #, c-format msgid "source system was modified while pg_rewind was running" msgstr "källsystemet ändrades samtidigt som pg_rewind kördes" -#: pg_rewind.c:654 +#: pg_rewind.c:657 #, c-format msgid "creating backup label and updating control file" msgstr "skapar backupetikett och uppdaterar kontrollfil" -#: pg_rewind.c:704 +#: pg_rewind.c:707 #, c-format msgid "source system was in unexpected state at end of rewind" msgstr "källsystemet var i ett oväntat tillstånd vid slutet av återspolningen" -#: pg_rewind.c:736 +#: pg_rewind.c:739 #, c-format msgid "source and target clusters are from different systems" msgstr "källa och målkluster är från olika system" -#: pg_rewind.c:744 +#: pg_rewind.c:747 #, c-format msgid "clusters are not compatible with this version of pg_rewind" msgstr "klustren är inte kompatibla med denna version av pg_rewind" -#: pg_rewind.c:754 +#: pg_rewind.c:757 #, c-format msgid "target server needs to use either data checksums or \"wal_log_hints = on\"" msgstr "målservern behöver använda antingen datachecksums eller \"wal_log_hints = on\"" -#: pg_rewind.c:765 +#: pg_rewind.c:768 #, c-format msgid "target server must be shut down cleanly" msgstr "målserver måste stängas ner utan fel" -#: pg_rewind.c:775 +#: pg_rewind.c:778 #, c-format msgid "source data directory must be shut down cleanly" msgstr "måldatakatalog måste stängas ner utan fel" -#: pg_rewind.c:822 +#: pg_rewind.c:825 #, c-format msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s kB (%d%%) kopierad" -#: pg_rewind.c:948 +#: pg_rewind.c:951 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "kunde inte finna en gemensam anfader av källa och målklusterets tidslinjer" -#: pg_rewind.c:989 +#: pg_rewind.c:992 #, c-format msgid "backup label buffer too small" msgstr "backupetikett-buffer för liten" -#: pg_rewind.c:1012 +#: pg_rewind.c:1015 #, c-format msgid "unexpected control file CRC" msgstr "oväntad kontrollfil-CRC" -#: pg_rewind.c:1024 +#: pg_rewind.c:1027 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "oväntad kontrollfilstorlek %d, förväntade %d" -#: pg_rewind.c:1034 +#: pg_rewind.c:1037 #, c-format msgid "invalid WAL segment size in control file (%d byte)" msgid_plural "invalid WAL segment size in control file (%d bytes)" msgstr[0] "ogiltigt WAL-segmentstorlek i kontrollfil (%d byte)" msgstr[1] "ogiltigt WAL-segmentstorlek i kontrollfil (%d byte)" -#: pg_rewind.c:1038 +#: pg_rewind.c:1041 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "WAL-segmentstorleken måste vara en tvåpotens mellan 1 MB och 1 GB." -#: pg_rewind.c:1075 pg_rewind.c:1143 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "programmet \"%s\" behövs av %s men hittades inte i samma katalog som \"%s\"" -#: pg_rewind.c:1078 pg_rewind.c:1146 +#: pg_rewind.c:1081 pg_rewind.c:1149 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "programmet \"%s\" hittades av \"%s\" men är inte av samma version som %s" -#: pg_rewind.c:1107 +#: pg_rewind.c:1110 #, c-format msgid "could not read restore_command from target cluster" msgstr "kunde inte läsa restore_command från målklustret" -#: pg_rewind.c:1112 +#: pg_rewind.c:1115 #, c-format msgid "\"restore_command\" is not set in the target cluster" msgstr "\"restore_command\" är inte satt i målklustret" -#: pg_rewind.c:1150 +#: pg_rewind.c:1153 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "kör \"%s\" för målservern för att slutföra krashåterställning" -#: pg_rewind.c:1188 +#: pg_rewind.c:1191 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "postgres enanvändarläge misslyckades i målklustret" -#: pg_rewind.c:1189 +#: pg_rewind.c:1192 #, c-format msgid "Command was: %s" msgstr "Kommandot var: %s" @@ -923,147 +928,147 @@ msgid "contrecord is requested by %X/%X" msgstr "contrecord är begärd vid %X/%X" -#: xlogreader.c:669 xlogreader.c:1134 +#: xlogreader.c:669 xlogreader.c:1144 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "ogiltig postlängd vid %X/%X: förväntade minst %u, fick %u" -#: xlogreader.c:758 +#: xlogreader.c:759 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "det finns ingen contrecord-flagga vid %X/%X" -#: xlogreader.c:771 +#: xlogreader.c:772 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "ogiltig contrecord-längd %u (förväntade %lld) vid %X/%X" -#: xlogreader.c:1142 +#: xlogreader.c:1152 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "ogiltigt resurshanterar-ID %u vid %X/%X" -#: xlogreader.c:1155 xlogreader.c:1171 +#: xlogreader.c:1165 xlogreader.c:1181 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "post med inkorrekt prev-link %X/%X vid %X/%X" -#: xlogreader.c:1209 +#: xlogreader.c:1219 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%X" -#: xlogreader.c:1243 +#: xlogreader.c:1253 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "felaktigt magiskt nummer %04X i WAL-segment %s, LSN %X/%X, offset %u" -#: xlogreader.c:1258 xlogreader.c:1300 +#: xlogreader.c:1268 xlogreader.c:1310 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "ogiltiga infobitar %04X i WAL-segment %s, LSN %X/%X, offset %u" -#: xlogreader.c:1274 +#: xlogreader.c:1284 #, c-format msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu" msgstr "WAL-fil är från ett annat databassystem: WAL-filens databassystemidentifierare är %llu, pg_control databassystemidentifierare är %llu" -#: xlogreader.c:1282 +#: xlogreader.c:1292 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "WAL-fil är från ett annat databassystem: inkorrekt segmentstorlek i sidhuvud" -#: xlogreader.c:1288 +#: xlogreader.c:1298 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "WAL-fil är från ett annat databassystem: inkorrekt XLOG_BLCKSZ i sidhuvud" -#: xlogreader.c:1320 +#: xlogreader.c:1330 #, c-format msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" msgstr "oväntad sidadress %X/%X i WAL-segment %s, LSN %X/%X, offset %u" -#: xlogreader.c:1346 +#: xlogreader.c:1356 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" msgstr "ej-i-sekvens för tidslinje-ID %u (efter %u) i WAL-segment %s, LSN %X/%X, offset %u" -#: xlogreader.c:1749 +#: xlogreader.c:1759 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "ej-i-sekvens block_id %u vid %X/%X" -#: xlogreader.c:1773 +#: xlogreader.c:1783 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA är satt men ingen data inkluderad vid %X/%X" -#: xlogreader.c:1780 +#: xlogreader.c:1790 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA är ej satt men datalängden är %u vid %X/%X" -#: xlogreader.c:1816 +#: xlogreader.c:1826 #, c-format msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE är satt men håloffset %u längd %u blockavbildlängd %u vid %X/%X" -#: xlogreader.c:1832 +#: xlogreader.c:1842 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE är inte satt men håloffset %u längd %u vid %X/%X" -#: xlogreader.c:1846 +#: xlogreader.c:1856 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED är satt men blockavbildlängd %u vid %X/%X" -#: xlogreader.c:1861 +#: xlogreader.c:1871 #, c-format msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_COMPRESSED är satt men blockavbildlängd är %u vid %X/%X" -#: xlogreader.c:1877 +#: xlogreader.c:1887 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL är satt men ingen tidigare rel vid %X/%X" -#: xlogreader.c:1889 +#: xlogreader.c:1899 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "ogiltig block_id %u vid %X/%X" -#: xlogreader.c:1956 +#: xlogreader.c:1966 #, c-format msgid "record with invalid length at %X/%X" msgstr "post med ogiltig längd vid %X/%X" -#: xlogreader.c:1982 +#: xlogreader.c:1992 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "kunde inte hitta backup-block med ID %d i WAL-post" -#: xlogreader.c:2066 +#: xlogreader.c:2076 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt block %d angivet" -#: xlogreader.c:2073 +#: xlogreader.c:2083 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt state, block %d" -#: xlogreader.c:2100 xlogreader.c:2117 +#: xlogreader.c:2110 xlogreader.c:2127 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med %s stöds inte av bygget, block %d" -#: xlogreader.c:2126 +#: xlogreader.c:2136 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med okänd metod, block %d" -#: xlogreader.c:2134 +#: xlogreader.c:2144 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "kunde inte packa upp avbild vid %X/%X, block %d" diff -Nru postgresql-17-17.7/src/bin/pg_test_fsync/po/es.po postgresql-17-17.8/src/bin/pg_test_fsync/po/es.po --- postgresql-17-17.7/src/bin/pg_test_fsync/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_test_fsync/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: pg_test_fsync (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:40+0000\n" +"POT-Creation-Date: 2026-02-06 23:38+0000\n" "PO-Revision-Date: 2024-11-16 14:24+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_test_timing/po/es.po postgresql-17-17.8/src/bin/pg_test_timing/po/es.po --- postgresql-17-17.7/src/bin/pg_test_timing/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_test_timing/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: pg_test_timing (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:37+0000\n" +"POT-Creation-Date: 2026-02-06 23:35+0000\n" "PO-Revision-Date: 2024-11-16 14:24+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_upgrade/check.c postgresql-17-17.8/src/bin/pg_upgrade/check.c --- postgresql-17-17.7/src/bin/pg_upgrade/check.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_upgrade/check.c 2026-02-09 21:51:54.000000000 +0000 @@ -2055,9 +2055,9 @@ * other states listed below are not supported: * * a) SUBREL_STATE_DATASYNC: A relation upgraded while in this state - * would retain a replication slot, which could not be dropped by the - * sync worker spawned after the upgrade because the subscription ID - * used for the slot name won't match anymore. + * would retain a replication slot and origin. The sync worker spawned + * after the upgrade cannot be drop then because the subscription ID + * used for the slot and origin name no longer matches. * * b) SUBREL_STATE_SYNCDONE: A relation upgraded while in this state * would retain the replication origin when there is a failure in diff -Nru postgresql-17-17.7/src/bin/pg_upgrade/po/es.po postgresql-17-17.8/src/bin/pg_upgrade/po/es.po --- postgresql-17-17.7/src/bin/pg_upgrade/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_upgrade/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:37+0000\n" +"POT-Creation-Date: 2026-02-06 23:34+0000\n" "PO-Revision-Date: 2024-11-16 09:10+0100\n" "Last-Translator: Álvaro Herrera \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_upgrade/po/uk.po postgresql-17-17.8/src/bin/pg_upgrade/po/uk.po --- postgresql-17-17.7/src/bin/pg_upgrade/po/uk.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_upgrade/po/uk.po 2026-02-09 21:51:54.000000000 +0000 @@ -2,8 +2,8 @@ msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-03-29 10:38+0000\n" -"PO-Revision-Date: 2025-04-01 15:40\n" +"POT-Creation-Date: 2025-12-31 02:38+0000\n" +"PO-Revision-Date: 2026-01-02 12:56\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -57,11 +57,11 @@ msgid "database name contains a newline or carriage return: \"%s\"\n" msgstr "назва бази даних містить символ нового рядка або повернення каретки: \"%s\"\n" -#: check.c:111 +#: check.c:112 msgid "Checking for system-defined composite types in user tables" msgstr "Перевірка складених типів визначених системою у таблицях користувача" -#: check.c:118 +#: check.c:119 msgid "Your installation contains system-defined composite types in user tables.\n" "These type OIDs are not stable across PostgreSQL versions,\n" "so this cluster cannot currently be upgraded. You can drop the\n" @@ -70,11 +70,11 @@ "OID цих типів не стабільні між версіями PostgreSQL, тому цей кластер наразі не може бути оновлений.\n" "Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -#: check.c:132 +#: check.c:133 msgid "Checking for incompatible \"line\" data type" msgstr "Перевірка несумісного типу даних \"line\"" -#: check.c:137 +#: check.c:138 msgid "Your installation contains the \"line\" data type in user tables.\n" "This data type changed its internal and input/output format\n" "between your old and new versions so this\n" @@ -85,11 +85,11 @@ "тому цей кластер наразі не може бути оновлений.\n" "Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -#: check.c:154 +#: check.c:155 msgid "Checking for reg* data types in user tables" msgstr "Перевірка типів даних reg* в користувацьких таблицях" -#: check.c:181 +#: check.c:182 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" "pg_upgrade, so this cluster cannot currently be upgraded. You can\n" @@ -98,11 +98,11 @@ "Ці типи даних посилаються на OID системи, які не зберігаються за допомогою pg_upgrade, тому цей кластер наразі не може бути оновлений.\n" "Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -#: check.c:193 +#: check.c:194 msgid "Checking for incompatible \"aclitem\" data type" msgstr "Перевірка несумісного типу даних \"aclitem\"" -#: check.c:198 +#: check.c:199 msgid "Your installation contains the \"aclitem\" data type in user tables.\n" "The internal format of \"aclitem\" changed in PostgreSQL version 16\n" "so this cluster cannot currently be upgraded. You can drop the\n" @@ -111,11 +111,11 @@ "тому цей кластер наразі не може бути оновлений.\n" "Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -#: check.c:217 +#: check.c:218 msgid "Checking for invalid \"unknown\" user columns" msgstr "Перевірка неприпустимих користувацьких стовпців \"unknown\"" -#: check.c:222 +#: check.c:223 msgid "Your installation contains the \"unknown\" data type in user tables.\n" "This data type is no longer allowed in tables, so this cluster\n" "cannot currently be upgraded. You can drop the problem columns\n" @@ -125,11 +125,11 @@ "тому цей кластер наразі не може бути оновлений.\n" "Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -#: check.c:239 +#: check.c:240 msgid "Checking for invalid \"sql_identifier\" user columns" msgstr "Перевірка неприпустимих користувацьких стовпців \"sql_identifier\"" -#: check.c:244 +#: check.c:245 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" "cluster cannot currently be upgraded. You can drop the problem\n" @@ -139,11 +139,11 @@ "тому цей кластер наразі не може бути оновлений.\n" "Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -#: check.c:255 +#: check.c:256 msgid "Checking for incompatible \"jsonb\" data type in user tables" msgstr "Перевірка несумісного типу даних \"jsonb\" в користувацьких таблицях" -#: check.c:260 +#: check.c:261 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" "cluster cannot currently be upgraded. You can drop the problem \n" @@ -153,11 +153,11 @@ "тому цей кластер наразі не може бути оновлений.\n" "Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -#: check.c:272 +#: check.c:273 msgid "Checking for removed \"abstime\" data type in user tables" msgstr "Перевірка видаленого типу даних \"abstime\" в користувацьких таблицях" -#: check.c:277 +#: check.c:278 msgid "Your installation contains the \"abstime\" data type in user tables.\n" "The \"abstime\" type has been removed in PostgreSQL version 12,\n" "so this cluster cannot currently be upgraded. You can drop the\n" @@ -169,11 +169,11 @@ "стовпці або змінити їх на інший тип даних, і перезапустити\n" "оновлення.\n" -#: check.c:285 +#: check.c:286 msgid "Checking for removed \"reltime\" data type in user tables" msgstr "Перевірка видаленого типу даних \"reltime\" в користувацьких таблицях" -#: check.c:290 +#: check.c:291 msgid "Your installation contains the \"reltime\" data type in user tables.\n" "The \"reltime\" type has been removed in PostgreSQL version 12,\n" "so this cluster cannot currently be upgraded. You can drop the\n" @@ -185,11 +185,11 @@ "стовпці або змінити їх на інший тип даних, і перезапустити\n" "оновлення.\n" -#: check.c:298 +#: check.c:299 msgid "Checking for removed \"tinterval\" data type in user tables" msgstr "Перевірка видаленого типу даних \"tinterval\" в користувацьких таблицях" -#: check.c:303 +#: check.c:304 msgid "Your installation contains the \"tinterval\" data type in user tables.\n" "The \"tinterval\" type has been removed in PostgreSQL version 12,\n" "so this cluster cannot currently be upgraded. You can drop the\n" @@ -201,55 +201,55 @@ "стовпці або змінити їх на інший тип даних, і перезапустити\n" "оновлення.\n" -#: check.c:345 +#: check.c:346 #, c-format msgid "Checking data type usage" msgstr "Перевірка використання типів даних" -#: check.c:480 +#: check.c:481 #, c-format msgid "failed check: %s" msgstr "помилка перевірки: %s" -#: check.c:483 +#: check.c:484 msgid "A list of the problem columns is in the file:" msgstr "Список проблемних стовпців знаходиться у файлі:" -#: check.c:495 check.c:963 check.c:1136 check.c:1251 check.c:1345 check.c:1473 -#: check.c:1549 check.c:1613 check.c:1686 check.c:1865 check.c:1884 -#: check.c:1953 check.c:2005 file.c:378 file.c:415 function.c:189 option.c:493 -#: version.c:79 version.c:177 +#: check.c:496 check.c:971 check.c:1144 check.c:1259 check.c:1353 check.c:1481 +#: check.c:1557 check.c:1634 check.c:1700 check.c:1773 check.c:1952 +#: check.c:1971 check.c:2040 check.c:2092 file.c:378 file.c:415 function.c:189 +#: option.c:493 version.c:79 version.c:177 #, c-format msgid "could not open file \"%s\": %m" msgstr "не можливо відкрити файл \"%s\": %m" -#: check.c:522 +#: check.c:523 #, c-format msgid "Data type checks failed: %s" msgstr "Помилка перевірки типів даних: %s" -#: check.c:563 +#: check.c:564 #, c-format msgid "Performing Consistency Checks on Old Live Server\n" "------------------------------------------------" msgstr "Перевірка цілістності на старому працюючому сервері\n" "------------------------------------------------" -#: check.c:569 +#: check.c:570 #, c-format msgid "Performing Consistency Checks\n" "-----------------------------" msgstr "Проведення перевірок цілістності\n" "-----------------------------" -#: check.c:718 +#: check.c:726 #, c-format msgid "\n" "*Clusters are compatible*" msgstr "\n" "*Кластери сумісні*" -#: check.c:726 +#: check.c:734 #, c-format msgid "\n" "If pg_upgrade fails after this point, you must re-initdb the\n" @@ -258,7 +258,7 @@ "Якщо робота pg_upgrade після цієї точки перерветься, вам потрібно буде заново виконати initdb \n" "для нового кластера, перед продовженням." -#: check.c:767 +#: check.c:775 #, c-format msgid "Optimizer statistics are not transferred by pg_upgrade.\n" "Once you start the new server, consider running:\n" @@ -267,14 +267,14 @@ "Після запуску нового серверу розгляньте можливість запуску:\n" " %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:773 +#: check.c:781 #, c-format msgid "Running this script will delete the old cluster's data files:\n" " %s" msgstr "При запуску цього скрипту файли даних старого кластера будуть видалені:\n" " %s" -#: check.c:778 +#: check.c:786 #, 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" @@ -285,117 +285,118 @@ "простори або каталог даних нового кластера. Вміст старого кластера\n" "треба буде видалити вручну." -#: check.c:790 +#: check.c:798 #, c-format msgid "Checking cluster versions" msgstr "Перевірка версій кластерів" -#: check.c:802 +#: check.c:810 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "Ця утиліта може виконувати оновлення тільки з версії PostgreSQL %s і новіше." -#: check.c:807 +#: check.c:815 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s." msgstr "Ця утиліта може тільки підвищувати версію PostgreSQL до версії %s." -#: check.c:816 +#: check.c:824 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "Ця утиліта не може використовуватись для пониження версії до більш старих основних версій PostgreSQL." -#: check.c:821 +#: check.c:829 #, c-format msgid "Old cluster data and binary directories are from different major versions." msgstr "Каталог даних і двійковий каталог старого кластера з різних основних версій." -#: check.c:824 +#: check.c:832 #, c-format msgid "New cluster data and binary directories are from different major versions." msgstr "Каталог даних нового кластера і двійковий каталог з різних основних версій." -#: check.c:839 +#: check.c:847 #, c-format msgid "When checking a live server, the old and new port numbers must be different." msgstr "Для перевірки працюючого сервера, старий і новий номер порта повинні бути різними." -#: check.c:859 +#: check.c:867 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "Новий кластер бази даних \"%s\" не порожній: знайдено відношення \"%s.%s\"" -#: check.c:882 +#: check.c:890 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Перевірка каталогів табличних просторів кластера" -#: check.c:893 +#: check.c:901 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "каталог нового кластерного табличного простору вже існує: \"%s\"" -#: check.c:926 +#: check.c:934 #, c-format msgid "\n" "WARNING: new data directory should not be inside the old data directory, i.e. %s" msgstr "\n" "ПОПЕРЕДЖЕННЯ: новий каталог даних не повинен бути всередині старого каталогу даних, наприклад %s" -#: check.c:950 +#: check.c:958 #, c-format msgid "\n" "WARNING: user-defined tablespace locations should not be inside the data directory, i.e. %s" msgstr "\n" "ПОПЕРЕДЖЕННЯ: користувацькі розташування табличних просторів не повинні бути всередині каталогу даних, наприклад %s" -#: check.c:960 +#: check.c:968 #, c-format msgid "Creating script to delete old cluster" msgstr "Створення скрипту для видалення старого кластеру" -#: check.c:1014 +#: check.c:1022 #, c-format msgid "could not add execute permission to file \"%s\": %m" msgstr "не вдалося додати право виконання для файлу \"%s\": %m" -#: check.c:1034 +#: check.c:1042 #, c-format msgid "Checking database user is the install user" msgstr "Перевірка, чи є користувач бази даних стартовим користувачем" -#: check.c:1050 +#: check.c:1058 #, c-format msgid "database user \"%s\" is not the install user" msgstr "користувач бази даних \"%s\" не є стартовим користувачем" -#: check.c:1061 +#: check.c:1069 #, c-format msgid "could not determine the number of users" msgstr "не вдалося визначити кількість користувачів" -#: check.c:1069 +#: check.c:1077 #, c-format msgid "Only the install user can be defined in the new cluster." msgstr "В новому кластері може бути визначеним тільки стартовий користувач." -#: check.c:1098 +#: check.c:1106 #, c-format msgid "Checking database connection settings" msgstr "Перевірка параметрів підключення до бази даних" -#: check.c:1124 +#: check.c:1132 #, c-format msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false" msgstr "template0 не повинна дозволяти підключення, тобто pg_database.datallowconn повинно бути false" -#: check.c:1150 check.c:1270 check.c:1367 check.c:1492 check.c:1568 -#: check.c:1626 check.c:1706 check.c:1897 check.c:2022 function.c:210 +#: check.c:1158 check.c:1278 check.c:1375 check.c:1500 check.c:1576 +#: check.c:1654 check.c:1713 check.c:1793 check.c:1984 check.c:2109 +#: function.c:210 #, c-format msgid "fatal" msgstr "збій" -#: check.c:1151 +#: check.c:1159 #, c-format msgid "All non-template0 databases must allow connections, i.e. their\n" "pg_database.datallowconn must be true. Your installation contains\n" @@ -412,27 +413,27 @@ "Список баз даних з проблемою знаходиться у файлі:\n" " %s" -#: check.c:1176 +#: check.c:1184 #, c-format msgid "Checking for prepared transactions" msgstr "Перевірка підготовлених транзакцій" -#: check.c:1185 +#: check.c:1193 #, c-format msgid "The source cluster contains prepared transactions" msgstr "Початковий кластер містить підготовлені транзакції" -#: check.c:1187 +#: check.c:1195 #, c-format msgid "The target cluster contains prepared transactions" msgstr "Цільовий кластер містить підготовлені транзакції" -#: check.c:1212 +#: check.c:1220 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Перевірка невідповідності при передаванні bigint в contrib/isn" -#: check.c:1271 +#: check.c:1279 #, 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" @@ -444,12 +445,12 @@ msgstr "Ваша інсталяція містить функції \"contrib/isn\", що використовують тип даних bigint. Старі та нові кластери передають значення bigint по-різному, тому цей кластер наразі неможливо оновити. Ви можете вручну вивантажити бази даних зі старого кластеру, що використовує засоби \"contrib/isn\", видалити їх, виконати оновлення, а потім відновити їх. Список проблемних функцій подано у файлі:\n" " %s" -#: check.c:1293 +#: check.c:1301 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Перевірка постфіксних операторів визначених користувачем" -#: check.c:1368 +#: check.c:1376 #, c-format msgid "Your installation contains user-defined postfix operators, which are not\n" "supported anymore. Consider dropping the postfix operators and replacing\n" @@ -461,12 +462,12 @@ "Список користувацьких постфіксних операторів знаходиться у файлі:\n" " %s" -#: check.c:1392 +#: check.c:1400 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "Перевірка несумісних поліморфних функцій" -#: check.c:1493 +#: check.c:1501 #, c-format msgid "Your installation contains user-defined objects that refer to internal\n" "polymorphic functions with arguments of type \"anyarray\" or \"anyelement\".\n" @@ -483,12 +484,12 @@ "Список проблемних об'єктів знаходиться у файлі:\n" " %s" -#: check.c:1517 +#: check.c:1525 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Перевірка таблиць WITH OIDS" -#: check.c:1569 +#: check.c:1577 #, c-format msgid "Your installation contains tables declared WITH OIDS, which is not\n" "supported anymore. Consider removing the oid column using\n" @@ -500,12 +501,33 @@ "Список проблемних таблиць подано у файлі:\n" " %s" -#: check.c:1596 +#: check.c:1602 +#, c-format +msgid "Checking for not-null constraint inconsistencies" +msgstr "Перевірка невідповідності обмеженням-null" + +#: check.c:1655 +#, c-format +msgid "Your installation contains inconsistent NOT NULL constraints.\n" +"If the parent column(s) are NOT NULL, then the child column must\n" +"also be marked NOT NULL, or the upgrade will fail.\n" +"You can fix this by running\n" +" ALTER TABLE tablename ALTER column SET NOT NULL;\n" +"on each column listed in the file:\n" +" %s" +msgstr "Ваша інсталяція містить суперечливі обмеження NOT NULL.\n" +"Якщо батьківські стовпці мають значення NOT NULL, то дочірні стовпці також повинні бути позначені як NOT NULL, інакше оновлення не відбудеться.\n" +"Ви можете виправити це, виконавши команду\n" +" ALTER TABLE tablename ALTER column SET NOT NULL;\n" +"для кожного стовпця, зазначеного у файлі:\n" +" %s" + +#: check.c:1683 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "Перевірка ролей, які починаються з \"pg_\"" -#: check.c:1627 +#: check.c:1714 #, c-format msgid "Your installation contains roles starting with \"pg_\".\n" "\"pg_\" is a reserved prefix for system roles. The cluster\n" @@ -518,12 +540,12 @@ "Список ролей, які починаються з \"pg_\" у файлі:\n" " %s" -#: check.c:1647 +#: check.c:1734 #, c-format msgid "Checking for user-defined encoding conversions" msgstr "Перевірка користувацьких перетворення кодувань" -#: check.c:1707 +#: check.c:1794 #, c-format msgid "Your installation contains user-defined encoding conversions.\n" "The conversion function parameters changed in PostgreSQL version 14\n" @@ -538,52 +560,52 @@ "Список перетворень кодувань знаходиться у файлі:\n" " %s" -#: check.c:1746 +#: check.c:1833 #, c-format msgid "Checking for new cluster logical replication slots" msgstr "Перевірка наявності нових слотів логічної реплікації кластера" -#: check.c:1754 +#: check.c:1841 #, c-format msgid "could not count the number of logical replication slots" msgstr "не вдалося порахувати кількість слотів логічної реплікації" -#: check.c:1759 +#: check.c:1846 #, c-format msgid "expected 0 logical replication slots but found %d" msgstr "очікувалося 0 слотів логічної реплікації, але знайдено %d" -#: check.c:1769 check.c:1820 +#: check.c:1856 check.c:1907 #, c-format msgid "could not determine parameter settings on new cluster" msgstr "не вдалося визначити налаштування параметрів на новому кластері" -#: check.c:1774 +#: check.c:1861 #, c-format msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" msgstr "\"wal_level\" має бути \"logical\", але встановлено значення \"%s\"" -#: check.c:1780 +#: check.c:1867 #, c-format msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of logical replication slots (%d) on the old cluster" msgstr "\"max_replication_slots\" (%d) має бути більше або дорівнювати кількості слотів логічної реплікації (%d) на старому кластері" -#: check.c:1812 +#: check.c:1899 #, c-format msgid "Checking for new cluster configuration for subscriptions" msgstr "Перевірка нової конфігурації кластера для підписок" -#: check.c:1824 +#: check.c:1911 #, c-format msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of subscriptions (%d) on the old cluster" msgstr "\"max_replication_slots\" (%d) має бути більше або дорівнювати кількості підписок (%d) на старому кластері" -#: check.c:1846 +#: check.c:1933 #, c-format msgid "Checking for valid logical replication slots" msgstr "Перевірка дійсних слотів логічної реплікації" -#: check.c:1898 +#: check.c:1985 #, c-format msgid "Your installation contains logical replication slots that cannot be upgraded.\n" "You can remove invalid slots and/or consume the pending WAL for other slots,\n" @@ -596,12 +618,12 @@ "Список проблемних слотів знаходиться у файлі:\n" " %s" -#: check.c:1922 +#: check.c:2009 #, c-format msgid "Checking for subscription state" msgstr "Перевірка стану підписки" -#: check.c:2023 +#: check.c:2110 #, c-format msgid "Your installation contains subscriptions without origin or having relations not in i (initialize) or r (ready) state.\n" "You can allow the initial sync to finish for all relations and then restart the upgrade.\n" @@ -657,8 +679,8 @@ msgid "The target cluster lacks cluster state information:" msgstr "В цільовому кластері відсутня інформація про стан кластера:" -#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:555 pg_upgrade.c:595 -#: pg_upgrade.c:944 relfilenumber.c:233 server.c:34 util.c:337 +#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:558 pg_upgrade.c:598 +#: pg_upgrade.c:947 relfilenumber.c:233 server.c:34 util.c:337 #, c-format msgid "%s" msgstr "%s" @@ -1573,82 +1595,82 @@ msgstr "Мабуть, запущений процес postmaster, який обслуговує новий кластер.\n" "Будь ласка, завершіть роботу процесу і спробуйте знову." -#: pg_upgrade.c:414 +#: pg_upgrade.c:413 #, c-format msgid "Setting locale and encoding for new cluster" msgstr "Установка локалі та кодування для нового кластеру" -#: pg_upgrade.c:488 +#: pg_upgrade.c:491 #, c-format msgid "Analyzing all rows in the new cluster" msgstr "Аналіз всіх рядків у новому кластері" -#: pg_upgrade.c:501 +#: pg_upgrade.c:504 #, c-format msgid "Freezing all rows in the new cluster" msgstr "Закріплення всіх рядків у новому кластері" -#: pg_upgrade.c:521 +#: pg_upgrade.c:524 #, c-format msgid "Restoring global objects in the new cluster" msgstr "Відновлення глобальних об'єктів у новому кластері" -#: pg_upgrade.c:537 +#: pg_upgrade.c:540 #, c-format msgid "Restoring database schemas in the new cluster" msgstr "Відновлення схем баз даних у новому кластері" -#: pg_upgrade.c:661 +#: pg_upgrade.c:664 #, c-format msgid "Deleting files from new %s" msgstr "Видалення файлів з нового %s" -#: pg_upgrade.c:665 +#: pg_upgrade.c:668 #, c-format msgid "could not delete directory \"%s\"" msgstr "не вдалося видалити каталог \"%s\"" -#: pg_upgrade.c:684 +#: pg_upgrade.c:687 #, c-format msgid "Copying old %s to new server" msgstr "Копіювання старого %s до нового серверу" -#: pg_upgrade.c:710 +#: pg_upgrade.c:713 #, c-format msgid "Setting oldest XID for new cluster" msgstr "Встановлення найстарішого XID для нового кластеру" -#: pg_upgrade.c:718 +#: pg_upgrade.c:721 #, c-format msgid "Setting next transaction ID and epoch for new cluster" msgstr "Установка наступного ID транзакції й епохи для нового кластера" -#: pg_upgrade.c:748 +#: pg_upgrade.c:751 #, c-format msgid "Setting next multixact ID and offset for new cluster" msgstr "Установка наступного ID і зсуву мультитранзакції для нового кластера" -#: pg_upgrade.c:772 +#: pg_upgrade.c:775 #, c-format msgid "Setting oldest multixact ID in new cluster" msgstr "Установка найстаршого ID мультитранзакції в новому кластері" -#: pg_upgrade.c:792 +#: pg_upgrade.c:795 #, c-format msgid "Resetting WAL archives" msgstr "Скидання архівів WAL" -#: pg_upgrade.c:835 +#: pg_upgrade.c:838 #, c-format msgid "Setting frozenxid and minmxid counters in new cluster" msgstr "Установка лічильників frozenxid і minmxid у новому кластері" -#: pg_upgrade.c:837 +#: pg_upgrade.c:840 #, c-format msgid "Setting minmxid counter in new cluster" msgstr "Установка лічильника minmxid у новому кластері" -#: pg_upgrade.c:928 +#: pg_upgrade.c:931 #, c-format msgid "Restoring logical replication slots in the new cluster" msgstr "Відновлення слотів логічної реплікації в новому кластері" @@ -1737,43 +1759,43 @@ msgid "could not parse version file \"%s\"" msgstr "не вдалося проаналізувати файл версії \"%s\"" -#: server.c:310 +#: server.c:299 #, c-format msgid "\n" "%s" msgstr "\n" "%s" -#: server.c:314 +#: server.c:303 #, c-format msgid "could not connect to source postmaster started with the command:\n" "%s" msgstr "не вдалося підключитися до початкового процесу postmaster, запущеного командою:\n" "%s" -#: server.c:318 +#: server.c:307 #, c-format msgid "could not connect to target postmaster started with the command:\n" "%s" msgstr "не вдалося підключитися до цільового процесу postmaster, запущеного командою:\n" "%s" -#: server.c:332 +#: server.c:321 #, c-format msgid "pg_ctl failed to start the source server, or connection failed" msgstr "pg_ctl не зміг запустити початковий сервер або сталася помилка підключення" -#: server.c:334 +#: server.c:323 #, c-format msgid "pg_ctl failed to start the target server, or connection failed" msgstr "pg_ctl не зміг запустити цільовий сервер або сталася помилка підключення" -#: server.c:379 +#: server.c:368 #, c-format msgid "out of memory" msgstr "недостатньо пам'яті" -#: server.c:392 +#: server.c:381 #, c-format msgid "libpq environment variable %s has a non-local server value: %s" msgstr "у змінній середовища для libpq %s задано не локальне значення: %s" diff -Nru postgresql-17-17.7/src/bin/pg_upgrade/t/004_subscription.pl postgresql-17-17.8/src/bin/pg_upgrade/t/004_subscription.pl --- postgresql-17-17.7/src/bin/pg_upgrade/t/004_subscription.pl 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_upgrade/t/004_subscription.pl 2026-02-09 21:51:54.000000000 +0000 @@ -180,23 +180,27 @@ rmtree($new_sub->data_dir . "/pg_upgrade_output.d"); # Verify that the upgrade should be successful with tables in 'ready'/'init' -# state along with retaining the replication origin's remote lsn, subscription's -# running status, and failover option. +# state along with retaining the replication origin's remote lsn, +# subscription's running status, and failover option. Use multiple tables to +# verify deterministic pg_dump ordering of subscription relations during +# --binary-upgrade. $publisher->safe_psql( 'postgres', qq[ + CREATE TABLE tab_upgraded(id int); CREATE TABLE tab_upgraded1(id int); - CREATE PUBLICATION regress_pub4 FOR TABLE tab_upgraded1; + CREATE PUBLICATION regress_pub4 FOR TABLE tab_upgraded, tab_upgraded1; ]); $old_sub->safe_psql( 'postgres', qq[ + CREATE TABLE tab_upgraded(id int); CREATE TABLE tab_upgraded1(id int); CREATE SUBSCRIPTION regress_sub4 CONNECTION '$connstr' PUBLICATION regress_pub4 WITH (failover = true); ]); -# Wait till the table tab_upgraded1 reaches 'ready' state +# Wait till the tables tab_upgraded and tab_upgraded1 reach 'ready' state my $synced_query = - "SELECT count(1) = 1 FROM pg_subscription_rel WHERE srsubstate = 'r'"; + "SELECT count(1) = 2 FROM pg_subscription_rel WHERE srsubstate = 'r'"; $old_sub->poll_query_until('postgres', $synced_query) or die "Timed out while waiting for the table to reach ready state"; @@ -234,6 +238,8 @@ # Have the subscription in disabled state before upgrade $old_sub->safe_psql('postgres', "ALTER SUBSCRIPTION regress_sub5 DISABLE"); +my $tab_upgraded_oid = $old_sub->safe_psql('postgres', + "SELECT oid FROM pg_class WHERE relname = 'tab_upgraded'"); my $tab_upgraded1_oid = $old_sub->safe_psql('postgres', "SELECT oid FROM pg_class WHERE relname = 'tab_upgraded1'"); my $tab_upgraded2_oid = $old_sub->safe_psql('postgres', @@ -248,9 +254,9 @@ # ------------------------------------------------------ # Check that pg_upgrade is successful when all tables are in ready or in -# init state (tab_upgraded1 table is in ready state and tab_upgraded2 table is -# in init state) along with retaining the replication origin's remote lsn, -# subscription's running status, and failover option. +# init state (tab_upgraded and tab_upgraded1 tables are in ready state and +# tab_upgraded2 table is in init state) along with retaining the replication +# origin's remote lsn, subscription's running status, and failover option. # ------------------------------------------------------ command_ok( [ @@ -292,9 +298,10 @@ # Subscription relations should be preserved $result = $new_sub->safe_psql('postgres', "SELECT srrelid, srsubstate FROM pg_subscription_rel ORDER BY srrelid"); -is( $result, qq($tab_upgraded1_oid|r +is( $result, qq($tab_upgraded_oid|r +$tab_upgraded1_oid|r $tab_upgraded2_oid|i), - "there should be 2 rows in pg_subscription_rel(representing tab_upgraded1 and tab_upgraded2)" + "there should be 3 rows in pg_subscription_rel(representing tab_upgraded, tab_upgraded1 and tab_upgraded2)" ); # The replication origin's remote_lsn should be preserved diff -Nru postgresql-17-17.7/src/bin/pg_verifybackup/po/es.po postgresql-17-17.8/src/bin/pg_verifybackup/po/es.po --- postgresql-17-17.7/src/bin/pg_verifybackup/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_verifybackup/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:34+0000\n" +"POT-Creation-Date: 2026-02-06 23:32+0000\n" "PO-Revision-Date: 2024-11-16 14:24+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_waldump/po/es.po postgresql-17-17.8/src/bin/pg_waldump/po/es.po --- postgresql-17-17.7/src/bin/pg_waldump/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_waldump/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: pg_waldump (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:36+0000\n" +"POT-Creation-Date: 2026-02-06 23:33+0000\n" "PO-Revision-Date: 2024-11-16 14:24+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pg_waldump/t/002_save_fullpage.pl postgresql-17-17.8/src/bin/pg_waldump/t/002_save_fullpage.pl --- postgresql-17-17.7/src/bin/pg_waldump/t/002_save_fullpage.pl 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_waldump/t/002_save_fullpage.pl 2026-02-09 21:51:54.000000000 +0000 @@ -104,8 +104,9 @@ my ($hi_lsn_bk, $lo_lsn_bk) = get_block_lsn($fullpath, $blocksize); # The LSN on the block comes before the file's LSN. - ok( $hi_lsn_fn . $lo_lsn_fn gt $hi_lsn_bk . $lo_lsn_bk, - 'LSN stored in the file precedes the one stored in the block'); + ok( $hi_lsn_fn . $lo_lsn_fn ge $hi_lsn_bk . $lo_lsn_bk, + "LSN stored in the file $hi_lsn_fn/$lo_lsn_fn precedes the one stored in the block $hi_lsn_bk/$lo_lsn_bk" + ); } ok($file_count > 0, 'verify that at least one block has been saved'); diff -Nru postgresql-17-17.7/src/bin/pg_walsummary/po/es.po postgresql-17-17.8/src/bin/pg_walsummary/po/es.po --- postgresql-17-17.7/src/bin/pg_walsummary/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pg_walsummary/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: pg_walsummary (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:40+0000\n" +"POT-Creation-Date: 2026-02-06 23:38+0000\n" "PO-Revision-Date: 2024-08-01 12:41-0400\n" "Last-Translator: Álvaor Herrera \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/bin/pgbench/pgbench.c postgresql-17-17.8/src/bin/pgbench/pgbench.c --- postgresql-17-17.7/src/bin/pgbench/pgbench.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/pgbench/pgbench.c 2026-02-09 21:51:54.000000000 +0000 @@ -3489,14 +3489,18 @@ } /* - * Read results and discard it until a sync point. + * Read and discard results until the last sync point. */ static int discardUntilSync(CState *st) { bool received_sync = false; - /* send a sync */ + /* + * Send a Sync message to ensure at least one PGRES_PIPELINE_SYNC is + * received and to avoid an infinite loop, since all earlier ones may have + * already been received. + */ if (!PQpipelineSync(st->con)) { pg_log_error("client %d aborted: failed to send a pipeline sync", @@ -3504,29 +3508,42 @@ return 0; } - /* receive PGRES_PIPELINE_SYNC and null following it */ + /* + * Continue reading results until the last sync point, i.e., until + * reaching null just after PGRES_PIPELINE_SYNC. + */ for (;;) { PGresult *res = PQgetResult(st->con); + if (PQstatus(st->con) == CONNECTION_BAD) + { + pg_log_error("client %d aborted while rolling back the transaction after an error; perhaps the backend died while processing", + st->id); + PQclear(res); + return 0; + } + if (PQresultStatus(res) == PGRES_PIPELINE_SYNC) received_sync = true; - else if (received_sync) + else if (received_sync && res == NULL) { /* - * PGRES_PIPELINE_SYNC must be followed by another - * PGRES_PIPELINE_SYNC or NULL; otherwise, assert failure. - */ - Assert(res == NULL); - - /* * Reset ongoing sync count to 0 since all PGRES_PIPELINE_SYNC * results have been discarded. */ st->num_syncs = 0; - PQclear(res); break; } + else + { + /* + * If a PGRES_PIPELINE_SYNC is followed by something other than + * PGRES_PIPELINE_SYNC or NULL, another PGRES_PIPELINE_SYNC will + * appear later. Reset received_sync to false to wait for it. + */ + received_sync = false; + } PQclear(res); } diff -Nru postgresql-17-17.7/src/bin/psql/po/de.po postgresql-17-17.8/src/bin/psql/po/de.po --- postgresql-17-17.7/src/bin/psql/po/de.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/psql/po/de.po 2026-02-09 21:51:54.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-07 06:35+0000\n" +"POT-Creation-Date: 2026-02-07 08:35+0000\n" "PO-Revision-Date: 2025-02-07 08:23+0100\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" @@ -4189,189 +4189,189 @@ #: sql_help.c:732 sql_help.c:736 sql_help.c:757 sql_help.c:760 sql_help.c:763 #: sql_help.c:792 sql_help.c:804 sql_help.c:812 sql_help.c:815 sql_help.c:818 #: sql_help.c:833 sql_help.c:836 sql_help.c:865 sql_help.c:870 sql_help.c:875 -#: sql_help.c:880 sql_help.c:885 sql_help.c:912 sql_help.c:914 sql_help.c:916 -#: sql_help.c:918 sql_help.c:921 sql_help.c:923 sql_help.c:970 sql_help.c:1015 -#: sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 sql_help.c:1035 -#: sql_help.c:1054 sql_help.c:1065 sql_help.c:1067 sql_help.c:1087 -#: sql_help.c:1097 sql_help.c:1098 sql_help.c:1100 sql_help.c:1102 -#: sql_help.c:1114 sql_help.c:1118 sql_help.c:1120 sql_help.c:1132 -#: sql_help.c:1134 sql_help.c:1136 sql_help.c:1138 sql_help.c:1157 -#: sql_help.c:1159 sql_help.c:1163 sql_help.c:1167 sql_help.c:1171 -#: sql_help.c:1174 sql_help.c:1175 sql_help.c:1176 sql_help.c:1179 -#: sql_help.c:1182 sql_help.c:1184 sql_help.c:1324 sql_help.c:1326 -#: sql_help.c:1329 sql_help.c:1332 sql_help.c:1334 sql_help.c:1336 -#: sql_help.c:1339 sql_help.c:1342 sql_help.c:1464 sql_help.c:1466 -#: sql_help.c:1468 sql_help.c:1471 sql_help.c:1492 sql_help.c:1495 -#: sql_help.c:1498 sql_help.c:1501 sql_help.c:1505 sql_help.c:1507 -#: sql_help.c:1509 sql_help.c:1511 sql_help.c:1525 sql_help.c:1528 -#: sql_help.c:1530 sql_help.c:1532 sql_help.c:1542 sql_help.c:1544 -#: sql_help.c:1554 sql_help.c:1556 sql_help.c:1566 sql_help.c:1569 -#: sql_help.c:1592 sql_help.c:1594 sql_help.c:1596 sql_help.c:1598 -#: sql_help.c:1601 sql_help.c:1603 sql_help.c:1606 sql_help.c:1609 -#: sql_help.c:1660 sql_help.c:1703 sql_help.c:1706 sql_help.c:1708 -#: sql_help.c:1710 sql_help.c:1713 sql_help.c:1715 sql_help.c:1717 -#: sql_help.c:1720 sql_help.c:1770 sql_help.c:1786 sql_help.c:2019 -#: sql_help.c:2088 sql_help.c:2107 sql_help.c:2120 sql_help.c:2178 -#: sql_help.c:2186 sql_help.c:2196 sql_help.c:2224 sql_help.c:2257 -#: sql_help.c:2275 sql_help.c:2303 sql_help.c:2414 sql_help.c:2460 -#: sql_help.c:2485 sql_help.c:2508 sql_help.c:2512 sql_help.c:2546 -#: sql_help.c:2566 sql_help.c:2588 sql_help.c:2602 sql_help.c:2623 -#: sql_help.c:2652 sql_help.c:2685 sql_help.c:2708 sql_help.c:2755 -#: sql_help.c:3053 sql_help.c:3066 sql_help.c:3083 sql_help.c:3099 -#: sql_help.c:3139 sql_help.c:3193 sql_help.c:3197 sql_help.c:3199 -#: sql_help.c:3206 sql_help.c:3225 sql_help.c:3252 sql_help.c:3287 -#: sql_help.c:3299 sql_help.c:3308 sql_help.c:3352 sql_help.c:3366 -#: sql_help.c:3394 sql_help.c:3402 sql_help.c:3414 sql_help.c:3424 -#: sql_help.c:3432 sql_help.c:3440 sql_help.c:3448 sql_help.c:3456 -#: sql_help.c:3465 sql_help.c:3476 sql_help.c:3484 sql_help.c:3492 -#: sql_help.c:3500 sql_help.c:3508 sql_help.c:3518 sql_help.c:3527 -#: sql_help.c:3536 sql_help.c:3544 sql_help.c:3554 sql_help.c:3565 -#: sql_help.c:3573 sql_help.c:3582 sql_help.c:3593 sql_help.c:3602 -#: sql_help.c:3610 sql_help.c:3618 sql_help.c:3626 sql_help.c:3634 -#: sql_help.c:3642 sql_help.c:3650 sql_help.c:3658 sql_help.c:3666 -#: sql_help.c:3674 sql_help.c:3682 sql_help.c:3699 sql_help.c:3708 -#: sql_help.c:3716 sql_help.c:3733 sql_help.c:3748 sql_help.c:4061 -#: sql_help.c:4182 sql_help.c:4211 sql_help.c:4227 sql_help.c:4229 -#: sql_help.c:4733 sql_help.c:4781 sql_help.c:4940 +#: sql_help.c:880 sql_help.c:885 sql_help.c:921 sql_help.c:923 sql_help.c:925 +#: sql_help.c:927 sql_help.c:930 sql_help.c:932 sql_help.c:984 sql_help.c:1029 +#: sql_help.c:1034 sql_help.c:1039 sql_help.c:1044 sql_help.c:1049 +#: sql_help.c:1068 sql_help.c:1079 sql_help.c:1081 sql_help.c:1101 +#: sql_help.c:1111 sql_help.c:1112 sql_help.c:1114 sql_help.c:1116 +#: sql_help.c:1128 sql_help.c:1132 sql_help.c:1134 sql_help.c:1146 +#: sql_help.c:1148 sql_help.c:1150 sql_help.c:1152 sql_help.c:1171 +#: sql_help.c:1173 sql_help.c:1177 sql_help.c:1181 sql_help.c:1185 +#: sql_help.c:1188 sql_help.c:1189 sql_help.c:1190 sql_help.c:1193 +#: sql_help.c:1196 sql_help.c:1198 sql_help.c:1338 sql_help.c:1340 +#: sql_help.c:1343 sql_help.c:1346 sql_help.c:1348 sql_help.c:1350 +#: sql_help.c:1353 sql_help.c:1356 sql_help.c:1478 sql_help.c:1480 +#: sql_help.c:1482 sql_help.c:1485 sql_help.c:1506 sql_help.c:1509 +#: sql_help.c:1512 sql_help.c:1515 sql_help.c:1519 sql_help.c:1521 +#: sql_help.c:1523 sql_help.c:1525 sql_help.c:1539 sql_help.c:1542 +#: sql_help.c:1544 sql_help.c:1546 sql_help.c:1556 sql_help.c:1558 +#: sql_help.c:1568 sql_help.c:1570 sql_help.c:1580 sql_help.c:1583 +#: sql_help.c:1606 sql_help.c:1608 sql_help.c:1610 sql_help.c:1612 +#: sql_help.c:1615 sql_help.c:1617 sql_help.c:1620 sql_help.c:1623 +#: sql_help.c:1674 sql_help.c:1717 sql_help.c:1720 sql_help.c:1722 +#: sql_help.c:1724 sql_help.c:1727 sql_help.c:1729 sql_help.c:1731 +#: sql_help.c:1734 sql_help.c:1784 sql_help.c:1800 sql_help.c:2033 +#: sql_help.c:2102 sql_help.c:2121 sql_help.c:2134 sql_help.c:2192 +#: sql_help.c:2200 sql_help.c:2210 sql_help.c:2238 sql_help.c:2271 +#: sql_help.c:2289 sql_help.c:2317 sql_help.c:2428 sql_help.c:2474 +#: sql_help.c:2499 sql_help.c:2522 sql_help.c:2526 sql_help.c:2560 +#: sql_help.c:2580 sql_help.c:2602 sql_help.c:2616 sql_help.c:2637 +#: sql_help.c:2670 sql_help.c:2705 sql_help.c:2728 sql_help.c:2775 +#: sql_help.c:3073 sql_help.c:3086 sql_help.c:3103 sql_help.c:3119 +#: sql_help.c:3159 sql_help.c:3213 sql_help.c:3217 sql_help.c:3219 +#: sql_help.c:3226 sql_help.c:3245 sql_help.c:3272 sql_help.c:3307 +#: sql_help.c:3319 sql_help.c:3328 sql_help.c:3372 sql_help.c:3386 +#: sql_help.c:3414 sql_help.c:3422 sql_help.c:3434 sql_help.c:3444 +#: sql_help.c:3452 sql_help.c:3460 sql_help.c:3468 sql_help.c:3476 +#: sql_help.c:3485 sql_help.c:3496 sql_help.c:3504 sql_help.c:3512 +#: sql_help.c:3520 sql_help.c:3528 sql_help.c:3538 sql_help.c:3547 +#: sql_help.c:3556 sql_help.c:3564 sql_help.c:3574 sql_help.c:3585 +#: sql_help.c:3593 sql_help.c:3602 sql_help.c:3613 sql_help.c:3622 +#: sql_help.c:3630 sql_help.c:3638 sql_help.c:3646 sql_help.c:3654 +#: sql_help.c:3662 sql_help.c:3670 sql_help.c:3678 sql_help.c:3686 +#: sql_help.c:3694 sql_help.c:3702 sql_help.c:3719 sql_help.c:3728 +#: sql_help.c:3736 sql_help.c:3753 sql_help.c:3768 sql_help.c:4081 +#: sql_help.c:4202 sql_help.c:4231 sql_help.c:4247 sql_help.c:4249 +#: sql_help.c:4753 sql_help.c:4801 sql_help.c:4960 msgid "name" msgstr "Name" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1863 -#: sql_help.c:3367 sql_help.c:4500 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1877 +#: sql_help.c:3387 sql_help.c:4520 msgid "aggregate_signature" msgstr "Aggregatsignatur" #: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:260 #: sql_help.c:281 sql_help.c:412 sql_help.c:459 sql_help.c:538 sql_help.c:586 #: sql_help.c:604 sql_help.c:631 sql_help.c:684 sql_help.c:759 sql_help.c:814 -#: sql_help.c:835 sql_help.c:874 sql_help.c:924 sql_help.c:971 sql_help.c:1024 -#: sql_help.c:1056 sql_help.c:1066 sql_help.c:1101 sql_help.c:1121 -#: sql_help.c:1135 sql_help.c:1185 sql_help.c:1333 sql_help.c:1465 -#: sql_help.c:1508 sql_help.c:1529 sql_help.c:1543 sql_help.c:1555 -#: sql_help.c:1568 sql_help.c:1595 sql_help.c:1661 sql_help.c:1714 +#: sql_help.c:835 sql_help.c:874 sql_help.c:933 sql_help.c:985 sql_help.c:1038 +#: sql_help.c:1070 sql_help.c:1080 sql_help.c:1115 sql_help.c:1135 +#: sql_help.c:1149 sql_help.c:1199 sql_help.c:1347 sql_help.c:1479 +#: sql_help.c:1522 sql_help.c:1543 sql_help.c:1557 sql_help.c:1569 +#: sql_help.c:1582 sql_help.c:1609 sql_help.c:1675 sql_help.c:1728 msgid "new_name" msgstr "neuer_Name" #: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:258 #: sql_help.c:279 sql_help.c:410 sql_help.c:495 sql_help.c:543 sql_help.c:633 #: sql_help.c:642 sql_help.c:707 sql_help.c:731 sql_help.c:762 sql_help.c:817 -#: sql_help.c:879 sql_help.c:922 sql_help.c:1029 sql_help.c:1068 -#: sql_help.c:1099 sql_help.c:1119 sql_help.c:1133 sql_help.c:1183 -#: sql_help.c:1399 sql_help.c:1467 sql_help.c:1510 sql_help.c:1531 -#: sql_help.c:1593 sql_help.c:1709 sql_help.c:3039 +#: sql_help.c:879 sql_help.c:931 sql_help.c:1043 sql_help.c:1082 +#: sql_help.c:1113 sql_help.c:1133 sql_help.c:1147 sql_help.c:1197 +#: sql_help.c:1413 sql_help.c:1481 sql_help.c:1524 sql_help.c:1545 +#: sql_help.c:1607 sql_help.c:1723 sql_help.c:3059 msgid "new_owner" msgstr "neuer_Eigentümer" #: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:262 sql_help.c:332 #: sql_help.c:461 sql_help.c:548 sql_help.c:686 sql_help.c:735 sql_help.c:765 -#: sql_help.c:820 sql_help.c:884 sql_help.c:1034 sql_help.c:1103 -#: sql_help.c:1137 sql_help.c:1335 sql_help.c:1512 sql_help.c:1533 -#: sql_help.c:1545 sql_help.c:1557 sql_help.c:1597 sql_help.c:1716 +#: sql_help.c:820 sql_help.c:884 sql_help.c:1048 sql_help.c:1117 +#: sql_help.c:1151 sql_help.c:1349 sql_help.c:1526 sql_help.c:1547 +#: sql_help.c:1559 sql_help.c:1571 sql_help.c:1611 sql_help.c:1730 msgid "new_schema" msgstr "neues_Schema" -#: sql_help.c:44 sql_help.c:1927 sql_help.c:3368 sql_help.c:4529 +#: sql_help.c:44 sql_help.c:1941 sql_help.c:3388 sql_help.c:4549 msgid "where aggregate_signature is:" msgstr "wobei Aggregatsignatur Folgendes ist:" #: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:350 sql_help.c:363 #: sql_help.c:367 sql_help.c:383 sql_help.c:386 sql_help.c:389 sql_help.c:530 #: sql_help.c:535 sql_help.c:540 sql_help.c:545 sql_help.c:550 sql_help.c:866 -#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1016 -#: sql_help.c:1021 sql_help.c:1026 sql_help.c:1031 sql_help.c:1036 -#: sql_help.c:1881 sql_help.c:1898 sql_help.c:1904 sql_help.c:1928 -#: sql_help.c:1931 sql_help.c:1934 sql_help.c:2089 sql_help.c:2108 -#: sql_help.c:2111 sql_help.c:2415 sql_help.c:2624 sql_help.c:3369 -#: sql_help.c:3372 sql_help.c:3375 sql_help.c:3466 sql_help.c:3555 -#: sql_help.c:3583 sql_help.c:3936 sql_help.c:4399 sql_help.c:4506 -#: sql_help.c:4513 sql_help.c:4519 sql_help.c:4530 sql_help.c:4533 -#: sql_help.c:4536 +#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1030 +#: sql_help.c:1035 sql_help.c:1040 sql_help.c:1045 sql_help.c:1050 +#: sql_help.c:1895 sql_help.c:1912 sql_help.c:1918 sql_help.c:1942 +#: sql_help.c:1945 sql_help.c:1948 sql_help.c:2103 sql_help.c:2122 +#: sql_help.c:2125 sql_help.c:2429 sql_help.c:2638 sql_help.c:3389 +#: sql_help.c:3392 sql_help.c:3395 sql_help.c:3486 sql_help.c:3575 +#: sql_help.c:3603 sql_help.c:3956 sql_help.c:4419 sql_help.c:4526 +#: sql_help.c:4533 sql_help.c:4539 sql_help.c:4550 sql_help.c:4553 +#: sql_help.c:4556 msgid "argmode" msgstr "Argmodus" #: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:351 sql_help.c:364 #: sql_help.c:368 sql_help.c:384 sql_help.c:387 sql_help.c:390 sql_help.c:531 #: sql_help.c:536 sql_help.c:541 sql_help.c:546 sql_help.c:551 sql_help.c:867 -#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1017 -#: sql_help.c:1022 sql_help.c:1027 sql_help.c:1032 sql_help.c:1037 -#: sql_help.c:1882 sql_help.c:1899 sql_help.c:1905 sql_help.c:1929 -#: sql_help.c:1932 sql_help.c:1935 sql_help.c:2090 sql_help.c:2109 -#: sql_help.c:2112 sql_help.c:2416 sql_help.c:2625 sql_help.c:3370 -#: sql_help.c:3373 sql_help.c:3376 sql_help.c:3467 sql_help.c:3556 -#: sql_help.c:3584 sql_help.c:4507 sql_help.c:4514 sql_help.c:4520 -#: sql_help.c:4531 sql_help.c:4534 sql_help.c:4537 +#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1031 +#: sql_help.c:1036 sql_help.c:1041 sql_help.c:1046 sql_help.c:1051 +#: sql_help.c:1896 sql_help.c:1913 sql_help.c:1919 sql_help.c:1943 +#: sql_help.c:1946 sql_help.c:1949 sql_help.c:2104 sql_help.c:2123 +#: sql_help.c:2126 sql_help.c:2430 sql_help.c:2639 sql_help.c:3390 +#: sql_help.c:3393 sql_help.c:3396 sql_help.c:3487 sql_help.c:3576 +#: sql_help.c:3604 sql_help.c:4527 sql_help.c:4534 sql_help.c:4540 +#: sql_help.c:4551 sql_help.c:4554 sql_help.c:4557 msgid "argname" msgstr "Argname" #: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:352 sql_help.c:365 #: sql_help.c:369 sql_help.c:385 sql_help.c:388 sql_help.c:391 sql_help.c:532 #: sql_help.c:537 sql_help.c:542 sql_help.c:547 sql_help.c:552 sql_help.c:868 -#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1018 -#: sql_help.c:1023 sql_help.c:1028 sql_help.c:1033 sql_help.c:1038 -#: sql_help.c:1883 sql_help.c:1900 sql_help.c:1906 sql_help.c:1930 -#: sql_help.c:1933 sql_help.c:1936 sql_help.c:2417 sql_help.c:2626 -#: sql_help.c:3371 sql_help.c:3374 sql_help.c:3377 sql_help.c:3468 -#: sql_help.c:3557 sql_help.c:3585 sql_help.c:4508 sql_help.c:4515 -#: sql_help.c:4521 sql_help.c:4532 sql_help.c:4535 sql_help.c:4538 +#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1032 +#: sql_help.c:1037 sql_help.c:1042 sql_help.c:1047 sql_help.c:1052 +#: sql_help.c:1897 sql_help.c:1914 sql_help.c:1920 sql_help.c:1944 +#: sql_help.c:1947 sql_help.c:1950 sql_help.c:2431 sql_help.c:2640 +#: sql_help.c:3391 sql_help.c:3394 sql_help.c:3397 sql_help.c:3488 +#: sql_help.c:3577 sql_help.c:3605 sql_help.c:4528 sql_help.c:4535 +#: sql_help.c:4541 sql_help.c:4552 sql_help.c:4555 sql_help.c:4558 msgid "argtype" msgstr "Argtyp" -#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:965 -#: sql_help.c:1116 sql_help.c:1526 sql_help.c:1655 sql_help.c:1687 -#: sql_help.c:1739 sql_help.c:1798 sql_help.c:1987 sql_help.c:1994 -#: sql_help.c:2306 sql_help.c:2356 sql_help.c:2363 sql_help.c:2372 -#: sql_help.c:2461 sql_help.c:2686 sql_help.c:2777 sql_help.c:3068 -#: sql_help.c:3253 sql_help.c:3275 sql_help.c:3415 sql_help.c:3772 -#: sql_help.c:3980 sql_help.c:4226 sql_help.c:4228 sql_help.c:5006 +#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:979 +#: sql_help.c:1130 sql_help.c:1540 sql_help.c:1669 sql_help.c:1701 +#: sql_help.c:1753 sql_help.c:1812 sql_help.c:2001 sql_help.c:2008 +#: sql_help.c:2320 sql_help.c:2370 sql_help.c:2377 sql_help.c:2386 +#: sql_help.c:2475 sql_help.c:2706 sql_help.c:2797 sql_help.c:3088 +#: sql_help.c:3273 sql_help.c:3295 sql_help.c:3435 sql_help.c:3792 +#: sql_help.c:4000 sql_help.c:4246 sql_help.c:4248 sql_help.c:5026 msgid "option" msgstr "Option" -#: sql_help.c:115 sql_help.c:966 sql_help.c:1656 sql_help.c:2462 -#: sql_help.c:2687 sql_help.c:3254 sql_help.c:3416 +#: sql_help.c:115 sql_help.c:980 sql_help.c:1670 sql_help.c:2476 +#: sql_help.c:2707 sql_help.c:3274 sql_help.c:3436 msgid "where option can be:" msgstr "wobei Option Folgendes sein kann:" -#: sql_help.c:116 sql_help.c:2238 +#: sql_help.c:116 sql_help.c:2252 msgid "allowconn" msgstr "allowconn" -#: sql_help.c:117 sql_help.c:967 sql_help.c:1657 sql_help.c:2239 -#: sql_help.c:2463 sql_help.c:2688 sql_help.c:3255 +#: sql_help.c:117 sql_help.c:981 sql_help.c:1671 sql_help.c:2253 +#: sql_help.c:2477 sql_help.c:2708 sql_help.c:3275 msgid "connlimit" msgstr "Verbindungslimit" -#: sql_help.c:118 sql_help.c:2240 +#: sql_help.c:118 sql_help.c:2254 msgid "istemplate" msgstr "istemplate" -#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1338 -#: sql_help.c:1392 sql_help.c:4232 +#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1352 +#: sql_help.c:1406 sql_help.c:4252 msgid "new_tablespace" msgstr "neuer_Tablespace" #: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:558 sql_help.c:560 -#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:974 -#: sql_help.c:978 sql_help.c:981 sql_help.c:1043 sql_help.c:1045 -#: sql_help.c:1046 sql_help.c:1196 sql_help.c:1198 sql_help.c:1664 -#: sql_help.c:1668 sql_help.c:1671 sql_help.c:2427 sql_help.c:2630 -#: sql_help.c:3948 sql_help.c:4250 sql_help.c:4411 sql_help.c:4721 +#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:988 +#: sql_help.c:992 sql_help.c:995 sql_help.c:1057 sql_help.c:1059 +#: sql_help.c:1060 sql_help.c:1210 sql_help.c:1212 sql_help.c:1678 +#: sql_help.c:1682 sql_help.c:1685 sql_help.c:2441 sql_help.c:2644 +#: sql_help.c:3968 sql_help.c:4270 sql_help.c:4431 sql_help.c:4741 msgid "configuration_parameter" msgstr "Konfigurationsparameter" #: sql_help.c:128 sql_help.c:408 sql_help.c:479 sql_help.c:485 sql_help.c:497 #: sql_help.c:559 sql_help.c:613 sql_help.c:695 sql_help.c:705 sql_help.c:892 -#: sql_help.c:920 sql_help.c:975 sql_help.c:1044 sql_help.c:1117 -#: sql_help.c:1162 sql_help.c:1166 sql_help.c:1170 sql_help.c:1173 -#: sql_help.c:1178 sql_help.c:1181 sql_help.c:1197 sql_help.c:1371 -#: sql_help.c:1394 sql_help.c:1442 sql_help.c:1450 sql_help.c:1470 -#: sql_help.c:1527 sql_help.c:1611 sql_help.c:1665 sql_help.c:1688 -#: sql_help.c:2307 sql_help.c:2357 sql_help.c:2364 sql_help.c:2373 -#: sql_help.c:2428 sql_help.c:2429 sql_help.c:2493 sql_help.c:2496 -#: sql_help.c:2530 sql_help.c:2631 sql_help.c:2632 sql_help.c:2655 -#: sql_help.c:2778 sql_help.c:2817 sql_help.c:2927 sql_help.c:2940 -#: sql_help.c:2954 sql_help.c:2995 sql_help.c:3003 sql_help.c:3025 -#: sql_help.c:3042 sql_help.c:3069 sql_help.c:3276 sql_help.c:3981 -#: sql_help.c:4722 sql_help.c:4723 sql_help.c:4724 sql_help.c:4725 +#: sql_help.c:929 sql_help.c:989 sql_help.c:1058 sql_help.c:1131 +#: sql_help.c:1176 sql_help.c:1180 sql_help.c:1184 sql_help.c:1187 +#: sql_help.c:1192 sql_help.c:1195 sql_help.c:1211 sql_help.c:1385 +#: sql_help.c:1408 sql_help.c:1456 sql_help.c:1464 sql_help.c:1484 +#: sql_help.c:1541 sql_help.c:1625 sql_help.c:1679 sql_help.c:1702 +#: sql_help.c:2321 sql_help.c:2371 sql_help.c:2378 sql_help.c:2387 +#: sql_help.c:2442 sql_help.c:2443 sql_help.c:2507 sql_help.c:2510 +#: sql_help.c:2544 sql_help.c:2645 sql_help.c:2646 sql_help.c:2673 +#: sql_help.c:2798 sql_help.c:2837 sql_help.c:2947 sql_help.c:2960 +#: sql_help.c:2974 sql_help.c:3015 sql_help.c:3023 sql_help.c:3045 +#: sql_help.c:3062 sql_help.c:3089 sql_help.c:3296 sql_help.c:4001 +#: sql_help.c:4742 sql_help.c:4743 sql_help.c:4744 sql_help.c:4745 msgid "value" msgstr "Wert" @@ -4379,10 +4379,10 @@ msgid "target_role" msgstr "Zielrolle" -#: sql_help.c:203 sql_help.c:929 sql_help.c:2291 sql_help.c:2660 -#: sql_help.c:2733 sql_help.c:2738 sql_help.c:3911 sql_help.c:3920 -#: sql_help.c:3939 sql_help.c:3951 sql_help.c:4374 sql_help.c:4383 -#: sql_help.c:4402 sql_help.c:4414 +#: sql_help.c:203 sql_help.c:936 sql_help.c:939 sql_help.c:2305 sql_help.c:2676 +#: sql_help.c:2753 sql_help.c:2758 sql_help.c:3931 sql_help.c:3940 +#: sql_help.c:3959 sql_help.c:3971 sql_help.c:4394 sql_help.c:4403 +#: sql_help.c:4422 sql_help.c:4434 msgid "schema_name" msgstr "Schemaname" @@ -4396,57 +4396,57 @@ #: sql_help.c:206 sql_help.c:207 sql_help.c:208 sql_help.c:209 sql_help.c:210 #: sql_help.c:211 sql_help.c:212 sql_help.c:213 sql_help.c:214 sql_help.c:215 -#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:985 -#: sql_help.c:1337 sql_help.c:1675 sql_help.c:2466 sql_help.c:2467 -#: sql_help.c:2468 sql_help.c:2469 sql_help.c:2470 sql_help.c:2604 -#: sql_help.c:2691 sql_help.c:2692 sql_help.c:2693 sql_help.c:3258 -#: sql_help.c:3259 sql_help.c:3260 sql_help.c:3261 sql_help.c:3262 -#: sql_help.c:3960 sql_help.c:3964 sql_help.c:4423 sql_help.c:4427 -#: sql_help.c:4743 +#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:999 +#: sql_help.c:1351 sql_help.c:1689 sql_help.c:2480 sql_help.c:2481 +#: sql_help.c:2482 sql_help.c:2483 sql_help.c:2484 sql_help.c:2618 +#: sql_help.c:2711 sql_help.c:2712 sql_help.c:2713 sql_help.c:3278 +#: sql_help.c:3279 sql_help.c:3280 sql_help.c:3281 sql_help.c:3282 +#: sql_help.c:3980 sql_help.c:3984 sql_help.c:4443 sql_help.c:4447 +#: sql_help.c:4763 msgid "role_name" msgstr "Rollenname" -#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:928 sql_help.c:1353 -#: sql_help.c:1355 sql_help.c:1359 sql_help.c:1409 sql_help.c:1421 -#: sql_help.c:1446 sql_help.c:1705 sql_help.c:2260 sql_help.c:2264 -#: sql_help.c:2376 sql_help.c:2381 sql_help.c:2489 sql_help.c:2659 -#: sql_help.c:2794 sql_help.c:2799 sql_help.c:2801 sql_help.c:2922 -#: sql_help.c:2935 sql_help.c:2949 sql_help.c:2958 sql_help.c:2970 -#: sql_help.c:2999 sql_help.c:4012 sql_help.c:4027 sql_help.c:4029 -#: sql_help.c:4125 sql_help.c:4128 sql_help.c:4130 sql_help.c:4593 -#: sql_help.c:4594 sql_help.c:4603 sql_help.c:4650 sql_help.c:4651 -#: sql_help.c:4652 sql_help.c:4653 sql_help.c:4654 sql_help.c:4655 -#: sql_help.c:4696 sql_help.c:4697 sql_help.c:4702 sql_help.c:4707 -#: sql_help.c:4851 sql_help.c:4852 sql_help.c:4861 sql_help.c:4908 -#: sql_help.c:4909 sql_help.c:4910 sql_help.c:4911 sql_help.c:4912 -#: sql_help.c:4913 sql_help.c:4968 sql_help.c:4970 sql_help.c:5036 -#: sql_help.c:5096 sql_help.c:5097 sql_help.c:5106 sql_help.c:5153 -#: sql_help.c:5154 sql_help.c:5155 sql_help.c:5156 sql_help.c:5157 -#: sql_help.c:5158 +#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:943 sql_help.c:1367 +#: sql_help.c:1369 sql_help.c:1373 sql_help.c:1423 sql_help.c:1435 +#: sql_help.c:1460 sql_help.c:1719 sql_help.c:2274 sql_help.c:2278 +#: sql_help.c:2390 sql_help.c:2395 sql_help.c:2503 sql_help.c:2680 +#: sql_help.c:2814 sql_help.c:2819 sql_help.c:2821 sql_help.c:2942 +#: sql_help.c:2955 sql_help.c:2969 sql_help.c:2978 sql_help.c:2990 +#: sql_help.c:3019 sql_help.c:4032 sql_help.c:4047 sql_help.c:4049 +#: sql_help.c:4145 sql_help.c:4148 sql_help.c:4150 sql_help.c:4613 +#: sql_help.c:4614 sql_help.c:4623 sql_help.c:4670 sql_help.c:4671 +#: sql_help.c:4672 sql_help.c:4673 sql_help.c:4674 sql_help.c:4675 +#: sql_help.c:4716 sql_help.c:4717 sql_help.c:4722 sql_help.c:4727 +#: sql_help.c:4871 sql_help.c:4872 sql_help.c:4881 sql_help.c:4928 +#: sql_help.c:4929 sql_help.c:4930 sql_help.c:4931 sql_help.c:4932 +#: sql_help.c:4933 sql_help.c:4988 sql_help.c:4990 sql_help.c:5056 +#: sql_help.c:5116 sql_help.c:5117 sql_help.c:5126 sql_help.c:5173 +#: sql_help.c:5174 sql_help.c:5175 sql_help.c:5176 sql_help.c:5177 +#: sql_help.c:5178 msgid "expression" msgstr "Ausdruck" -#: sql_help.c:249 sql_help.c:2261 +#: sql_help.c:249 sql_help.c:2275 msgid "domain_constraint" msgstr "Domänen-Constraint" #: sql_help.c:251 sql_help.c:253 sql_help.c:256 sql_help.c:264 sql_help.c:487 -#: sql_help.c:488 sql_help.c:1330 sql_help.c:1379 sql_help.c:1380 -#: sql_help.c:1381 sql_help.c:1408 sql_help.c:1420 sql_help.c:1437 -#: sql_help.c:1869 sql_help.c:1871 sql_help.c:2263 sql_help.c:2375 -#: sql_help.c:2380 sql_help.c:2957 sql_help.c:2969 sql_help.c:4024 +#: sql_help.c:488 sql_help.c:1344 sql_help.c:1393 sql_help.c:1394 +#: sql_help.c:1395 sql_help.c:1422 sql_help.c:1434 sql_help.c:1451 +#: sql_help.c:1883 sql_help.c:1885 sql_help.c:2277 sql_help.c:2389 +#: sql_help.c:2394 sql_help.c:2977 sql_help.c:2989 sql_help.c:4044 msgid "constraint_name" msgstr "Constraint-Name" -#: sql_help.c:254 sql_help.c:1331 +#: sql_help.c:254 sql_help.c:1345 msgid "new_constraint_name" msgstr "neuer_Constraint-Name" -#: sql_help.c:263 sql_help.c:2262 +#: sql_help.c:263 sql_help.c:2276 msgid "where domain_constraint is:" msgstr "wobei Domänen-Constraint Folgendes ist:" -#: sql_help.c:330 sql_help.c:1115 +#: sql_help.c:330 sql_help.c:1129 msgid "new_version" msgstr "neue_Version" @@ -4462,82 +4462,82 @@ #: sql_help.c:347 sql_help.c:348 sql_help.c:353 sql_help.c:357 sql_help.c:359 #: sql_help.c:361 sql_help.c:370 sql_help.c:371 sql_help.c:372 sql_help.c:373 #: sql_help.c:374 sql_help.c:375 sql_help.c:376 sql_help.c:377 sql_help.c:380 -#: sql_help.c:381 sql_help.c:1861 sql_help.c:1866 sql_help.c:1873 -#: sql_help.c:1874 sql_help.c:1875 sql_help.c:1876 sql_help.c:1877 -#: sql_help.c:1878 sql_help.c:1879 sql_help.c:1884 sql_help.c:1886 -#: sql_help.c:1890 sql_help.c:1892 sql_help.c:1896 sql_help.c:1901 -#: sql_help.c:1902 sql_help.c:1909 sql_help.c:1910 sql_help.c:1911 -#: sql_help.c:1912 sql_help.c:1913 sql_help.c:1914 sql_help.c:1915 -#: sql_help.c:1916 sql_help.c:1917 sql_help.c:1918 sql_help.c:1919 -#: sql_help.c:1924 sql_help.c:1925 sql_help.c:4496 sql_help.c:4501 -#: sql_help.c:4502 sql_help.c:4503 sql_help.c:4504 sql_help.c:4510 -#: sql_help.c:4511 sql_help.c:4516 sql_help.c:4517 sql_help.c:4522 -#: sql_help.c:4523 sql_help.c:4524 sql_help.c:4525 sql_help.c:4526 -#: sql_help.c:4527 +#: sql_help.c:381 sql_help.c:1875 sql_help.c:1880 sql_help.c:1887 +#: sql_help.c:1888 sql_help.c:1889 sql_help.c:1890 sql_help.c:1891 +#: sql_help.c:1892 sql_help.c:1893 sql_help.c:1898 sql_help.c:1900 +#: sql_help.c:1904 sql_help.c:1906 sql_help.c:1910 sql_help.c:1915 +#: sql_help.c:1916 sql_help.c:1923 sql_help.c:1924 sql_help.c:1925 +#: sql_help.c:1926 sql_help.c:1927 sql_help.c:1928 sql_help.c:1929 +#: sql_help.c:1930 sql_help.c:1931 sql_help.c:1932 sql_help.c:1933 +#: sql_help.c:1938 sql_help.c:1939 sql_help.c:4516 sql_help.c:4521 +#: sql_help.c:4522 sql_help.c:4523 sql_help.c:4524 sql_help.c:4530 +#: sql_help.c:4531 sql_help.c:4536 sql_help.c:4537 sql_help.c:4542 +#: sql_help.c:4543 sql_help.c:4544 sql_help.c:4545 sql_help.c:4546 +#: sql_help.c:4547 msgid "object_name" msgstr "Objektname" -#: sql_help.c:339 sql_help.c:1862 sql_help.c:4499 +#: sql_help.c:339 sql_help.c:1876 sql_help.c:4519 msgid "aggregate_name" msgstr "Aggregatname" -#: sql_help.c:341 sql_help.c:1864 sql_help.c:2154 sql_help.c:2158 -#: sql_help.c:2160 sql_help.c:3385 +#: sql_help.c:341 sql_help.c:1878 sql_help.c:2168 sql_help.c:2172 +#: sql_help.c:2174 sql_help.c:3405 msgid "source_type" msgstr "Quelltyp" -#: sql_help.c:342 sql_help.c:1865 sql_help.c:2155 sql_help.c:2159 -#: sql_help.c:2161 sql_help.c:3386 +#: sql_help.c:342 sql_help.c:1879 sql_help.c:2169 sql_help.c:2173 +#: sql_help.c:2175 sql_help.c:3406 msgid "target_type" msgstr "Zieltyp" -#: sql_help.c:349 sql_help.c:802 sql_help.c:1880 sql_help.c:2156 -#: sql_help.c:2199 sql_help.c:2279 sql_help.c:2547 sql_help.c:2578 -#: sql_help.c:3145 sql_help.c:4398 sql_help.c:4505 sql_help.c:4622 -#: sql_help.c:4626 sql_help.c:4630 sql_help.c:4633 sql_help.c:4880 -#: sql_help.c:4884 sql_help.c:4888 sql_help.c:4891 sql_help.c:5125 -#: sql_help.c:5129 sql_help.c:5133 sql_help.c:5136 +#: sql_help.c:349 sql_help.c:802 sql_help.c:1894 sql_help.c:2170 +#: sql_help.c:2213 sql_help.c:2293 sql_help.c:2561 sql_help.c:2592 +#: sql_help.c:3165 sql_help.c:4418 sql_help.c:4525 sql_help.c:4642 +#: sql_help.c:4646 sql_help.c:4650 sql_help.c:4653 sql_help.c:4900 +#: sql_help.c:4904 sql_help.c:4908 sql_help.c:4911 sql_help.c:5145 +#: sql_help.c:5149 sql_help.c:5153 sql_help.c:5156 msgid "function_name" msgstr "Funktionsname" -#: sql_help.c:354 sql_help.c:795 sql_help.c:1887 sql_help.c:2571 +#: sql_help.c:354 sql_help.c:795 sql_help.c:1901 sql_help.c:2585 msgid "operator_name" msgstr "Operatorname" -#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1888 -#: sql_help.c:2548 sql_help.c:3509 +#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1902 +#: sql_help.c:2562 sql_help.c:3529 msgid "left_type" msgstr "linker_Typ" -#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1889 -#: sql_help.c:2549 sql_help.c:3510 +#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1903 +#: sql_help.c:2563 sql_help.c:3530 msgid "right_type" msgstr "rechter_Typ" #: sql_help.c:358 sql_help.c:360 sql_help.c:758 sql_help.c:761 sql_help.c:764 #: sql_help.c:793 sql_help.c:805 sql_help.c:813 sql_help.c:816 sql_help.c:819 -#: sql_help.c:1426 sql_help.c:1891 sql_help.c:1893 sql_help.c:2568 -#: sql_help.c:2589 sql_help.c:2975 sql_help.c:3519 sql_help.c:3528 +#: sql_help.c:1440 sql_help.c:1905 sql_help.c:1907 sql_help.c:2582 +#: sql_help.c:2603 sql_help.c:2995 sql_help.c:3539 sql_help.c:3548 msgid "index_method" msgstr "Indexmethode" -#: sql_help.c:362 sql_help.c:1897 sql_help.c:4512 +#: sql_help.c:362 sql_help.c:1911 sql_help.c:4532 msgid "procedure_name" msgstr "Prozedurname" -#: sql_help.c:366 sql_help.c:1903 sql_help.c:3935 sql_help.c:4518 +#: sql_help.c:366 sql_help.c:1917 sql_help.c:3955 sql_help.c:4538 msgid "routine_name" msgstr "Routinenname" -#: sql_help.c:378 sql_help.c:1398 sql_help.c:1920 sql_help.c:2423 -#: sql_help.c:2629 sql_help.c:2930 sql_help.c:3112 sql_help.c:3690 -#: sql_help.c:3957 sql_help.c:4420 +#: sql_help.c:378 sql_help.c:1412 sql_help.c:1934 sql_help.c:2437 +#: sql_help.c:2643 sql_help.c:2950 sql_help.c:3132 sql_help.c:3710 +#: sql_help.c:3977 sql_help.c:4440 msgid "type_name" msgstr "Typname" -#: sql_help.c:379 sql_help.c:1921 sql_help.c:2422 sql_help.c:2628 -#: sql_help.c:3113 sql_help.c:3343 sql_help.c:3691 sql_help.c:3942 -#: sql_help.c:4405 +#: sql_help.c:379 sql_help.c:1935 sql_help.c:2436 sql_help.c:2642 +#: sql_help.c:3133 sql_help.c:3363 sql_help.c:3711 sql_help.c:3962 +#: sql_help.c:4425 msgid "lang_name" msgstr "Sprachname" @@ -4545,147 +4545,147 @@ msgid "and aggregate_signature is:" msgstr "und Aggregatsignatur Folgendes ist:" -#: sql_help.c:405 sql_help.c:2021 sql_help.c:2304 +#: sql_help.c:405 sql_help.c:2035 sql_help.c:2318 msgid "handler_function" msgstr "Handler-Funktion" -#: sql_help.c:406 sql_help.c:2305 +#: sql_help.c:406 sql_help.c:2319 msgid "validator_function" msgstr "Validator-Funktion" -#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1019 -#: sql_help.c:1325 sql_help.c:1602 +#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1033 +#: sql_help.c:1339 sql_help.c:1616 msgid "action" msgstr "Aktion" #: sql_help.c:456 sql_help.c:463 sql_help.c:467 sql_help.c:468 sql_help.c:471 #: sql_help.c:473 sql_help.c:474 sql_help.c:475 sql_help.c:477 sql_help.c:480 #: sql_help.c:482 sql_help.c:483 sql_help.c:681 sql_help.c:691 sql_help.c:693 -#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:927 sql_help.c:1096 -#: sql_help.c:1327 sql_help.c:1345 sql_help.c:1349 sql_help.c:1350 -#: sql_help.c:1354 sql_help.c:1356 sql_help.c:1357 sql_help.c:1358 -#: sql_help.c:1360 sql_help.c:1361 sql_help.c:1363 sql_help.c:1366 -#: sql_help.c:1367 sql_help.c:1369 sql_help.c:1372 sql_help.c:1374 -#: sql_help.c:1375 sql_help.c:1422 sql_help.c:1424 sql_help.c:1431 -#: sql_help.c:1440 sql_help.c:1445 sql_help.c:1452 sql_help.c:1453 -#: sql_help.c:1704 sql_help.c:1707 sql_help.c:1711 sql_help.c:1747 -#: sql_help.c:1868 sql_help.c:1984 sql_help.c:1990 sql_help.c:2004 -#: sql_help.c:2005 sql_help.c:2006 sql_help.c:2354 sql_help.c:2367 -#: sql_help.c:2420 sql_help.c:2488 sql_help.c:2494 sql_help.c:2527 -#: sql_help.c:2658 sql_help.c:2763 sql_help.c:2798 sql_help.c:2800 -#: sql_help.c:2912 sql_help.c:2921 sql_help.c:2931 sql_help.c:2934 -#: sql_help.c:2944 sql_help.c:2948 sql_help.c:2971 sql_help.c:2973 -#: sql_help.c:2980 sql_help.c:2993 sql_help.c:2998 sql_help.c:3005 -#: sql_help.c:3006 sql_help.c:3022 sql_help.c:3148 sql_help.c:3288 -#: sql_help.c:3914 sql_help.c:3915 sql_help.c:4011 sql_help.c:4026 -#: sql_help.c:4028 sql_help.c:4030 sql_help.c:4124 sql_help.c:4127 -#: sql_help.c:4129 sql_help.c:4131 sql_help.c:4377 sql_help.c:4378 -#: sql_help.c:4498 sql_help.c:4659 sql_help.c:4666 sql_help.c:4668 -#: sql_help.c:4917 sql_help.c:4924 sql_help.c:4926 sql_help.c:4967 -#: sql_help.c:4969 sql_help.c:4971 sql_help.c:5024 sql_help.c:5162 -#: sql_help.c:5169 sql_help.c:5171 +#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:942 sql_help.c:1110 +#: sql_help.c:1341 sql_help.c:1359 sql_help.c:1363 sql_help.c:1364 +#: sql_help.c:1368 sql_help.c:1370 sql_help.c:1371 sql_help.c:1372 +#: sql_help.c:1374 sql_help.c:1375 sql_help.c:1377 sql_help.c:1380 +#: sql_help.c:1381 sql_help.c:1383 sql_help.c:1386 sql_help.c:1388 +#: sql_help.c:1389 sql_help.c:1436 sql_help.c:1438 sql_help.c:1445 +#: sql_help.c:1454 sql_help.c:1459 sql_help.c:1466 sql_help.c:1467 +#: sql_help.c:1718 sql_help.c:1721 sql_help.c:1725 sql_help.c:1761 +#: sql_help.c:1882 sql_help.c:1998 sql_help.c:2004 sql_help.c:2018 +#: sql_help.c:2019 sql_help.c:2020 sql_help.c:2368 sql_help.c:2381 +#: sql_help.c:2434 sql_help.c:2502 sql_help.c:2508 sql_help.c:2541 +#: sql_help.c:2679 sql_help.c:2783 sql_help.c:2818 sql_help.c:2820 +#: sql_help.c:2932 sql_help.c:2941 sql_help.c:2951 sql_help.c:2954 +#: sql_help.c:2964 sql_help.c:2968 sql_help.c:2991 sql_help.c:2993 +#: sql_help.c:3000 sql_help.c:3013 sql_help.c:3018 sql_help.c:3025 +#: sql_help.c:3026 sql_help.c:3042 sql_help.c:3168 sql_help.c:3308 +#: sql_help.c:3934 sql_help.c:3935 sql_help.c:4031 sql_help.c:4046 +#: sql_help.c:4048 sql_help.c:4050 sql_help.c:4144 sql_help.c:4147 +#: sql_help.c:4149 sql_help.c:4151 sql_help.c:4397 sql_help.c:4398 +#: sql_help.c:4518 sql_help.c:4679 sql_help.c:4686 sql_help.c:4688 +#: sql_help.c:4937 sql_help.c:4944 sql_help.c:4946 sql_help.c:4987 +#: sql_help.c:4989 sql_help.c:4991 sql_help.c:5044 sql_help.c:5182 +#: sql_help.c:5189 sql_help.c:5191 msgid "column_name" msgstr "Spaltenname" -#: sql_help.c:457 sql_help.c:682 sql_help.c:1328 sql_help.c:1712 +#: sql_help.c:457 sql_help.c:682 sql_help.c:1342 sql_help.c:1726 msgid "new_column_name" msgstr "neuer_Spaltenname" -#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1040 -#: sql_help.c:1344 sql_help.c:1612 +#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1054 +#: sql_help.c:1358 sql_help.c:1626 msgid "where action is one of:" msgstr "wobei Aktion Folgendes sein kann:" -#: sql_help.c:464 sql_help.c:469 sql_help.c:1088 sql_help.c:1346 -#: sql_help.c:1351 sql_help.c:1614 sql_help.c:1618 sql_help.c:2258 -#: sql_help.c:2355 sql_help.c:2567 sql_help.c:2756 sql_help.c:2913 -#: sql_help.c:3195 sql_help.c:4183 +#: sql_help.c:464 sql_help.c:469 sql_help.c:1102 sql_help.c:1360 +#: sql_help.c:1365 sql_help.c:1628 sql_help.c:1632 sql_help.c:2272 +#: sql_help.c:2369 sql_help.c:2581 sql_help.c:2776 sql_help.c:2933 +#: sql_help.c:3215 sql_help.c:4203 msgid "data_type" msgstr "Datentyp" -#: sql_help.c:465 sql_help.c:470 sql_help.c:1347 sql_help.c:1352 -#: sql_help.c:1447 sql_help.c:1615 sql_help.c:1619 sql_help.c:2259 -#: sql_help.c:2358 sql_help.c:2490 sql_help.c:2915 sql_help.c:2923 -#: sql_help.c:2936 sql_help.c:2950 sql_help.c:3000 sql_help.c:3196 -#: sql_help.c:3202 sql_help.c:4021 +#: sql_help.c:465 sql_help.c:470 sql_help.c:1361 sql_help.c:1366 +#: sql_help.c:1461 sql_help.c:1629 sql_help.c:1633 sql_help.c:2273 +#: sql_help.c:2372 sql_help.c:2504 sql_help.c:2935 sql_help.c:2943 +#: sql_help.c:2956 sql_help.c:2970 sql_help.c:3020 sql_help.c:3216 +#: sql_help.c:3222 sql_help.c:4041 msgid "collation" msgstr "Sortierfolge" -#: sql_help.c:466 sql_help.c:1348 sql_help.c:2359 sql_help.c:2368 -#: sql_help.c:2916 sql_help.c:2932 sql_help.c:2945 +#: sql_help.c:466 sql_help.c:1362 sql_help.c:2373 sql_help.c:2382 +#: sql_help.c:2936 sql_help.c:2952 sql_help.c:2965 msgid "column_constraint" msgstr "Spalten-Constraint" -#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1368 sql_help.c:5018 +#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1382 sql_help.c:5038 msgid "integer" msgstr "ganze_Zahl" -#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1370 -#: sql_help.c:1373 +#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1384 +#: sql_help.c:1387 msgid "attribute_option" msgstr "Attributoption" -#: sql_help.c:486 sql_help.c:1377 sql_help.c:2360 sql_help.c:2369 -#: sql_help.c:2917 sql_help.c:2933 sql_help.c:2946 +#: sql_help.c:486 sql_help.c:1391 sql_help.c:2374 sql_help.c:2383 +#: sql_help.c:2937 sql_help.c:2953 sql_help.c:2966 msgid "table_constraint" msgstr "Tabellen-Constraint" -#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1382 -#: sql_help.c:1383 sql_help.c:1384 sql_help.c:1385 sql_help.c:1922 +#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1396 +#: sql_help.c:1397 sql_help.c:1398 sql_help.c:1399 sql_help.c:1936 msgid "trigger_name" msgstr "Triggername" -#: sql_help.c:493 sql_help.c:494 sql_help.c:1396 sql_help.c:1397 -#: sql_help.c:2361 sql_help.c:2366 sql_help.c:2920 sql_help.c:2943 +#: sql_help.c:493 sql_help.c:494 sql_help.c:1410 sql_help.c:1411 +#: sql_help.c:2375 sql_help.c:2380 sql_help.c:2940 sql_help.c:2963 msgid "parent_table" msgstr "Elterntabelle" -#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1039 -#: sql_help.c:1571 sql_help.c:2290 +#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1053 +#: sql_help.c:1585 sql_help.c:2304 msgid "extension_name" msgstr "Erweiterungsname" -#: sql_help.c:555 sql_help.c:1041 sql_help.c:2424 +#: sql_help.c:555 sql_help.c:1055 sql_help.c:2438 msgid "execution_cost" msgstr "Ausführungskosten" -#: sql_help.c:556 sql_help.c:1042 sql_help.c:2425 +#: sql_help.c:556 sql_help.c:1056 sql_help.c:2439 msgid "result_rows" msgstr "Ergebniszeilen" -#: sql_help.c:557 sql_help.c:2426 +#: sql_help.c:557 sql_help.c:2440 msgid "support_function" msgstr "Support-Funktion" -#: sql_help.c:579 sql_help.c:581 sql_help.c:964 sql_help.c:972 sql_help.c:976 -#: sql_help.c:979 sql_help.c:982 sql_help.c:1654 sql_help.c:1662 -#: sql_help.c:1666 sql_help.c:1669 sql_help.c:1672 sql_help.c:2734 -#: sql_help.c:2736 sql_help.c:2739 sql_help.c:2740 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3917 sql_help.c:3918 sql_help.c:3921 -#: sql_help.c:3922 sql_help.c:3924 sql_help.c:3925 sql_help.c:3927 -#: sql_help.c:3928 sql_help.c:3930 sql_help.c:3931 sql_help.c:3933 -#: sql_help.c:3934 sql_help.c:3940 sql_help.c:3941 sql_help.c:3943 -#: sql_help.c:3944 sql_help.c:3946 sql_help.c:3947 sql_help.c:3949 -#: sql_help.c:3950 sql_help.c:3952 sql_help.c:3953 sql_help.c:3955 -#: sql_help.c:3956 sql_help.c:3958 sql_help.c:3959 sql_help.c:3961 -#: sql_help.c:3962 sql_help.c:4375 sql_help.c:4376 sql_help.c:4380 -#: sql_help.c:4381 sql_help.c:4384 sql_help.c:4385 sql_help.c:4387 -#: sql_help.c:4388 sql_help.c:4390 sql_help.c:4391 sql_help.c:4393 -#: sql_help.c:4394 sql_help.c:4396 sql_help.c:4397 sql_help.c:4403 -#: sql_help.c:4404 sql_help.c:4406 sql_help.c:4407 sql_help.c:4409 -#: sql_help.c:4410 sql_help.c:4412 sql_help.c:4413 sql_help.c:4415 -#: sql_help.c:4416 sql_help.c:4418 sql_help.c:4419 sql_help.c:4421 -#: sql_help.c:4422 sql_help.c:4424 sql_help.c:4425 +#: sql_help.c:579 sql_help.c:581 sql_help.c:978 sql_help.c:986 sql_help.c:990 +#: sql_help.c:993 sql_help.c:996 sql_help.c:1668 sql_help.c:1676 +#: sql_help.c:1680 sql_help.c:1683 sql_help.c:1686 sql_help.c:2754 +#: sql_help.c:2756 sql_help.c:2759 sql_help.c:2760 sql_help.c:3932 +#: sql_help.c:3933 sql_help.c:3937 sql_help.c:3938 sql_help.c:3941 +#: sql_help.c:3942 sql_help.c:3944 sql_help.c:3945 sql_help.c:3947 +#: sql_help.c:3948 sql_help.c:3950 sql_help.c:3951 sql_help.c:3953 +#: sql_help.c:3954 sql_help.c:3960 sql_help.c:3961 sql_help.c:3963 +#: sql_help.c:3964 sql_help.c:3966 sql_help.c:3967 sql_help.c:3969 +#: sql_help.c:3970 sql_help.c:3972 sql_help.c:3973 sql_help.c:3975 +#: sql_help.c:3976 sql_help.c:3978 sql_help.c:3979 sql_help.c:3981 +#: sql_help.c:3982 sql_help.c:4395 sql_help.c:4396 sql_help.c:4400 +#: sql_help.c:4401 sql_help.c:4404 sql_help.c:4405 sql_help.c:4407 +#: sql_help.c:4408 sql_help.c:4410 sql_help.c:4411 sql_help.c:4413 +#: sql_help.c:4414 sql_help.c:4416 sql_help.c:4417 sql_help.c:4423 +#: sql_help.c:4424 sql_help.c:4426 sql_help.c:4427 sql_help.c:4429 +#: sql_help.c:4430 sql_help.c:4432 sql_help.c:4433 sql_help.c:4435 +#: sql_help.c:4436 sql_help.c:4438 sql_help.c:4439 sql_help.c:4441 +#: sql_help.c:4442 sql_help.c:4444 sql_help.c:4445 msgid "role_specification" msgstr "Rollenangabe" -#: sql_help.c:580 sql_help.c:582 sql_help.c:1685 sql_help.c:2225 -#: sql_help.c:2742 sql_help.c:3273 sql_help.c:3724 sql_help.c:4753 +#: sql_help.c:580 sql_help.c:582 sql_help.c:1699 sql_help.c:2239 +#: sql_help.c:2762 sql_help.c:3293 sql_help.c:3744 sql_help.c:4773 msgid "user_name" msgstr "Benutzername" -#: sql_help.c:583 sql_help.c:984 sql_help.c:1674 sql_help.c:2741 -#: sql_help.c:3963 sql_help.c:4426 +#: sql_help.c:583 sql_help.c:998 sql_help.c:1688 sql_help.c:2761 +#: sql_help.c:3983 sql_help.c:4446 msgid "where role_specification can be:" msgstr "wobei Rollenangabe Folgendes sein kann:" @@ -4693,22 +4693,22 @@ msgid "group_name" msgstr "Gruppenname" -#: sql_help.c:606 sql_help.c:1443 sql_help.c:2237 sql_help.c:2497 -#: sql_help.c:2531 sql_help.c:2928 sql_help.c:2941 sql_help.c:2955 -#: sql_help.c:2996 sql_help.c:3026 sql_help.c:3038 sql_help.c:3954 -#: sql_help.c:4417 +#: sql_help.c:606 sql_help.c:1457 sql_help.c:2251 sql_help.c:2511 +#: sql_help.c:2545 sql_help.c:2948 sql_help.c:2961 sql_help.c:2975 +#: sql_help.c:3016 sql_help.c:3046 sql_help.c:3058 sql_help.c:3974 +#: sql_help.c:4437 msgid "tablespace_name" msgstr "Tablespace-Name" -#: sql_help.c:608 sql_help.c:701 sql_help.c:1390 sql_help.c:1400 -#: sql_help.c:1438 sql_help.c:1800 +#: sql_help.c:608 sql_help.c:701 sql_help.c:1404 sql_help.c:1414 +#: sql_help.c:1452 sql_help.c:1814 msgid "index_name" msgstr "Indexname" -#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1393 -#: sql_help.c:1395 sql_help.c:1441 sql_help.c:2495 sql_help.c:2529 -#: sql_help.c:2926 sql_help.c:2939 sql_help.c:2953 sql_help.c:2994 -#: sql_help.c:3024 +#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1407 +#: sql_help.c:1409 sql_help.c:1455 sql_help.c:2509 sql_help.c:2543 +#: sql_help.c:2946 sql_help.c:2959 sql_help.c:2973 sql_help.c:3014 +#: sql_help.c:3044 msgid "storage_parameter" msgstr "Storage-Parameter" @@ -4716,1907 +4716,1915 @@ msgid "column_number" msgstr "Spaltennummer" -#: sql_help.c:641 sql_help.c:1885 sql_help.c:4509 +#: sql_help.c:641 sql_help.c:1899 sql_help.c:4529 msgid "large_object_oid" msgstr "Large-Object-OID" -#: sql_help.c:700 sql_help.c:1376 sql_help.c:2914 +#: sql_help.c:700 sql_help.c:1390 sql_help.c:2934 msgid "compression_method" msgstr "Kompressionsmethode" -#: sql_help.c:702 sql_help.c:1391 +#: sql_help.c:702 sql_help.c:1405 msgid "new_access_method" msgstr "neue_Zugriffsmethode" -#: sql_help.c:739 sql_help.c:2552 +#: sql_help.c:739 sql_help.c:2566 msgid "res_proc" msgstr "Res-Funktion" -#: sql_help.c:740 sql_help.c:2553 +#: sql_help.c:740 sql_help.c:2567 msgid "join_proc" msgstr "Join-Funktion" -#: sql_help.c:741 sql_help.c:2550 +#: sql_help.c:741 sql_help.c:2564 msgid "com_op" msgstr "Kommutator-Op" -#: sql_help.c:742 sql_help.c:2551 +#: sql_help.c:742 sql_help.c:2565 msgid "neg_op" msgstr "Umkehrungs-Op" -#: sql_help.c:794 sql_help.c:806 sql_help.c:2570 +#: sql_help.c:794 sql_help.c:806 sql_help.c:2584 msgid "strategy_number" msgstr "Strategienummer" #: sql_help.c:796 sql_help.c:797 sql_help.c:800 sql_help.c:801 sql_help.c:807 -#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2572 sql_help.c:2573 -#: sql_help.c:2576 sql_help.c:2577 +#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2586 sql_help.c:2587 +#: sql_help.c:2590 sql_help.c:2591 msgid "op_type" msgstr "Optyp" -#: sql_help.c:798 sql_help.c:2574 +#: sql_help.c:798 sql_help.c:2588 msgid "sort_family_name" msgstr "Sortierfamilienname" -#: sql_help.c:799 sql_help.c:809 sql_help.c:2575 +#: sql_help.c:799 sql_help.c:809 sql_help.c:2589 msgid "support_number" msgstr "Unterst-Nummer" -#: sql_help.c:803 sql_help.c:2157 sql_help.c:2579 sql_help.c:3115 -#: sql_help.c:3117 +#: sql_help.c:803 sql_help.c:2171 sql_help.c:2593 sql_help.c:3135 +#: sql_help.c:3137 msgid "argument_type" msgstr "Argumenttyp" -#: sql_help.c:834 sql_help.c:837 sql_help.c:926 sql_help.c:1055 sql_help.c:1095 -#: sql_help.c:1567 sql_help.c:1570 sql_help.c:1746 sql_help.c:1799 -#: sql_help.c:1870 sql_help.c:1895 sql_help.c:1908 sql_help.c:1923 -#: sql_help.c:1983 sql_help.c:1989 sql_help.c:2353 sql_help.c:2365 -#: sql_help.c:2486 sql_help.c:2526 sql_help.c:2603 sql_help.c:2657 -#: sql_help.c:2710 sql_help.c:2762 sql_help.c:2795 sql_help.c:2802 -#: sql_help.c:2911 sql_help.c:2929 sql_help.c:2942 sql_help.c:3021 -#: sql_help.c:3141 sql_help.c:3322 sql_help.c:3545 sql_help.c:3594 -#: sql_help.c:3700 sql_help.c:3910 sql_help.c:3916 sql_help.c:3977 -#: sql_help.c:4009 sql_help.c:4373 sql_help.c:4379 sql_help.c:4497 -#: sql_help.c:4610 sql_help.c:4673 sql_help.c:4712 sql_help.c:4868 -#: sql_help.c:4931 sql_help.c:4965 sql_help.c:5023 sql_help.c:5113 -#: sql_help.c:5176 +#: sql_help.c:834 sql_help.c:837 sql_help.c:938 sql_help.c:941 sql_help.c:1069 +#: sql_help.c:1109 sql_help.c:1581 sql_help.c:1584 sql_help.c:1760 +#: sql_help.c:1813 sql_help.c:1884 sql_help.c:1909 sql_help.c:1922 +#: sql_help.c:1937 sql_help.c:1997 sql_help.c:2003 sql_help.c:2367 +#: sql_help.c:2379 sql_help.c:2500 sql_help.c:2540 sql_help.c:2617 +#: sql_help.c:2678 sql_help.c:2730 sql_help.c:2782 sql_help.c:2815 +#: sql_help.c:2822 sql_help.c:2931 sql_help.c:2949 sql_help.c:2962 +#: sql_help.c:3041 sql_help.c:3161 sql_help.c:3342 sql_help.c:3565 +#: sql_help.c:3614 sql_help.c:3720 sql_help.c:3930 sql_help.c:3936 +#: sql_help.c:3997 sql_help.c:4029 sql_help.c:4393 sql_help.c:4399 +#: sql_help.c:4517 sql_help.c:4630 sql_help.c:4693 sql_help.c:4732 +#: sql_help.c:4888 sql_help.c:4951 sql_help.c:4985 sql_help.c:5043 +#: sql_help.c:5133 sql_help.c:5196 msgid "table_name" msgstr "Tabellenname" -#: sql_help.c:839 sql_help.c:2605 +#: sql_help.c:839 sql_help.c:2619 msgid "using_expression" msgstr "Using-Ausdruck" -#: sql_help.c:840 sql_help.c:2606 +#: sql_help.c:840 sql_help.c:2620 msgid "check_expression" msgstr "Check-Ausdruck" -#: sql_help.c:913 sql_help.c:915 sql_help.c:917 sql_help.c:2653 +#: sql_help.c:922 sql_help.c:924 sql_help.c:2671 msgid "publication_object" msgstr "Publikationsobjekt" -#: sql_help.c:919 sql_help.c:2654 +#: sql_help.c:926 +msgid "publication_drop_object" +msgstr "Publikations-Drop-Objekt" + +#: sql_help.c:928 sql_help.c:2672 msgid "publication_parameter" msgstr "Publikationsparameter" -#: sql_help.c:925 sql_help.c:2656 +#: sql_help.c:934 sql_help.c:2674 msgid "where publication_object is one of:" msgstr "wobei Publikationsobjekt Folgendes sein kann:" -#: sql_help.c:968 sql_help.c:1658 sql_help.c:2464 sql_help.c:2689 -#: sql_help.c:3256 +#: sql_help.c:935 sql_help.c:1754 sql_help.c:2675 sql_help.c:5027 +msgid "table_and_columns" +msgstr "Tabelle-und-Spalten" + +#: sql_help.c:937 +msgid "and publication_drop_object is one of:" +msgstr "wobei Publikations-Drop-Objekt Folgendes sein kann:" + +#: sql_help.c:940 sql_help.c:1759 sql_help.c:2677 sql_help.c:5042 +msgid "and table_and_columns is:" +msgstr "und Tabelle-und-Spalten Folgendes ist:" + +#: sql_help.c:982 sql_help.c:1672 sql_help.c:2478 sql_help.c:2709 +#: sql_help.c:3276 msgid "password" msgstr "Passwort" -#: sql_help.c:969 sql_help.c:1659 sql_help.c:2465 sql_help.c:2690 -#: sql_help.c:3257 +#: sql_help.c:983 sql_help.c:1673 sql_help.c:2479 sql_help.c:2710 +#: sql_help.c:3277 msgid "timestamp" msgstr "Zeit" -#: sql_help.c:973 sql_help.c:977 sql_help.c:980 sql_help.c:983 sql_help.c:1663 -#: sql_help.c:1667 sql_help.c:1670 sql_help.c:1673 sql_help.c:3923 -#: sql_help.c:4386 +#: sql_help.c:987 sql_help.c:991 sql_help.c:994 sql_help.c:997 sql_help.c:1677 +#: sql_help.c:1681 sql_help.c:1684 sql_help.c:1687 sql_help.c:3943 +#: sql_help.c:4406 msgid "database_name" msgstr "Datenbankname" -#: sql_help.c:1089 sql_help.c:2757 +#: sql_help.c:1103 sql_help.c:2777 msgid "increment" msgstr "Inkrement" -#: sql_help.c:1090 sql_help.c:2758 +#: sql_help.c:1104 sql_help.c:2778 msgid "minvalue" msgstr "Minwert" -#: sql_help.c:1091 sql_help.c:2759 +#: sql_help.c:1105 sql_help.c:2779 msgid "maxvalue" msgstr "Maxwert" -#: sql_help.c:1092 sql_help.c:2760 sql_help.c:4606 sql_help.c:4710 -#: sql_help.c:4864 sql_help.c:5040 sql_help.c:5109 +#: sql_help.c:1106 sql_help.c:2780 sql_help.c:4626 sql_help.c:4730 +#: sql_help.c:4884 sql_help.c:5060 sql_help.c:5129 msgid "start" msgstr "Start" -#: sql_help.c:1093 sql_help.c:1365 +#: sql_help.c:1107 sql_help.c:1379 msgid "restart" msgstr "Restart" -#: sql_help.c:1094 sql_help.c:2761 +#: sql_help.c:1108 sql_help.c:2781 msgid "cache" msgstr "Cache" -#: sql_help.c:1139 +#: sql_help.c:1153 msgid "new_target" msgstr "neues_Ziel" -#: sql_help.c:1158 sql_help.c:2814 +#: sql_help.c:1172 sql_help.c:2834 msgid "conninfo" msgstr "Verbindungsinfo" -#: sql_help.c:1160 sql_help.c:1164 sql_help.c:1168 sql_help.c:2815 +#: sql_help.c:1174 sql_help.c:1178 sql_help.c:1182 sql_help.c:2835 msgid "publication_name" msgstr "Publikationsname" -#: sql_help.c:1161 sql_help.c:1165 sql_help.c:1169 +#: sql_help.c:1175 sql_help.c:1179 sql_help.c:1183 msgid "publication_option" msgstr "Publikationsoption" -#: sql_help.c:1172 +#: sql_help.c:1186 msgid "refresh_option" msgstr "Refresh-Option" -#: sql_help.c:1177 sql_help.c:2816 +#: sql_help.c:1191 sql_help.c:2836 msgid "subscription_parameter" msgstr "Subskriptionsparameter" -#: sql_help.c:1180 +#: sql_help.c:1194 msgid "skip_option" msgstr "Skip-Option" -#: sql_help.c:1340 sql_help.c:1343 +#: sql_help.c:1354 sql_help.c:1357 msgid "partition_name" msgstr "Partitionsname" -#: sql_help.c:1341 sql_help.c:2370 sql_help.c:2947 +#: sql_help.c:1355 sql_help.c:2384 sql_help.c:2967 msgid "partition_bound_spec" msgstr "Partitionsbegrenzungsangabe" -#: sql_help.c:1362 sql_help.c:1412 sql_help.c:2961 +#: sql_help.c:1376 sql_help.c:1426 sql_help.c:2981 msgid "sequence_options" msgstr "Sequenzoptionen" -#: sql_help.c:1364 +#: sql_help.c:1378 msgid "sequence_option" msgstr "Sequenzoption" -#: sql_help.c:1378 +#: sql_help.c:1392 msgid "table_constraint_using_index" msgstr "Tabellen-Constraint-für-Index" -#: sql_help.c:1386 sql_help.c:1387 sql_help.c:1388 sql_help.c:1389 +#: sql_help.c:1400 sql_help.c:1401 sql_help.c:1402 sql_help.c:1403 msgid "rewrite_rule_name" msgstr "Regelname" -#: sql_help.c:1401 sql_help.c:2382 sql_help.c:2986 +#: sql_help.c:1415 sql_help.c:2396 sql_help.c:3006 msgid "and partition_bound_spec is:" msgstr "und Partitionsbegrenzungsangabe Folgendes ist:" -#: sql_help.c:1402 sql_help.c:1403 sql_help.c:1404 sql_help.c:2383 -#: sql_help.c:2384 sql_help.c:2385 sql_help.c:2987 sql_help.c:2988 -#: sql_help.c:2989 +#: sql_help.c:1416 sql_help.c:1417 sql_help.c:1418 sql_help.c:2397 +#: sql_help.c:2398 sql_help.c:2399 sql_help.c:3007 sql_help.c:3008 +#: sql_help.c:3009 msgid "partition_bound_expr" msgstr "Partitionsbegrenzungsausdruck" -#: sql_help.c:1405 sql_help.c:1406 sql_help.c:2386 sql_help.c:2387 -#: sql_help.c:2990 sql_help.c:2991 +#: sql_help.c:1419 sql_help.c:1420 sql_help.c:2400 sql_help.c:2401 +#: sql_help.c:3010 sql_help.c:3011 msgid "numeric_literal" msgstr "numerische_Konstante" -#: sql_help.c:1407 +#: sql_help.c:1421 msgid "and column_constraint is:" msgstr "und Spalten-Constraint Folgendes ist:" -#: sql_help.c:1410 sql_help.c:2377 sql_help.c:2418 sql_help.c:2627 -#: sql_help.c:2959 +#: sql_help.c:1424 sql_help.c:2391 sql_help.c:2432 sql_help.c:2641 +#: sql_help.c:2979 msgid "default_expr" msgstr "Vorgabeausdruck" -#: sql_help.c:1411 sql_help.c:2378 sql_help.c:2960 +#: sql_help.c:1425 sql_help.c:2392 sql_help.c:2980 msgid "generation_expr" msgstr "Generierungsausdruck" -#: sql_help.c:1413 sql_help.c:1414 sql_help.c:1423 sql_help.c:1425 -#: sql_help.c:1429 sql_help.c:2962 sql_help.c:2963 sql_help.c:2972 -#: sql_help.c:2974 sql_help.c:2978 +#: sql_help.c:1427 sql_help.c:1428 sql_help.c:1437 sql_help.c:1439 +#: sql_help.c:1443 sql_help.c:2982 sql_help.c:2983 sql_help.c:2992 +#: sql_help.c:2994 sql_help.c:2998 msgid "index_parameters" msgstr "Indexparameter" -#: sql_help.c:1415 sql_help.c:1432 sql_help.c:2964 sql_help.c:2981 +#: sql_help.c:1429 sql_help.c:1446 sql_help.c:2984 sql_help.c:3001 msgid "reftable" msgstr "Reftabelle" -#: sql_help.c:1416 sql_help.c:1433 sql_help.c:2965 sql_help.c:2982 +#: sql_help.c:1430 sql_help.c:1447 sql_help.c:2985 sql_help.c:3002 msgid "refcolumn" msgstr "Refspalte" -#: sql_help.c:1417 sql_help.c:1418 sql_help.c:1434 sql_help.c:1435 -#: sql_help.c:2966 sql_help.c:2967 sql_help.c:2983 sql_help.c:2984 +#: sql_help.c:1431 sql_help.c:1432 sql_help.c:1448 sql_help.c:1449 +#: sql_help.c:2986 sql_help.c:2987 sql_help.c:3003 sql_help.c:3004 msgid "referential_action" msgstr "Fremdschlüsselaktion" -#: sql_help.c:1419 sql_help.c:2379 sql_help.c:2968 +#: sql_help.c:1433 sql_help.c:2393 sql_help.c:2988 msgid "and table_constraint is:" msgstr "und Tabellen-Constraint Folgendes ist:" -#: sql_help.c:1427 sql_help.c:2976 +#: sql_help.c:1441 sql_help.c:2996 msgid "exclude_element" msgstr "Exclude-Element" -#: sql_help.c:1428 sql_help.c:2977 sql_help.c:4604 sql_help.c:4708 -#: sql_help.c:4862 sql_help.c:5038 sql_help.c:5107 +#: sql_help.c:1442 sql_help.c:2997 sql_help.c:4624 sql_help.c:4728 +#: sql_help.c:4882 sql_help.c:5058 sql_help.c:5127 msgid "operator" msgstr "Operator" -#: sql_help.c:1430 sql_help.c:2498 sql_help.c:2979 +#: sql_help.c:1444 sql_help.c:2512 sql_help.c:2999 msgid "predicate" msgstr "Prädikat" -#: sql_help.c:1436 +#: sql_help.c:1450 msgid "and table_constraint_using_index is:" msgstr "und Tabellen-Constraint-für-Index Folgendes ist:" -#: sql_help.c:1439 sql_help.c:2992 +#: sql_help.c:1453 sql_help.c:3012 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "Indexparameter bei UNIQUE-, PRIMARY KEY- und EXCLUDE-Constraints sind:" -#: sql_help.c:1444 sql_help.c:2997 +#: sql_help.c:1458 sql_help.c:3017 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "Exclude-Element in einem EXCLUDE-Constraint ist:" -#: sql_help.c:1448 sql_help.c:2491 sql_help.c:2924 sql_help.c:2937 -#: sql_help.c:2951 sql_help.c:3001 sql_help.c:4022 +#: sql_help.c:1462 sql_help.c:2505 sql_help.c:2944 sql_help.c:2957 +#: sql_help.c:2971 sql_help.c:3021 sql_help.c:4042 msgid "opclass" msgstr "Opklasse" -#: sql_help.c:1449 sql_help.c:2492 sql_help.c:3002 +#: sql_help.c:1463 sql_help.c:2506 sql_help.c:3022 msgid "opclass_parameter" msgstr "Opklassen-Parameter" -#: sql_help.c:1451 sql_help.c:3004 +#: sql_help.c:1465 sql_help.c:3024 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "Fremdschlüsselaktion in FOREIGN KEY/REFERENCES ist:" -#: sql_help.c:1469 sql_help.c:1472 sql_help.c:3041 +#: sql_help.c:1483 sql_help.c:1486 sql_help.c:3061 msgid "tablespace_option" msgstr "Tablespace-Option" -#: sql_help.c:1493 sql_help.c:1496 sql_help.c:1502 sql_help.c:1506 +#: sql_help.c:1507 sql_help.c:1510 sql_help.c:1516 sql_help.c:1520 msgid "token_type" msgstr "Tokentyp" -#: sql_help.c:1494 sql_help.c:1497 +#: sql_help.c:1508 sql_help.c:1511 msgid "dictionary_name" msgstr "Wörterbuchname" -#: sql_help.c:1499 sql_help.c:1503 +#: sql_help.c:1513 sql_help.c:1517 msgid "old_dictionary" msgstr "altes_Wörterbuch" -#: sql_help.c:1500 sql_help.c:1504 +#: sql_help.c:1514 sql_help.c:1518 msgid "new_dictionary" msgstr "neues_Wörterbuch" -#: sql_help.c:1599 sql_help.c:1613 sql_help.c:1616 sql_help.c:1617 -#: sql_help.c:3194 +#: sql_help.c:1613 sql_help.c:1627 sql_help.c:1630 sql_help.c:1631 +#: sql_help.c:3214 msgid "attribute_name" msgstr "Attributname" -#: sql_help.c:1600 +#: sql_help.c:1614 msgid "new_attribute_name" msgstr "neuer_Attributname" -#: sql_help.c:1604 sql_help.c:1608 +#: sql_help.c:1618 sql_help.c:1622 msgid "new_enum_value" msgstr "neuer_Enum-Wert" -#: sql_help.c:1605 +#: sql_help.c:1619 msgid "neighbor_enum_value" msgstr "Nachbar-Enum-Wert" -#: sql_help.c:1607 +#: sql_help.c:1621 msgid "existing_enum_value" msgstr "existierender_Enum-Wert" -#: sql_help.c:1610 +#: sql_help.c:1624 msgid "property" msgstr "Eigenschaft" -#: sql_help.c:1686 sql_help.c:2362 sql_help.c:2371 sql_help.c:2773 -#: sql_help.c:3274 sql_help.c:3725 sql_help.c:3932 sql_help.c:3978 -#: sql_help.c:4395 +#: sql_help.c:1700 sql_help.c:2376 sql_help.c:2385 sql_help.c:2793 +#: sql_help.c:3294 sql_help.c:3745 sql_help.c:3952 sql_help.c:3998 +#: sql_help.c:4415 msgid "server_name" msgstr "Servername" -#: sql_help.c:1718 sql_help.c:1721 sql_help.c:3289 +#: sql_help.c:1732 sql_help.c:1735 sql_help.c:3309 msgid "view_option_name" msgstr "Sichtoptionsname" -#: sql_help.c:1719 sql_help.c:3290 +#: sql_help.c:1733 sql_help.c:3310 msgid "view_option_value" msgstr "Sichtoptionswert" -#: sql_help.c:1740 sql_help.c:5007 -msgid "table_and_columns" -msgstr "Tabelle-und-Spalten" - -#: sql_help.c:1741 sql_help.c:1801 sql_help.c:1995 sql_help.c:3774 -#: sql_help.c:4230 sql_help.c:5008 +#: sql_help.c:1755 sql_help.c:1815 sql_help.c:2009 sql_help.c:3794 +#: sql_help.c:4250 sql_help.c:5028 msgid "where option can be one of:" msgstr "wobei Option eine der folgenden sein kann:" -#: sql_help.c:1742 sql_help.c:1743 sql_help.c:1802 sql_help.c:1997 -#: sql_help.c:2001 sql_help.c:2183 sql_help.c:3775 sql_help.c:3776 -#: sql_help.c:3777 sql_help.c:3778 sql_help.c:3779 sql_help.c:3780 -#: sql_help.c:3781 sql_help.c:3782 sql_help.c:3783 sql_help.c:3784 -#: sql_help.c:4231 sql_help.c:4233 sql_help.c:5009 sql_help.c:5010 -#: sql_help.c:5011 sql_help.c:5012 sql_help.c:5013 sql_help.c:5014 -#: sql_help.c:5015 sql_help.c:5016 sql_help.c:5017 sql_help.c:5019 -#: sql_help.c:5020 +#: sql_help.c:1756 sql_help.c:1757 sql_help.c:1816 sql_help.c:2011 +#: sql_help.c:2015 sql_help.c:2197 sql_help.c:3795 sql_help.c:3796 +#: sql_help.c:3797 sql_help.c:3798 sql_help.c:3799 sql_help.c:3800 +#: sql_help.c:3801 sql_help.c:3802 sql_help.c:3803 sql_help.c:3804 +#: sql_help.c:4251 sql_help.c:4253 sql_help.c:5029 sql_help.c:5030 +#: sql_help.c:5031 sql_help.c:5032 sql_help.c:5033 sql_help.c:5034 +#: sql_help.c:5035 sql_help.c:5036 sql_help.c:5037 sql_help.c:5039 +#: sql_help.c:5040 msgid "boolean" msgstr "boolean" -#: sql_help.c:1744 sql_help.c:5021 +#: sql_help.c:1758 sql_help.c:5041 msgid "size" msgstr "Größe" -#: sql_help.c:1745 sql_help.c:5022 -msgid "and table_and_columns is:" -msgstr "und Tabelle-und-Spalten Folgendes ist:" - -#: sql_help.c:1761 sql_help.c:4769 sql_help.c:4771 sql_help.c:4795 +#: sql_help.c:1775 sql_help.c:4789 sql_help.c:4791 sql_help.c:4815 msgid "transaction_mode" msgstr "Transaktionsmodus" -#: sql_help.c:1762 sql_help.c:4772 sql_help.c:4796 +#: sql_help.c:1776 sql_help.c:4792 sql_help.c:4816 msgid "where transaction_mode is one of:" msgstr "wobei Transaktionsmodus Folgendes sein kann:" -#: sql_help.c:1771 sql_help.c:4614 sql_help.c:4623 sql_help.c:4627 -#: sql_help.c:4631 sql_help.c:4634 sql_help.c:4872 sql_help.c:4881 -#: sql_help.c:4885 sql_help.c:4889 sql_help.c:4892 sql_help.c:5117 -#: sql_help.c:5126 sql_help.c:5130 sql_help.c:5134 sql_help.c:5137 +#: sql_help.c:1785 sql_help.c:4634 sql_help.c:4643 sql_help.c:4647 +#: sql_help.c:4651 sql_help.c:4654 sql_help.c:4892 sql_help.c:4901 +#: sql_help.c:4905 sql_help.c:4909 sql_help.c:4912 sql_help.c:5137 +#: sql_help.c:5146 sql_help.c:5150 sql_help.c:5154 sql_help.c:5157 msgid "argument" msgstr "Argument" -#: sql_help.c:1867 +#: sql_help.c:1881 msgid "relation_name" msgstr "Relationsname" -#: sql_help.c:1872 sql_help.c:3926 sql_help.c:4389 +#: sql_help.c:1886 sql_help.c:3946 sql_help.c:4409 msgid "domain_name" msgstr "Domänenname" -#: sql_help.c:1894 +#: sql_help.c:1908 msgid "policy_name" msgstr "Policy-Name" -#: sql_help.c:1907 +#: sql_help.c:1921 msgid "rule_name" msgstr "Regelname" -#: sql_help.c:1926 sql_help.c:4528 +#: sql_help.c:1940 sql_help.c:4548 msgid "string_literal" msgstr "Zeichenkettenkonstante" -#: sql_help.c:1951 sql_help.c:4192 sql_help.c:4442 +#: sql_help.c:1965 sql_help.c:4212 sql_help.c:4462 msgid "transaction_id" msgstr "Transaktions-ID" -#: sql_help.c:1985 sql_help.c:1992 sql_help.c:4048 +#: sql_help.c:1999 sql_help.c:2006 sql_help.c:4068 msgid "filename" msgstr "Dateiname" -#: sql_help.c:1986 sql_help.c:1993 sql_help.c:2712 sql_help.c:2713 -#: sql_help.c:2714 +#: sql_help.c:2000 sql_help.c:2007 sql_help.c:2732 sql_help.c:2733 +#: sql_help.c:2734 msgid "command" msgstr "Befehl" -#: sql_help.c:1988 sql_help.c:2711 sql_help.c:3144 sql_help.c:3325 -#: sql_help.c:4032 sql_help.c:4115 sql_help.c:4118 sql_help.c:4121 -#: sql_help.c:4597 sql_help.c:4599 sql_help.c:4701 sql_help.c:4703 -#: sql_help.c:4855 sql_help.c:4857 sql_help.c:4974 sql_help.c:5100 -#: sql_help.c:5102 +#: sql_help.c:2002 sql_help.c:2731 sql_help.c:3164 sql_help.c:3345 +#: sql_help.c:4052 sql_help.c:4135 sql_help.c:4138 sql_help.c:4141 +#: sql_help.c:4617 sql_help.c:4619 sql_help.c:4721 sql_help.c:4723 +#: sql_help.c:4875 sql_help.c:4877 sql_help.c:4994 sql_help.c:5120 +#: sql_help.c:5122 msgid "condition" msgstr "Bedingung" -#: sql_help.c:1991 sql_help.c:2532 sql_help.c:3027 sql_help.c:3291 -#: sql_help.c:3309 sql_help.c:4013 +#: sql_help.c:2005 sql_help.c:2546 sql_help.c:3047 sql_help.c:3311 +#: sql_help.c:3329 sql_help.c:4033 msgid "query" msgstr "Anfrage" -#: sql_help.c:1996 +#: sql_help.c:2010 msgid "format_name" msgstr "Formatname" -#: sql_help.c:1998 +#: sql_help.c:2012 msgid "delimiter_character" msgstr "Trennzeichen" -#: sql_help.c:1999 +#: sql_help.c:2013 msgid "null_string" msgstr "Null-Zeichenkette" -#: sql_help.c:2000 +#: sql_help.c:2014 msgid "default_string" msgstr "Vorgabewert-Zeichenkette" -#: sql_help.c:2002 +#: sql_help.c:2016 msgid "quote_character" msgstr "Quote-Zeichen" -#: sql_help.c:2003 +#: sql_help.c:2017 msgid "escape_character" msgstr "Escape-Zeichen" -#: sql_help.c:2007 +#: sql_help.c:2021 msgid "error_action" msgstr "Fehleraktion" -#: sql_help.c:2008 +#: sql_help.c:2022 msgid "encoding_name" msgstr "Kodierungsname" -#: sql_help.c:2009 +#: sql_help.c:2023 msgid "verbosity" msgstr "Verbose-Modus" -#: sql_help.c:2020 +#: sql_help.c:2034 msgid "access_method_type" msgstr "Zugriffsmethodentyp" -#: sql_help.c:2091 sql_help.c:2110 sql_help.c:2113 +#: sql_help.c:2105 sql_help.c:2124 sql_help.c:2127 msgid "arg_data_type" msgstr "Arg-Datentyp" -#: sql_help.c:2092 sql_help.c:2114 sql_help.c:2122 +#: sql_help.c:2106 sql_help.c:2128 sql_help.c:2136 msgid "sfunc" msgstr "Übergangsfunktion" -#: sql_help.c:2093 sql_help.c:2115 sql_help.c:2123 +#: sql_help.c:2107 sql_help.c:2129 sql_help.c:2137 msgid "state_data_type" msgstr "Zustandsdatentyp" -#: sql_help.c:2094 sql_help.c:2116 sql_help.c:2124 +#: sql_help.c:2108 sql_help.c:2130 sql_help.c:2138 msgid "state_data_size" msgstr "Zustandsdatengröße" -#: sql_help.c:2095 sql_help.c:2117 sql_help.c:2125 +#: sql_help.c:2109 sql_help.c:2131 sql_help.c:2139 msgid "ffunc" msgstr "Abschlussfunktion" -#: sql_help.c:2096 sql_help.c:2126 +#: sql_help.c:2110 sql_help.c:2140 msgid "combinefunc" msgstr "Combine-Funktion" -#: sql_help.c:2097 sql_help.c:2127 +#: sql_help.c:2111 sql_help.c:2141 msgid "serialfunc" msgstr "Serialisierungsfunktion" -#: sql_help.c:2098 sql_help.c:2128 +#: sql_help.c:2112 sql_help.c:2142 msgid "deserialfunc" msgstr "Deserialisierungsfunktion" -#: sql_help.c:2099 sql_help.c:2118 sql_help.c:2129 +#: sql_help.c:2113 sql_help.c:2132 sql_help.c:2143 msgid "initial_condition" msgstr "Anfangswert" -#: sql_help.c:2100 sql_help.c:2130 +#: sql_help.c:2114 sql_help.c:2144 msgid "msfunc" msgstr "Moving-Übergangsfunktion" -#: sql_help.c:2101 sql_help.c:2131 +#: sql_help.c:2115 sql_help.c:2145 msgid "minvfunc" msgstr "Moving-Inversfunktion" -#: sql_help.c:2102 sql_help.c:2132 +#: sql_help.c:2116 sql_help.c:2146 msgid "mstate_data_type" msgstr "Moving-Zustandsdatentyp" -#: sql_help.c:2103 sql_help.c:2133 +#: sql_help.c:2117 sql_help.c:2147 msgid "mstate_data_size" msgstr "Moving-Zustandsdatengröße" -#: sql_help.c:2104 sql_help.c:2134 +#: sql_help.c:2118 sql_help.c:2148 msgid "mffunc" msgstr "Moving-Abschlussfunktion" -#: sql_help.c:2105 sql_help.c:2135 +#: sql_help.c:2119 sql_help.c:2149 msgid "minitial_condition" msgstr "Moving-Anfangswert" -#: sql_help.c:2106 sql_help.c:2136 +#: sql_help.c:2120 sql_help.c:2150 msgid "sort_operator" msgstr "Sortieroperator" -#: sql_help.c:2119 +#: sql_help.c:2133 msgid "or the old syntax" msgstr "oder die alte Syntax" -#: sql_help.c:2121 +#: sql_help.c:2135 msgid "base_type" msgstr "Basistyp" -#: sql_help.c:2179 sql_help.c:2229 +#: sql_help.c:2193 sql_help.c:2243 msgid "locale" msgstr "Locale" -#: sql_help.c:2180 sql_help.c:2230 +#: sql_help.c:2194 sql_help.c:2244 msgid "lc_collate" msgstr "lc_collate" -#: sql_help.c:2181 sql_help.c:2231 +#: sql_help.c:2195 sql_help.c:2245 msgid "lc_ctype" msgstr "lc_ctype" -#: sql_help.c:2182 sql_help.c:4495 +#: sql_help.c:2196 sql_help.c:4515 msgid "provider" msgstr "Provider" -#: sql_help.c:2184 +#: sql_help.c:2198 msgid "rules" msgstr "Regeln" -#: sql_help.c:2185 sql_help.c:2292 +#: sql_help.c:2199 sql_help.c:2306 msgid "version" msgstr "Version" -#: sql_help.c:2187 +#: sql_help.c:2201 msgid "existing_collation" msgstr "existierende_Sortierfolge" -#: sql_help.c:2197 +#: sql_help.c:2211 msgid "source_encoding" msgstr "Quellkodierung" -#: sql_help.c:2198 +#: sql_help.c:2212 msgid "dest_encoding" msgstr "Zielkodierung" -#: sql_help.c:2226 sql_help.c:3067 +#: sql_help.c:2240 sql_help.c:3087 msgid "template" msgstr "Vorlage" -#: sql_help.c:2227 +#: sql_help.c:2241 msgid "encoding" msgstr "Kodierung" -#: sql_help.c:2228 +#: sql_help.c:2242 msgid "strategy" msgstr "Strategie" -#: sql_help.c:2232 +#: sql_help.c:2246 msgid "builtin_locale" msgstr "Builtin-Locale" -#: sql_help.c:2233 +#: sql_help.c:2247 msgid "icu_locale" msgstr "ICU-Locale" -#: sql_help.c:2234 +#: sql_help.c:2248 msgid "icu_rules" msgstr "ICU-Regeln" -#: sql_help.c:2235 +#: sql_help.c:2249 msgid "locale_provider" msgstr "Locale-Provider" -#: sql_help.c:2236 +#: sql_help.c:2250 msgid "collation_version" msgstr "Sortierfolgenversion" -#: sql_help.c:2241 +#: sql_help.c:2255 msgid "oid" msgstr "OID" -#: sql_help.c:2276 sql_help.c:2709 sql_help.c:3140 +#: sql_help.c:2290 sql_help.c:2729 sql_help.c:3160 msgid "event" msgstr "Ereignis" -#: sql_help.c:2277 +#: sql_help.c:2291 msgid "filter_variable" msgstr "Filtervariable" -#: sql_help.c:2278 +#: sql_help.c:2292 msgid "filter_value" msgstr "Filterwert" -#: sql_help.c:2374 sql_help.c:2956 +#: sql_help.c:2388 sql_help.c:2976 msgid "where column_constraint is:" msgstr "wobei Spalten-Constraint Folgendes ist:" -#: sql_help.c:2419 +#: sql_help.c:2433 msgid "rettype" msgstr "Rückgabetyp" -#: sql_help.c:2421 +#: sql_help.c:2435 msgid "column_type" msgstr "Spaltentyp" -#: sql_help.c:2430 sql_help.c:2633 +#: sql_help.c:2444 sql_help.c:2647 msgid "definition" msgstr "Definition" -#: sql_help.c:2431 sql_help.c:2634 +#: sql_help.c:2445 sql_help.c:2648 msgid "obj_file" msgstr "Objektdatei" -#: sql_help.c:2432 sql_help.c:2635 +#: sql_help.c:2446 sql_help.c:2649 msgid "link_symbol" msgstr "Linksymbol" -#: sql_help.c:2433 sql_help.c:2636 +#: sql_help.c:2447 sql_help.c:2650 msgid "sql_body" msgstr "SQL-Rumpf" -#: sql_help.c:2471 sql_help.c:2694 sql_help.c:3263 +#: sql_help.c:2485 sql_help.c:2714 sql_help.c:3283 msgid "uid" msgstr "Uid" -#: sql_help.c:2487 sql_help.c:2528 sql_help.c:2925 sql_help.c:2938 -#: sql_help.c:2952 sql_help.c:3023 +#: sql_help.c:2501 sql_help.c:2542 sql_help.c:2945 sql_help.c:2958 +#: sql_help.c:2972 sql_help.c:3043 msgid "method" msgstr "Methode" -#: sql_help.c:2509 +#: sql_help.c:2523 msgid "call_handler" msgstr "Handler" -#: sql_help.c:2510 +#: sql_help.c:2524 msgid "inline_handler" msgstr "Inline-Handler" -#: sql_help.c:2511 +#: sql_help.c:2525 msgid "valfunction" msgstr "Valfunktion" -#: sql_help.c:2569 +#: sql_help.c:2583 msgid "family_name" msgstr "Familienname" -#: sql_help.c:2580 +#: sql_help.c:2594 msgid "storage_type" msgstr "Storage-Typ" -#: sql_help.c:2715 sql_help.c:3147 +#: sql_help.c:2735 sql_help.c:3167 msgid "where event can be one of:" msgstr "wobei Ereignis eins der folgenden sein kann:" -#: sql_help.c:2735 sql_help.c:2737 +#: sql_help.c:2755 sql_help.c:2757 msgid "schema_element" msgstr "Schemaelement" -#: sql_help.c:2774 +#: sql_help.c:2794 msgid "server_type" msgstr "Servertyp" -#: sql_help.c:2775 +#: sql_help.c:2795 msgid "server_version" msgstr "Serverversion" -#: sql_help.c:2776 sql_help.c:3929 sql_help.c:4392 +#: sql_help.c:2796 sql_help.c:3949 sql_help.c:4412 msgid "fdw_name" msgstr "FDW-Name" -#: sql_help.c:2793 sql_help.c:2796 +#: sql_help.c:2813 sql_help.c:2816 msgid "statistics_name" msgstr "Statistikname" -#: sql_help.c:2797 +#: sql_help.c:2817 msgid "statistics_kind" msgstr "Statistikart" -#: sql_help.c:2813 +#: sql_help.c:2833 msgid "subscription_name" msgstr "Subskriptionsname" -#: sql_help.c:2918 +#: sql_help.c:2938 msgid "source_table" msgstr "Quelltabelle" -#: sql_help.c:2919 +#: sql_help.c:2939 msgid "like_option" msgstr "Like-Option" -#: sql_help.c:2985 +#: sql_help.c:3005 msgid "and like_option is:" msgstr "und Like-Option Folgendes ist:" -#: sql_help.c:3040 +#: sql_help.c:3060 msgid "directory" msgstr "Verzeichnis" -#: sql_help.c:3054 +#: sql_help.c:3074 msgid "parser_name" msgstr "Parser-Name" -#: sql_help.c:3055 +#: sql_help.c:3075 msgid "source_config" msgstr "Quellkonfig" -#: sql_help.c:3084 +#: sql_help.c:3104 msgid "start_function" msgstr "Startfunktion" -#: sql_help.c:3085 +#: sql_help.c:3105 msgid "gettoken_function" msgstr "Gettext-Funktion" -#: sql_help.c:3086 +#: sql_help.c:3106 msgid "end_function" msgstr "Endfunktion" -#: sql_help.c:3087 +#: sql_help.c:3107 msgid "lextypes_function" msgstr "Lextypenfunktion" -#: sql_help.c:3088 +#: sql_help.c:3108 msgid "headline_function" msgstr "Headline-Funktion" -#: sql_help.c:3100 +#: sql_help.c:3120 msgid "init_function" msgstr "Init-Funktion" -#: sql_help.c:3101 +#: sql_help.c:3121 msgid "lexize_function" msgstr "Lexize-Funktion" -#: sql_help.c:3114 +#: sql_help.c:3134 msgid "from_sql_function_name" msgstr "From-SQL-Funktionsname" -#: sql_help.c:3116 +#: sql_help.c:3136 msgid "to_sql_function_name" msgstr "To-SQL-Funktionsname" -#: sql_help.c:3142 +#: sql_help.c:3162 msgid "referenced_table_name" msgstr "verwiesener_Tabellenname" -#: sql_help.c:3143 +#: sql_help.c:3163 msgid "transition_relation_name" msgstr "Übergangsrelationsname" -#: sql_help.c:3146 +#: sql_help.c:3166 msgid "arguments" msgstr "Argumente" -#: sql_help.c:3198 +#: sql_help.c:3218 msgid "label" msgstr "Label" -#: sql_help.c:3200 +#: sql_help.c:3220 msgid "subtype" msgstr "Untertyp" -#: sql_help.c:3201 +#: sql_help.c:3221 msgid "subtype_operator_class" msgstr "Untertyp-Operatorklasse" -#: sql_help.c:3203 +#: sql_help.c:3223 msgid "canonical_function" msgstr "Canonical-Funktion" -#: sql_help.c:3204 +#: sql_help.c:3224 msgid "subtype_diff_function" msgstr "Untertyp-Diff-Funktion" -#: sql_help.c:3205 +#: sql_help.c:3225 msgid "multirange_type_name" msgstr "Multirange-Typname" -#: sql_help.c:3207 +#: sql_help.c:3227 msgid "input_function" msgstr "Eingabefunktion" -#: sql_help.c:3208 +#: sql_help.c:3228 msgid "output_function" msgstr "Ausgabefunktion" -#: sql_help.c:3209 +#: sql_help.c:3229 msgid "receive_function" msgstr "Empfangsfunktion" -#: sql_help.c:3210 +#: sql_help.c:3230 msgid "send_function" msgstr "Sendefunktion" -#: sql_help.c:3211 +#: sql_help.c:3231 msgid "type_modifier_input_function" msgstr "Typmod-Eingabefunktion" -#: sql_help.c:3212 +#: sql_help.c:3232 msgid "type_modifier_output_function" msgstr "Typmod-Ausgabefunktion" -#: sql_help.c:3213 +#: sql_help.c:3233 msgid "analyze_function" msgstr "Analyze-Funktion" -#: sql_help.c:3214 +#: sql_help.c:3234 msgid "subscript_function" msgstr "Subscript-Funktion" -#: sql_help.c:3215 +#: sql_help.c:3235 msgid "internallength" msgstr "interne_Länge" -#: sql_help.c:3216 +#: sql_help.c:3236 msgid "alignment" msgstr "Ausrichtung" -#: sql_help.c:3217 +#: sql_help.c:3237 msgid "storage" msgstr "Speicherung" -#: sql_help.c:3218 +#: sql_help.c:3238 msgid "like_type" msgstr "wie_Typ" -#: sql_help.c:3219 +#: sql_help.c:3239 msgid "category" msgstr "Kategorie" -#: sql_help.c:3220 +#: sql_help.c:3240 msgid "preferred" msgstr "bevorzugt" -#: sql_help.c:3221 +#: sql_help.c:3241 msgid "default" msgstr "Vorgabewert" -#: sql_help.c:3222 +#: sql_help.c:3242 msgid "element" msgstr "Element" -#: sql_help.c:3223 +#: sql_help.c:3243 msgid "delimiter" msgstr "Trennzeichen" -#: sql_help.c:3224 +#: sql_help.c:3244 msgid "collatable" msgstr "sortierbar" -#: sql_help.c:3321 sql_help.c:4008 sql_help.c:4102 sql_help.c:4592 -#: sql_help.c:4695 sql_help.c:4850 sql_help.c:4964 sql_help.c:5095 +#: sql_help.c:3341 sql_help.c:4028 sql_help.c:4122 sql_help.c:4612 +#: sql_help.c:4715 sql_help.c:4870 sql_help.c:4984 sql_help.c:5115 msgid "with_query" msgstr "With-Anfrage" -#: sql_help.c:3323 sql_help.c:4010 sql_help.c:4611 sql_help.c:4617 -#: sql_help.c:4620 sql_help.c:4624 sql_help.c:4628 sql_help.c:4636 -#: sql_help.c:4869 sql_help.c:4875 sql_help.c:4878 sql_help.c:4882 -#: sql_help.c:4886 sql_help.c:4894 sql_help.c:4966 sql_help.c:5114 -#: sql_help.c:5120 sql_help.c:5123 sql_help.c:5127 sql_help.c:5131 -#: sql_help.c:5139 +#: sql_help.c:3343 sql_help.c:4030 sql_help.c:4631 sql_help.c:4637 +#: sql_help.c:4640 sql_help.c:4644 sql_help.c:4648 sql_help.c:4656 +#: sql_help.c:4889 sql_help.c:4895 sql_help.c:4898 sql_help.c:4902 +#: sql_help.c:4906 sql_help.c:4914 sql_help.c:4986 sql_help.c:5134 +#: sql_help.c:5140 sql_help.c:5143 sql_help.c:5147 sql_help.c:5151 +#: sql_help.c:5159 msgid "alias" msgstr "Alias" -#: sql_help.c:3324 sql_help.c:4596 sql_help.c:4638 sql_help.c:4640 -#: sql_help.c:4644 sql_help.c:4646 sql_help.c:4647 sql_help.c:4648 -#: sql_help.c:4700 sql_help.c:4854 sql_help.c:4896 sql_help.c:4898 -#: sql_help.c:4902 sql_help.c:4904 sql_help.c:4905 sql_help.c:4906 -#: sql_help.c:4973 sql_help.c:5099 sql_help.c:5141 sql_help.c:5143 -#: sql_help.c:5147 sql_help.c:5149 sql_help.c:5150 sql_help.c:5151 +#: sql_help.c:3344 sql_help.c:4616 sql_help.c:4658 sql_help.c:4660 +#: sql_help.c:4664 sql_help.c:4666 sql_help.c:4667 sql_help.c:4668 +#: sql_help.c:4720 sql_help.c:4874 sql_help.c:4916 sql_help.c:4918 +#: sql_help.c:4922 sql_help.c:4924 sql_help.c:4925 sql_help.c:4926 +#: sql_help.c:4993 sql_help.c:5119 sql_help.c:5161 sql_help.c:5163 +#: sql_help.c:5167 sql_help.c:5169 sql_help.c:5170 sql_help.c:5171 msgid "from_item" msgstr "From-Element" -#: sql_help.c:3326 sql_help.c:3810 sql_help.c:4159 sql_help.c:4975 +#: sql_help.c:3346 sql_help.c:3830 sql_help.c:4179 sql_help.c:4995 msgid "cursor_name" msgstr "Cursor-Name" -#: sql_help.c:3327 sql_help.c:4016 sql_help.c:4108 sql_help.c:4976 +#: sql_help.c:3347 sql_help.c:4036 sql_help.c:4128 sql_help.c:4996 msgid "output_expression" msgstr "Ausgabeausdruck" -#: sql_help.c:3328 sql_help.c:4017 sql_help.c:4109 sql_help.c:4595 -#: sql_help.c:4698 sql_help.c:4853 sql_help.c:4977 sql_help.c:5098 +#: sql_help.c:3348 sql_help.c:4037 sql_help.c:4129 sql_help.c:4615 +#: sql_help.c:4718 sql_help.c:4873 sql_help.c:4997 sql_help.c:5118 msgid "output_name" msgstr "Ausgabename" -#: sql_help.c:3344 +#: sql_help.c:3364 msgid "code" msgstr "Code" -#: sql_help.c:3749 +#: sql_help.c:3769 msgid "parameter" msgstr "Parameter" -#: sql_help.c:3773 sql_help.c:4184 +#: sql_help.c:3793 sql_help.c:4204 msgid "statement" msgstr "Anweisung" -#: sql_help.c:3809 sql_help.c:4158 +#: sql_help.c:3829 sql_help.c:4178 msgid "direction" msgstr "Richtung" -#: sql_help.c:3811 sql_help.c:4160 +#: sql_help.c:3831 sql_help.c:4180 msgid "where direction can be one of:" msgstr "wobei Richtung eine der folgenden sein kann:" -#: sql_help.c:3812 sql_help.c:3813 sql_help.c:3814 sql_help.c:3815 -#: sql_help.c:3816 sql_help.c:4161 sql_help.c:4162 sql_help.c:4163 -#: sql_help.c:4164 sql_help.c:4165 sql_help.c:4605 sql_help.c:4607 -#: sql_help.c:4709 sql_help.c:4711 sql_help.c:4863 sql_help.c:4865 -#: sql_help.c:5039 sql_help.c:5041 sql_help.c:5108 sql_help.c:5110 +#: sql_help.c:3832 sql_help.c:3833 sql_help.c:3834 sql_help.c:3835 +#: sql_help.c:3836 sql_help.c:4181 sql_help.c:4182 sql_help.c:4183 +#: sql_help.c:4184 sql_help.c:4185 sql_help.c:4625 sql_help.c:4627 +#: sql_help.c:4729 sql_help.c:4731 sql_help.c:4883 sql_help.c:4885 +#: sql_help.c:5059 sql_help.c:5061 sql_help.c:5128 sql_help.c:5130 msgid "count" msgstr "Anzahl" -#: sql_help.c:3919 sql_help.c:4382 +#: sql_help.c:3939 sql_help.c:4402 msgid "sequence_name" msgstr "Sequenzname" -#: sql_help.c:3937 sql_help.c:4400 +#: sql_help.c:3957 sql_help.c:4420 msgid "arg_name" msgstr "Argname" -#: sql_help.c:3938 sql_help.c:4401 +#: sql_help.c:3958 sql_help.c:4421 msgid "arg_type" msgstr "Argtyp" -#: sql_help.c:3945 sql_help.c:4408 +#: sql_help.c:3965 sql_help.c:4428 msgid "loid" msgstr "Large-Object-OID" -#: sql_help.c:3976 +#: sql_help.c:3996 msgid "remote_schema" msgstr "fernes_Schema" -#: sql_help.c:3979 +#: sql_help.c:3999 msgid "local_schema" msgstr "lokales_Schema" -#: sql_help.c:4014 +#: sql_help.c:4034 msgid "conflict_target" msgstr "Konfliktziel" -#: sql_help.c:4015 +#: sql_help.c:4035 msgid "conflict_action" msgstr "Konfliktaktion" -#: sql_help.c:4018 +#: sql_help.c:4038 msgid "where conflict_target can be one of:" msgstr "wobei Konfliktziel Folgendes sein kann:" -#: sql_help.c:4019 +#: sql_help.c:4039 msgid "index_column_name" msgstr "Indexspaltenname" -#: sql_help.c:4020 +#: sql_help.c:4040 msgid "index_expression" msgstr "Indexausdruck" -#: sql_help.c:4023 +#: sql_help.c:4043 msgid "index_predicate" msgstr "Indexprädikat" -#: sql_help.c:4025 +#: sql_help.c:4045 msgid "and conflict_action is one of:" msgstr "und Konfliktaktion Folgendes sein kann:" -#: sql_help.c:4031 sql_help.c:4132 sql_help.c:4972 +#: sql_help.c:4051 sql_help.c:4152 sql_help.c:4992 msgid "sub-SELECT" msgstr "Sub-SELECT" -#: sql_help.c:4040 sql_help.c:4173 sql_help.c:4948 +#: sql_help.c:4060 sql_help.c:4193 sql_help.c:4968 msgid "channel" msgstr "Kanal" -#: sql_help.c:4062 +#: sql_help.c:4082 msgid "lockmode" msgstr "Sperrmodus" -#: sql_help.c:4063 +#: sql_help.c:4083 msgid "where lockmode is one of:" msgstr "wobei Sperrmodus Folgendes sein kann:" -#: sql_help.c:4103 +#: sql_help.c:4123 msgid "target_table_name" msgstr "Zieltabellenname" -#: sql_help.c:4104 +#: sql_help.c:4124 msgid "target_alias" msgstr "Zielalias" -#: sql_help.c:4105 +#: sql_help.c:4125 msgid "data_source" msgstr "Datenquelle" -#: sql_help.c:4106 sql_help.c:4641 sql_help.c:4899 sql_help.c:5144 +#: sql_help.c:4126 sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 msgid "join_condition" msgstr "Verbundbedingung" -#: sql_help.c:4107 +#: sql_help.c:4127 msgid "when_clause" msgstr "When-Klausel" -#: sql_help.c:4110 +#: sql_help.c:4130 msgid "where data_source is:" msgstr "wobei Datenquelle Folgendes ist:" -#: sql_help.c:4111 +#: sql_help.c:4131 msgid "source_table_name" msgstr "Quelltabellenname" -#: sql_help.c:4112 +#: sql_help.c:4132 msgid "source_query" msgstr "Quellanfrage" -#: sql_help.c:4113 +#: sql_help.c:4133 msgid "source_alias" msgstr "Quellalias" -#: sql_help.c:4114 +#: sql_help.c:4134 msgid "and when_clause is:" msgstr "und When-Klausel Folgendes ist:" -#: sql_help.c:4116 sql_help.c:4119 +#: sql_help.c:4136 sql_help.c:4139 msgid "merge_update" msgstr "Merge-Update" -#: sql_help.c:4117 sql_help.c:4120 +#: sql_help.c:4137 sql_help.c:4140 msgid "merge_delete" msgstr "Merge-Delete" -#: sql_help.c:4122 +#: sql_help.c:4142 msgid "merge_insert" msgstr "Merge-Insert" -#: sql_help.c:4123 +#: sql_help.c:4143 msgid "and merge_insert is:" msgstr "und Merge-Insert Folgendes ist:" -#: sql_help.c:4126 +#: sql_help.c:4146 msgid "and merge_update is:" msgstr "und Merge-Update Folgendes ist:" -#: sql_help.c:4133 +#: sql_help.c:4153 msgid "and merge_delete is:" msgstr "und Merge-Delete Folgendes ist:" -#: sql_help.c:4174 +#: sql_help.c:4194 msgid "payload" msgstr "Payload" -#: sql_help.c:4201 +#: sql_help.c:4221 msgid "old_role" msgstr "alte_Rolle" -#: sql_help.c:4202 +#: sql_help.c:4222 msgid "new_role" msgstr "neue_Rolle" -#: sql_help.c:4241 sql_help.c:4450 sql_help.c:4458 +#: sql_help.c:4261 sql_help.c:4470 sql_help.c:4478 msgid "savepoint_name" msgstr "Sicherungspunktsname" -#: sql_help.c:4598 sql_help.c:4656 sql_help.c:4856 sql_help.c:4914 -#: sql_help.c:5101 sql_help.c:5159 +#: sql_help.c:4618 sql_help.c:4676 sql_help.c:4876 sql_help.c:4934 +#: sql_help.c:5121 sql_help.c:5179 msgid "grouping_element" msgstr "Gruppierelement" -#: sql_help.c:4600 sql_help.c:4704 sql_help.c:4858 sql_help.c:5103 +#: sql_help.c:4620 sql_help.c:4724 sql_help.c:4878 sql_help.c:5123 msgid "window_name" msgstr "Fenstername" -#: sql_help.c:4601 sql_help.c:4705 sql_help.c:4859 sql_help.c:5104 +#: sql_help.c:4621 sql_help.c:4725 sql_help.c:4879 sql_help.c:5124 msgid "window_definition" msgstr "Fensterdefinition" -#: sql_help.c:4602 sql_help.c:4616 sql_help.c:4660 sql_help.c:4706 -#: sql_help.c:4860 sql_help.c:4874 sql_help.c:4918 sql_help.c:5105 -#: sql_help.c:5119 sql_help.c:5163 +#: sql_help.c:4622 sql_help.c:4636 sql_help.c:4680 sql_help.c:4726 +#: sql_help.c:4880 sql_help.c:4894 sql_help.c:4938 sql_help.c:5125 +#: sql_help.c:5139 sql_help.c:5183 msgid "select" msgstr "Select" -#: sql_help.c:4608 sql_help.c:4866 sql_help.c:5111 +#: sql_help.c:4628 sql_help.c:4886 sql_help.c:5131 msgid "from_reference" msgstr "From-Referenz" -#: sql_help.c:4609 sql_help.c:4867 sql_help.c:5112 +#: sql_help.c:4629 sql_help.c:4887 sql_help.c:5132 msgid "where from_item can be one of:" msgstr "wobei From-Element Folgendes sein kann:" -#: sql_help.c:4612 sql_help.c:4618 sql_help.c:4621 sql_help.c:4625 -#: sql_help.c:4637 sql_help.c:4870 sql_help.c:4876 sql_help.c:4879 -#: sql_help.c:4883 sql_help.c:4895 sql_help.c:5115 sql_help.c:5121 -#: sql_help.c:5124 sql_help.c:5128 sql_help.c:5140 +#: sql_help.c:4632 sql_help.c:4638 sql_help.c:4641 sql_help.c:4645 +#: sql_help.c:4657 sql_help.c:4890 sql_help.c:4896 sql_help.c:4899 +#: sql_help.c:4903 sql_help.c:4915 sql_help.c:5135 sql_help.c:5141 +#: sql_help.c:5144 sql_help.c:5148 sql_help.c:5160 msgid "column_alias" msgstr "Spaltenalias" -#: sql_help.c:4613 sql_help.c:4871 sql_help.c:5116 +#: sql_help.c:4633 sql_help.c:4891 sql_help.c:5136 msgid "sampling_method" msgstr "Stichprobenmethode" -#: sql_help.c:4615 sql_help.c:4873 sql_help.c:5118 +#: sql_help.c:4635 sql_help.c:4893 sql_help.c:5138 msgid "seed" msgstr "Startwert" -#: sql_help.c:4619 sql_help.c:4658 sql_help.c:4877 sql_help.c:4916 -#: sql_help.c:5122 sql_help.c:5161 +#: sql_help.c:4639 sql_help.c:4678 sql_help.c:4897 sql_help.c:4936 +#: sql_help.c:5142 sql_help.c:5181 msgid "with_query_name" msgstr "With-Anfragename" -#: sql_help.c:4629 sql_help.c:4632 sql_help.c:4635 sql_help.c:4887 -#: sql_help.c:4890 sql_help.c:4893 sql_help.c:5132 sql_help.c:5135 -#: sql_help.c:5138 +#: sql_help.c:4649 sql_help.c:4652 sql_help.c:4655 sql_help.c:4907 +#: sql_help.c:4910 sql_help.c:4913 sql_help.c:5152 sql_help.c:5155 +#: sql_help.c:5158 msgid "column_definition" msgstr "Spaltendefinition" -#: sql_help.c:4639 sql_help.c:4645 sql_help.c:4897 sql_help.c:4903 -#: sql_help.c:5142 sql_help.c:5148 +#: sql_help.c:4659 sql_help.c:4665 sql_help.c:4917 sql_help.c:4923 +#: sql_help.c:5162 sql_help.c:5168 msgid "join_type" msgstr "Verbundtyp" -#: sql_help.c:4642 sql_help.c:4900 sql_help.c:5145 +#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 msgid "join_column" msgstr "Verbundspalte" -#: sql_help.c:4643 sql_help.c:4901 sql_help.c:5146 +#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 msgid "join_using_alias" msgstr "Join-Using-Alias" -#: sql_help.c:4649 sql_help.c:4907 sql_help.c:5152 +#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 msgid "and grouping_element can be one of:" msgstr "und Gruppierelement eins der folgenden sein kann:" -#: sql_help.c:4657 sql_help.c:4915 sql_help.c:5160 +#: sql_help.c:4677 sql_help.c:4935 sql_help.c:5180 msgid "and with_query is:" msgstr "und With-Anfrage ist:" -#: sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 +#: sql_help.c:4681 sql_help.c:4939 sql_help.c:5184 msgid "values" msgstr "values" -#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 +#: sql_help.c:4682 sql_help.c:4940 sql_help.c:5185 msgid "insert" msgstr "insert" -#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 +#: sql_help.c:4683 sql_help.c:4941 sql_help.c:5186 msgid "update" msgstr "update" -#: sql_help.c:4664 sql_help.c:4922 sql_help.c:5167 +#: sql_help.c:4684 sql_help.c:4942 sql_help.c:5187 msgid "delete" msgstr "delete" -#: sql_help.c:4665 sql_help.c:4923 sql_help.c:5168 +#: sql_help.c:4685 sql_help.c:4943 sql_help.c:5188 msgid "merge" msgstr "merge" -#: sql_help.c:4667 sql_help.c:4925 sql_help.c:5170 +#: sql_help.c:4687 sql_help.c:4945 sql_help.c:5190 msgid "search_seq_col_name" msgstr "Search-Seq-Spaltenname" -#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 +#: sql_help.c:4689 sql_help.c:4947 sql_help.c:5192 msgid "cycle_mark_col_name" msgstr "Cycle-Mark-Spaltenname" -#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 +#: sql_help.c:4690 sql_help.c:4948 sql_help.c:5193 msgid "cycle_mark_value" msgstr "Cycle-Mark-Wert" -#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 +#: sql_help.c:4691 sql_help.c:4949 sql_help.c:5194 msgid "cycle_mark_default" msgstr "Cycle-Mark-Standard" -#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 +#: sql_help.c:4692 sql_help.c:4950 sql_help.c:5195 msgid "cycle_path_col_name" msgstr "Cycle-Pfad-Spaltenname" -#: sql_help.c:4699 +#: sql_help.c:4719 msgid "new_table" msgstr "neue_Tabelle" -#: sql_help.c:4770 +#: sql_help.c:4790 msgid "snapshot_id" msgstr "Snapshot-ID" -#: sql_help.c:5037 +#: sql_help.c:5057 msgid "sort_expression" msgstr "Sortierausdruck" -#: sql_help.c:5182 sql_help.c:6166 +#: sql_help.c:5202 sql_help.c:6186 msgid "abort the current transaction" msgstr "bricht die aktuelle Transaktion ab" -#: sql_help.c:5188 +#: sql_help.c:5208 msgid "change the definition of an aggregate function" msgstr "ändert die Definition einer Aggregatfunktion" -#: sql_help.c:5194 +#: sql_help.c:5214 msgid "change the definition of a collation" msgstr "ändert die Definition einer Sortierfolge" -#: sql_help.c:5200 +#: sql_help.c:5220 msgid "change the definition of a conversion" msgstr "ändert die Definition einer Zeichensatzkonversion" -#: sql_help.c:5206 +#: sql_help.c:5226 msgid "change a database" msgstr "ändert eine Datenbank" -#: sql_help.c:5212 +#: sql_help.c:5232 msgid "define default access privileges" msgstr "definiert vorgegebene Zugriffsprivilegien" -#: sql_help.c:5218 +#: sql_help.c:5238 msgid "change the definition of a domain" msgstr "ändert die Definition einer Domäne" -#: sql_help.c:5224 +#: sql_help.c:5244 msgid "change the definition of an event trigger" msgstr "ändert die Definition eines Ereignistriggers" -#: sql_help.c:5230 +#: sql_help.c:5250 msgid "change the definition of an extension" msgstr "ändert die Definition einer Erweiterung" -#: sql_help.c:5236 +#: sql_help.c:5256 msgid "change the definition of a foreign-data wrapper" msgstr "ändert die Definition eines Fremddaten-Wrappers" -#: sql_help.c:5242 +#: sql_help.c:5262 msgid "change the definition of a foreign table" msgstr "ändert die Definition einer Fremdtabelle" -#: sql_help.c:5248 +#: sql_help.c:5268 msgid "change the definition of a function" msgstr "ändert die Definition einer Funktion" -#: sql_help.c:5254 +#: sql_help.c:5274 msgid "change role name or membership" msgstr "ändert Rollenname oder -mitglieder" -#: sql_help.c:5260 +#: sql_help.c:5280 msgid "change the definition of an index" msgstr "ändert die Definition eines Index" -#: sql_help.c:5266 +#: sql_help.c:5286 msgid "change the definition of a procedural language" msgstr "ändert die Definition einer prozeduralen Sprache" -#: sql_help.c:5272 +#: sql_help.c:5292 msgid "change the definition of a large object" msgstr "ändert die Definition eines Large Object" -#: sql_help.c:5278 +#: sql_help.c:5298 msgid "change the definition of a materialized view" msgstr "ändert die Definition einer materialisierten Sicht" -#: sql_help.c:5284 +#: sql_help.c:5304 msgid "change the definition of an operator" msgstr "ändert die Definition eines Operators" -#: sql_help.c:5290 +#: sql_help.c:5310 msgid "change the definition of an operator class" msgstr "ändert die Definition einer Operatorklasse" -#: sql_help.c:5296 +#: sql_help.c:5316 msgid "change the definition of an operator family" msgstr "ändert die Definition einer Operatorfamilie" -#: sql_help.c:5302 +#: sql_help.c:5322 msgid "change the definition of a row-level security policy" msgstr "ändert die Definition einer Policy für Sicherheit auf Zeilenebene" -#: sql_help.c:5308 +#: sql_help.c:5328 msgid "change the definition of a procedure" msgstr "ändert die Definition einer Prozedur" -#: sql_help.c:5314 +#: sql_help.c:5334 msgid "change the definition of a publication" msgstr "ändert die Definition einer Publikation" -#: sql_help.c:5320 sql_help.c:5422 +#: sql_help.c:5340 sql_help.c:5442 msgid "change a database role" msgstr "ändert eine Datenbankrolle" -#: sql_help.c:5326 +#: sql_help.c:5346 msgid "change the definition of a routine" msgstr "ändert die Definition einer Routine" -#: sql_help.c:5332 +#: sql_help.c:5352 msgid "change the definition of a rule" msgstr "ändert die Definition einer Regel" -#: sql_help.c:5338 +#: sql_help.c:5358 msgid "change the definition of a schema" msgstr "ändert die Definition eines Schemas" -#: sql_help.c:5344 +#: sql_help.c:5364 msgid "change the definition of a sequence generator" msgstr "ändert die Definition eines Sequenzgenerators" -#: sql_help.c:5350 +#: sql_help.c:5370 msgid "change the definition of a foreign server" msgstr "ändert die Definition eines Fremdservers" -#: sql_help.c:5356 +#: sql_help.c:5376 msgid "change the definition of an extended statistics object" msgstr "ändert die Definition eines erweiterten Statistikobjekts" -#: sql_help.c:5362 +#: sql_help.c:5382 msgid "change the definition of a subscription" msgstr "ändert die Definition einer Subskription" -#: sql_help.c:5368 +#: sql_help.c:5388 msgid "change a server configuration parameter" msgstr "ändert einen Server-Konfigurationsparameter" -#: sql_help.c:5374 +#: sql_help.c:5394 msgid "change the definition of a table" msgstr "ändert die Definition einer Tabelle" -#: sql_help.c:5380 +#: sql_help.c:5400 msgid "change the definition of a tablespace" msgstr "ändert die Definition eines Tablespace" -#: sql_help.c:5386 +#: sql_help.c:5406 msgid "change the definition of a text search configuration" msgstr "ändert die Definition einer Textsuchekonfiguration" -#: sql_help.c:5392 +#: sql_help.c:5412 msgid "change the definition of a text search dictionary" msgstr "ändert die Definition eines Textsuchewörterbuchs" -#: sql_help.c:5398 +#: sql_help.c:5418 msgid "change the definition of a text search parser" msgstr "ändert die Definition eines Textsucheparsers" -#: sql_help.c:5404 +#: sql_help.c:5424 msgid "change the definition of a text search template" msgstr "ändert die Definition einer Textsuchevorlage" -#: sql_help.c:5410 +#: sql_help.c:5430 msgid "change the definition of a trigger" msgstr "ändert die Definition eines Triggers" -#: sql_help.c:5416 +#: sql_help.c:5436 msgid "change the definition of a type" msgstr "ändert die Definition eines Typs" -#: sql_help.c:5428 +#: sql_help.c:5448 msgid "change the definition of a user mapping" msgstr "ändert die Definition einer Benutzerabbildung" -#: sql_help.c:5434 +#: sql_help.c:5454 msgid "change the definition of a view" msgstr "ändert die Definition einer Sicht" -#: sql_help.c:5440 +#: sql_help.c:5460 msgid "collect statistics about a database" msgstr "sammelt Statistiken über eine Datenbank" -#: sql_help.c:5446 sql_help.c:6244 +#: sql_help.c:5466 sql_help.c:6264 msgid "start a transaction block" msgstr "startet einen Transaktionsblock" -#: sql_help.c:5452 +#: sql_help.c:5472 msgid "invoke a procedure" msgstr "ruft eine Prozedur auf" -#: sql_help.c:5458 +#: sql_help.c:5478 msgid "force a write-ahead log checkpoint" msgstr "erzwingt einen Checkpoint im Write-Ahead-Log" -#: sql_help.c:5464 +#: sql_help.c:5484 msgid "close a cursor" msgstr "schließt einen Cursor" -#: sql_help.c:5470 +#: sql_help.c:5490 msgid "cluster a table according to an index" msgstr "clustert eine Tabelle nach einem Index" -#: sql_help.c:5476 +#: sql_help.c:5496 msgid "define or change the comment of an object" msgstr "definiert oder ändert den Kommentar eines Objektes" -#: sql_help.c:5482 sql_help.c:6040 +#: sql_help.c:5502 sql_help.c:6060 msgid "commit the current transaction" msgstr "schließt die aktuelle Transaktion ab" -#: sql_help.c:5488 +#: sql_help.c:5508 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "schließt eine Transaktion ab, die vorher für Two-Phase-Commit vorbereitet worden war" -#: sql_help.c:5494 +#: sql_help.c:5514 msgid "copy data between a file and a table" msgstr "kopiert Daten zwischen einer Datei und einer Tabelle" -#: sql_help.c:5500 +#: sql_help.c:5520 msgid "define a new access method" msgstr "definiert eine neue Zugriffsmethode" -#: sql_help.c:5506 +#: sql_help.c:5526 msgid "define a new aggregate function" msgstr "definiert eine neue Aggregatfunktion" -#: sql_help.c:5512 +#: sql_help.c:5532 msgid "define a new cast" msgstr "definiert eine neue Typumwandlung" -#: sql_help.c:5518 +#: sql_help.c:5538 msgid "define a new collation" msgstr "definiert eine neue Sortierfolge" -#: sql_help.c:5524 +#: sql_help.c:5544 msgid "define a new encoding conversion" msgstr "definiert eine neue Kodierungskonversion" -#: sql_help.c:5530 +#: sql_help.c:5550 msgid "create a new database" msgstr "erzeugt eine neue Datenbank" -#: sql_help.c:5536 +#: sql_help.c:5556 msgid "define a new domain" msgstr "definiert eine neue Domäne" -#: sql_help.c:5542 +#: sql_help.c:5562 msgid "define a new event trigger" msgstr "definiert einen neuen Ereignistrigger" -#: sql_help.c:5548 +#: sql_help.c:5568 msgid "install an extension" msgstr "installiert eine Erweiterung" -#: sql_help.c:5554 +#: sql_help.c:5574 msgid "define a new foreign-data wrapper" msgstr "definiert einen neuen Fremddaten-Wrapper" -#: sql_help.c:5560 +#: sql_help.c:5580 msgid "define a new foreign table" msgstr "definiert eine neue Fremdtabelle" -#: sql_help.c:5566 +#: sql_help.c:5586 msgid "define a new function" msgstr "definiert eine neue Funktion" -#: sql_help.c:5572 sql_help.c:5632 sql_help.c:5734 +#: sql_help.c:5592 sql_help.c:5652 sql_help.c:5754 msgid "define a new database role" msgstr "definiert eine neue Datenbankrolle" -#: sql_help.c:5578 +#: sql_help.c:5598 msgid "define a new index" msgstr "definiert einen neuen Index" -#: sql_help.c:5584 +#: sql_help.c:5604 msgid "define a new procedural language" msgstr "definiert eine neue prozedurale Sprache" -#: sql_help.c:5590 +#: sql_help.c:5610 msgid "define a new materialized view" msgstr "definiert eine neue materialisierte Sicht" -#: sql_help.c:5596 +#: sql_help.c:5616 msgid "define a new operator" msgstr "definiert einen neuen Operator" -#: sql_help.c:5602 +#: sql_help.c:5622 msgid "define a new operator class" msgstr "definiert eine neue Operatorklasse" -#: sql_help.c:5608 +#: sql_help.c:5628 msgid "define a new operator family" msgstr "definiert eine neue Operatorfamilie" -#: sql_help.c:5614 +#: sql_help.c:5634 msgid "define a new row-level security policy for a table" msgstr "definiert eine neue Policy für Sicherheit auf Zeilenebene für eine Tabelle" -#: sql_help.c:5620 +#: sql_help.c:5640 msgid "define a new procedure" msgstr "definiert eine neue Prozedur" -#: sql_help.c:5626 +#: sql_help.c:5646 msgid "define a new publication" msgstr "definiert eine neue Publikation" -#: sql_help.c:5638 +#: sql_help.c:5658 msgid "define a new rewrite rule" msgstr "definiert eine neue Umschreiberegel" -#: sql_help.c:5644 +#: sql_help.c:5664 msgid "define a new schema" msgstr "definiert ein neues Schema" -#: sql_help.c:5650 +#: sql_help.c:5670 msgid "define a new sequence generator" msgstr "definiert einen neuen Sequenzgenerator" -#: sql_help.c:5656 +#: sql_help.c:5676 msgid "define a new foreign server" msgstr "definiert einen neuen Fremdserver" -#: sql_help.c:5662 +#: sql_help.c:5682 msgid "define extended statistics" msgstr "definiert erweiterte Statistiken" -#: sql_help.c:5668 +#: sql_help.c:5688 msgid "define a new subscription" msgstr "definiert eine neue Subskription" -#: sql_help.c:5674 +#: sql_help.c:5694 msgid "define a new table" msgstr "definiert eine neue Tabelle" -#: sql_help.c:5680 sql_help.c:6202 +#: sql_help.c:5700 sql_help.c:6222 msgid "define a new table from the results of a query" msgstr "definiert eine neue Tabelle aus den Ergebnissen einer Anfrage" -#: sql_help.c:5686 +#: sql_help.c:5706 msgid "define a new tablespace" msgstr "definiert einen neuen Tablespace" -#: sql_help.c:5692 +#: sql_help.c:5712 msgid "define a new text search configuration" msgstr "definiert eine neue Textsuchekonfiguration" -#: sql_help.c:5698 +#: sql_help.c:5718 msgid "define a new text search dictionary" msgstr "definiert ein neues Textsuchewörterbuch" -#: sql_help.c:5704 +#: sql_help.c:5724 msgid "define a new text search parser" msgstr "definiert einen neuen Textsucheparser" -#: sql_help.c:5710 +#: sql_help.c:5730 msgid "define a new text search template" msgstr "definiert eine neue Textsuchevorlage" -#: sql_help.c:5716 +#: sql_help.c:5736 msgid "define a new transform" msgstr "definiert eine neue Transformation" -#: sql_help.c:5722 +#: sql_help.c:5742 msgid "define a new trigger" msgstr "definiert einen neuen Trigger" -#: sql_help.c:5728 +#: sql_help.c:5748 msgid "define a new data type" msgstr "definiert einen neuen Datentyp" -#: sql_help.c:5740 +#: sql_help.c:5760 msgid "define a new mapping of a user to a foreign server" msgstr "definiert eine neue Abbildung eines Benutzers auf einen Fremdserver" -#: sql_help.c:5746 +#: sql_help.c:5766 msgid "define a new view" msgstr "definiert eine neue Sicht" -#: sql_help.c:5752 +#: sql_help.c:5772 msgid "deallocate a prepared statement" msgstr "gibt einen vorbereiteten Befehl frei" -#: sql_help.c:5758 +#: sql_help.c:5778 msgid "define a cursor" msgstr "definiert einen Cursor" -#: sql_help.c:5764 +#: sql_help.c:5784 msgid "delete rows of a table" msgstr "löscht Zeilen einer Tabelle" -#: sql_help.c:5770 +#: sql_help.c:5790 msgid "discard session state" msgstr "verwirft den Sitzungszustand" -#: sql_help.c:5776 +#: sql_help.c:5796 msgid "execute an anonymous code block" msgstr "führt einen anonymen Codeblock aus" -#: sql_help.c:5782 +#: sql_help.c:5802 msgid "remove an access method" msgstr "entfernt eine Zugriffsmethode" -#: sql_help.c:5788 +#: sql_help.c:5808 msgid "remove an aggregate function" msgstr "entfernt eine Aggregatfunktion" -#: sql_help.c:5794 +#: sql_help.c:5814 msgid "remove a cast" msgstr "entfernt eine Typumwandlung" -#: sql_help.c:5800 +#: sql_help.c:5820 msgid "remove a collation" msgstr "entfernt eine Sortierfolge" -#: sql_help.c:5806 +#: sql_help.c:5826 msgid "remove a conversion" msgstr "entfernt eine Zeichensatzkonversion" -#: sql_help.c:5812 +#: sql_help.c:5832 msgid "remove a database" msgstr "entfernt eine Datenbank" -#: sql_help.c:5818 +#: sql_help.c:5838 msgid "remove a domain" msgstr "entfernt eine Domäne" -#: sql_help.c:5824 +#: sql_help.c:5844 msgid "remove an event trigger" msgstr "entfernt einen Ereignistrigger" -#: sql_help.c:5830 +#: sql_help.c:5850 msgid "remove an extension" msgstr "entfernt eine Erweiterung" -#: sql_help.c:5836 +#: sql_help.c:5856 msgid "remove a foreign-data wrapper" msgstr "entfernt einen Fremddaten-Wrapper" -#: sql_help.c:5842 +#: sql_help.c:5862 msgid "remove a foreign table" msgstr "entfernt eine Fremdtabelle" -#: sql_help.c:5848 +#: sql_help.c:5868 msgid "remove a function" msgstr "entfernt eine Funktion" -#: sql_help.c:5854 sql_help.c:5920 sql_help.c:6022 +#: sql_help.c:5874 sql_help.c:5940 sql_help.c:6042 msgid "remove a database role" msgstr "entfernt eine Datenbankrolle" -#: sql_help.c:5860 +#: sql_help.c:5880 msgid "remove an index" msgstr "entfernt einen Index" -#: sql_help.c:5866 +#: sql_help.c:5886 msgid "remove a procedural language" msgstr "entfernt eine prozedurale Sprache" -#: sql_help.c:5872 +#: sql_help.c:5892 msgid "remove a materialized view" msgstr "entfernt eine materialisierte Sicht" -#: sql_help.c:5878 +#: sql_help.c:5898 msgid "remove an operator" msgstr "entfernt einen Operator" -#: sql_help.c:5884 +#: sql_help.c:5904 msgid "remove an operator class" msgstr "entfernt eine Operatorklasse" -#: sql_help.c:5890 +#: sql_help.c:5910 msgid "remove an operator family" msgstr "entfernt eine Operatorfamilie" -#: sql_help.c:5896 +#: sql_help.c:5916 msgid "remove database objects owned by a database role" msgstr "entfernt die einer Datenbankrolle gehörenden Datenbankobjekte" -#: sql_help.c:5902 +#: sql_help.c:5922 msgid "remove a row-level security policy from a table" msgstr "entfernt eine Policy für Sicherheit auf Zeilenebene von einer Tabelle" -#: sql_help.c:5908 +#: sql_help.c:5928 msgid "remove a procedure" msgstr "entfernt eine Prozedur" -#: sql_help.c:5914 +#: sql_help.c:5934 msgid "remove a publication" msgstr "entfernt eine Publikation" -#: sql_help.c:5926 +#: sql_help.c:5946 msgid "remove a routine" msgstr "entfernt eine Routine" -#: sql_help.c:5932 +#: sql_help.c:5952 msgid "remove a rewrite rule" msgstr "entfernt eine Umschreiberegel" -#: sql_help.c:5938 +#: sql_help.c:5958 msgid "remove a schema" msgstr "entfernt ein Schema" -#: sql_help.c:5944 +#: sql_help.c:5964 msgid "remove a sequence" msgstr "entfernt eine Sequenz" -#: sql_help.c:5950 +#: sql_help.c:5970 msgid "remove a foreign server descriptor" msgstr "entfernt einen Fremdserverdeskriptor" -#: sql_help.c:5956 +#: sql_help.c:5976 msgid "remove extended statistics" msgstr "entfernt erweiterte Statistiken" -#: sql_help.c:5962 +#: sql_help.c:5982 msgid "remove a subscription" msgstr "entfernt eine Subskription" -#: sql_help.c:5968 +#: sql_help.c:5988 msgid "remove a table" msgstr "entfernt eine Tabelle" -#: sql_help.c:5974 +#: sql_help.c:5994 msgid "remove a tablespace" msgstr "entfernt einen Tablespace" -#: sql_help.c:5980 +#: sql_help.c:6000 msgid "remove a text search configuration" msgstr "entfernt eine Textsuchekonfiguration" -#: sql_help.c:5986 +#: sql_help.c:6006 msgid "remove a text search dictionary" msgstr "entfernt ein Textsuchewörterbuch" -#: sql_help.c:5992 +#: sql_help.c:6012 msgid "remove a text search parser" msgstr "entfernt einen Textsucheparser" -#: sql_help.c:5998 +#: sql_help.c:6018 msgid "remove a text search template" msgstr "entfernt eine Textsuchevorlage" -#: sql_help.c:6004 +#: sql_help.c:6024 msgid "remove a transform" msgstr "entfernt eine Transformation" -#: sql_help.c:6010 +#: sql_help.c:6030 msgid "remove a trigger" msgstr "entfernt einen Trigger" -#: sql_help.c:6016 +#: sql_help.c:6036 msgid "remove a data type" msgstr "entfernt einen Datentyp" -#: sql_help.c:6028 +#: sql_help.c:6048 msgid "remove a user mapping for a foreign server" msgstr "entfernt eine Benutzerabbildung für einen Fremdserver" -#: sql_help.c:6034 +#: sql_help.c:6054 msgid "remove a view" msgstr "entfernt eine Sicht" -#: sql_help.c:6046 +#: sql_help.c:6066 msgid "execute a prepared statement" msgstr "führt einen vorbereiteten Befehl aus" -#: sql_help.c:6052 +#: sql_help.c:6072 msgid "show the execution plan of a statement" msgstr "zeigt den Ausführungsplan eines Befehls" -#: sql_help.c:6058 +#: sql_help.c:6078 msgid "retrieve rows from a query using a cursor" msgstr "liest Zeilen aus einer Anfrage mit einem Cursor" -#: sql_help.c:6064 +#: sql_help.c:6084 msgid "define access privileges" msgstr "definiert Zugriffsprivilegien" -#: sql_help.c:6070 +#: sql_help.c:6090 msgid "import table definitions from a foreign server" msgstr "importiert Tabellendefinitionen von einem Fremdserver" -#: sql_help.c:6076 +#: sql_help.c:6096 msgid "create new rows in a table" msgstr "erzeugt neue Zeilen in einer Tabelle" -#: sql_help.c:6082 +#: sql_help.c:6102 msgid "listen for a notification" msgstr "hört auf eine Benachrichtigung" -#: sql_help.c:6088 +#: sql_help.c:6108 msgid "load a shared library file" msgstr "lädt eine dynamische Bibliotheksdatei" -#: sql_help.c:6094 +#: sql_help.c:6114 msgid "lock a table" msgstr "sperrt eine Tabelle" -#: sql_help.c:6100 +#: sql_help.c:6120 msgid "conditionally insert, update, or delete rows of a table" msgstr "fügt Zeilen in eine Tabelle ein oder ändert oder löscht Zeilen einer Tabelle, abhängig von Bedingungen" -#: sql_help.c:6106 +#: sql_help.c:6126 msgid "position a cursor" msgstr "positioniert einen Cursor" -#: sql_help.c:6112 +#: sql_help.c:6132 msgid "generate a notification" msgstr "erzeugt eine Benachrichtigung" -#: sql_help.c:6118 +#: sql_help.c:6138 msgid "prepare a statement for execution" msgstr "bereitet einen Befehl zur Ausführung vor" -#: sql_help.c:6124 +#: sql_help.c:6144 msgid "prepare the current transaction for two-phase commit" msgstr "bereitet die aktuelle Transaktion für Two-Phase-Commit vor" -#: sql_help.c:6130 +#: sql_help.c:6150 msgid "change the ownership of database objects owned by a database role" msgstr "ändert den Eigentümer der der Rolle gehörenden Datenbankobjekte" -#: sql_help.c:6136 +#: sql_help.c:6156 msgid "replace the contents of a materialized view" msgstr "ersetzt den Inhalt einer materialisierten Sicht" -#: sql_help.c:6142 +#: sql_help.c:6162 msgid "rebuild indexes" msgstr "baut Indexe neu" -#: sql_help.c:6148 +#: sql_help.c:6168 msgid "release a previously defined savepoint" msgstr "gibt einen zuvor definierten Sicherungspunkt frei" -#: sql_help.c:6154 +#: sql_help.c:6174 msgid "restore the value of a run-time parameter to the default value" msgstr "setzt einen Konfigurationsparameter auf die Voreinstellung zurück" -#: sql_help.c:6160 +#: sql_help.c:6180 msgid "remove access privileges" msgstr "entfernt Zugriffsprivilegien" -#: sql_help.c:6172 +#: sql_help.c:6192 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "storniert eine Transaktion, die vorher für Two-Phase-Commit vorbereitet worden war" -#: sql_help.c:6178 +#: sql_help.c:6198 msgid "roll back to a savepoint" msgstr "rollt eine Transaktion bis zu einem Sicherungspunkt zurück" -#: sql_help.c:6184 +#: sql_help.c:6204 msgid "define a new savepoint within the current transaction" msgstr "definiert einen neuen Sicherungspunkt in der aktuellen Transaktion" -#: sql_help.c:6190 +#: sql_help.c:6210 msgid "define or change a security label applied to an object" msgstr "definiert oder ändert ein Security-Label eines Objektes" -#: sql_help.c:6196 sql_help.c:6250 sql_help.c:6286 +#: sql_help.c:6216 sql_help.c:6270 sql_help.c:6306 msgid "retrieve rows from a table or view" msgstr "liest Zeilen aus einer Tabelle oder Sicht" -#: sql_help.c:6208 +#: sql_help.c:6228 msgid "change a run-time parameter" msgstr "ändert einen Konfigurationsparameter" -#: sql_help.c:6214 +#: sql_help.c:6234 msgid "set constraint check timing for the current transaction" msgstr "setzt die Zeitsteuerung für Check-Constraints in der aktuellen Transaktion" -#: sql_help.c:6220 +#: sql_help.c:6240 msgid "set the current user identifier of the current session" msgstr "setzt den aktuellen Benutzernamen der aktuellen Sitzung" -#: sql_help.c:6226 +#: sql_help.c:6246 msgid "set the session user identifier and the current user identifier of the current session" msgstr "setzt den Sitzungsbenutzernamen und den aktuellen Benutzernamen der aktuellen Sitzung" -#: sql_help.c:6232 +#: sql_help.c:6252 msgid "set the characteristics of the current transaction" msgstr "setzt die Charakteristika der aktuellen Transaktion" -#: sql_help.c:6238 +#: sql_help.c:6258 msgid "show the value of a run-time parameter" msgstr "zeigt den Wert eines Konfigurationsparameters" -#: sql_help.c:6256 +#: sql_help.c:6276 msgid "empty a table or set of tables" msgstr "leert eine oder mehrere Tabellen" -#: sql_help.c:6262 +#: sql_help.c:6282 msgid "stop listening for a notification" msgstr "beendet das Hören auf eine Benachrichtigung" -#: sql_help.c:6268 +#: sql_help.c:6288 msgid "update rows of a table" msgstr "aktualisiert Zeilen einer Tabelle" -#: sql_help.c:6274 +#: sql_help.c:6294 msgid "garbage-collect and optionally analyze a database" msgstr "säubert und analysiert eine Datenbank" -#: sql_help.c:6280 +#: sql_help.c:6300 msgid "compute a set of rows" msgstr "berechnet eine Zeilenmenge" diff -Nru postgresql-17-17.7/src/bin/psql/po/es.po postgresql-17-17.8/src/bin/psql/po/es.po --- postgresql-17-17.7/src/bin/psql/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/psql/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: psql (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:35+0000\n" +"POT-Creation-Date: 2026-02-06 23:33+0000\n" "PO-Revision-Date: 2024-12-07 09:06+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -4108,189 +4108,189 @@ #: sql_help.c:732 sql_help.c:736 sql_help.c:757 sql_help.c:760 sql_help.c:763 #: sql_help.c:792 sql_help.c:804 sql_help.c:812 sql_help.c:815 sql_help.c:818 #: sql_help.c:833 sql_help.c:836 sql_help.c:865 sql_help.c:870 sql_help.c:875 -#: sql_help.c:880 sql_help.c:885 sql_help.c:912 sql_help.c:914 sql_help.c:916 -#: sql_help.c:918 sql_help.c:921 sql_help.c:923 sql_help.c:970 sql_help.c:1015 -#: sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 sql_help.c:1035 -#: sql_help.c:1054 sql_help.c:1065 sql_help.c:1067 sql_help.c:1087 -#: sql_help.c:1097 sql_help.c:1098 sql_help.c:1100 sql_help.c:1102 -#: sql_help.c:1114 sql_help.c:1118 sql_help.c:1120 sql_help.c:1132 -#: sql_help.c:1134 sql_help.c:1136 sql_help.c:1138 sql_help.c:1157 -#: sql_help.c:1159 sql_help.c:1163 sql_help.c:1167 sql_help.c:1171 -#: sql_help.c:1174 sql_help.c:1175 sql_help.c:1176 sql_help.c:1179 -#: sql_help.c:1182 sql_help.c:1184 sql_help.c:1324 sql_help.c:1326 -#: sql_help.c:1329 sql_help.c:1332 sql_help.c:1334 sql_help.c:1336 -#: sql_help.c:1339 sql_help.c:1342 sql_help.c:1464 sql_help.c:1466 -#: sql_help.c:1468 sql_help.c:1471 sql_help.c:1492 sql_help.c:1495 -#: sql_help.c:1498 sql_help.c:1501 sql_help.c:1505 sql_help.c:1507 -#: sql_help.c:1509 sql_help.c:1511 sql_help.c:1525 sql_help.c:1528 -#: sql_help.c:1530 sql_help.c:1532 sql_help.c:1542 sql_help.c:1544 -#: sql_help.c:1554 sql_help.c:1556 sql_help.c:1566 sql_help.c:1569 -#: sql_help.c:1592 sql_help.c:1594 sql_help.c:1596 sql_help.c:1598 -#: sql_help.c:1601 sql_help.c:1603 sql_help.c:1606 sql_help.c:1609 -#: sql_help.c:1660 sql_help.c:1703 sql_help.c:1706 sql_help.c:1708 -#: sql_help.c:1710 sql_help.c:1713 sql_help.c:1715 sql_help.c:1717 -#: sql_help.c:1720 sql_help.c:1770 sql_help.c:1786 sql_help.c:2019 -#: sql_help.c:2088 sql_help.c:2107 sql_help.c:2120 sql_help.c:2178 -#: sql_help.c:2186 sql_help.c:2196 sql_help.c:2224 sql_help.c:2257 -#: sql_help.c:2275 sql_help.c:2303 sql_help.c:2414 sql_help.c:2460 -#: sql_help.c:2485 sql_help.c:2508 sql_help.c:2512 sql_help.c:2546 -#: sql_help.c:2566 sql_help.c:2588 sql_help.c:2602 sql_help.c:2623 -#: sql_help.c:2652 sql_help.c:2685 sql_help.c:2708 sql_help.c:2755 -#: sql_help.c:3053 sql_help.c:3066 sql_help.c:3083 sql_help.c:3099 -#: sql_help.c:3139 sql_help.c:3193 sql_help.c:3197 sql_help.c:3199 -#: sql_help.c:3206 sql_help.c:3225 sql_help.c:3252 sql_help.c:3287 -#: sql_help.c:3299 sql_help.c:3308 sql_help.c:3352 sql_help.c:3366 -#: sql_help.c:3394 sql_help.c:3402 sql_help.c:3414 sql_help.c:3424 -#: sql_help.c:3432 sql_help.c:3440 sql_help.c:3448 sql_help.c:3456 -#: sql_help.c:3465 sql_help.c:3476 sql_help.c:3484 sql_help.c:3492 -#: sql_help.c:3500 sql_help.c:3508 sql_help.c:3518 sql_help.c:3527 -#: sql_help.c:3536 sql_help.c:3544 sql_help.c:3554 sql_help.c:3565 -#: sql_help.c:3573 sql_help.c:3582 sql_help.c:3593 sql_help.c:3602 -#: sql_help.c:3610 sql_help.c:3618 sql_help.c:3626 sql_help.c:3634 -#: sql_help.c:3642 sql_help.c:3650 sql_help.c:3658 sql_help.c:3666 -#: sql_help.c:3674 sql_help.c:3682 sql_help.c:3699 sql_help.c:3708 -#: sql_help.c:3716 sql_help.c:3733 sql_help.c:3748 sql_help.c:4061 -#: sql_help.c:4182 sql_help.c:4211 sql_help.c:4227 sql_help.c:4229 -#: sql_help.c:4733 sql_help.c:4781 sql_help.c:4940 +#: sql_help.c:880 sql_help.c:885 sql_help.c:921 sql_help.c:923 sql_help.c:925 +#: sql_help.c:927 sql_help.c:930 sql_help.c:932 sql_help.c:984 sql_help.c:1029 +#: sql_help.c:1034 sql_help.c:1039 sql_help.c:1044 sql_help.c:1049 +#: sql_help.c:1068 sql_help.c:1079 sql_help.c:1081 sql_help.c:1101 +#: sql_help.c:1111 sql_help.c:1112 sql_help.c:1114 sql_help.c:1116 +#: sql_help.c:1128 sql_help.c:1132 sql_help.c:1134 sql_help.c:1146 +#: sql_help.c:1148 sql_help.c:1150 sql_help.c:1152 sql_help.c:1171 +#: sql_help.c:1173 sql_help.c:1177 sql_help.c:1181 sql_help.c:1185 +#: sql_help.c:1188 sql_help.c:1189 sql_help.c:1190 sql_help.c:1193 +#: sql_help.c:1196 sql_help.c:1198 sql_help.c:1338 sql_help.c:1340 +#: sql_help.c:1343 sql_help.c:1346 sql_help.c:1348 sql_help.c:1350 +#: sql_help.c:1353 sql_help.c:1356 sql_help.c:1478 sql_help.c:1480 +#: sql_help.c:1482 sql_help.c:1485 sql_help.c:1506 sql_help.c:1509 +#: sql_help.c:1512 sql_help.c:1515 sql_help.c:1519 sql_help.c:1521 +#: sql_help.c:1523 sql_help.c:1525 sql_help.c:1539 sql_help.c:1542 +#: sql_help.c:1544 sql_help.c:1546 sql_help.c:1556 sql_help.c:1558 +#: sql_help.c:1568 sql_help.c:1570 sql_help.c:1580 sql_help.c:1583 +#: sql_help.c:1606 sql_help.c:1608 sql_help.c:1610 sql_help.c:1612 +#: sql_help.c:1615 sql_help.c:1617 sql_help.c:1620 sql_help.c:1623 +#: sql_help.c:1674 sql_help.c:1717 sql_help.c:1720 sql_help.c:1722 +#: sql_help.c:1724 sql_help.c:1727 sql_help.c:1729 sql_help.c:1731 +#: sql_help.c:1734 sql_help.c:1784 sql_help.c:1800 sql_help.c:2033 +#: sql_help.c:2102 sql_help.c:2121 sql_help.c:2134 sql_help.c:2192 +#: sql_help.c:2200 sql_help.c:2210 sql_help.c:2238 sql_help.c:2271 +#: sql_help.c:2289 sql_help.c:2317 sql_help.c:2428 sql_help.c:2474 +#: sql_help.c:2499 sql_help.c:2522 sql_help.c:2526 sql_help.c:2560 +#: sql_help.c:2580 sql_help.c:2602 sql_help.c:2616 sql_help.c:2637 +#: sql_help.c:2670 sql_help.c:2705 sql_help.c:2728 sql_help.c:2775 +#: sql_help.c:3073 sql_help.c:3086 sql_help.c:3103 sql_help.c:3119 +#: sql_help.c:3159 sql_help.c:3213 sql_help.c:3217 sql_help.c:3219 +#: sql_help.c:3226 sql_help.c:3245 sql_help.c:3272 sql_help.c:3307 +#: sql_help.c:3319 sql_help.c:3328 sql_help.c:3372 sql_help.c:3386 +#: sql_help.c:3414 sql_help.c:3422 sql_help.c:3434 sql_help.c:3444 +#: sql_help.c:3452 sql_help.c:3460 sql_help.c:3468 sql_help.c:3476 +#: sql_help.c:3485 sql_help.c:3496 sql_help.c:3504 sql_help.c:3512 +#: sql_help.c:3520 sql_help.c:3528 sql_help.c:3538 sql_help.c:3547 +#: sql_help.c:3556 sql_help.c:3564 sql_help.c:3574 sql_help.c:3585 +#: sql_help.c:3593 sql_help.c:3602 sql_help.c:3613 sql_help.c:3622 +#: sql_help.c:3630 sql_help.c:3638 sql_help.c:3646 sql_help.c:3654 +#: sql_help.c:3662 sql_help.c:3670 sql_help.c:3678 sql_help.c:3686 +#: sql_help.c:3694 sql_help.c:3702 sql_help.c:3719 sql_help.c:3728 +#: sql_help.c:3736 sql_help.c:3753 sql_help.c:3768 sql_help.c:4081 +#: sql_help.c:4202 sql_help.c:4231 sql_help.c:4247 sql_help.c:4249 +#: sql_help.c:4753 sql_help.c:4801 sql_help.c:4960 msgid "name" msgstr "nombre" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1863 -#: sql_help.c:3367 sql_help.c:4500 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1877 +#: sql_help.c:3387 sql_help.c:4520 msgid "aggregate_signature" msgstr "signatura_func_agregación" #: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:260 #: sql_help.c:281 sql_help.c:412 sql_help.c:459 sql_help.c:538 sql_help.c:586 #: sql_help.c:604 sql_help.c:631 sql_help.c:684 sql_help.c:759 sql_help.c:814 -#: sql_help.c:835 sql_help.c:874 sql_help.c:924 sql_help.c:971 sql_help.c:1024 -#: sql_help.c:1056 sql_help.c:1066 sql_help.c:1101 sql_help.c:1121 -#: sql_help.c:1135 sql_help.c:1185 sql_help.c:1333 sql_help.c:1465 -#: sql_help.c:1508 sql_help.c:1529 sql_help.c:1543 sql_help.c:1555 -#: sql_help.c:1568 sql_help.c:1595 sql_help.c:1661 sql_help.c:1714 +#: sql_help.c:835 sql_help.c:874 sql_help.c:933 sql_help.c:985 sql_help.c:1038 +#: sql_help.c:1070 sql_help.c:1080 sql_help.c:1115 sql_help.c:1135 +#: sql_help.c:1149 sql_help.c:1199 sql_help.c:1347 sql_help.c:1479 +#: sql_help.c:1522 sql_help.c:1543 sql_help.c:1557 sql_help.c:1569 +#: sql_help.c:1582 sql_help.c:1609 sql_help.c:1675 sql_help.c:1728 msgid "new_name" msgstr "nuevo_nombre" #: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:258 #: sql_help.c:279 sql_help.c:410 sql_help.c:495 sql_help.c:543 sql_help.c:633 #: sql_help.c:642 sql_help.c:707 sql_help.c:731 sql_help.c:762 sql_help.c:817 -#: sql_help.c:879 sql_help.c:922 sql_help.c:1029 sql_help.c:1068 -#: sql_help.c:1099 sql_help.c:1119 sql_help.c:1133 sql_help.c:1183 -#: sql_help.c:1399 sql_help.c:1467 sql_help.c:1510 sql_help.c:1531 -#: sql_help.c:1593 sql_help.c:1709 sql_help.c:3039 +#: sql_help.c:879 sql_help.c:931 sql_help.c:1043 sql_help.c:1082 +#: sql_help.c:1113 sql_help.c:1133 sql_help.c:1147 sql_help.c:1197 +#: sql_help.c:1413 sql_help.c:1481 sql_help.c:1524 sql_help.c:1545 +#: sql_help.c:1607 sql_help.c:1723 sql_help.c:3059 msgid "new_owner" msgstr "nuevo_dueño" #: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:262 sql_help.c:332 #: sql_help.c:461 sql_help.c:548 sql_help.c:686 sql_help.c:735 sql_help.c:765 -#: sql_help.c:820 sql_help.c:884 sql_help.c:1034 sql_help.c:1103 -#: sql_help.c:1137 sql_help.c:1335 sql_help.c:1512 sql_help.c:1533 -#: sql_help.c:1545 sql_help.c:1557 sql_help.c:1597 sql_help.c:1716 +#: sql_help.c:820 sql_help.c:884 sql_help.c:1048 sql_help.c:1117 +#: sql_help.c:1151 sql_help.c:1349 sql_help.c:1526 sql_help.c:1547 +#: sql_help.c:1559 sql_help.c:1571 sql_help.c:1611 sql_help.c:1730 msgid "new_schema" msgstr "nuevo_esquema" -#: sql_help.c:44 sql_help.c:1927 sql_help.c:3368 sql_help.c:4529 +#: sql_help.c:44 sql_help.c:1941 sql_help.c:3388 sql_help.c:4549 msgid "where aggregate_signature is:" msgstr "donde signatura_func_agregación es:" #: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:350 sql_help.c:363 #: sql_help.c:367 sql_help.c:383 sql_help.c:386 sql_help.c:389 sql_help.c:530 #: sql_help.c:535 sql_help.c:540 sql_help.c:545 sql_help.c:550 sql_help.c:866 -#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1016 -#: sql_help.c:1021 sql_help.c:1026 sql_help.c:1031 sql_help.c:1036 -#: sql_help.c:1881 sql_help.c:1898 sql_help.c:1904 sql_help.c:1928 -#: sql_help.c:1931 sql_help.c:1934 sql_help.c:2089 sql_help.c:2108 -#: sql_help.c:2111 sql_help.c:2415 sql_help.c:2624 sql_help.c:3369 -#: sql_help.c:3372 sql_help.c:3375 sql_help.c:3466 sql_help.c:3555 -#: sql_help.c:3583 sql_help.c:3936 sql_help.c:4399 sql_help.c:4506 -#: sql_help.c:4513 sql_help.c:4519 sql_help.c:4530 sql_help.c:4533 -#: sql_help.c:4536 +#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1030 +#: sql_help.c:1035 sql_help.c:1040 sql_help.c:1045 sql_help.c:1050 +#: sql_help.c:1895 sql_help.c:1912 sql_help.c:1918 sql_help.c:1942 +#: sql_help.c:1945 sql_help.c:1948 sql_help.c:2103 sql_help.c:2122 +#: sql_help.c:2125 sql_help.c:2429 sql_help.c:2638 sql_help.c:3389 +#: sql_help.c:3392 sql_help.c:3395 sql_help.c:3486 sql_help.c:3575 +#: sql_help.c:3603 sql_help.c:3956 sql_help.c:4419 sql_help.c:4526 +#: sql_help.c:4533 sql_help.c:4539 sql_help.c:4550 sql_help.c:4553 +#: sql_help.c:4556 msgid "argmode" msgstr "modo_arg" #: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:351 sql_help.c:364 #: sql_help.c:368 sql_help.c:384 sql_help.c:387 sql_help.c:390 sql_help.c:531 #: sql_help.c:536 sql_help.c:541 sql_help.c:546 sql_help.c:551 sql_help.c:867 -#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1017 -#: sql_help.c:1022 sql_help.c:1027 sql_help.c:1032 sql_help.c:1037 -#: sql_help.c:1882 sql_help.c:1899 sql_help.c:1905 sql_help.c:1929 -#: sql_help.c:1932 sql_help.c:1935 sql_help.c:2090 sql_help.c:2109 -#: sql_help.c:2112 sql_help.c:2416 sql_help.c:2625 sql_help.c:3370 -#: sql_help.c:3373 sql_help.c:3376 sql_help.c:3467 sql_help.c:3556 -#: sql_help.c:3584 sql_help.c:4507 sql_help.c:4514 sql_help.c:4520 -#: sql_help.c:4531 sql_help.c:4534 sql_help.c:4537 +#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1031 +#: sql_help.c:1036 sql_help.c:1041 sql_help.c:1046 sql_help.c:1051 +#: sql_help.c:1896 sql_help.c:1913 sql_help.c:1919 sql_help.c:1943 +#: sql_help.c:1946 sql_help.c:1949 sql_help.c:2104 sql_help.c:2123 +#: sql_help.c:2126 sql_help.c:2430 sql_help.c:2639 sql_help.c:3390 +#: sql_help.c:3393 sql_help.c:3396 sql_help.c:3487 sql_help.c:3576 +#: sql_help.c:3604 sql_help.c:4527 sql_help.c:4534 sql_help.c:4540 +#: sql_help.c:4551 sql_help.c:4554 sql_help.c:4557 msgid "argname" msgstr "nombre_arg" #: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:352 sql_help.c:365 #: sql_help.c:369 sql_help.c:385 sql_help.c:388 sql_help.c:391 sql_help.c:532 #: sql_help.c:537 sql_help.c:542 sql_help.c:547 sql_help.c:552 sql_help.c:868 -#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1018 -#: sql_help.c:1023 sql_help.c:1028 sql_help.c:1033 sql_help.c:1038 -#: sql_help.c:1883 sql_help.c:1900 sql_help.c:1906 sql_help.c:1930 -#: sql_help.c:1933 sql_help.c:1936 sql_help.c:2417 sql_help.c:2626 -#: sql_help.c:3371 sql_help.c:3374 sql_help.c:3377 sql_help.c:3468 -#: sql_help.c:3557 sql_help.c:3585 sql_help.c:4508 sql_help.c:4515 -#: sql_help.c:4521 sql_help.c:4532 sql_help.c:4535 sql_help.c:4538 +#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1032 +#: sql_help.c:1037 sql_help.c:1042 sql_help.c:1047 sql_help.c:1052 +#: sql_help.c:1897 sql_help.c:1914 sql_help.c:1920 sql_help.c:1944 +#: sql_help.c:1947 sql_help.c:1950 sql_help.c:2431 sql_help.c:2640 +#: sql_help.c:3391 sql_help.c:3394 sql_help.c:3397 sql_help.c:3488 +#: sql_help.c:3577 sql_help.c:3605 sql_help.c:4528 sql_help.c:4535 +#: sql_help.c:4541 sql_help.c:4552 sql_help.c:4555 sql_help.c:4558 msgid "argtype" msgstr "tipo_arg" -#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:965 -#: sql_help.c:1116 sql_help.c:1526 sql_help.c:1655 sql_help.c:1687 -#: sql_help.c:1739 sql_help.c:1798 sql_help.c:1987 sql_help.c:1994 -#: sql_help.c:2306 sql_help.c:2356 sql_help.c:2363 sql_help.c:2372 -#: sql_help.c:2461 sql_help.c:2686 sql_help.c:2777 sql_help.c:3068 -#: sql_help.c:3253 sql_help.c:3275 sql_help.c:3415 sql_help.c:3772 -#: sql_help.c:3980 sql_help.c:4226 sql_help.c:4228 sql_help.c:5006 +#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:979 +#: sql_help.c:1130 sql_help.c:1540 sql_help.c:1669 sql_help.c:1701 +#: sql_help.c:1753 sql_help.c:1812 sql_help.c:2001 sql_help.c:2008 +#: sql_help.c:2320 sql_help.c:2370 sql_help.c:2377 sql_help.c:2386 +#: sql_help.c:2475 sql_help.c:2706 sql_help.c:2797 sql_help.c:3088 +#: sql_help.c:3273 sql_help.c:3295 sql_help.c:3435 sql_help.c:3792 +#: sql_help.c:4000 sql_help.c:4246 sql_help.c:4248 sql_help.c:5026 msgid "option" msgstr "opción" -#: sql_help.c:115 sql_help.c:966 sql_help.c:1656 sql_help.c:2462 -#: sql_help.c:2687 sql_help.c:3254 sql_help.c:3416 +#: sql_help.c:115 sql_help.c:980 sql_help.c:1670 sql_help.c:2476 +#: sql_help.c:2707 sql_help.c:3274 sql_help.c:3436 msgid "where option can be:" msgstr "donde opción puede ser:" -#: sql_help.c:116 sql_help.c:2238 +#: sql_help.c:116 sql_help.c:2252 msgid "allowconn" msgstr "allowconn" -#: sql_help.c:117 sql_help.c:967 sql_help.c:1657 sql_help.c:2239 -#: sql_help.c:2463 sql_help.c:2688 sql_help.c:3255 +#: sql_help.c:117 sql_help.c:981 sql_help.c:1671 sql_help.c:2253 +#: sql_help.c:2477 sql_help.c:2708 sql_help.c:3275 msgid "connlimit" msgstr "límite_conexiones" -#: sql_help.c:118 sql_help.c:2240 +#: sql_help.c:118 sql_help.c:2254 msgid "istemplate" msgstr "esplantilla" -#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1338 -#: sql_help.c:1392 sql_help.c:4232 +#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1352 +#: sql_help.c:1406 sql_help.c:4252 msgid "new_tablespace" msgstr "nuevo_tablespace" #: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:558 sql_help.c:560 -#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:974 -#: sql_help.c:978 sql_help.c:981 sql_help.c:1043 sql_help.c:1045 -#: sql_help.c:1046 sql_help.c:1196 sql_help.c:1198 sql_help.c:1664 -#: sql_help.c:1668 sql_help.c:1671 sql_help.c:2427 sql_help.c:2630 -#: sql_help.c:3948 sql_help.c:4250 sql_help.c:4411 sql_help.c:4721 +#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:988 +#: sql_help.c:992 sql_help.c:995 sql_help.c:1057 sql_help.c:1059 +#: sql_help.c:1060 sql_help.c:1210 sql_help.c:1212 sql_help.c:1678 +#: sql_help.c:1682 sql_help.c:1685 sql_help.c:2441 sql_help.c:2644 +#: sql_help.c:3968 sql_help.c:4270 sql_help.c:4431 sql_help.c:4741 msgid "configuration_parameter" msgstr "parámetro_de_configuración" #: sql_help.c:128 sql_help.c:408 sql_help.c:479 sql_help.c:485 sql_help.c:497 #: sql_help.c:559 sql_help.c:613 sql_help.c:695 sql_help.c:705 sql_help.c:892 -#: sql_help.c:920 sql_help.c:975 sql_help.c:1044 sql_help.c:1117 -#: sql_help.c:1162 sql_help.c:1166 sql_help.c:1170 sql_help.c:1173 -#: sql_help.c:1178 sql_help.c:1181 sql_help.c:1197 sql_help.c:1371 -#: sql_help.c:1394 sql_help.c:1442 sql_help.c:1450 sql_help.c:1470 -#: sql_help.c:1527 sql_help.c:1611 sql_help.c:1665 sql_help.c:1688 -#: sql_help.c:2307 sql_help.c:2357 sql_help.c:2364 sql_help.c:2373 -#: sql_help.c:2428 sql_help.c:2429 sql_help.c:2493 sql_help.c:2496 -#: sql_help.c:2530 sql_help.c:2631 sql_help.c:2632 sql_help.c:2655 -#: sql_help.c:2778 sql_help.c:2817 sql_help.c:2927 sql_help.c:2940 -#: sql_help.c:2954 sql_help.c:2995 sql_help.c:3003 sql_help.c:3025 -#: sql_help.c:3042 sql_help.c:3069 sql_help.c:3276 sql_help.c:3981 -#: sql_help.c:4722 sql_help.c:4723 sql_help.c:4724 sql_help.c:4725 +#: sql_help.c:929 sql_help.c:989 sql_help.c:1058 sql_help.c:1131 +#: sql_help.c:1176 sql_help.c:1180 sql_help.c:1184 sql_help.c:1187 +#: sql_help.c:1192 sql_help.c:1195 sql_help.c:1211 sql_help.c:1385 +#: sql_help.c:1408 sql_help.c:1456 sql_help.c:1464 sql_help.c:1484 +#: sql_help.c:1541 sql_help.c:1625 sql_help.c:1679 sql_help.c:1702 +#: sql_help.c:2321 sql_help.c:2371 sql_help.c:2378 sql_help.c:2387 +#: sql_help.c:2442 sql_help.c:2443 sql_help.c:2507 sql_help.c:2510 +#: sql_help.c:2544 sql_help.c:2645 sql_help.c:2646 sql_help.c:2673 +#: sql_help.c:2798 sql_help.c:2837 sql_help.c:2947 sql_help.c:2960 +#: sql_help.c:2974 sql_help.c:3015 sql_help.c:3023 sql_help.c:3045 +#: sql_help.c:3062 sql_help.c:3089 sql_help.c:3296 sql_help.c:4001 +#: sql_help.c:4742 sql_help.c:4743 sql_help.c:4744 sql_help.c:4745 msgid "value" msgstr "valor" @@ -4298,10 +4298,10 @@ msgid "target_role" msgstr "rol_destino" -#: sql_help.c:203 sql_help.c:929 sql_help.c:2291 sql_help.c:2660 -#: sql_help.c:2733 sql_help.c:2738 sql_help.c:3911 sql_help.c:3920 -#: sql_help.c:3939 sql_help.c:3951 sql_help.c:4374 sql_help.c:4383 -#: sql_help.c:4402 sql_help.c:4414 +#: sql_help.c:203 sql_help.c:936 sql_help.c:939 sql_help.c:2305 sql_help.c:2676 +#: sql_help.c:2753 sql_help.c:2758 sql_help.c:3931 sql_help.c:3940 +#: sql_help.c:3959 sql_help.c:3971 sql_help.c:4394 sql_help.c:4403 +#: sql_help.c:4422 sql_help.c:4434 msgid "schema_name" msgstr "nombre_de_esquema" @@ -4315,57 +4315,57 @@ #: sql_help.c:206 sql_help.c:207 sql_help.c:208 sql_help.c:209 sql_help.c:210 #: sql_help.c:211 sql_help.c:212 sql_help.c:213 sql_help.c:214 sql_help.c:215 -#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:985 -#: sql_help.c:1337 sql_help.c:1675 sql_help.c:2466 sql_help.c:2467 -#: sql_help.c:2468 sql_help.c:2469 sql_help.c:2470 sql_help.c:2604 -#: sql_help.c:2691 sql_help.c:2692 sql_help.c:2693 sql_help.c:3258 -#: sql_help.c:3259 sql_help.c:3260 sql_help.c:3261 sql_help.c:3262 -#: sql_help.c:3960 sql_help.c:3964 sql_help.c:4423 sql_help.c:4427 -#: sql_help.c:4743 +#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:999 +#: sql_help.c:1351 sql_help.c:1689 sql_help.c:2480 sql_help.c:2481 +#: sql_help.c:2482 sql_help.c:2483 sql_help.c:2484 sql_help.c:2618 +#: sql_help.c:2711 sql_help.c:2712 sql_help.c:2713 sql_help.c:3278 +#: sql_help.c:3279 sql_help.c:3280 sql_help.c:3281 sql_help.c:3282 +#: sql_help.c:3980 sql_help.c:3984 sql_help.c:4443 sql_help.c:4447 +#: sql_help.c:4763 msgid "role_name" msgstr "nombre_de_rol" -#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:928 sql_help.c:1353 -#: sql_help.c:1355 sql_help.c:1359 sql_help.c:1409 sql_help.c:1421 -#: sql_help.c:1446 sql_help.c:1705 sql_help.c:2260 sql_help.c:2264 -#: sql_help.c:2376 sql_help.c:2381 sql_help.c:2489 sql_help.c:2659 -#: sql_help.c:2794 sql_help.c:2799 sql_help.c:2801 sql_help.c:2922 -#: sql_help.c:2935 sql_help.c:2949 sql_help.c:2958 sql_help.c:2970 -#: sql_help.c:2999 sql_help.c:4012 sql_help.c:4027 sql_help.c:4029 -#: sql_help.c:4125 sql_help.c:4128 sql_help.c:4130 sql_help.c:4593 -#: sql_help.c:4594 sql_help.c:4603 sql_help.c:4650 sql_help.c:4651 -#: sql_help.c:4652 sql_help.c:4653 sql_help.c:4654 sql_help.c:4655 -#: sql_help.c:4696 sql_help.c:4697 sql_help.c:4702 sql_help.c:4707 -#: sql_help.c:4851 sql_help.c:4852 sql_help.c:4861 sql_help.c:4908 -#: sql_help.c:4909 sql_help.c:4910 sql_help.c:4911 sql_help.c:4912 -#: sql_help.c:4913 sql_help.c:4968 sql_help.c:4970 sql_help.c:5036 -#: sql_help.c:5096 sql_help.c:5097 sql_help.c:5106 sql_help.c:5153 -#: sql_help.c:5154 sql_help.c:5155 sql_help.c:5156 sql_help.c:5157 -#: sql_help.c:5158 +#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:943 sql_help.c:1367 +#: sql_help.c:1369 sql_help.c:1373 sql_help.c:1423 sql_help.c:1435 +#: sql_help.c:1460 sql_help.c:1719 sql_help.c:2274 sql_help.c:2278 +#: sql_help.c:2390 sql_help.c:2395 sql_help.c:2503 sql_help.c:2680 +#: sql_help.c:2814 sql_help.c:2819 sql_help.c:2821 sql_help.c:2942 +#: sql_help.c:2955 sql_help.c:2969 sql_help.c:2978 sql_help.c:2990 +#: sql_help.c:3019 sql_help.c:4032 sql_help.c:4047 sql_help.c:4049 +#: sql_help.c:4145 sql_help.c:4148 sql_help.c:4150 sql_help.c:4613 +#: sql_help.c:4614 sql_help.c:4623 sql_help.c:4670 sql_help.c:4671 +#: sql_help.c:4672 sql_help.c:4673 sql_help.c:4674 sql_help.c:4675 +#: sql_help.c:4716 sql_help.c:4717 sql_help.c:4722 sql_help.c:4727 +#: sql_help.c:4871 sql_help.c:4872 sql_help.c:4881 sql_help.c:4928 +#: sql_help.c:4929 sql_help.c:4930 sql_help.c:4931 sql_help.c:4932 +#: sql_help.c:4933 sql_help.c:4988 sql_help.c:4990 sql_help.c:5056 +#: sql_help.c:5116 sql_help.c:5117 sql_help.c:5126 sql_help.c:5173 +#: sql_help.c:5174 sql_help.c:5175 sql_help.c:5176 sql_help.c:5177 +#: sql_help.c:5178 msgid "expression" msgstr "expresión" -#: sql_help.c:249 sql_help.c:2261 +#: sql_help.c:249 sql_help.c:2275 msgid "domain_constraint" msgstr "restricción_de_dominio" #: sql_help.c:251 sql_help.c:253 sql_help.c:256 sql_help.c:264 sql_help.c:487 -#: sql_help.c:488 sql_help.c:1330 sql_help.c:1379 sql_help.c:1380 -#: sql_help.c:1381 sql_help.c:1408 sql_help.c:1420 sql_help.c:1437 -#: sql_help.c:1869 sql_help.c:1871 sql_help.c:2263 sql_help.c:2375 -#: sql_help.c:2380 sql_help.c:2957 sql_help.c:2969 sql_help.c:4024 +#: sql_help.c:488 sql_help.c:1344 sql_help.c:1393 sql_help.c:1394 +#: sql_help.c:1395 sql_help.c:1422 sql_help.c:1434 sql_help.c:1451 +#: sql_help.c:1883 sql_help.c:1885 sql_help.c:2277 sql_help.c:2389 +#: sql_help.c:2394 sql_help.c:2977 sql_help.c:2989 sql_help.c:4044 msgid "constraint_name" msgstr "nombre_restricción" -#: sql_help.c:254 sql_help.c:1331 +#: sql_help.c:254 sql_help.c:1345 msgid "new_constraint_name" msgstr "nuevo_nombre_restricción" -#: sql_help.c:263 sql_help.c:2262 +#: sql_help.c:263 sql_help.c:2276 msgid "where domain_constraint is:" msgstr "donde restricción_de_dominio es:" -#: sql_help.c:330 sql_help.c:1115 +#: sql_help.c:330 sql_help.c:1129 msgid "new_version" msgstr "nueva_versión" @@ -4381,82 +4381,82 @@ #: sql_help.c:347 sql_help.c:348 sql_help.c:353 sql_help.c:357 sql_help.c:359 #: sql_help.c:361 sql_help.c:370 sql_help.c:371 sql_help.c:372 sql_help.c:373 #: sql_help.c:374 sql_help.c:375 sql_help.c:376 sql_help.c:377 sql_help.c:380 -#: sql_help.c:381 sql_help.c:1861 sql_help.c:1866 sql_help.c:1873 -#: sql_help.c:1874 sql_help.c:1875 sql_help.c:1876 sql_help.c:1877 -#: sql_help.c:1878 sql_help.c:1879 sql_help.c:1884 sql_help.c:1886 -#: sql_help.c:1890 sql_help.c:1892 sql_help.c:1896 sql_help.c:1901 -#: sql_help.c:1902 sql_help.c:1909 sql_help.c:1910 sql_help.c:1911 -#: sql_help.c:1912 sql_help.c:1913 sql_help.c:1914 sql_help.c:1915 -#: sql_help.c:1916 sql_help.c:1917 sql_help.c:1918 sql_help.c:1919 -#: sql_help.c:1924 sql_help.c:1925 sql_help.c:4496 sql_help.c:4501 -#: sql_help.c:4502 sql_help.c:4503 sql_help.c:4504 sql_help.c:4510 -#: sql_help.c:4511 sql_help.c:4516 sql_help.c:4517 sql_help.c:4522 -#: sql_help.c:4523 sql_help.c:4524 sql_help.c:4525 sql_help.c:4526 -#: sql_help.c:4527 +#: sql_help.c:381 sql_help.c:1875 sql_help.c:1880 sql_help.c:1887 +#: sql_help.c:1888 sql_help.c:1889 sql_help.c:1890 sql_help.c:1891 +#: sql_help.c:1892 sql_help.c:1893 sql_help.c:1898 sql_help.c:1900 +#: sql_help.c:1904 sql_help.c:1906 sql_help.c:1910 sql_help.c:1915 +#: sql_help.c:1916 sql_help.c:1923 sql_help.c:1924 sql_help.c:1925 +#: sql_help.c:1926 sql_help.c:1927 sql_help.c:1928 sql_help.c:1929 +#: sql_help.c:1930 sql_help.c:1931 sql_help.c:1932 sql_help.c:1933 +#: sql_help.c:1938 sql_help.c:1939 sql_help.c:4516 sql_help.c:4521 +#: sql_help.c:4522 sql_help.c:4523 sql_help.c:4524 sql_help.c:4530 +#: sql_help.c:4531 sql_help.c:4536 sql_help.c:4537 sql_help.c:4542 +#: sql_help.c:4543 sql_help.c:4544 sql_help.c:4545 sql_help.c:4546 +#: sql_help.c:4547 msgid "object_name" msgstr "nombre_de_objeto" -#: sql_help.c:339 sql_help.c:1862 sql_help.c:4499 +#: sql_help.c:339 sql_help.c:1876 sql_help.c:4519 msgid "aggregate_name" msgstr "nombre_función_agregación" -#: sql_help.c:341 sql_help.c:1864 sql_help.c:2154 sql_help.c:2158 -#: sql_help.c:2160 sql_help.c:3385 +#: sql_help.c:341 sql_help.c:1878 sql_help.c:2168 sql_help.c:2172 +#: sql_help.c:2174 sql_help.c:3405 msgid "source_type" msgstr "tipo_fuente" -#: sql_help.c:342 sql_help.c:1865 sql_help.c:2155 sql_help.c:2159 -#: sql_help.c:2161 sql_help.c:3386 +#: sql_help.c:342 sql_help.c:1879 sql_help.c:2169 sql_help.c:2173 +#: sql_help.c:2175 sql_help.c:3406 msgid "target_type" msgstr "tipo_destino" -#: sql_help.c:349 sql_help.c:802 sql_help.c:1880 sql_help.c:2156 -#: sql_help.c:2199 sql_help.c:2279 sql_help.c:2547 sql_help.c:2578 -#: sql_help.c:3145 sql_help.c:4398 sql_help.c:4505 sql_help.c:4622 -#: sql_help.c:4626 sql_help.c:4630 sql_help.c:4633 sql_help.c:4880 -#: sql_help.c:4884 sql_help.c:4888 sql_help.c:4891 sql_help.c:5125 -#: sql_help.c:5129 sql_help.c:5133 sql_help.c:5136 +#: sql_help.c:349 sql_help.c:802 sql_help.c:1894 sql_help.c:2170 +#: sql_help.c:2213 sql_help.c:2293 sql_help.c:2561 sql_help.c:2592 +#: sql_help.c:3165 sql_help.c:4418 sql_help.c:4525 sql_help.c:4642 +#: sql_help.c:4646 sql_help.c:4650 sql_help.c:4653 sql_help.c:4900 +#: sql_help.c:4904 sql_help.c:4908 sql_help.c:4911 sql_help.c:5145 +#: sql_help.c:5149 sql_help.c:5153 sql_help.c:5156 msgid "function_name" msgstr "nombre_de_función" -#: sql_help.c:354 sql_help.c:795 sql_help.c:1887 sql_help.c:2571 +#: sql_help.c:354 sql_help.c:795 sql_help.c:1901 sql_help.c:2585 msgid "operator_name" msgstr "nombre_operador" -#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1888 -#: sql_help.c:2548 sql_help.c:3509 +#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1902 +#: sql_help.c:2562 sql_help.c:3529 msgid "left_type" msgstr "tipo_izq" -#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1889 -#: sql_help.c:2549 sql_help.c:3510 +#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1903 +#: sql_help.c:2563 sql_help.c:3530 msgid "right_type" msgstr "tipo_der" #: sql_help.c:358 sql_help.c:360 sql_help.c:758 sql_help.c:761 sql_help.c:764 #: sql_help.c:793 sql_help.c:805 sql_help.c:813 sql_help.c:816 sql_help.c:819 -#: sql_help.c:1426 sql_help.c:1891 sql_help.c:1893 sql_help.c:2568 -#: sql_help.c:2589 sql_help.c:2975 sql_help.c:3519 sql_help.c:3528 +#: sql_help.c:1440 sql_help.c:1905 sql_help.c:1907 sql_help.c:2582 +#: sql_help.c:2603 sql_help.c:2995 sql_help.c:3539 sql_help.c:3548 msgid "index_method" msgstr "método_de_índice" -#: sql_help.c:362 sql_help.c:1897 sql_help.c:4512 +#: sql_help.c:362 sql_help.c:1911 sql_help.c:4532 msgid "procedure_name" msgstr "nombre_de_procedimiento" -#: sql_help.c:366 sql_help.c:1903 sql_help.c:3935 sql_help.c:4518 +#: sql_help.c:366 sql_help.c:1917 sql_help.c:3955 sql_help.c:4538 msgid "routine_name" msgstr "nombre_de_rutina" -#: sql_help.c:378 sql_help.c:1398 sql_help.c:1920 sql_help.c:2423 -#: sql_help.c:2629 sql_help.c:2930 sql_help.c:3112 sql_help.c:3690 -#: sql_help.c:3957 sql_help.c:4420 +#: sql_help.c:378 sql_help.c:1412 sql_help.c:1934 sql_help.c:2437 +#: sql_help.c:2643 sql_help.c:2950 sql_help.c:3132 sql_help.c:3710 +#: sql_help.c:3977 sql_help.c:4440 msgid "type_name" msgstr "nombre_de_tipo" -#: sql_help.c:379 sql_help.c:1921 sql_help.c:2422 sql_help.c:2628 -#: sql_help.c:3113 sql_help.c:3343 sql_help.c:3691 sql_help.c:3942 -#: sql_help.c:4405 +#: sql_help.c:379 sql_help.c:1935 sql_help.c:2436 sql_help.c:2642 +#: sql_help.c:3133 sql_help.c:3363 sql_help.c:3711 sql_help.c:3962 +#: sql_help.c:4425 msgid "lang_name" msgstr "nombre_lenguaje" @@ -4464,147 +4464,147 @@ msgid "and aggregate_signature is:" msgstr "y signatura_func_agregación es:" -#: sql_help.c:405 sql_help.c:2021 sql_help.c:2304 +#: sql_help.c:405 sql_help.c:2035 sql_help.c:2318 msgid "handler_function" msgstr "función_manejadora" -#: sql_help.c:406 sql_help.c:2305 +#: sql_help.c:406 sql_help.c:2319 msgid "validator_function" msgstr "función_validadora" -#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1019 -#: sql_help.c:1325 sql_help.c:1602 +#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1033 +#: sql_help.c:1339 sql_help.c:1616 msgid "action" msgstr "acción" #: sql_help.c:456 sql_help.c:463 sql_help.c:467 sql_help.c:468 sql_help.c:471 #: sql_help.c:473 sql_help.c:474 sql_help.c:475 sql_help.c:477 sql_help.c:480 #: sql_help.c:482 sql_help.c:483 sql_help.c:681 sql_help.c:691 sql_help.c:693 -#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:927 sql_help.c:1096 -#: sql_help.c:1327 sql_help.c:1345 sql_help.c:1349 sql_help.c:1350 -#: sql_help.c:1354 sql_help.c:1356 sql_help.c:1357 sql_help.c:1358 -#: sql_help.c:1360 sql_help.c:1361 sql_help.c:1363 sql_help.c:1366 -#: sql_help.c:1367 sql_help.c:1369 sql_help.c:1372 sql_help.c:1374 -#: sql_help.c:1375 sql_help.c:1422 sql_help.c:1424 sql_help.c:1431 -#: sql_help.c:1440 sql_help.c:1445 sql_help.c:1452 sql_help.c:1453 -#: sql_help.c:1704 sql_help.c:1707 sql_help.c:1711 sql_help.c:1747 -#: sql_help.c:1868 sql_help.c:1984 sql_help.c:1990 sql_help.c:2004 -#: sql_help.c:2005 sql_help.c:2006 sql_help.c:2354 sql_help.c:2367 -#: sql_help.c:2420 sql_help.c:2488 sql_help.c:2494 sql_help.c:2527 -#: sql_help.c:2658 sql_help.c:2763 sql_help.c:2798 sql_help.c:2800 -#: sql_help.c:2912 sql_help.c:2921 sql_help.c:2931 sql_help.c:2934 -#: sql_help.c:2944 sql_help.c:2948 sql_help.c:2971 sql_help.c:2973 -#: sql_help.c:2980 sql_help.c:2993 sql_help.c:2998 sql_help.c:3005 -#: sql_help.c:3006 sql_help.c:3022 sql_help.c:3148 sql_help.c:3288 -#: sql_help.c:3914 sql_help.c:3915 sql_help.c:4011 sql_help.c:4026 -#: sql_help.c:4028 sql_help.c:4030 sql_help.c:4124 sql_help.c:4127 -#: sql_help.c:4129 sql_help.c:4131 sql_help.c:4377 sql_help.c:4378 -#: sql_help.c:4498 sql_help.c:4659 sql_help.c:4666 sql_help.c:4668 -#: sql_help.c:4917 sql_help.c:4924 sql_help.c:4926 sql_help.c:4967 -#: sql_help.c:4969 sql_help.c:4971 sql_help.c:5024 sql_help.c:5162 -#: sql_help.c:5169 sql_help.c:5171 +#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:942 sql_help.c:1110 +#: sql_help.c:1341 sql_help.c:1359 sql_help.c:1363 sql_help.c:1364 +#: sql_help.c:1368 sql_help.c:1370 sql_help.c:1371 sql_help.c:1372 +#: sql_help.c:1374 sql_help.c:1375 sql_help.c:1377 sql_help.c:1380 +#: sql_help.c:1381 sql_help.c:1383 sql_help.c:1386 sql_help.c:1388 +#: sql_help.c:1389 sql_help.c:1436 sql_help.c:1438 sql_help.c:1445 +#: sql_help.c:1454 sql_help.c:1459 sql_help.c:1466 sql_help.c:1467 +#: sql_help.c:1718 sql_help.c:1721 sql_help.c:1725 sql_help.c:1761 +#: sql_help.c:1882 sql_help.c:1998 sql_help.c:2004 sql_help.c:2018 +#: sql_help.c:2019 sql_help.c:2020 sql_help.c:2368 sql_help.c:2381 +#: sql_help.c:2434 sql_help.c:2502 sql_help.c:2508 sql_help.c:2541 +#: sql_help.c:2679 sql_help.c:2783 sql_help.c:2818 sql_help.c:2820 +#: sql_help.c:2932 sql_help.c:2941 sql_help.c:2951 sql_help.c:2954 +#: sql_help.c:2964 sql_help.c:2968 sql_help.c:2991 sql_help.c:2993 +#: sql_help.c:3000 sql_help.c:3013 sql_help.c:3018 sql_help.c:3025 +#: sql_help.c:3026 sql_help.c:3042 sql_help.c:3168 sql_help.c:3308 +#: sql_help.c:3934 sql_help.c:3935 sql_help.c:4031 sql_help.c:4046 +#: sql_help.c:4048 sql_help.c:4050 sql_help.c:4144 sql_help.c:4147 +#: sql_help.c:4149 sql_help.c:4151 sql_help.c:4397 sql_help.c:4398 +#: sql_help.c:4518 sql_help.c:4679 sql_help.c:4686 sql_help.c:4688 +#: sql_help.c:4937 sql_help.c:4944 sql_help.c:4946 sql_help.c:4987 +#: sql_help.c:4989 sql_help.c:4991 sql_help.c:5044 sql_help.c:5182 +#: sql_help.c:5189 sql_help.c:5191 msgid "column_name" msgstr "nombre_de_columna" -#: sql_help.c:457 sql_help.c:682 sql_help.c:1328 sql_help.c:1712 +#: sql_help.c:457 sql_help.c:682 sql_help.c:1342 sql_help.c:1726 msgid "new_column_name" msgstr "nuevo_nombre_de_columna" -#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1040 -#: sql_help.c:1344 sql_help.c:1612 +#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1054 +#: sql_help.c:1358 sql_help.c:1626 msgid "where action is one of:" msgstr "donde acción es una de:" -#: sql_help.c:464 sql_help.c:469 sql_help.c:1088 sql_help.c:1346 -#: sql_help.c:1351 sql_help.c:1614 sql_help.c:1618 sql_help.c:2258 -#: sql_help.c:2355 sql_help.c:2567 sql_help.c:2756 sql_help.c:2913 -#: sql_help.c:3195 sql_help.c:4183 +#: sql_help.c:464 sql_help.c:469 sql_help.c:1102 sql_help.c:1360 +#: sql_help.c:1365 sql_help.c:1628 sql_help.c:1632 sql_help.c:2272 +#: sql_help.c:2369 sql_help.c:2581 sql_help.c:2776 sql_help.c:2933 +#: sql_help.c:3215 sql_help.c:4203 msgid "data_type" msgstr "tipo_de_dato" -#: sql_help.c:465 sql_help.c:470 sql_help.c:1347 sql_help.c:1352 -#: sql_help.c:1447 sql_help.c:1615 sql_help.c:1619 sql_help.c:2259 -#: sql_help.c:2358 sql_help.c:2490 sql_help.c:2915 sql_help.c:2923 -#: sql_help.c:2936 sql_help.c:2950 sql_help.c:3000 sql_help.c:3196 -#: sql_help.c:3202 sql_help.c:4021 +#: sql_help.c:465 sql_help.c:470 sql_help.c:1361 sql_help.c:1366 +#: sql_help.c:1461 sql_help.c:1629 sql_help.c:1633 sql_help.c:2273 +#: sql_help.c:2372 sql_help.c:2504 sql_help.c:2935 sql_help.c:2943 +#: sql_help.c:2956 sql_help.c:2970 sql_help.c:3020 sql_help.c:3216 +#: sql_help.c:3222 sql_help.c:4041 msgid "collation" msgstr "ordenamiento" -#: sql_help.c:466 sql_help.c:1348 sql_help.c:2359 sql_help.c:2368 -#: sql_help.c:2916 sql_help.c:2932 sql_help.c:2945 +#: sql_help.c:466 sql_help.c:1362 sql_help.c:2373 sql_help.c:2382 +#: sql_help.c:2936 sql_help.c:2952 sql_help.c:2965 msgid "column_constraint" msgstr "restricción_de_columna" -#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1368 sql_help.c:5018 +#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1382 sql_help.c:5038 msgid "integer" msgstr "entero" -#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1370 -#: sql_help.c:1373 +#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1384 +#: sql_help.c:1387 msgid "attribute_option" msgstr "opción_de_atributo" -#: sql_help.c:486 sql_help.c:1377 sql_help.c:2360 sql_help.c:2369 -#: sql_help.c:2917 sql_help.c:2933 sql_help.c:2946 +#: sql_help.c:486 sql_help.c:1391 sql_help.c:2374 sql_help.c:2383 +#: sql_help.c:2937 sql_help.c:2953 sql_help.c:2966 msgid "table_constraint" msgstr "restricción_de_tabla" -#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1382 -#: sql_help.c:1383 sql_help.c:1384 sql_help.c:1385 sql_help.c:1922 +#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1396 +#: sql_help.c:1397 sql_help.c:1398 sql_help.c:1399 sql_help.c:1936 msgid "trigger_name" msgstr "nombre_disparador" -#: sql_help.c:493 sql_help.c:494 sql_help.c:1396 sql_help.c:1397 -#: sql_help.c:2361 sql_help.c:2366 sql_help.c:2920 sql_help.c:2943 +#: sql_help.c:493 sql_help.c:494 sql_help.c:1410 sql_help.c:1411 +#: sql_help.c:2375 sql_help.c:2380 sql_help.c:2940 sql_help.c:2963 msgid "parent_table" msgstr "tabla_padre" -#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1039 -#: sql_help.c:1571 sql_help.c:2290 +#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1053 +#: sql_help.c:1585 sql_help.c:2304 msgid "extension_name" msgstr "nombre_de_extensión" -#: sql_help.c:555 sql_help.c:1041 sql_help.c:2424 +#: sql_help.c:555 sql_help.c:1055 sql_help.c:2438 msgid "execution_cost" msgstr "costo_de_ejecución" -#: sql_help.c:556 sql_help.c:1042 sql_help.c:2425 +#: sql_help.c:556 sql_help.c:1056 sql_help.c:2439 msgid "result_rows" msgstr "núm_de_filas" -#: sql_help.c:557 sql_help.c:2426 +#: sql_help.c:557 sql_help.c:2440 msgid "support_function" msgstr "función_de_soporte" -#: sql_help.c:579 sql_help.c:581 sql_help.c:964 sql_help.c:972 sql_help.c:976 -#: sql_help.c:979 sql_help.c:982 sql_help.c:1654 sql_help.c:1662 -#: sql_help.c:1666 sql_help.c:1669 sql_help.c:1672 sql_help.c:2734 -#: sql_help.c:2736 sql_help.c:2739 sql_help.c:2740 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3917 sql_help.c:3918 sql_help.c:3921 -#: sql_help.c:3922 sql_help.c:3924 sql_help.c:3925 sql_help.c:3927 -#: sql_help.c:3928 sql_help.c:3930 sql_help.c:3931 sql_help.c:3933 -#: sql_help.c:3934 sql_help.c:3940 sql_help.c:3941 sql_help.c:3943 -#: sql_help.c:3944 sql_help.c:3946 sql_help.c:3947 sql_help.c:3949 -#: sql_help.c:3950 sql_help.c:3952 sql_help.c:3953 sql_help.c:3955 -#: sql_help.c:3956 sql_help.c:3958 sql_help.c:3959 sql_help.c:3961 -#: sql_help.c:3962 sql_help.c:4375 sql_help.c:4376 sql_help.c:4380 -#: sql_help.c:4381 sql_help.c:4384 sql_help.c:4385 sql_help.c:4387 -#: sql_help.c:4388 sql_help.c:4390 sql_help.c:4391 sql_help.c:4393 -#: sql_help.c:4394 sql_help.c:4396 sql_help.c:4397 sql_help.c:4403 -#: sql_help.c:4404 sql_help.c:4406 sql_help.c:4407 sql_help.c:4409 -#: sql_help.c:4410 sql_help.c:4412 sql_help.c:4413 sql_help.c:4415 -#: sql_help.c:4416 sql_help.c:4418 sql_help.c:4419 sql_help.c:4421 -#: sql_help.c:4422 sql_help.c:4424 sql_help.c:4425 +#: sql_help.c:579 sql_help.c:581 sql_help.c:978 sql_help.c:986 sql_help.c:990 +#: sql_help.c:993 sql_help.c:996 sql_help.c:1668 sql_help.c:1676 +#: sql_help.c:1680 sql_help.c:1683 sql_help.c:1686 sql_help.c:2754 +#: sql_help.c:2756 sql_help.c:2759 sql_help.c:2760 sql_help.c:3932 +#: sql_help.c:3933 sql_help.c:3937 sql_help.c:3938 sql_help.c:3941 +#: sql_help.c:3942 sql_help.c:3944 sql_help.c:3945 sql_help.c:3947 +#: sql_help.c:3948 sql_help.c:3950 sql_help.c:3951 sql_help.c:3953 +#: sql_help.c:3954 sql_help.c:3960 sql_help.c:3961 sql_help.c:3963 +#: sql_help.c:3964 sql_help.c:3966 sql_help.c:3967 sql_help.c:3969 +#: sql_help.c:3970 sql_help.c:3972 sql_help.c:3973 sql_help.c:3975 +#: sql_help.c:3976 sql_help.c:3978 sql_help.c:3979 sql_help.c:3981 +#: sql_help.c:3982 sql_help.c:4395 sql_help.c:4396 sql_help.c:4400 +#: sql_help.c:4401 sql_help.c:4404 sql_help.c:4405 sql_help.c:4407 +#: sql_help.c:4408 sql_help.c:4410 sql_help.c:4411 sql_help.c:4413 +#: sql_help.c:4414 sql_help.c:4416 sql_help.c:4417 sql_help.c:4423 +#: sql_help.c:4424 sql_help.c:4426 sql_help.c:4427 sql_help.c:4429 +#: sql_help.c:4430 sql_help.c:4432 sql_help.c:4433 sql_help.c:4435 +#: sql_help.c:4436 sql_help.c:4438 sql_help.c:4439 sql_help.c:4441 +#: sql_help.c:4442 sql_help.c:4444 sql_help.c:4445 msgid "role_specification" msgstr "especificación_de_rol" -#: sql_help.c:580 sql_help.c:582 sql_help.c:1685 sql_help.c:2225 -#: sql_help.c:2742 sql_help.c:3273 sql_help.c:3724 sql_help.c:4753 +#: sql_help.c:580 sql_help.c:582 sql_help.c:1699 sql_help.c:2239 +#: sql_help.c:2762 sql_help.c:3293 sql_help.c:3744 sql_help.c:4773 msgid "user_name" msgstr "nombre_de_usuario" -#: sql_help.c:583 sql_help.c:984 sql_help.c:1674 sql_help.c:2741 -#: sql_help.c:3963 sql_help.c:4426 +#: sql_help.c:583 sql_help.c:998 sql_help.c:1688 sql_help.c:2761 +#: sql_help.c:3983 sql_help.c:4446 msgid "where role_specification can be:" msgstr "donde especificación_de_rol puede ser:" @@ -4612,22 +4612,22 @@ msgid "group_name" msgstr "nombre_de_grupo" -#: sql_help.c:606 sql_help.c:1443 sql_help.c:2237 sql_help.c:2497 -#: sql_help.c:2531 sql_help.c:2928 sql_help.c:2941 sql_help.c:2955 -#: sql_help.c:2996 sql_help.c:3026 sql_help.c:3038 sql_help.c:3954 -#: sql_help.c:4417 +#: sql_help.c:606 sql_help.c:1457 sql_help.c:2251 sql_help.c:2511 +#: sql_help.c:2545 sql_help.c:2948 sql_help.c:2961 sql_help.c:2975 +#: sql_help.c:3016 sql_help.c:3046 sql_help.c:3058 sql_help.c:3974 +#: sql_help.c:4437 msgid "tablespace_name" msgstr "nombre_de_tablespace" -#: sql_help.c:608 sql_help.c:701 sql_help.c:1390 sql_help.c:1400 -#: sql_help.c:1438 sql_help.c:1800 +#: sql_help.c:608 sql_help.c:701 sql_help.c:1404 sql_help.c:1414 +#: sql_help.c:1452 sql_help.c:1814 msgid "index_name" msgstr "nombre_índice" -#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1393 -#: sql_help.c:1395 sql_help.c:1441 sql_help.c:2495 sql_help.c:2529 -#: sql_help.c:2926 sql_help.c:2939 sql_help.c:2953 sql_help.c:2994 -#: sql_help.c:3024 +#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1407 +#: sql_help.c:1409 sql_help.c:1455 sql_help.c:2509 sql_help.c:2543 +#: sql_help.c:2946 sql_help.c:2959 sql_help.c:2973 sql_help.c:3014 +#: sql_help.c:3044 msgid "storage_parameter" msgstr "parámetro_de_almacenamiento" @@ -4635,1909 +4635,1917 @@ msgid "column_number" msgstr "número_de_columna" -#: sql_help.c:641 sql_help.c:1885 sql_help.c:4509 +#: sql_help.c:641 sql_help.c:1899 sql_help.c:4529 msgid "large_object_oid" msgstr "oid_de_objeto_grande" -#: sql_help.c:700 sql_help.c:1376 sql_help.c:2914 +#: sql_help.c:700 sql_help.c:1390 sql_help.c:2934 msgid "compression_method" msgstr "método_de_compresión" -#: sql_help.c:702 sql_help.c:1391 +#: sql_help.c:702 sql_help.c:1405 msgid "new_access_method" msgstr "nuevo_método_de_acceso" -#: sql_help.c:739 sql_help.c:2552 +#: sql_help.c:739 sql_help.c:2566 msgid "res_proc" msgstr "proc_res" -#: sql_help.c:740 sql_help.c:2553 +#: sql_help.c:740 sql_help.c:2567 msgid "join_proc" msgstr "proc_join" -#: sql_help.c:741 sql_help.c:2550 +#: sql_help.c:741 sql_help.c:2564 msgid "com_op" msgstr "op_conm" -#: sql_help.c:742 sql_help.c:2551 +#: sql_help.c:742 sql_help.c:2565 msgid "neg_op" msgstr "op_neg" -#: sql_help.c:794 sql_help.c:806 sql_help.c:2570 +#: sql_help.c:794 sql_help.c:806 sql_help.c:2584 msgid "strategy_number" msgstr "número_de_estrategia" #: sql_help.c:796 sql_help.c:797 sql_help.c:800 sql_help.c:801 sql_help.c:807 -#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2572 sql_help.c:2573 -#: sql_help.c:2576 sql_help.c:2577 +#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2586 sql_help.c:2587 +#: sql_help.c:2590 sql_help.c:2591 msgid "op_type" msgstr "tipo_op" -#: sql_help.c:798 sql_help.c:2574 +#: sql_help.c:798 sql_help.c:2588 msgid "sort_family_name" msgstr "nombre_familia_ordenamiento" -#: sql_help.c:799 sql_help.c:809 sql_help.c:2575 +#: sql_help.c:799 sql_help.c:809 sql_help.c:2589 msgid "support_number" msgstr "número_de_soporte" -#: sql_help.c:803 sql_help.c:2157 sql_help.c:2579 sql_help.c:3115 -#: sql_help.c:3117 +#: sql_help.c:803 sql_help.c:2171 sql_help.c:2593 sql_help.c:3135 +#: sql_help.c:3137 msgid "argument_type" msgstr "tipo_argumento" -#: sql_help.c:834 sql_help.c:837 sql_help.c:926 sql_help.c:1055 sql_help.c:1095 -#: sql_help.c:1567 sql_help.c:1570 sql_help.c:1746 sql_help.c:1799 -#: sql_help.c:1870 sql_help.c:1895 sql_help.c:1908 sql_help.c:1923 -#: sql_help.c:1983 sql_help.c:1989 sql_help.c:2353 sql_help.c:2365 -#: sql_help.c:2486 sql_help.c:2526 sql_help.c:2603 sql_help.c:2657 -#: sql_help.c:2710 sql_help.c:2762 sql_help.c:2795 sql_help.c:2802 -#: sql_help.c:2911 sql_help.c:2929 sql_help.c:2942 sql_help.c:3021 -#: sql_help.c:3141 sql_help.c:3322 sql_help.c:3545 sql_help.c:3594 -#: sql_help.c:3700 sql_help.c:3910 sql_help.c:3916 sql_help.c:3977 -#: sql_help.c:4009 sql_help.c:4373 sql_help.c:4379 sql_help.c:4497 -#: sql_help.c:4610 sql_help.c:4673 sql_help.c:4712 sql_help.c:4868 -#: sql_help.c:4931 sql_help.c:4965 sql_help.c:5023 sql_help.c:5113 -#: sql_help.c:5176 +#: sql_help.c:834 sql_help.c:837 sql_help.c:938 sql_help.c:941 sql_help.c:1069 +#: sql_help.c:1109 sql_help.c:1581 sql_help.c:1584 sql_help.c:1760 +#: sql_help.c:1813 sql_help.c:1884 sql_help.c:1909 sql_help.c:1922 +#: sql_help.c:1937 sql_help.c:1997 sql_help.c:2003 sql_help.c:2367 +#: sql_help.c:2379 sql_help.c:2500 sql_help.c:2540 sql_help.c:2617 +#: sql_help.c:2678 sql_help.c:2730 sql_help.c:2782 sql_help.c:2815 +#: sql_help.c:2822 sql_help.c:2931 sql_help.c:2949 sql_help.c:2962 +#: sql_help.c:3041 sql_help.c:3161 sql_help.c:3342 sql_help.c:3565 +#: sql_help.c:3614 sql_help.c:3720 sql_help.c:3930 sql_help.c:3936 +#: sql_help.c:3997 sql_help.c:4029 sql_help.c:4393 sql_help.c:4399 +#: sql_help.c:4517 sql_help.c:4630 sql_help.c:4693 sql_help.c:4732 +#: sql_help.c:4888 sql_help.c:4951 sql_help.c:4985 sql_help.c:5043 +#: sql_help.c:5133 sql_help.c:5196 msgid "table_name" msgstr "nombre_de_tabla" -#: sql_help.c:839 sql_help.c:2605 +#: sql_help.c:839 sql_help.c:2619 msgid "using_expression" msgstr "expresión_using" -#: sql_help.c:840 sql_help.c:2606 +#: sql_help.c:840 sql_help.c:2620 msgid "check_expression" msgstr "expresión_check" -#: sql_help.c:913 sql_help.c:915 sql_help.c:917 sql_help.c:2653 +#: sql_help.c:922 sql_help.c:924 sql_help.c:2671 msgid "publication_object" msgstr "objeto_de_publicación" -#: sql_help.c:919 sql_help.c:2654 +#: sql_help.c:926 +msgid "publication_drop_object" +msgstr "objeto_drop_publicación" + +#: sql_help.c:928 sql_help.c:2672 msgid "publication_parameter" msgstr "parámetro_de_publicación" -#: sql_help.c:925 sql_help.c:2656 +#: sql_help.c:934 sql_help.c:2674 msgid "where publication_object is one of:" msgstr "donde objeto_de_publicación es uno de:" -#: sql_help.c:968 sql_help.c:1658 sql_help.c:2464 sql_help.c:2689 -#: sql_help.c:3256 +#: sql_help.c:935 sql_help.c:1754 sql_help.c:2675 sql_help.c:5027 +msgid "table_and_columns" +msgstr "tabla_y_columnas" + +#: sql_help.c:937 +msgid "and publication_drop_object is one of:" +msgstr "donde objeto_drop_publicación es uno de:" + +#: sql_help.c:940 sql_help.c:1759 sql_help.c:2677 sql_help.c:5042 +msgid "and table_and_columns is:" +msgstr "y tabla_y_columnas es:" + +#: sql_help.c:982 sql_help.c:1672 sql_help.c:2478 sql_help.c:2709 +#: sql_help.c:3276 msgid "password" msgstr "contraseña" -#: sql_help.c:969 sql_help.c:1659 sql_help.c:2465 sql_help.c:2690 -#: sql_help.c:3257 +#: sql_help.c:983 sql_help.c:1673 sql_help.c:2479 sql_help.c:2710 +#: sql_help.c:3277 msgid "timestamp" msgstr "fecha_hora" -#: sql_help.c:973 sql_help.c:977 sql_help.c:980 sql_help.c:983 sql_help.c:1663 -#: sql_help.c:1667 sql_help.c:1670 sql_help.c:1673 sql_help.c:3923 -#: sql_help.c:4386 +#: sql_help.c:987 sql_help.c:991 sql_help.c:994 sql_help.c:997 sql_help.c:1677 +#: sql_help.c:1681 sql_help.c:1684 sql_help.c:1687 sql_help.c:3943 +#: sql_help.c:4406 msgid "database_name" msgstr "nombre_de_base_de_datos" -#: sql_help.c:1089 sql_help.c:2757 +#: sql_help.c:1103 sql_help.c:2777 msgid "increment" msgstr "incremento" -#: sql_help.c:1090 sql_help.c:2758 +#: sql_help.c:1104 sql_help.c:2778 msgid "minvalue" msgstr "valormin" -#: sql_help.c:1091 sql_help.c:2759 +#: sql_help.c:1105 sql_help.c:2779 msgid "maxvalue" msgstr "valormax" -#: sql_help.c:1092 sql_help.c:2760 sql_help.c:4606 sql_help.c:4710 -#: sql_help.c:4864 sql_help.c:5040 sql_help.c:5109 +#: sql_help.c:1106 sql_help.c:2780 sql_help.c:4626 sql_help.c:4730 +#: sql_help.c:4884 sql_help.c:5060 sql_help.c:5129 msgid "start" msgstr "inicio" -#: sql_help.c:1093 sql_help.c:1365 +#: sql_help.c:1107 sql_help.c:1379 msgid "restart" msgstr "reinicio" -#: sql_help.c:1094 sql_help.c:2761 +#: sql_help.c:1108 sql_help.c:2781 msgid "cache" msgstr "cache" -#: sql_help.c:1139 +#: sql_help.c:1153 msgid "new_target" msgstr "nuevo_valor" -#: sql_help.c:1158 sql_help.c:2814 +#: sql_help.c:1172 sql_help.c:2834 msgid "conninfo" msgstr "conninfo" -#: sql_help.c:1160 sql_help.c:1164 sql_help.c:1168 sql_help.c:2815 +#: sql_help.c:1174 sql_help.c:1178 sql_help.c:1182 sql_help.c:2835 msgid "publication_name" msgstr "nombre_de_publicación" -#: sql_help.c:1161 sql_help.c:1165 sql_help.c:1169 +#: sql_help.c:1175 sql_help.c:1179 sql_help.c:1183 msgid "publication_option" msgstr "opción_de_publicación" -#: sql_help.c:1172 +#: sql_help.c:1186 msgid "refresh_option" msgstr "opción_refresh" -#: sql_help.c:1177 sql_help.c:2816 +#: sql_help.c:1191 sql_help.c:2836 msgid "subscription_parameter" msgstr "parámetro_de_suscripción" -#: sql_help.c:1180 +#: sql_help.c:1194 msgid "skip_option" msgstr "opción_skip" -#: sql_help.c:1340 sql_help.c:1343 +#: sql_help.c:1354 sql_help.c:1357 msgid "partition_name" msgstr "nombre_de_partición" -#: sql_help.c:1341 sql_help.c:2370 sql_help.c:2947 +#: sql_help.c:1355 sql_help.c:2384 sql_help.c:2967 msgid "partition_bound_spec" msgstr "borde_de_partición" -#: sql_help.c:1362 sql_help.c:1412 sql_help.c:2961 +#: sql_help.c:1376 sql_help.c:1426 sql_help.c:2981 msgid "sequence_options" msgstr "opciones_de_secuencia" -#: sql_help.c:1364 +#: sql_help.c:1378 msgid "sequence_option" msgstr "opción_de_secuencia" -#: sql_help.c:1378 +#: sql_help.c:1392 msgid "table_constraint_using_index" msgstr "restricción_de_tabla_con_índice" -#: sql_help.c:1386 sql_help.c:1387 sql_help.c:1388 sql_help.c:1389 +#: sql_help.c:1400 sql_help.c:1401 sql_help.c:1402 sql_help.c:1403 msgid "rewrite_rule_name" msgstr "nombre_regla_de_reescritura" -#: sql_help.c:1401 sql_help.c:2382 sql_help.c:2986 +#: sql_help.c:1415 sql_help.c:2396 sql_help.c:3006 msgid "and partition_bound_spec is:" msgstr "y borde_de_partición es:" -#: sql_help.c:1402 sql_help.c:1403 sql_help.c:1404 sql_help.c:2383 -#: sql_help.c:2384 sql_help.c:2385 sql_help.c:2987 sql_help.c:2988 -#: sql_help.c:2989 +#: sql_help.c:1416 sql_help.c:1417 sql_help.c:1418 sql_help.c:2397 +#: sql_help.c:2398 sql_help.c:2399 sql_help.c:3007 sql_help.c:3008 +#: sql_help.c:3009 msgid "partition_bound_expr" msgstr "expresión_de_borde_de_partición" -#: sql_help.c:1405 sql_help.c:1406 sql_help.c:2386 sql_help.c:2387 -#: sql_help.c:2990 sql_help.c:2991 +#: sql_help.c:1419 sql_help.c:1420 sql_help.c:2400 sql_help.c:2401 +#: sql_help.c:3010 sql_help.c:3011 msgid "numeric_literal" msgstr "literal_numérico" -#: sql_help.c:1407 +#: sql_help.c:1421 msgid "and column_constraint is:" msgstr "donde restricción_de_columna es:" -#: sql_help.c:1410 sql_help.c:2377 sql_help.c:2418 sql_help.c:2627 -#: sql_help.c:2959 +#: sql_help.c:1424 sql_help.c:2391 sql_help.c:2432 sql_help.c:2641 +#: sql_help.c:2979 msgid "default_expr" msgstr "expr_por_omisión" -#: sql_help.c:1411 sql_help.c:2378 sql_help.c:2960 +#: sql_help.c:1425 sql_help.c:2392 sql_help.c:2980 msgid "generation_expr" msgstr "expr_de_generación" -#: sql_help.c:1413 sql_help.c:1414 sql_help.c:1423 sql_help.c:1425 -#: sql_help.c:1429 sql_help.c:2962 sql_help.c:2963 sql_help.c:2972 -#: sql_help.c:2974 sql_help.c:2978 +#: sql_help.c:1427 sql_help.c:1428 sql_help.c:1437 sql_help.c:1439 +#: sql_help.c:1443 sql_help.c:2982 sql_help.c:2983 sql_help.c:2992 +#: sql_help.c:2994 sql_help.c:2998 msgid "index_parameters" msgstr "parámetros_de_índice" -#: sql_help.c:1415 sql_help.c:1432 sql_help.c:2964 sql_help.c:2981 +#: sql_help.c:1429 sql_help.c:1446 sql_help.c:2984 sql_help.c:3001 msgid "reftable" msgstr "tabla_ref" -#: sql_help.c:1416 sql_help.c:1433 sql_help.c:2965 sql_help.c:2982 +#: sql_help.c:1430 sql_help.c:1447 sql_help.c:2985 sql_help.c:3002 msgid "refcolumn" msgstr "columna_ref" -#: sql_help.c:1417 sql_help.c:1418 sql_help.c:1434 sql_help.c:1435 -#: sql_help.c:2966 sql_help.c:2967 sql_help.c:2983 sql_help.c:2984 +#: sql_help.c:1431 sql_help.c:1432 sql_help.c:1448 sql_help.c:1449 +#: sql_help.c:2986 sql_help.c:2987 sql_help.c:3003 sql_help.c:3004 msgid "referential_action" msgstr "acción_referencial" -#: sql_help.c:1419 sql_help.c:2379 sql_help.c:2968 +#: sql_help.c:1433 sql_help.c:2393 sql_help.c:2988 msgid "and table_constraint is:" msgstr "y restricción_de_tabla es:" -#: sql_help.c:1427 sql_help.c:2976 +#: sql_help.c:1441 sql_help.c:2996 msgid "exclude_element" msgstr "elemento_de_exclusión" -#: sql_help.c:1428 sql_help.c:2977 sql_help.c:4604 sql_help.c:4708 -#: sql_help.c:4862 sql_help.c:5038 sql_help.c:5107 +#: sql_help.c:1442 sql_help.c:2997 sql_help.c:4624 sql_help.c:4728 +#: sql_help.c:4882 sql_help.c:5058 sql_help.c:5127 msgid "operator" msgstr "operador" -#: sql_help.c:1430 sql_help.c:2498 sql_help.c:2979 +#: sql_help.c:1444 sql_help.c:2512 sql_help.c:2999 msgid "predicate" msgstr "predicado" -#: sql_help.c:1436 +#: sql_help.c:1450 msgid "and table_constraint_using_index is:" msgstr "y restricción_de_tabla_con_índice es:" -#: sql_help.c:1439 sql_help.c:2992 +#: sql_help.c:1453 sql_help.c:3012 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "parámetros_de_índice en UNIQUE, PRIMARY KEY y EXCLUDE son:" -#: sql_help.c:1444 sql_help.c:2997 +#: sql_help.c:1458 sql_help.c:3017 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "elemento_de_exclusión en una restricción EXCLUDE es:" -#: sql_help.c:1448 sql_help.c:2491 sql_help.c:2924 sql_help.c:2937 -#: sql_help.c:2951 sql_help.c:3001 sql_help.c:4022 +#: sql_help.c:1462 sql_help.c:2505 sql_help.c:2944 sql_help.c:2957 +#: sql_help.c:2971 sql_help.c:3021 sql_help.c:4042 msgid "opclass" msgstr "clase_de_ops" -#: sql_help.c:1449 sql_help.c:2492 sql_help.c:3002 +#: sql_help.c:1463 sql_help.c:2506 sql_help.c:3022 msgid "opclass_parameter" msgstr "parámetro_opclass" -#: sql_help.c:1451 sql_help.c:3004 +#: sql_help.c:1465 sql_help.c:3024 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "acción_referencial en una restricción FOREIGN KEY/REFERENCES es:" -#: sql_help.c:1469 sql_help.c:1472 sql_help.c:3041 +#: sql_help.c:1483 sql_help.c:1486 sql_help.c:3061 msgid "tablespace_option" msgstr "opción_de_tablespace" -#: sql_help.c:1493 sql_help.c:1496 sql_help.c:1502 sql_help.c:1506 +#: sql_help.c:1507 sql_help.c:1510 sql_help.c:1516 sql_help.c:1520 msgid "token_type" msgstr "tipo_de_token" -#: sql_help.c:1494 sql_help.c:1497 +#: sql_help.c:1508 sql_help.c:1511 msgid "dictionary_name" msgstr "nombre_diccionario" -#: sql_help.c:1499 sql_help.c:1503 +#: sql_help.c:1513 sql_help.c:1517 msgid "old_dictionary" msgstr "diccionario_antiguo" -#: sql_help.c:1500 sql_help.c:1504 +#: sql_help.c:1514 sql_help.c:1518 msgid "new_dictionary" msgstr "diccionario_nuevo" -#: sql_help.c:1599 sql_help.c:1613 sql_help.c:1616 sql_help.c:1617 -#: sql_help.c:3194 +#: sql_help.c:1613 sql_help.c:1627 sql_help.c:1630 sql_help.c:1631 +#: sql_help.c:3214 msgid "attribute_name" msgstr "nombre_atributo" -#: sql_help.c:1600 +#: sql_help.c:1614 msgid "new_attribute_name" msgstr "nuevo_nombre_atributo" -#: sql_help.c:1604 sql_help.c:1608 +#: sql_help.c:1618 sql_help.c:1622 msgid "new_enum_value" msgstr "nuevo_valor_enum" -#: sql_help.c:1605 +#: sql_help.c:1619 msgid "neighbor_enum_value" msgstr "valor_enum_vecino" -#: sql_help.c:1607 +#: sql_help.c:1621 msgid "existing_enum_value" msgstr "valor_enum_existente" -#: sql_help.c:1610 +#: sql_help.c:1624 msgid "property" msgstr "propiedad" -#: sql_help.c:1686 sql_help.c:2362 sql_help.c:2371 sql_help.c:2773 -#: sql_help.c:3274 sql_help.c:3725 sql_help.c:3932 sql_help.c:3978 -#: sql_help.c:4395 +#: sql_help.c:1700 sql_help.c:2376 sql_help.c:2385 sql_help.c:2793 +#: sql_help.c:3294 sql_help.c:3745 sql_help.c:3952 sql_help.c:3998 +#: sql_help.c:4415 msgid "server_name" msgstr "nombre_de_servidor" -#: sql_help.c:1718 sql_help.c:1721 sql_help.c:3289 +#: sql_help.c:1732 sql_help.c:1735 sql_help.c:3309 msgid "view_option_name" msgstr "nombre_opción_de_vista" -#: sql_help.c:1719 sql_help.c:3290 +#: sql_help.c:1733 sql_help.c:3310 msgid "view_option_value" msgstr "valor_opción_de_vista" -#: sql_help.c:1740 sql_help.c:5007 -msgid "table_and_columns" -msgstr "tabla_y_columnas" - -#: sql_help.c:1741 sql_help.c:1801 sql_help.c:1995 sql_help.c:3774 -#: sql_help.c:4230 sql_help.c:5008 +#: sql_help.c:1755 sql_help.c:1815 sql_help.c:2009 sql_help.c:3794 +#: sql_help.c:4250 sql_help.c:5028 msgid "where option can be one of:" msgstr "donde opción puede ser una de:" -#: sql_help.c:1742 sql_help.c:1743 sql_help.c:1802 sql_help.c:1997 -#: sql_help.c:2001 sql_help.c:2183 sql_help.c:3775 sql_help.c:3776 -#: sql_help.c:3777 sql_help.c:3778 sql_help.c:3779 sql_help.c:3780 -#: sql_help.c:3781 sql_help.c:3782 sql_help.c:3783 sql_help.c:3784 -#: sql_help.c:4231 sql_help.c:4233 sql_help.c:5009 sql_help.c:5010 -#: sql_help.c:5011 sql_help.c:5012 sql_help.c:5013 sql_help.c:5014 -#: sql_help.c:5015 sql_help.c:5016 sql_help.c:5017 sql_help.c:5019 -#: sql_help.c:5020 +#: sql_help.c:1756 sql_help.c:1757 sql_help.c:1816 sql_help.c:2011 +#: sql_help.c:2015 sql_help.c:2197 sql_help.c:3795 sql_help.c:3796 +#: sql_help.c:3797 sql_help.c:3798 sql_help.c:3799 sql_help.c:3800 +#: sql_help.c:3801 sql_help.c:3802 sql_help.c:3803 sql_help.c:3804 +#: sql_help.c:4251 sql_help.c:4253 sql_help.c:5029 sql_help.c:5030 +#: sql_help.c:5031 sql_help.c:5032 sql_help.c:5033 sql_help.c:5034 +#: sql_help.c:5035 sql_help.c:5036 sql_help.c:5037 sql_help.c:5039 +#: sql_help.c:5040 msgid "boolean" msgstr "booleano" -#: sql_help.c:1744 sql_help.c:5021 +#: sql_help.c:1758 sql_help.c:5041 msgid "size" msgstr "tamaño" -#: sql_help.c:1745 sql_help.c:5022 -msgid "and table_and_columns is:" -msgstr "y tabla_y_columnas es:" - -#: sql_help.c:1761 sql_help.c:4769 sql_help.c:4771 sql_help.c:4795 +#: sql_help.c:1775 sql_help.c:4789 sql_help.c:4791 sql_help.c:4815 msgid "transaction_mode" msgstr "modo_de_transacción" -#: sql_help.c:1762 sql_help.c:4772 sql_help.c:4796 +#: sql_help.c:1776 sql_help.c:4792 sql_help.c:4816 msgid "where transaction_mode is one of:" msgstr "donde modo_de_transacción es uno de:" -#: sql_help.c:1771 sql_help.c:4614 sql_help.c:4623 sql_help.c:4627 -#: sql_help.c:4631 sql_help.c:4634 sql_help.c:4872 sql_help.c:4881 -#: sql_help.c:4885 sql_help.c:4889 sql_help.c:4892 sql_help.c:5117 -#: sql_help.c:5126 sql_help.c:5130 sql_help.c:5134 sql_help.c:5137 +#: sql_help.c:1785 sql_help.c:4634 sql_help.c:4643 sql_help.c:4647 +#: sql_help.c:4651 sql_help.c:4654 sql_help.c:4892 sql_help.c:4901 +#: sql_help.c:4905 sql_help.c:4909 sql_help.c:4912 sql_help.c:5137 +#: sql_help.c:5146 sql_help.c:5150 sql_help.c:5154 sql_help.c:5157 msgid "argument" msgstr "argumento" -#: sql_help.c:1867 +#: sql_help.c:1881 msgid "relation_name" msgstr "nombre_relación" -#: sql_help.c:1872 sql_help.c:3926 sql_help.c:4389 +#: sql_help.c:1886 sql_help.c:3946 sql_help.c:4409 msgid "domain_name" msgstr "nombre_de_dominio" -#: sql_help.c:1894 +#: sql_help.c:1908 msgid "policy_name" msgstr "nombre_de_política" -#: sql_help.c:1907 +#: sql_help.c:1921 msgid "rule_name" msgstr "nombre_regla" -#: sql_help.c:1926 sql_help.c:4528 +#: sql_help.c:1940 sql_help.c:4548 msgid "string_literal" msgstr "literal_de_cadena" -#: sql_help.c:1951 sql_help.c:4192 sql_help.c:4442 +#: sql_help.c:1965 sql_help.c:4212 sql_help.c:4462 msgid "transaction_id" msgstr "id_de_transacción" -#: sql_help.c:1985 sql_help.c:1992 sql_help.c:4048 +#: sql_help.c:1999 sql_help.c:2006 sql_help.c:4068 msgid "filename" msgstr "nombre_de_archivo" -#: sql_help.c:1986 sql_help.c:1993 sql_help.c:2712 sql_help.c:2713 -#: sql_help.c:2714 +#: sql_help.c:2000 sql_help.c:2007 sql_help.c:2732 sql_help.c:2733 +#: sql_help.c:2734 msgid "command" msgstr "orden" -#: sql_help.c:1988 sql_help.c:2711 sql_help.c:3144 sql_help.c:3325 -#: sql_help.c:4032 sql_help.c:4115 sql_help.c:4118 sql_help.c:4121 -#: sql_help.c:4597 sql_help.c:4599 sql_help.c:4701 sql_help.c:4703 -#: sql_help.c:4855 sql_help.c:4857 sql_help.c:4974 sql_help.c:5100 -#: sql_help.c:5102 +#: sql_help.c:2002 sql_help.c:2731 sql_help.c:3164 sql_help.c:3345 +#: sql_help.c:4052 sql_help.c:4135 sql_help.c:4138 sql_help.c:4141 +#: sql_help.c:4617 sql_help.c:4619 sql_help.c:4721 sql_help.c:4723 +#: sql_help.c:4875 sql_help.c:4877 sql_help.c:4994 sql_help.c:5120 +#: sql_help.c:5122 msgid "condition" msgstr "condición" -#: sql_help.c:1991 sql_help.c:2532 sql_help.c:3027 sql_help.c:3291 -#: sql_help.c:3309 sql_help.c:4013 +#: sql_help.c:2005 sql_help.c:2546 sql_help.c:3047 sql_help.c:3311 +#: sql_help.c:3329 sql_help.c:4033 msgid "query" msgstr "consulta" -#: sql_help.c:1996 +#: sql_help.c:2010 msgid "format_name" msgstr "nombre_de_formato" -#: sql_help.c:1998 +#: sql_help.c:2012 msgid "delimiter_character" msgstr "carácter_delimitador" -#: sql_help.c:1999 +#: sql_help.c:2013 msgid "null_string" msgstr "cadena_null" -#: sql_help.c:2000 +#: sql_help.c:2014 msgid "default_string" msgstr "cadena_por_omisión" -#: sql_help.c:2002 +#: sql_help.c:2016 msgid "quote_character" msgstr "carácter_de_comilla" -#: sql_help.c:2003 +#: sql_help.c:2017 msgid "escape_character" msgstr "carácter_de_escape" -#: sql_help.c:2007 +#: sql_help.c:2021 msgid "error_action" msgstr "acción_en_error" -#: sql_help.c:2008 +#: sql_help.c:2022 msgid "encoding_name" msgstr "nombre_codificación" -#: sql_help.c:2009 +#: sql_help.c:2023 msgid "verbosity" msgstr "verbosidad" -#: sql_help.c:2020 +#: sql_help.c:2034 msgid "access_method_type" msgstr "tipo_de_método_de_acceso" -#: sql_help.c:2091 sql_help.c:2110 sql_help.c:2113 +#: sql_help.c:2105 sql_help.c:2124 sql_help.c:2127 msgid "arg_data_type" msgstr "tipo_de_dato_arg" -#: sql_help.c:2092 sql_help.c:2114 sql_help.c:2122 +#: sql_help.c:2106 sql_help.c:2128 sql_help.c:2136 msgid "sfunc" msgstr "func_transición" -#: sql_help.c:2093 sql_help.c:2115 sql_help.c:2123 +#: sql_help.c:2107 sql_help.c:2129 sql_help.c:2137 msgid "state_data_type" msgstr "tipo_de_dato_de_estado" -#: sql_help.c:2094 sql_help.c:2116 sql_help.c:2124 +#: sql_help.c:2108 sql_help.c:2130 sql_help.c:2138 msgid "state_data_size" msgstr "tamaño_de_dato_de_estado" -#: sql_help.c:2095 sql_help.c:2117 sql_help.c:2125 +#: sql_help.c:2109 sql_help.c:2131 sql_help.c:2139 msgid "ffunc" msgstr "func_final" -#: sql_help.c:2096 sql_help.c:2126 +#: sql_help.c:2110 sql_help.c:2140 msgid "combinefunc" msgstr "func_combinación" -#: sql_help.c:2097 sql_help.c:2127 +#: sql_help.c:2111 sql_help.c:2141 msgid "serialfunc" msgstr "func_serial" -#: sql_help.c:2098 sql_help.c:2128 +#: sql_help.c:2112 sql_help.c:2142 msgid "deserialfunc" msgstr "func_deserial" -#: sql_help.c:2099 sql_help.c:2118 sql_help.c:2129 +#: sql_help.c:2113 sql_help.c:2132 sql_help.c:2143 msgid "initial_condition" msgstr "condición_inicial" -#: sql_help.c:2100 sql_help.c:2130 +#: sql_help.c:2114 sql_help.c:2144 msgid "msfunc" msgstr "func_transición_m" -#: sql_help.c:2101 sql_help.c:2131 +#: sql_help.c:2115 sql_help.c:2145 msgid "minvfunc" msgstr "func_inv_m" -#: sql_help.c:2102 sql_help.c:2132 +#: sql_help.c:2116 sql_help.c:2146 msgid "mstate_data_type" msgstr "tipo_de_dato_de_estado_m" -#: sql_help.c:2103 sql_help.c:2133 +#: sql_help.c:2117 sql_help.c:2147 msgid "mstate_data_size" msgstr "tamaño_de_dato_de_estado_m" -#: sql_help.c:2104 sql_help.c:2134 +#: sql_help.c:2118 sql_help.c:2148 msgid "mffunc" msgstr "func_final_m" -#: sql_help.c:2105 sql_help.c:2135 +#: sql_help.c:2119 sql_help.c:2149 msgid "minitial_condition" msgstr "condición_inicial_m" -#: sql_help.c:2106 sql_help.c:2136 +#: sql_help.c:2120 sql_help.c:2150 msgid "sort_operator" msgstr "operador_de_ordenamiento" -#: sql_help.c:2119 +#: sql_help.c:2133 msgid "or the old syntax" msgstr "o la sintaxis antigua" -#: sql_help.c:2121 +#: sql_help.c:2135 msgid "base_type" msgstr "tipo_base" -#: sql_help.c:2179 sql_help.c:2229 +#: sql_help.c:2193 sql_help.c:2243 msgid "locale" msgstr "configuración regional" -#: sql_help.c:2180 sql_help.c:2230 +#: sql_help.c:2194 sql_help.c:2244 msgid "lc_collate" msgstr "lc_collate" -#: sql_help.c:2181 sql_help.c:2231 +#: sql_help.c:2195 sql_help.c:2245 msgid "lc_ctype" msgstr "lc_ctype" -#: sql_help.c:2182 sql_help.c:4495 +#: sql_help.c:2196 sql_help.c:4515 msgid "provider" msgstr "proveedor" -#: sql_help.c:2184 +#: sql_help.c:2198 msgid "rules" msgstr "reglas" -#: sql_help.c:2185 sql_help.c:2292 +#: sql_help.c:2199 sql_help.c:2306 msgid "version" msgstr "versión" -#: sql_help.c:2187 +#: sql_help.c:2201 msgid "existing_collation" msgstr "ordenamiento_existente" -#: sql_help.c:2197 +#: sql_help.c:2211 msgid "source_encoding" msgstr "codificación_origen" -#: sql_help.c:2198 +#: sql_help.c:2212 msgid "dest_encoding" msgstr "codificación_destino" -#: sql_help.c:2226 sql_help.c:3067 +#: sql_help.c:2240 sql_help.c:3087 msgid "template" msgstr "plantilla" -#: sql_help.c:2227 +#: sql_help.c:2241 msgid "encoding" msgstr "codificación" -#: sql_help.c:2228 +#: sql_help.c:2242 msgid "strategy" msgstr "estrategia" -#: sql_help.c:2232 +#: sql_help.c:2246 msgid "builtin_locale" msgstr "locale_builtin" -#: sql_help.c:2233 +#: sql_help.c:2247 msgid "icu_locale" msgstr "locale_icu" -#: sql_help.c:2234 +#: sql_help.c:2248 msgid "icu_rules" msgstr "reglas_icu" -#: sql_help.c:2235 +#: sql_help.c:2249 msgid "locale_provider" msgstr "proveedor_locale" -#: sql_help.c:2236 +#: sql_help.c:2250 msgid "collation_version" msgstr "versión_ordenamiento" -#: sql_help.c:2241 +#: sql_help.c:2255 msgid "oid" msgstr "oid" -#: sql_help.c:2276 sql_help.c:2709 sql_help.c:3140 +#: sql_help.c:2290 sql_help.c:2729 sql_help.c:3160 msgid "event" msgstr "evento" -#: sql_help.c:2277 +#: sql_help.c:2291 msgid "filter_variable" msgstr "variable_de_filtrado" -#: sql_help.c:2278 +#: sql_help.c:2292 msgid "filter_value" msgstr "valor_de_filtrado" -#: sql_help.c:2374 sql_help.c:2956 +#: sql_help.c:2388 sql_help.c:2976 msgid "where column_constraint is:" msgstr "donde restricción_de_columna es:" -#: sql_help.c:2419 +#: sql_help.c:2433 msgid "rettype" msgstr "tipo_ret" -#: sql_help.c:2421 +#: sql_help.c:2435 msgid "column_type" msgstr "tipo_columna" -#: sql_help.c:2430 sql_help.c:2633 +#: sql_help.c:2444 sql_help.c:2647 msgid "definition" msgstr "definición" -#: sql_help.c:2431 sql_help.c:2634 +#: sql_help.c:2445 sql_help.c:2648 msgid "obj_file" msgstr "archivo_obj" -#: sql_help.c:2432 sql_help.c:2635 +#: sql_help.c:2446 sql_help.c:2649 msgid "link_symbol" msgstr "símbolo_enlace" -#: sql_help.c:2433 sql_help.c:2636 +#: sql_help.c:2447 sql_help.c:2650 msgid "sql_body" msgstr "contenido_sql" -#: sql_help.c:2471 sql_help.c:2694 sql_help.c:3263 +#: sql_help.c:2485 sql_help.c:2714 sql_help.c:3283 msgid "uid" msgstr "uid" -#: sql_help.c:2487 sql_help.c:2528 sql_help.c:2925 sql_help.c:2938 -#: sql_help.c:2952 sql_help.c:3023 +#: sql_help.c:2501 sql_help.c:2542 sql_help.c:2945 sql_help.c:2958 +#: sql_help.c:2972 sql_help.c:3043 msgid "method" msgstr "método" -#: sql_help.c:2509 +#: sql_help.c:2523 msgid "call_handler" msgstr "manejador_de_llamada" -#: sql_help.c:2510 +#: sql_help.c:2524 msgid "inline_handler" msgstr "manejador_en_línea" -#: sql_help.c:2511 +#: sql_help.c:2525 msgid "valfunction" msgstr "función_val" -#: sql_help.c:2569 +#: sql_help.c:2583 msgid "family_name" msgstr "nombre_familia" -#: sql_help.c:2580 +#: sql_help.c:2594 msgid "storage_type" msgstr "tipo_almacenamiento" -#: sql_help.c:2715 sql_help.c:3147 +#: sql_help.c:2735 sql_help.c:3167 msgid "where event can be one of:" msgstr "donde evento puede ser una de:" -#: sql_help.c:2735 sql_help.c:2737 +#: sql_help.c:2755 sql_help.c:2757 msgid "schema_element" msgstr "elemento_de_esquema" -#: sql_help.c:2774 +#: sql_help.c:2794 msgid "server_type" msgstr "tipo_de_servidor" -#: sql_help.c:2775 +#: sql_help.c:2795 msgid "server_version" msgstr "versión_de_servidor" -#: sql_help.c:2776 sql_help.c:3929 sql_help.c:4392 +#: sql_help.c:2796 sql_help.c:3949 sql_help.c:4412 msgid "fdw_name" msgstr "nombre_fdw" -#: sql_help.c:2793 sql_help.c:2796 +#: sql_help.c:2813 sql_help.c:2816 msgid "statistics_name" msgstr "nombre_de_estadística" -#: sql_help.c:2797 +#: sql_help.c:2817 msgid "statistics_kind" msgstr "tipo_de_estadística" -#: sql_help.c:2813 +#: sql_help.c:2833 msgid "subscription_name" msgstr "nombre_de_suscripción" -#: sql_help.c:2918 +#: sql_help.c:2938 msgid "source_table" msgstr "tabla_origen" -#: sql_help.c:2919 +#: sql_help.c:2939 msgid "like_option" msgstr "opción_de_like" -#: sql_help.c:2985 +#: sql_help.c:3005 msgid "and like_option is:" msgstr "y opción_de_like es:" -#: sql_help.c:3040 +#: sql_help.c:3060 msgid "directory" msgstr "directorio" -#: sql_help.c:3054 +#: sql_help.c:3074 msgid "parser_name" msgstr "nombre_de_parser" -#: sql_help.c:3055 +#: sql_help.c:3075 msgid "source_config" msgstr "config_origen" -#: sql_help.c:3084 +#: sql_help.c:3104 msgid "start_function" msgstr "función_inicio" -#: sql_help.c:3085 +#: sql_help.c:3105 msgid "gettoken_function" msgstr "función_gettoken" -#: sql_help.c:3086 +#: sql_help.c:3106 msgid "end_function" msgstr "función_fin" -#: sql_help.c:3087 +#: sql_help.c:3107 msgid "lextypes_function" msgstr "función_lextypes" -#: sql_help.c:3088 +#: sql_help.c:3108 msgid "headline_function" msgstr "función_headline" -#: sql_help.c:3100 +#: sql_help.c:3120 msgid "init_function" msgstr "función_init" -#: sql_help.c:3101 +#: sql_help.c:3121 msgid "lexize_function" msgstr "función_lexize" -#: sql_help.c:3114 +#: sql_help.c:3134 msgid "from_sql_function_name" msgstr "nombre_de_función_from" -#: sql_help.c:3116 +#: sql_help.c:3136 msgid "to_sql_function_name" msgstr "nombre_de_función_to" -#: sql_help.c:3142 +#: sql_help.c:3162 msgid "referenced_table_name" msgstr "nombre_tabla_referenciada" -#: sql_help.c:3143 +#: sql_help.c:3163 msgid "transition_relation_name" msgstr "nombre_de_relación_de_transición" -#: sql_help.c:3146 +#: sql_help.c:3166 msgid "arguments" msgstr "argumentos" -#: sql_help.c:3198 +#: sql_help.c:3218 msgid "label" msgstr "etiqueta" -#: sql_help.c:3200 +#: sql_help.c:3220 msgid "subtype" msgstr "subtipo" -#: sql_help.c:3201 +#: sql_help.c:3221 msgid "subtype_operator_class" msgstr "clase_de_operador_del_subtipo" -#: sql_help.c:3203 +#: sql_help.c:3223 msgid "canonical_function" msgstr "función_canónica" -#: sql_help.c:3204 +#: sql_help.c:3224 msgid "subtype_diff_function" msgstr "función_diff_del_subtipo" -#: sql_help.c:3205 +#: sql_help.c:3225 msgid "multirange_type_name" msgstr "nombre_de_tipo_de_multirango" -#: sql_help.c:3207 +#: sql_help.c:3227 msgid "input_function" msgstr "función_entrada" -#: sql_help.c:3208 +#: sql_help.c:3228 msgid "output_function" msgstr "función_salida" -#: sql_help.c:3209 +#: sql_help.c:3229 msgid "receive_function" msgstr "función_receive" -#: sql_help.c:3210 +#: sql_help.c:3230 msgid "send_function" msgstr "función_send" -#: sql_help.c:3211 +#: sql_help.c:3231 msgid "type_modifier_input_function" msgstr "función_entrada_del_modificador_de_tipo" -#: sql_help.c:3212 +#: sql_help.c:3232 msgid "type_modifier_output_function" msgstr "función_salida_del_modificador_de_tipo" -#: sql_help.c:3213 +#: sql_help.c:3233 msgid "analyze_function" msgstr "función_analyze" -#: sql_help.c:3214 +#: sql_help.c:3234 msgid "subscript_function" msgstr "función_de_subíndice" -#: sql_help.c:3215 +#: sql_help.c:3235 msgid "internallength" msgstr "largo_interno" -#: sql_help.c:3216 +#: sql_help.c:3236 msgid "alignment" msgstr "alineamiento" -#: sql_help.c:3217 +#: sql_help.c:3237 msgid "storage" msgstr "almacenamiento" -#: sql_help.c:3218 +#: sql_help.c:3238 msgid "like_type" msgstr "como_tipo" -#: sql_help.c:3219 +#: sql_help.c:3239 msgid "category" msgstr "categoría" -#: sql_help.c:3220 +#: sql_help.c:3240 msgid "preferred" msgstr "preferido" -#: sql_help.c:3221 +#: sql_help.c:3241 msgid "default" msgstr "valor_por_omisión" -#: sql_help.c:3222 +#: sql_help.c:3242 msgid "element" msgstr "elemento" -#: sql_help.c:3223 +#: sql_help.c:3243 msgid "delimiter" msgstr "delimitador" -#: sql_help.c:3224 +#: sql_help.c:3244 msgid "collatable" msgstr "ordenable" -#: sql_help.c:3321 sql_help.c:4008 sql_help.c:4102 sql_help.c:4592 -#: sql_help.c:4695 sql_help.c:4850 sql_help.c:4964 sql_help.c:5095 +#: sql_help.c:3341 sql_help.c:4028 sql_help.c:4122 sql_help.c:4612 +#: sql_help.c:4715 sql_help.c:4870 sql_help.c:4984 sql_help.c:5115 msgid "with_query" msgstr "consulta_with" -#: sql_help.c:3323 sql_help.c:4010 sql_help.c:4611 sql_help.c:4617 -#: sql_help.c:4620 sql_help.c:4624 sql_help.c:4628 sql_help.c:4636 -#: sql_help.c:4869 sql_help.c:4875 sql_help.c:4878 sql_help.c:4882 -#: sql_help.c:4886 sql_help.c:4894 sql_help.c:4966 sql_help.c:5114 -#: sql_help.c:5120 sql_help.c:5123 sql_help.c:5127 sql_help.c:5131 -#: sql_help.c:5139 +#: sql_help.c:3343 sql_help.c:4030 sql_help.c:4631 sql_help.c:4637 +#: sql_help.c:4640 sql_help.c:4644 sql_help.c:4648 sql_help.c:4656 +#: sql_help.c:4889 sql_help.c:4895 sql_help.c:4898 sql_help.c:4902 +#: sql_help.c:4906 sql_help.c:4914 sql_help.c:4986 sql_help.c:5134 +#: sql_help.c:5140 sql_help.c:5143 sql_help.c:5147 sql_help.c:5151 +#: sql_help.c:5159 msgid "alias" msgstr "alias" -#: sql_help.c:3324 sql_help.c:4596 sql_help.c:4638 sql_help.c:4640 -#: sql_help.c:4644 sql_help.c:4646 sql_help.c:4647 sql_help.c:4648 -#: sql_help.c:4700 sql_help.c:4854 sql_help.c:4896 sql_help.c:4898 -#: sql_help.c:4902 sql_help.c:4904 sql_help.c:4905 sql_help.c:4906 -#: sql_help.c:4973 sql_help.c:5099 sql_help.c:5141 sql_help.c:5143 -#: sql_help.c:5147 sql_help.c:5149 sql_help.c:5150 sql_help.c:5151 +#: sql_help.c:3344 sql_help.c:4616 sql_help.c:4658 sql_help.c:4660 +#: sql_help.c:4664 sql_help.c:4666 sql_help.c:4667 sql_help.c:4668 +#: sql_help.c:4720 sql_help.c:4874 sql_help.c:4916 sql_help.c:4918 +#: sql_help.c:4922 sql_help.c:4924 sql_help.c:4925 sql_help.c:4926 +#: sql_help.c:4993 sql_help.c:5119 sql_help.c:5161 sql_help.c:5163 +#: sql_help.c:5167 sql_help.c:5169 sql_help.c:5170 sql_help.c:5171 msgid "from_item" msgstr "item_de_from" -#: sql_help.c:3326 sql_help.c:3810 sql_help.c:4159 sql_help.c:4975 +#: sql_help.c:3346 sql_help.c:3830 sql_help.c:4179 sql_help.c:4995 msgid "cursor_name" msgstr "nombre_de_cursor" -#: sql_help.c:3327 sql_help.c:4016 sql_help.c:4108 sql_help.c:4976 +#: sql_help.c:3347 sql_help.c:4036 sql_help.c:4128 sql_help.c:4996 msgid "output_expression" msgstr "expresión_de_salida" -#: sql_help.c:3328 sql_help.c:4017 sql_help.c:4109 sql_help.c:4595 -#: sql_help.c:4698 sql_help.c:4853 sql_help.c:4977 sql_help.c:5098 +#: sql_help.c:3348 sql_help.c:4037 sql_help.c:4129 sql_help.c:4615 +#: sql_help.c:4718 sql_help.c:4873 sql_help.c:4997 sql_help.c:5118 msgid "output_name" msgstr "nombre_de_salida" -#: sql_help.c:3344 +#: sql_help.c:3364 msgid "code" msgstr "código" -#: sql_help.c:3749 +#: sql_help.c:3769 msgid "parameter" msgstr "parámetro" -#: sql_help.c:3773 sql_help.c:4184 +#: sql_help.c:3793 sql_help.c:4204 msgid "statement" msgstr "sentencia" -#: sql_help.c:3809 sql_help.c:4158 +#: sql_help.c:3829 sql_help.c:4178 msgid "direction" msgstr "dirección" -#: sql_help.c:3811 sql_help.c:4160 +#: sql_help.c:3831 sql_help.c:4180 msgid "where direction can be one of:" msgstr "donde dirección puede ser una de:" -#: sql_help.c:3812 sql_help.c:3813 sql_help.c:3814 sql_help.c:3815 -#: sql_help.c:3816 sql_help.c:4161 sql_help.c:4162 sql_help.c:4163 -#: sql_help.c:4164 sql_help.c:4165 sql_help.c:4605 sql_help.c:4607 -#: sql_help.c:4709 sql_help.c:4711 sql_help.c:4863 sql_help.c:4865 -#: sql_help.c:5039 sql_help.c:5041 sql_help.c:5108 sql_help.c:5110 +#: sql_help.c:3832 sql_help.c:3833 sql_help.c:3834 sql_help.c:3835 +#: sql_help.c:3836 sql_help.c:4181 sql_help.c:4182 sql_help.c:4183 +#: sql_help.c:4184 sql_help.c:4185 sql_help.c:4625 sql_help.c:4627 +#: sql_help.c:4729 sql_help.c:4731 sql_help.c:4883 sql_help.c:4885 +#: sql_help.c:5059 sql_help.c:5061 sql_help.c:5128 sql_help.c:5130 msgid "count" msgstr "cantidad" -#: sql_help.c:3919 sql_help.c:4382 +#: sql_help.c:3939 sql_help.c:4402 msgid "sequence_name" msgstr "nombre_secuencia" -#: sql_help.c:3937 sql_help.c:4400 +#: sql_help.c:3957 sql_help.c:4420 msgid "arg_name" msgstr "nombre_arg" -#: sql_help.c:3938 sql_help.c:4401 +#: sql_help.c:3958 sql_help.c:4421 msgid "arg_type" msgstr "tipo_arg" -#: sql_help.c:3945 sql_help.c:4408 +#: sql_help.c:3965 sql_help.c:4428 msgid "loid" msgstr "loid" -#: sql_help.c:3976 +#: sql_help.c:3996 msgid "remote_schema" msgstr "esquema_remoto" -#: sql_help.c:3979 +#: sql_help.c:3999 msgid "local_schema" msgstr "esquema_local" -#: sql_help.c:4014 +#: sql_help.c:4034 msgid "conflict_target" msgstr "destino_de_conflict" -#: sql_help.c:4015 +#: sql_help.c:4035 msgid "conflict_action" msgstr "acción_de_conflict" -#: sql_help.c:4018 +#: sql_help.c:4038 msgid "where conflict_target can be one of:" msgstr "donde destino_de_conflict puede ser uno de:" -#: sql_help.c:4019 +#: sql_help.c:4039 msgid "index_column_name" msgstr "nombre_de_columna_de_índice" -#: sql_help.c:4020 +#: sql_help.c:4040 msgid "index_expression" msgstr "expresión_de_índice" -#: sql_help.c:4023 +#: sql_help.c:4043 msgid "index_predicate" msgstr "predicado_de_índice" -#: sql_help.c:4025 +#: sql_help.c:4045 msgid "and conflict_action is one of:" msgstr "donde acción_de_conflict es una de:" -#: sql_help.c:4031 sql_help.c:4132 sql_help.c:4972 +#: sql_help.c:4051 sql_help.c:4152 sql_help.c:4992 msgid "sub-SELECT" msgstr "sub-SELECT" -#: sql_help.c:4040 sql_help.c:4173 sql_help.c:4948 +#: sql_help.c:4060 sql_help.c:4193 sql_help.c:4968 msgid "channel" msgstr "canal" -#: sql_help.c:4062 +#: sql_help.c:4082 msgid "lockmode" msgstr "modo_bloqueo" -#: sql_help.c:4063 +#: sql_help.c:4083 msgid "where lockmode is one of:" msgstr "donde modo_bloqueo es uno de:" -#: sql_help.c:4103 +#: sql_help.c:4123 msgid "target_table_name" msgstr "nombre_de_tabla_destino" -#: sql_help.c:4104 +#: sql_help.c:4124 msgid "target_alias" msgstr "alias_de_destino" -#: sql_help.c:4105 +#: sql_help.c:4125 msgid "data_source" msgstr "origin_de_datos" -#: sql_help.c:4106 sql_help.c:4641 sql_help.c:4899 sql_help.c:5144 +#: sql_help.c:4126 sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 msgid "join_condition" msgstr "condición_de_join" -#: sql_help.c:4107 +#: sql_help.c:4127 msgid "when_clause" msgstr "cláusula_when" -#: sql_help.c:4110 +#: sql_help.c:4130 msgid "where data_source is:" msgstr "donde origen_de_datos es:" -#: sql_help.c:4111 +#: sql_help.c:4131 msgid "source_table_name" msgstr "nombre_tabla_origen" -#: sql_help.c:4112 +#: sql_help.c:4132 msgid "source_query" msgstr "consulta_origen" -#: sql_help.c:4113 +#: sql_help.c:4133 msgid "source_alias" msgstr "alias_origen" -#: sql_help.c:4114 +#: sql_help.c:4134 msgid "and when_clause is:" msgstr "y cláusula_when es:" -#: sql_help.c:4116 sql_help.c:4119 +#: sql_help.c:4136 sql_help.c:4139 msgid "merge_update" msgstr "update_de_merge" -#: sql_help.c:4117 sql_help.c:4120 +#: sql_help.c:4137 sql_help.c:4140 msgid "merge_delete" msgstr "delete_de_merge" -#: sql_help.c:4122 +#: sql_help.c:4142 msgid "merge_insert" msgstr "insert_de_merge" -#: sql_help.c:4123 +#: sql_help.c:4143 msgid "and merge_insert is:" msgstr "y insert_de_merge es:" -#: sql_help.c:4126 +#: sql_help.c:4146 msgid "and merge_update is:" msgstr "y update_de_merge es:" -#: sql_help.c:4133 +#: sql_help.c:4153 msgid "and merge_delete is:" msgstr "y delete_de_merge es:" -#: sql_help.c:4174 +#: sql_help.c:4194 msgid "payload" msgstr "carga" -#: sql_help.c:4201 +#: sql_help.c:4221 msgid "old_role" msgstr "rol_antiguo" -#: sql_help.c:4202 +#: sql_help.c:4222 msgid "new_role" msgstr "rol_nuevo" -#: sql_help.c:4241 sql_help.c:4450 sql_help.c:4458 +#: sql_help.c:4261 sql_help.c:4470 sql_help.c:4478 msgid "savepoint_name" msgstr "nombre_de_savepoint" -#: sql_help.c:4598 sql_help.c:4656 sql_help.c:4856 sql_help.c:4914 -#: sql_help.c:5101 sql_help.c:5159 +#: sql_help.c:4618 sql_help.c:4676 sql_help.c:4876 sql_help.c:4934 +#: sql_help.c:5121 sql_help.c:5179 msgid "grouping_element" msgstr "elemento_agrupante" -#: sql_help.c:4600 sql_help.c:4704 sql_help.c:4858 sql_help.c:5103 +#: sql_help.c:4620 sql_help.c:4724 sql_help.c:4878 sql_help.c:5123 msgid "window_name" msgstr "nombre_de_ventana" -#: sql_help.c:4601 sql_help.c:4705 sql_help.c:4859 sql_help.c:5104 +#: sql_help.c:4621 sql_help.c:4725 sql_help.c:4879 sql_help.c:5124 msgid "window_definition" msgstr "definición_de_ventana" -#: sql_help.c:4602 sql_help.c:4616 sql_help.c:4660 sql_help.c:4706 -#: sql_help.c:4860 sql_help.c:4874 sql_help.c:4918 sql_help.c:5105 -#: sql_help.c:5119 sql_help.c:5163 +#: sql_help.c:4622 sql_help.c:4636 sql_help.c:4680 sql_help.c:4726 +#: sql_help.c:4880 sql_help.c:4894 sql_help.c:4938 sql_help.c:5125 +#: sql_help.c:5139 sql_help.c:5183 msgid "select" msgstr "select" -#: sql_help.c:4608 sql_help.c:4866 sql_help.c:5111 +#: sql_help.c:4628 sql_help.c:4886 sql_help.c:5131 msgid "from_reference" msgstr "referencia_en_from" -#: sql_help.c:4609 sql_help.c:4867 sql_help.c:5112 +#: sql_help.c:4629 sql_help.c:4887 sql_help.c:5132 msgid "where from_item can be one of:" msgstr "donde item_de_from puede ser uno de:" -#: sql_help.c:4612 sql_help.c:4618 sql_help.c:4621 sql_help.c:4625 -#: sql_help.c:4637 sql_help.c:4870 sql_help.c:4876 sql_help.c:4879 -#: sql_help.c:4883 sql_help.c:4895 sql_help.c:5115 sql_help.c:5121 -#: sql_help.c:5124 sql_help.c:5128 sql_help.c:5140 +#: sql_help.c:4632 sql_help.c:4638 sql_help.c:4641 sql_help.c:4645 +#: sql_help.c:4657 sql_help.c:4890 sql_help.c:4896 sql_help.c:4899 +#: sql_help.c:4903 sql_help.c:4915 sql_help.c:5135 sql_help.c:5141 +#: sql_help.c:5144 sql_help.c:5148 sql_help.c:5160 msgid "column_alias" msgstr "alias_de_columna" -#: sql_help.c:4613 sql_help.c:4871 sql_help.c:5116 +#: sql_help.c:4633 sql_help.c:4891 sql_help.c:5136 msgid "sampling_method" msgstr "método_de_sampleo" -#: sql_help.c:4615 sql_help.c:4873 sql_help.c:5118 +#: sql_help.c:4635 sql_help.c:4893 sql_help.c:5138 msgid "seed" msgstr "semilla" -#: sql_help.c:4619 sql_help.c:4658 sql_help.c:4877 sql_help.c:4916 -#: sql_help.c:5122 sql_help.c:5161 +#: sql_help.c:4639 sql_help.c:4678 sql_help.c:4897 sql_help.c:4936 +#: sql_help.c:5142 sql_help.c:5181 msgid "with_query_name" msgstr "nombre_consulta_with" -#: sql_help.c:4629 sql_help.c:4632 sql_help.c:4635 sql_help.c:4887 -#: sql_help.c:4890 sql_help.c:4893 sql_help.c:5132 sql_help.c:5135 -#: sql_help.c:5138 +#: sql_help.c:4649 sql_help.c:4652 sql_help.c:4655 sql_help.c:4907 +#: sql_help.c:4910 sql_help.c:4913 sql_help.c:5152 sql_help.c:5155 +#: sql_help.c:5158 msgid "column_definition" msgstr "definición_de_columna" -#: sql_help.c:4639 sql_help.c:4645 sql_help.c:4897 sql_help.c:4903 -#: sql_help.c:5142 sql_help.c:5148 +#: sql_help.c:4659 sql_help.c:4665 sql_help.c:4917 sql_help.c:4923 +#: sql_help.c:5162 sql_help.c:5168 msgid "join_type" msgstr "tipo_de_join" -#: sql_help.c:4642 sql_help.c:4900 sql_help.c:5145 +#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 msgid "join_column" msgstr "columna_de_join" -#: sql_help.c:4643 sql_help.c:4901 sql_help.c:5146 +#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 msgid "join_using_alias" msgstr "join_con_alias" -#: sql_help.c:4649 sql_help.c:4907 sql_help.c:5152 +#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 msgid "and grouping_element can be one of:" msgstr "donde elemento_agrupante puede ser una de:" -#: sql_help.c:4657 sql_help.c:4915 sql_help.c:5160 +#: sql_help.c:4677 sql_help.c:4935 sql_help.c:5180 msgid "and with_query is:" msgstr "y consulta_with es:" -#: sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 +#: sql_help.c:4681 sql_help.c:4939 sql_help.c:5184 msgid "values" msgstr "valores" -#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 +#: sql_help.c:4682 sql_help.c:4940 sql_help.c:5185 msgid "insert" msgstr "insert" -#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 +#: sql_help.c:4683 sql_help.c:4941 sql_help.c:5186 msgid "update" msgstr "update" -#: sql_help.c:4664 sql_help.c:4922 sql_help.c:5167 +#: sql_help.c:4684 sql_help.c:4942 sql_help.c:5187 msgid "delete" msgstr "delete" -#: sql_help.c:4665 sql_help.c:4923 sql_help.c:5168 +#: sql_help.c:4685 sql_help.c:4943 sql_help.c:5188 msgid "merge" msgstr "merge" -#: sql_help.c:4667 sql_help.c:4925 sql_help.c:5170 +#: sql_help.c:4687 sql_help.c:4945 sql_help.c:5190 msgid "search_seq_col_name" msgstr "nombre_col_para_sec_de_búsqueda" -#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 +#: sql_help.c:4689 sql_help.c:4947 sql_help.c:5192 msgid "cycle_mark_col_name" msgstr "nombre_col_para_marca_de_ciclo" -#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 +#: sql_help.c:4690 sql_help.c:4948 sql_help.c:5193 msgid "cycle_mark_value" msgstr "valor_marca_de_ciclo" -#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 +#: sql_help.c:4691 sql_help.c:4949 sql_help.c:5194 msgid "cycle_mark_default" msgstr "valor_predet_marca_de_ciclo" -#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 +#: sql_help.c:4692 sql_help.c:4950 sql_help.c:5195 msgid "cycle_path_col_name" msgstr "nombre_col_para_ruta_de_ciclo" -#: sql_help.c:4699 +#: sql_help.c:4719 msgid "new_table" msgstr "nueva_tabla" -#: sql_help.c:4770 +#: sql_help.c:4790 msgid "snapshot_id" msgstr "id_de_snapshot" -#: sql_help.c:5037 +#: sql_help.c:5057 msgid "sort_expression" msgstr "expresión_orden" -#: sql_help.c:5182 sql_help.c:6166 +#: sql_help.c:5202 sql_help.c:6186 msgid "abort the current transaction" msgstr "aborta la transacción en curso" -#: sql_help.c:5188 +#: sql_help.c:5208 msgid "change the definition of an aggregate function" msgstr "cambia la definición de una función de agregación" -#: sql_help.c:5194 +#: sql_help.c:5214 msgid "change the definition of a collation" msgstr "cambia la definición de un ordenamiento" -#: sql_help.c:5200 +#: sql_help.c:5220 msgid "change the definition of a conversion" msgstr "cambia la definición de una conversión" -#: sql_help.c:5206 +#: sql_help.c:5226 msgid "change a database" msgstr "cambia una base de datos" -#: sql_help.c:5212 +#: sql_help.c:5232 msgid "define default access privileges" msgstr "define privilegios de acceso por omisión" -#: sql_help.c:5218 +#: sql_help.c:5238 msgid "change the definition of a domain" msgstr "cambia la definición de un dominio" -#: sql_help.c:5224 +#: sql_help.c:5244 msgid "change the definition of an event trigger" msgstr "cambia la definición de un disparador por evento" -#: sql_help.c:5230 +#: sql_help.c:5250 msgid "change the definition of an extension" msgstr "cambia la definición de una extensión" -#: sql_help.c:5236 +#: sql_help.c:5256 msgid "change the definition of a foreign-data wrapper" msgstr "cambia la definición de un conector de datos externos" -#: sql_help.c:5242 +#: sql_help.c:5262 msgid "change the definition of a foreign table" msgstr "cambia la definición de una tabla foránea" -#: sql_help.c:5248 +#: sql_help.c:5268 msgid "change the definition of a function" msgstr "cambia la definición de una función" -#: sql_help.c:5254 +#: sql_help.c:5274 msgid "change role name or membership" msgstr "cambiar nombre del rol o membresía" -#: sql_help.c:5260 +#: sql_help.c:5280 msgid "change the definition of an index" msgstr "cambia la definición de un índice" -#: sql_help.c:5266 +#: sql_help.c:5286 msgid "change the definition of a procedural language" msgstr "cambia la definición de un lenguaje procedural" -#: sql_help.c:5272 +#: sql_help.c:5292 msgid "change the definition of a large object" msgstr "cambia la definición de un objeto grande" -#: sql_help.c:5278 +#: sql_help.c:5298 msgid "change the definition of a materialized view" msgstr "cambia la definición de una vista materializada" -#: sql_help.c:5284 +#: sql_help.c:5304 msgid "change the definition of an operator" msgstr "cambia la definición de un operador" -#: sql_help.c:5290 +#: sql_help.c:5310 msgid "change the definition of an operator class" msgstr "cambia la definición de una clase de operadores" -#: sql_help.c:5296 +#: sql_help.c:5316 msgid "change the definition of an operator family" msgstr "cambia la definición de una familia de operadores" -#: sql_help.c:5302 +#: sql_help.c:5322 msgid "change the definition of a row-level security policy" msgstr "cambia la definición de una política de seguridad a nivel de registros" -#: sql_help.c:5308 +#: sql_help.c:5328 msgid "change the definition of a procedure" msgstr "cambia la definición de un procedimiento" -#: sql_help.c:5314 +#: sql_help.c:5334 msgid "change the definition of a publication" msgstr "cambia la definición de una publicación" -#: sql_help.c:5320 sql_help.c:5422 +#: sql_help.c:5340 sql_help.c:5442 msgid "change a database role" msgstr "cambia un rol de la base de datos" -#: sql_help.c:5326 +#: sql_help.c:5346 msgid "change the definition of a routine" msgstr "cambia la definición de una rutina" -#: sql_help.c:5332 +#: sql_help.c:5352 msgid "change the definition of a rule" msgstr "cambia la definición de una regla" -#: sql_help.c:5338 +#: sql_help.c:5358 msgid "change the definition of a schema" msgstr "cambia la definición de un esquema" -#: sql_help.c:5344 +#: sql_help.c:5364 msgid "change the definition of a sequence generator" msgstr "cambia la definición de un generador secuencial" -#: sql_help.c:5350 +#: sql_help.c:5370 msgid "change the definition of a foreign server" msgstr "cambia la definición de un servidor foráneo" -#: sql_help.c:5356 +#: sql_help.c:5376 msgid "change the definition of an extended statistics object" msgstr "cambia la definición de un objeto de estadísticas extendidas" -#: sql_help.c:5362 +#: sql_help.c:5382 msgid "change the definition of a subscription" msgstr "cambia la definición de una suscripción" -#: sql_help.c:5368 +#: sql_help.c:5388 msgid "change a server configuration parameter" msgstr "cambia un parámetro de configuración del servidor" -#: sql_help.c:5374 +#: sql_help.c:5394 msgid "change the definition of a table" msgstr "cambia la definición de una tabla" -#: sql_help.c:5380 +#: sql_help.c:5400 msgid "change the definition of a tablespace" msgstr "cambia la definición de un tablespace" -#: sql_help.c:5386 +#: sql_help.c:5406 msgid "change the definition of a text search configuration" msgstr "cambia la definición de una configuración de búsqueda en texto" -#: sql_help.c:5392 +#: sql_help.c:5412 msgid "change the definition of a text search dictionary" msgstr "cambia la definición de un diccionario de búsqueda en texto" -#: sql_help.c:5398 +#: sql_help.c:5418 msgid "change the definition of a text search parser" msgstr "cambia la definición de un analizador de búsqueda en texto" -#: sql_help.c:5404 +#: sql_help.c:5424 msgid "change the definition of a text search template" msgstr "cambia la definición de una plantilla de búsqueda en texto" -#: sql_help.c:5410 +#: sql_help.c:5430 msgid "change the definition of a trigger" msgstr "cambia la definición de un disparador" -#: sql_help.c:5416 +#: sql_help.c:5436 msgid "change the definition of a type" msgstr "cambia la definición de un tipo" -#: sql_help.c:5428 +#: sql_help.c:5448 msgid "change the definition of a user mapping" msgstr "cambia la definición de un mapeo de usuario" -#: sql_help.c:5434 +#: sql_help.c:5454 msgid "change the definition of a view" msgstr "cambia la definición de una vista" -#: sql_help.c:5440 +#: sql_help.c:5460 msgid "collect statistics about a database" msgstr "recolecta estadísticas sobre una base de datos" -#: sql_help.c:5446 sql_help.c:6244 +#: sql_help.c:5466 sql_help.c:6264 msgid "start a transaction block" msgstr "inicia un bloque de transacción" -#: sql_help.c:5452 +#: sql_help.c:5472 msgid "invoke a procedure" msgstr "invocar un procedimiento" -#: sql_help.c:5458 +#: sql_help.c:5478 msgid "force a write-ahead log checkpoint" msgstr "fuerza un checkpoint de wal" -#: sql_help.c:5464 +#: sql_help.c:5484 msgid "close a cursor" msgstr "cierra un cursor" -#: sql_help.c:5470 +#: sql_help.c:5490 msgid "cluster a table according to an index" msgstr "reordena una tabla siguiendo un índice" -#: sql_help.c:5476 +#: sql_help.c:5496 msgid "define or change the comment of an object" msgstr "define o cambia un comentario sobre un objeto" -#: sql_help.c:5482 sql_help.c:6040 +#: sql_help.c:5502 sql_help.c:6060 msgid "commit the current transaction" msgstr "compromete la transacción en curso" -#: sql_help.c:5488 +#: sql_help.c:5508 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "confirma una transacción que fue preparada para two-phase commit" -#: sql_help.c:5494 +#: sql_help.c:5514 msgid "copy data between a file and a table" msgstr "copia datos entre un archivo y una tabla" -#: sql_help.c:5500 +#: sql_help.c:5520 msgid "define a new access method" msgstr "define un nuevo método de acceso" -#: sql_help.c:5506 +#: sql_help.c:5526 msgid "define a new aggregate function" msgstr "define una nueva función de agregación" -#: sql_help.c:5512 +#: sql_help.c:5532 msgid "define a new cast" msgstr "define una nueva conversión de tipo" -#: sql_help.c:5518 +#: sql_help.c:5538 msgid "define a new collation" msgstr "define un nuevo ordenamiento" -#: sql_help.c:5524 +#: sql_help.c:5544 msgid "define a new encoding conversion" msgstr "define una nueva conversión de codificación" -#: sql_help.c:5530 +#: sql_help.c:5550 msgid "create a new database" msgstr "crea una nueva base de datos" -#: sql_help.c:5536 +#: sql_help.c:5556 msgid "define a new domain" msgstr "define un nuevo dominio" -#: sql_help.c:5542 +#: sql_help.c:5562 msgid "define a new event trigger" msgstr "define un nuevo disparador por evento" -#: sql_help.c:5548 +#: sql_help.c:5568 msgid "install an extension" msgstr "instala una extensión" -#: sql_help.c:5554 +#: sql_help.c:5574 msgid "define a new foreign-data wrapper" msgstr "define un nuevo conector de datos externos" -#: sql_help.c:5560 +#: sql_help.c:5580 msgid "define a new foreign table" msgstr "define una nueva tabla foránea" -#: sql_help.c:5566 +#: sql_help.c:5586 msgid "define a new function" msgstr "define una nueva función" -#: sql_help.c:5572 sql_help.c:5632 sql_help.c:5734 +#: sql_help.c:5592 sql_help.c:5652 sql_help.c:5754 msgid "define a new database role" msgstr "define un nuevo rol de la base de datos" -#: sql_help.c:5578 +#: sql_help.c:5598 msgid "define a new index" msgstr "define un nuevo índice" -#: sql_help.c:5584 +#: sql_help.c:5604 msgid "define a new procedural language" msgstr "define un nuevo lenguaje procedural" -#: sql_help.c:5590 +#: sql_help.c:5610 msgid "define a new materialized view" msgstr "define una nueva vista materializada" -#: sql_help.c:5596 +#: sql_help.c:5616 msgid "define a new operator" msgstr "define un nuevo operador" -#: sql_help.c:5602 +#: sql_help.c:5622 msgid "define a new operator class" msgstr "define una nueva clase de operadores" -#: sql_help.c:5608 +#: sql_help.c:5628 msgid "define a new operator family" msgstr "define una nueva familia de operadores" -#: sql_help.c:5614 +#: sql_help.c:5634 msgid "define a new row-level security policy for a table" msgstr "define una nueva política de seguridad a nivel de registros para una tabla" -#: sql_help.c:5620 +#: sql_help.c:5640 msgid "define a new procedure" msgstr "define un nuevo procedimiento" -#: sql_help.c:5626 +#: sql_help.c:5646 msgid "define a new publication" msgstr "define una nueva publicación" -#: sql_help.c:5638 +#: sql_help.c:5658 msgid "define a new rewrite rule" msgstr "define una nueva regla de reescritura" -#: sql_help.c:5644 +#: sql_help.c:5664 msgid "define a new schema" msgstr "define un nuevo esquema" -#: sql_help.c:5650 +#: sql_help.c:5670 msgid "define a new sequence generator" msgstr "define un nuevo generador secuencial" -#: sql_help.c:5656 +#: sql_help.c:5676 msgid "define a new foreign server" msgstr "define un nuevo servidor foráneo" -#: sql_help.c:5662 +#: sql_help.c:5682 msgid "define extended statistics" msgstr "define estadísticas extendidas" -#: sql_help.c:5668 +#: sql_help.c:5688 msgid "define a new subscription" msgstr "define una nueva suscripción" -#: sql_help.c:5674 +#: sql_help.c:5694 msgid "define a new table" msgstr "define una nueva tabla" -#: sql_help.c:5680 sql_help.c:6202 +#: sql_help.c:5700 sql_help.c:6222 msgid "define a new table from the results of a query" msgstr "crea una nueva tabla usando los resultados de una consulta" -#: sql_help.c:5686 +#: sql_help.c:5706 msgid "define a new tablespace" msgstr "define un nuevo tablespace" -#: sql_help.c:5692 +#: sql_help.c:5712 msgid "define a new text search configuration" msgstr "define una nueva configuración de búsqueda en texto" -#: sql_help.c:5698 +#: sql_help.c:5718 msgid "define a new text search dictionary" msgstr "define un nuevo diccionario de búsqueda en texto" -#: sql_help.c:5704 +#: sql_help.c:5724 msgid "define a new text search parser" msgstr "define un nuevo analizador de búsqueda en texto" -#: sql_help.c:5710 +#: sql_help.c:5730 msgid "define a new text search template" msgstr "define una nueva plantilla de búsqueda en texto" -#: sql_help.c:5716 +#: sql_help.c:5736 msgid "define a new transform" msgstr "define una nueva transformación" -#: sql_help.c:5722 +#: sql_help.c:5742 msgid "define a new trigger" msgstr "define un nuevo disparador" -#: sql_help.c:5728 +#: sql_help.c:5748 msgid "define a new data type" msgstr "define un nuevo tipo de datos" -#: sql_help.c:5740 +#: sql_help.c:5760 msgid "define a new mapping of a user to a foreign server" msgstr "define un nuevo mapa de usuario a servidor foráneo" -#: sql_help.c:5746 +#: sql_help.c:5766 msgid "define a new view" msgstr "define una nueva vista" -#: sql_help.c:5752 +#: sql_help.c:5772 msgid "deallocate a prepared statement" msgstr "elimina una sentencia preparada" -#: sql_help.c:5758 +#: sql_help.c:5778 msgid "define a cursor" msgstr "define un nuevo cursor" -#: sql_help.c:5764 +#: sql_help.c:5784 msgid "delete rows of a table" msgstr "elimina filas de una tabla" -#: sql_help.c:5770 +#: sql_help.c:5790 msgid "discard session state" msgstr "descartar datos de la sesión" -#: sql_help.c:5776 +#: sql_help.c:5796 msgid "execute an anonymous code block" msgstr "ejecutar un bloque anónimo de código" -#: sql_help.c:5782 +#: sql_help.c:5802 msgid "remove an access method" msgstr "elimina un método de acceso" -#: sql_help.c:5788 +#: sql_help.c:5808 msgid "remove an aggregate function" msgstr "elimina una función de agregación" -#: sql_help.c:5794 +#: sql_help.c:5814 msgid "remove a cast" msgstr "elimina una conversión de tipo" -#: sql_help.c:5800 +#: sql_help.c:5820 msgid "remove a collation" msgstr "elimina un ordenamiento" -#: sql_help.c:5806 +#: sql_help.c:5826 msgid "remove a conversion" msgstr "elimina una conversión de codificación" -#: sql_help.c:5812 +#: sql_help.c:5832 msgid "remove a database" msgstr "elimina una base de datos" -#: sql_help.c:5818 +#: sql_help.c:5838 msgid "remove a domain" msgstr "elimina un dominio" -#: sql_help.c:5824 +#: sql_help.c:5844 msgid "remove an event trigger" msgstr "elimina un disparador por evento" -#: sql_help.c:5830 +#: sql_help.c:5850 msgid "remove an extension" msgstr "elimina una extensión" -#: sql_help.c:5836 +#: sql_help.c:5856 msgid "remove a foreign-data wrapper" msgstr "elimina un conector de datos externos" -#: sql_help.c:5842 +#: sql_help.c:5862 msgid "remove a foreign table" msgstr "elimina una tabla foránea" -#: sql_help.c:5848 +#: sql_help.c:5868 msgid "remove a function" msgstr "elimina una función" -#: sql_help.c:5854 sql_help.c:5920 sql_help.c:6022 +#: sql_help.c:5874 sql_help.c:5940 sql_help.c:6042 msgid "remove a database role" msgstr "elimina un rol de base de datos" -#: sql_help.c:5860 +#: sql_help.c:5880 msgid "remove an index" msgstr "elimina un índice" -#: sql_help.c:5866 +#: sql_help.c:5886 msgid "remove a procedural language" msgstr "elimina un lenguaje procedural" -#: sql_help.c:5872 +#: sql_help.c:5892 msgid "remove a materialized view" msgstr "elimina una vista materializada" -#: sql_help.c:5878 +#: sql_help.c:5898 msgid "remove an operator" msgstr "elimina un operador" -#: sql_help.c:5884 +#: sql_help.c:5904 msgid "remove an operator class" msgstr "elimina una clase de operadores" -#: sql_help.c:5890 +#: sql_help.c:5910 msgid "remove an operator family" msgstr "elimina una familia de operadores" -#: sql_help.c:5896 +#: sql_help.c:5916 msgid "remove database objects owned by a database role" msgstr "elimina objetos de propiedad de un rol de la base de datos" -#: sql_help.c:5902 +#: sql_help.c:5922 msgid "remove a row-level security policy from a table" msgstr "elimina una política de seguridad a nivel de registros de una tabla" -#: sql_help.c:5908 +#: sql_help.c:5928 msgid "remove a procedure" msgstr "elimina un procedimiento" -#: sql_help.c:5914 +#: sql_help.c:5934 msgid "remove a publication" msgstr "elimina una publicación" -#: sql_help.c:5926 +#: sql_help.c:5946 msgid "remove a routine" msgstr "elimina una rutina" -#: sql_help.c:5932 +#: sql_help.c:5952 msgid "remove a rewrite rule" msgstr "elimina una regla de reescritura" -#: sql_help.c:5938 +#: sql_help.c:5958 msgid "remove a schema" msgstr "elimina un esquema" -#: sql_help.c:5944 +#: sql_help.c:5964 msgid "remove a sequence" msgstr "elimina un generador secuencial" -#: sql_help.c:5950 +#: sql_help.c:5970 msgid "remove a foreign server descriptor" msgstr "elimina un descriptor de servidor foráneo" -#: sql_help.c:5956 +#: sql_help.c:5976 msgid "remove extended statistics" msgstr "elimina estadísticas extendidas" -#: sql_help.c:5962 +#: sql_help.c:5982 msgid "remove a subscription" msgstr "elimina una suscripción" -#: sql_help.c:5968 +#: sql_help.c:5988 msgid "remove a table" msgstr "elimina una tabla" -#: sql_help.c:5974 +#: sql_help.c:5994 msgid "remove a tablespace" msgstr "elimina un tablespace" -#: sql_help.c:5980 +#: sql_help.c:6000 msgid "remove a text search configuration" msgstr "elimina una configuración de búsqueda en texto" -#: sql_help.c:5986 +#: sql_help.c:6006 msgid "remove a text search dictionary" msgstr "elimina un diccionario de búsqueda en texto" -#: sql_help.c:5992 +#: sql_help.c:6012 msgid "remove a text search parser" msgstr "elimina un analizador de búsqueda en texto" -#: sql_help.c:5998 +#: sql_help.c:6018 msgid "remove a text search template" msgstr "elimina una plantilla de búsqueda en texto" -#: sql_help.c:6004 +#: sql_help.c:6024 msgid "remove a transform" msgstr "elimina una transformación" -#: sql_help.c:6010 +#: sql_help.c:6030 msgid "remove a trigger" msgstr "elimina un disparador" -#: sql_help.c:6016 +#: sql_help.c:6036 msgid "remove a data type" msgstr "elimina un tipo de datos" -#: sql_help.c:6028 +#: sql_help.c:6048 msgid "remove a user mapping for a foreign server" msgstr "elimina un mapeo de usuario para un servidor remoto" -#: sql_help.c:6034 +#: sql_help.c:6054 msgid "remove a view" msgstr "elimina una vista" -#: sql_help.c:6046 +#: sql_help.c:6066 msgid "execute a prepared statement" msgstr "ejecuta una sentencia preparada" -#: sql_help.c:6052 +#: sql_help.c:6072 msgid "show the execution plan of a statement" msgstr "muestra el plan de ejecución de una sentencia" -#: sql_help.c:6058 +#: sql_help.c:6078 msgid "retrieve rows from a query using a cursor" msgstr "recupera filas de una consulta usando un cursor" -#: sql_help.c:6064 +#: sql_help.c:6084 msgid "define access privileges" msgstr "define privilegios de acceso" -#: sql_help.c:6070 +#: sql_help.c:6090 msgid "import table definitions from a foreign server" msgstr "importa definiciones de tablas desde un servidor foráneo" -#: sql_help.c:6076 +#: sql_help.c:6096 msgid "create new rows in a table" msgstr "crea nuevas filas en una tabla" -#: sql_help.c:6082 +#: sql_help.c:6102 msgid "listen for a notification" msgstr "escucha notificaciones" -#: sql_help.c:6088 +#: sql_help.c:6108 msgid "load a shared library file" msgstr "carga un archivo de biblioteca compartida" -#: sql_help.c:6094 +#: sql_help.c:6114 msgid "lock a table" msgstr "bloquea una tabla" -#: sql_help.c:6100 +#: sql_help.c:6120 msgid "conditionally insert, update, or delete rows of a table" msgstr "condicionalmente inserta, actualiza o elimina filas de una tabla" -#: sql_help.c:6106 +#: sql_help.c:6126 msgid "position a cursor" msgstr "reposiciona un cursor" -#: sql_help.c:6112 +#: sql_help.c:6132 msgid "generate a notification" msgstr "genera una notificación" -#: sql_help.c:6118 +#: sql_help.c:6138 msgid "prepare a statement for execution" msgstr "prepara una sentencia para ejecución" -#: sql_help.c:6124 +#: sql_help.c:6144 msgid "prepare the current transaction for two-phase commit" msgstr "prepara la transacción actual para two-phase commit" -#: sql_help.c:6130 +#: sql_help.c:6150 msgid "change the ownership of database objects owned by a database role" msgstr "cambia de dueño a los objetos de propiedad de un rol de la base de datos" -#: sql_help.c:6136 +#: sql_help.c:6156 msgid "replace the contents of a materialized view" msgstr "reemplaza los contenidos de una vista materializada" -#: sql_help.c:6142 +#: sql_help.c:6162 msgid "rebuild indexes" msgstr "reconstruye índices" -#: sql_help.c:6148 +#: sql_help.c:6168 msgid "release a previously defined savepoint" msgstr "libera un “savepoint” definido previamente" -#: sql_help.c:6154 +#: sql_help.c:6174 msgid "restore the value of a run-time parameter to the default value" msgstr "restaura el valor de un parámetro de configuración al valor inicial" -#: sql_help.c:6160 +#: sql_help.c:6180 msgid "remove access privileges" msgstr "revoca privilegios de acceso" -#: sql_help.c:6172 +#: sql_help.c:6192 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "cancela una transacción que fue previamente preparada para two-phase commit" -#: sql_help.c:6178 +#: sql_help.c:6198 msgid "roll back to a savepoint" msgstr "descartar hacia un “savepoint”" -#: sql_help.c:6184 +#: sql_help.c:6204 msgid "define a new savepoint within the current transaction" msgstr "define un nuevo ”savepoint” en la transacción en curso" -#: sql_help.c:6190 +#: sql_help.c:6210 msgid "define or change a security label applied to an object" msgstr "define o cambia una etiqueta de seguridad sobre un objeto" -#: sql_help.c:6196 sql_help.c:6250 sql_help.c:6286 +#: sql_help.c:6216 sql_help.c:6270 sql_help.c:6306 msgid "retrieve rows from a table or view" msgstr "recupera filas desde una tabla o vista" -#: sql_help.c:6208 +#: sql_help.c:6228 msgid "change a run-time parameter" msgstr "cambia un parámetro de configuración" -#: sql_help.c:6214 +#: sql_help.c:6234 msgid "set constraint check timing for the current transaction" msgstr "define el modo de verificación de las restricciones de la transacción en curso" -#: sql_help.c:6220 +#: sql_help.c:6240 msgid "set the current user identifier of the current session" msgstr "define el identificador de usuario actual de la sesión actual" -#: sql_help.c:6226 +#: sql_help.c:6246 msgid "set the session user identifier and the current user identifier of the current session" msgstr "" "define el identificador del usuario de sesión y el identificador\n" "del usuario actual de la sesión en curso" -#: sql_help.c:6232 +#: sql_help.c:6252 msgid "set the characteristics of the current transaction" msgstr "define las características de la transacción en curso" -#: sql_help.c:6238 +#: sql_help.c:6258 msgid "show the value of a run-time parameter" msgstr "muestra el valor de un parámetro de configuración" -#: sql_help.c:6256 +#: sql_help.c:6276 msgid "empty a table or set of tables" msgstr "vacía una tabla o conjunto de tablas" -#: sql_help.c:6262 +#: sql_help.c:6282 msgid "stop listening for a notification" msgstr "deja de escuchar una notificación" -#: sql_help.c:6268 +#: sql_help.c:6288 msgid "update rows of a table" msgstr "actualiza filas de una tabla" -#: sql_help.c:6274 +#: sql_help.c:6294 msgid "garbage-collect and optionally analyze a database" msgstr "recolecta basura y opcionalmente estadísticas sobre una base de datos" -#: sql_help.c:6280 +#: sql_help.c:6300 msgid "compute a set of rows" msgstr "calcula un conjunto de registros" diff -Nru postgresql-17-17.7/src/bin/psql/po/ja.po postgresql-17-17.8/src/bin/psql/po/ja.po --- postgresql-17-17.7/src/bin/psql/po/ja.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/psql/po/ja.po 2026-02-09 21:51:54.000000000 +0000 @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: psql (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-05 10:30+0900\n" -"PO-Revision-Date: 2025-11-05 11:19+0900\n" +"POT-Creation-Date: 2025-11-28 14:17+0900\n" +"PO-Revision-Date: 2025-11-28 15:44+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -4183,189 +4183,189 @@ #: sql_help.c:732 sql_help.c:736 sql_help.c:757 sql_help.c:760 sql_help.c:763 #: sql_help.c:792 sql_help.c:804 sql_help.c:812 sql_help.c:815 sql_help.c:818 #: sql_help.c:833 sql_help.c:836 sql_help.c:865 sql_help.c:870 sql_help.c:875 -#: sql_help.c:880 sql_help.c:885 sql_help.c:912 sql_help.c:914 sql_help.c:916 -#: sql_help.c:918 sql_help.c:921 sql_help.c:923 sql_help.c:970 sql_help.c:1015 -#: sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 sql_help.c:1035 -#: sql_help.c:1054 sql_help.c:1065 sql_help.c:1067 sql_help.c:1087 -#: sql_help.c:1097 sql_help.c:1098 sql_help.c:1100 sql_help.c:1102 -#: sql_help.c:1114 sql_help.c:1118 sql_help.c:1120 sql_help.c:1132 -#: sql_help.c:1134 sql_help.c:1136 sql_help.c:1138 sql_help.c:1157 -#: sql_help.c:1159 sql_help.c:1163 sql_help.c:1167 sql_help.c:1171 -#: sql_help.c:1174 sql_help.c:1175 sql_help.c:1176 sql_help.c:1179 -#: sql_help.c:1182 sql_help.c:1184 sql_help.c:1324 sql_help.c:1326 -#: sql_help.c:1329 sql_help.c:1332 sql_help.c:1334 sql_help.c:1336 -#: sql_help.c:1339 sql_help.c:1342 sql_help.c:1464 sql_help.c:1466 -#: sql_help.c:1468 sql_help.c:1471 sql_help.c:1492 sql_help.c:1495 -#: sql_help.c:1498 sql_help.c:1501 sql_help.c:1505 sql_help.c:1507 -#: sql_help.c:1509 sql_help.c:1511 sql_help.c:1525 sql_help.c:1528 -#: sql_help.c:1530 sql_help.c:1532 sql_help.c:1542 sql_help.c:1544 -#: sql_help.c:1554 sql_help.c:1556 sql_help.c:1566 sql_help.c:1569 -#: sql_help.c:1592 sql_help.c:1594 sql_help.c:1596 sql_help.c:1598 -#: sql_help.c:1601 sql_help.c:1603 sql_help.c:1606 sql_help.c:1609 -#: sql_help.c:1660 sql_help.c:1703 sql_help.c:1706 sql_help.c:1708 -#: sql_help.c:1710 sql_help.c:1713 sql_help.c:1715 sql_help.c:1717 -#: sql_help.c:1720 sql_help.c:1770 sql_help.c:1786 sql_help.c:2019 -#: sql_help.c:2088 sql_help.c:2107 sql_help.c:2120 sql_help.c:2178 -#: sql_help.c:2186 sql_help.c:2196 sql_help.c:2224 sql_help.c:2257 -#: sql_help.c:2275 sql_help.c:2303 sql_help.c:2414 sql_help.c:2460 -#: sql_help.c:2485 sql_help.c:2508 sql_help.c:2512 sql_help.c:2546 -#: sql_help.c:2566 sql_help.c:2588 sql_help.c:2602 sql_help.c:2623 -#: sql_help.c:2652 sql_help.c:2685 sql_help.c:2708 sql_help.c:2755 -#: sql_help.c:3053 sql_help.c:3066 sql_help.c:3083 sql_help.c:3099 -#: sql_help.c:3139 sql_help.c:3193 sql_help.c:3197 sql_help.c:3199 -#: sql_help.c:3206 sql_help.c:3225 sql_help.c:3252 sql_help.c:3287 -#: sql_help.c:3299 sql_help.c:3308 sql_help.c:3352 sql_help.c:3366 -#: sql_help.c:3394 sql_help.c:3402 sql_help.c:3414 sql_help.c:3424 -#: sql_help.c:3432 sql_help.c:3440 sql_help.c:3448 sql_help.c:3456 -#: sql_help.c:3465 sql_help.c:3476 sql_help.c:3484 sql_help.c:3492 -#: sql_help.c:3500 sql_help.c:3508 sql_help.c:3518 sql_help.c:3527 -#: sql_help.c:3536 sql_help.c:3544 sql_help.c:3554 sql_help.c:3565 -#: sql_help.c:3573 sql_help.c:3582 sql_help.c:3593 sql_help.c:3602 -#: sql_help.c:3610 sql_help.c:3618 sql_help.c:3626 sql_help.c:3634 -#: sql_help.c:3642 sql_help.c:3650 sql_help.c:3658 sql_help.c:3666 -#: sql_help.c:3674 sql_help.c:3682 sql_help.c:3699 sql_help.c:3708 -#: sql_help.c:3716 sql_help.c:3733 sql_help.c:3748 sql_help.c:4061 -#: sql_help.c:4182 sql_help.c:4211 sql_help.c:4227 sql_help.c:4229 -#: sql_help.c:4733 sql_help.c:4781 sql_help.c:4940 +#: sql_help.c:880 sql_help.c:885 sql_help.c:921 sql_help.c:923 sql_help.c:925 +#: sql_help.c:927 sql_help.c:930 sql_help.c:932 sql_help.c:984 sql_help.c:1029 +#: sql_help.c:1034 sql_help.c:1039 sql_help.c:1044 sql_help.c:1049 +#: sql_help.c:1068 sql_help.c:1079 sql_help.c:1081 sql_help.c:1101 +#: sql_help.c:1111 sql_help.c:1112 sql_help.c:1114 sql_help.c:1116 +#: sql_help.c:1128 sql_help.c:1132 sql_help.c:1134 sql_help.c:1146 +#: sql_help.c:1148 sql_help.c:1150 sql_help.c:1152 sql_help.c:1171 +#: sql_help.c:1173 sql_help.c:1177 sql_help.c:1181 sql_help.c:1185 +#: sql_help.c:1188 sql_help.c:1189 sql_help.c:1190 sql_help.c:1193 +#: sql_help.c:1196 sql_help.c:1198 sql_help.c:1338 sql_help.c:1340 +#: sql_help.c:1343 sql_help.c:1346 sql_help.c:1348 sql_help.c:1350 +#: sql_help.c:1353 sql_help.c:1356 sql_help.c:1478 sql_help.c:1480 +#: sql_help.c:1482 sql_help.c:1485 sql_help.c:1506 sql_help.c:1509 +#: sql_help.c:1512 sql_help.c:1515 sql_help.c:1519 sql_help.c:1521 +#: sql_help.c:1523 sql_help.c:1525 sql_help.c:1539 sql_help.c:1542 +#: sql_help.c:1544 sql_help.c:1546 sql_help.c:1556 sql_help.c:1558 +#: sql_help.c:1568 sql_help.c:1570 sql_help.c:1580 sql_help.c:1583 +#: sql_help.c:1606 sql_help.c:1608 sql_help.c:1610 sql_help.c:1612 +#: sql_help.c:1615 sql_help.c:1617 sql_help.c:1620 sql_help.c:1623 +#: sql_help.c:1674 sql_help.c:1717 sql_help.c:1720 sql_help.c:1722 +#: sql_help.c:1724 sql_help.c:1727 sql_help.c:1729 sql_help.c:1731 +#: sql_help.c:1734 sql_help.c:1784 sql_help.c:1800 sql_help.c:2033 +#: sql_help.c:2102 sql_help.c:2121 sql_help.c:2134 sql_help.c:2192 +#: sql_help.c:2200 sql_help.c:2210 sql_help.c:2238 sql_help.c:2271 +#: sql_help.c:2289 sql_help.c:2317 sql_help.c:2428 sql_help.c:2474 +#: sql_help.c:2499 sql_help.c:2522 sql_help.c:2526 sql_help.c:2560 +#: sql_help.c:2580 sql_help.c:2602 sql_help.c:2616 sql_help.c:2637 +#: sql_help.c:2670 sql_help.c:2705 sql_help.c:2728 sql_help.c:2775 +#: sql_help.c:3073 sql_help.c:3086 sql_help.c:3103 sql_help.c:3119 +#: sql_help.c:3159 sql_help.c:3213 sql_help.c:3217 sql_help.c:3219 +#: sql_help.c:3226 sql_help.c:3245 sql_help.c:3272 sql_help.c:3307 +#: sql_help.c:3319 sql_help.c:3328 sql_help.c:3372 sql_help.c:3386 +#: sql_help.c:3414 sql_help.c:3422 sql_help.c:3434 sql_help.c:3444 +#: sql_help.c:3452 sql_help.c:3460 sql_help.c:3468 sql_help.c:3476 +#: sql_help.c:3485 sql_help.c:3496 sql_help.c:3504 sql_help.c:3512 +#: sql_help.c:3520 sql_help.c:3528 sql_help.c:3538 sql_help.c:3547 +#: sql_help.c:3556 sql_help.c:3564 sql_help.c:3574 sql_help.c:3585 +#: sql_help.c:3593 sql_help.c:3602 sql_help.c:3613 sql_help.c:3622 +#: sql_help.c:3630 sql_help.c:3638 sql_help.c:3646 sql_help.c:3654 +#: sql_help.c:3662 sql_help.c:3670 sql_help.c:3678 sql_help.c:3686 +#: sql_help.c:3694 sql_help.c:3702 sql_help.c:3719 sql_help.c:3728 +#: sql_help.c:3736 sql_help.c:3753 sql_help.c:3768 sql_help.c:4081 +#: sql_help.c:4202 sql_help.c:4231 sql_help.c:4247 sql_help.c:4249 +#: sql_help.c:4753 sql_help.c:4801 sql_help.c:4960 msgid "name" msgstr "名前" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1863 -#: sql_help.c:3367 sql_help.c:4500 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1877 +#: sql_help.c:3387 sql_help.c:4520 msgid "aggregate_signature" msgstr "集約関数のシグニチャー" #: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:260 #: sql_help.c:281 sql_help.c:412 sql_help.c:459 sql_help.c:538 sql_help.c:586 #: sql_help.c:604 sql_help.c:631 sql_help.c:684 sql_help.c:759 sql_help.c:814 -#: sql_help.c:835 sql_help.c:874 sql_help.c:924 sql_help.c:971 sql_help.c:1024 -#: sql_help.c:1056 sql_help.c:1066 sql_help.c:1101 sql_help.c:1121 -#: sql_help.c:1135 sql_help.c:1185 sql_help.c:1333 sql_help.c:1465 -#: sql_help.c:1508 sql_help.c:1529 sql_help.c:1543 sql_help.c:1555 -#: sql_help.c:1568 sql_help.c:1595 sql_help.c:1661 sql_help.c:1714 +#: sql_help.c:835 sql_help.c:874 sql_help.c:933 sql_help.c:985 sql_help.c:1038 +#: sql_help.c:1070 sql_help.c:1080 sql_help.c:1115 sql_help.c:1135 +#: sql_help.c:1149 sql_help.c:1199 sql_help.c:1347 sql_help.c:1479 +#: sql_help.c:1522 sql_help.c:1543 sql_help.c:1557 sql_help.c:1569 +#: sql_help.c:1582 sql_help.c:1609 sql_help.c:1675 sql_help.c:1728 msgid "new_name" msgstr "新しい名前" #: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:258 #: sql_help.c:279 sql_help.c:410 sql_help.c:495 sql_help.c:543 sql_help.c:633 #: sql_help.c:642 sql_help.c:707 sql_help.c:731 sql_help.c:762 sql_help.c:817 -#: sql_help.c:879 sql_help.c:922 sql_help.c:1029 sql_help.c:1068 -#: sql_help.c:1099 sql_help.c:1119 sql_help.c:1133 sql_help.c:1183 -#: sql_help.c:1399 sql_help.c:1467 sql_help.c:1510 sql_help.c:1531 -#: sql_help.c:1593 sql_help.c:1709 sql_help.c:3039 +#: sql_help.c:879 sql_help.c:931 sql_help.c:1043 sql_help.c:1082 +#: sql_help.c:1113 sql_help.c:1133 sql_help.c:1147 sql_help.c:1197 +#: sql_help.c:1413 sql_help.c:1481 sql_help.c:1524 sql_help.c:1545 +#: sql_help.c:1607 sql_help.c:1723 sql_help.c:3059 msgid "new_owner" msgstr "新しい所有者" #: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:262 sql_help.c:332 #: sql_help.c:461 sql_help.c:548 sql_help.c:686 sql_help.c:735 sql_help.c:765 -#: sql_help.c:820 sql_help.c:884 sql_help.c:1034 sql_help.c:1103 -#: sql_help.c:1137 sql_help.c:1335 sql_help.c:1512 sql_help.c:1533 -#: sql_help.c:1545 sql_help.c:1557 sql_help.c:1597 sql_help.c:1716 +#: sql_help.c:820 sql_help.c:884 sql_help.c:1048 sql_help.c:1117 +#: sql_help.c:1151 sql_help.c:1349 sql_help.c:1526 sql_help.c:1547 +#: sql_help.c:1559 sql_help.c:1571 sql_help.c:1611 sql_help.c:1730 msgid "new_schema" msgstr "新しいスキーマ" -#: sql_help.c:44 sql_help.c:1927 sql_help.c:3368 sql_help.c:4529 +#: sql_help.c:44 sql_help.c:1941 sql_help.c:3388 sql_help.c:4549 msgid "where aggregate_signature is:" msgstr "集約関数のシグニチャーには以下のものがあります:" #: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:350 sql_help.c:363 #: sql_help.c:367 sql_help.c:383 sql_help.c:386 sql_help.c:389 sql_help.c:530 #: sql_help.c:535 sql_help.c:540 sql_help.c:545 sql_help.c:550 sql_help.c:866 -#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1016 -#: sql_help.c:1021 sql_help.c:1026 sql_help.c:1031 sql_help.c:1036 -#: sql_help.c:1881 sql_help.c:1898 sql_help.c:1904 sql_help.c:1928 -#: sql_help.c:1931 sql_help.c:1934 sql_help.c:2089 sql_help.c:2108 -#: sql_help.c:2111 sql_help.c:2415 sql_help.c:2624 sql_help.c:3369 -#: sql_help.c:3372 sql_help.c:3375 sql_help.c:3466 sql_help.c:3555 -#: sql_help.c:3583 sql_help.c:3936 sql_help.c:4399 sql_help.c:4506 -#: sql_help.c:4513 sql_help.c:4519 sql_help.c:4530 sql_help.c:4533 -#: sql_help.c:4536 +#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1030 +#: sql_help.c:1035 sql_help.c:1040 sql_help.c:1045 sql_help.c:1050 +#: sql_help.c:1895 sql_help.c:1912 sql_help.c:1918 sql_help.c:1942 +#: sql_help.c:1945 sql_help.c:1948 sql_help.c:2103 sql_help.c:2122 +#: sql_help.c:2125 sql_help.c:2429 sql_help.c:2638 sql_help.c:3389 +#: sql_help.c:3392 sql_help.c:3395 sql_help.c:3486 sql_help.c:3575 +#: sql_help.c:3603 sql_help.c:3956 sql_help.c:4419 sql_help.c:4526 +#: sql_help.c:4533 sql_help.c:4539 sql_help.c:4550 sql_help.c:4553 +#: sql_help.c:4556 msgid "argmode" msgstr "引数のモード" #: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:351 sql_help.c:364 #: sql_help.c:368 sql_help.c:384 sql_help.c:387 sql_help.c:390 sql_help.c:531 #: sql_help.c:536 sql_help.c:541 sql_help.c:546 sql_help.c:551 sql_help.c:867 -#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1017 -#: sql_help.c:1022 sql_help.c:1027 sql_help.c:1032 sql_help.c:1037 -#: sql_help.c:1882 sql_help.c:1899 sql_help.c:1905 sql_help.c:1929 -#: sql_help.c:1932 sql_help.c:1935 sql_help.c:2090 sql_help.c:2109 -#: sql_help.c:2112 sql_help.c:2416 sql_help.c:2625 sql_help.c:3370 -#: sql_help.c:3373 sql_help.c:3376 sql_help.c:3467 sql_help.c:3556 -#: sql_help.c:3584 sql_help.c:4507 sql_help.c:4514 sql_help.c:4520 -#: sql_help.c:4531 sql_help.c:4534 sql_help.c:4537 +#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1031 +#: sql_help.c:1036 sql_help.c:1041 sql_help.c:1046 sql_help.c:1051 +#: sql_help.c:1896 sql_help.c:1913 sql_help.c:1919 sql_help.c:1943 +#: sql_help.c:1946 sql_help.c:1949 sql_help.c:2104 sql_help.c:2123 +#: sql_help.c:2126 sql_help.c:2430 sql_help.c:2639 sql_help.c:3390 +#: sql_help.c:3393 sql_help.c:3396 sql_help.c:3487 sql_help.c:3576 +#: sql_help.c:3604 sql_help.c:4527 sql_help.c:4534 sql_help.c:4540 +#: sql_help.c:4551 sql_help.c:4554 sql_help.c:4557 msgid "argname" msgstr "引数の名前" #: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:352 sql_help.c:365 #: sql_help.c:369 sql_help.c:385 sql_help.c:388 sql_help.c:391 sql_help.c:532 #: sql_help.c:537 sql_help.c:542 sql_help.c:547 sql_help.c:552 sql_help.c:868 -#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1018 -#: sql_help.c:1023 sql_help.c:1028 sql_help.c:1033 sql_help.c:1038 -#: sql_help.c:1883 sql_help.c:1900 sql_help.c:1906 sql_help.c:1930 -#: sql_help.c:1933 sql_help.c:1936 sql_help.c:2417 sql_help.c:2626 -#: sql_help.c:3371 sql_help.c:3374 sql_help.c:3377 sql_help.c:3468 -#: sql_help.c:3557 sql_help.c:3585 sql_help.c:4508 sql_help.c:4515 -#: sql_help.c:4521 sql_help.c:4532 sql_help.c:4535 sql_help.c:4538 +#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1032 +#: sql_help.c:1037 sql_help.c:1042 sql_help.c:1047 sql_help.c:1052 +#: sql_help.c:1897 sql_help.c:1914 sql_help.c:1920 sql_help.c:1944 +#: sql_help.c:1947 sql_help.c:1950 sql_help.c:2431 sql_help.c:2640 +#: sql_help.c:3391 sql_help.c:3394 sql_help.c:3397 sql_help.c:3488 +#: sql_help.c:3577 sql_help.c:3605 sql_help.c:4528 sql_help.c:4535 +#: sql_help.c:4541 sql_help.c:4552 sql_help.c:4555 sql_help.c:4558 msgid "argtype" msgstr "引数の型" -#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:965 -#: sql_help.c:1116 sql_help.c:1526 sql_help.c:1655 sql_help.c:1687 -#: sql_help.c:1739 sql_help.c:1798 sql_help.c:1987 sql_help.c:1994 -#: sql_help.c:2306 sql_help.c:2356 sql_help.c:2363 sql_help.c:2372 -#: sql_help.c:2461 sql_help.c:2686 sql_help.c:2777 sql_help.c:3068 -#: sql_help.c:3253 sql_help.c:3275 sql_help.c:3415 sql_help.c:3772 -#: sql_help.c:3980 sql_help.c:4226 sql_help.c:4228 sql_help.c:5006 +#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:979 +#: sql_help.c:1130 sql_help.c:1540 sql_help.c:1669 sql_help.c:1701 +#: sql_help.c:1753 sql_help.c:1812 sql_help.c:2001 sql_help.c:2008 +#: sql_help.c:2320 sql_help.c:2370 sql_help.c:2377 sql_help.c:2386 +#: sql_help.c:2475 sql_help.c:2706 sql_help.c:2797 sql_help.c:3088 +#: sql_help.c:3273 sql_help.c:3295 sql_help.c:3435 sql_help.c:3792 +#: sql_help.c:4000 sql_help.c:4246 sql_help.c:4248 sql_help.c:5026 msgid "option" msgstr "オプション" -#: sql_help.c:115 sql_help.c:966 sql_help.c:1656 sql_help.c:2462 -#: sql_help.c:2687 sql_help.c:3254 sql_help.c:3416 +#: sql_help.c:115 sql_help.c:980 sql_help.c:1670 sql_help.c:2476 +#: sql_help.c:2707 sql_help.c:3274 sql_help.c:3436 msgid "where option can be:" msgstr "オプションには以下のものがあります:" -#: sql_help.c:116 sql_help.c:2238 +#: sql_help.c:116 sql_help.c:2252 msgid "allowconn" msgstr "接続の可否(真偽値)" -#: sql_help.c:117 sql_help.c:967 sql_help.c:1657 sql_help.c:2239 -#: sql_help.c:2463 sql_help.c:2688 sql_help.c:3255 +#: sql_help.c:117 sql_help.c:981 sql_help.c:1671 sql_help.c:2253 +#: sql_help.c:2477 sql_help.c:2708 sql_help.c:3275 msgid "connlimit" msgstr "最大同時接続数" -#: sql_help.c:118 sql_help.c:2240 +#: sql_help.c:118 sql_help.c:2254 msgid "istemplate" msgstr "テンプレートかどうか(真偽値)" -#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1338 -#: sql_help.c:1392 sql_help.c:4232 +#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1352 +#: sql_help.c:1406 sql_help.c:4252 msgid "new_tablespace" msgstr "新しいテーブル空間名" #: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:558 sql_help.c:560 -#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:974 -#: sql_help.c:978 sql_help.c:981 sql_help.c:1043 sql_help.c:1045 -#: sql_help.c:1046 sql_help.c:1196 sql_help.c:1198 sql_help.c:1664 -#: sql_help.c:1668 sql_help.c:1671 sql_help.c:2427 sql_help.c:2630 -#: sql_help.c:3948 sql_help.c:4250 sql_help.c:4411 sql_help.c:4721 +#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:988 +#: sql_help.c:992 sql_help.c:995 sql_help.c:1057 sql_help.c:1059 +#: sql_help.c:1060 sql_help.c:1210 sql_help.c:1212 sql_help.c:1678 +#: sql_help.c:1682 sql_help.c:1685 sql_help.c:2441 sql_help.c:2644 +#: sql_help.c:3968 sql_help.c:4270 sql_help.c:4431 sql_help.c:4741 msgid "configuration_parameter" msgstr "設定パラメータ" #: sql_help.c:128 sql_help.c:408 sql_help.c:479 sql_help.c:485 sql_help.c:497 #: sql_help.c:559 sql_help.c:613 sql_help.c:695 sql_help.c:705 sql_help.c:892 -#: sql_help.c:920 sql_help.c:975 sql_help.c:1044 sql_help.c:1117 -#: sql_help.c:1162 sql_help.c:1166 sql_help.c:1170 sql_help.c:1173 -#: sql_help.c:1178 sql_help.c:1181 sql_help.c:1197 sql_help.c:1371 -#: sql_help.c:1394 sql_help.c:1442 sql_help.c:1450 sql_help.c:1470 -#: sql_help.c:1527 sql_help.c:1611 sql_help.c:1665 sql_help.c:1688 -#: sql_help.c:2307 sql_help.c:2357 sql_help.c:2364 sql_help.c:2373 -#: sql_help.c:2428 sql_help.c:2429 sql_help.c:2493 sql_help.c:2496 -#: sql_help.c:2530 sql_help.c:2631 sql_help.c:2632 sql_help.c:2655 -#: sql_help.c:2778 sql_help.c:2817 sql_help.c:2927 sql_help.c:2940 -#: sql_help.c:2954 sql_help.c:2995 sql_help.c:3003 sql_help.c:3025 -#: sql_help.c:3042 sql_help.c:3069 sql_help.c:3276 sql_help.c:3981 -#: sql_help.c:4722 sql_help.c:4723 sql_help.c:4724 sql_help.c:4725 +#: sql_help.c:929 sql_help.c:989 sql_help.c:1058 sql_help.c:1131 +#: sql_help.c:1176 sql_help.c:1180 sql_help.c:1184 sql_help.c:1187 +#: sql_help.c:1192 sql_help.c:1195 sql_help.c:1211 sql_help.c:1385 +#: sql_help.c:1408 sql_help.c:1456 sql_help.c:1464 sql_help.c:1484 +#: sql_help.c:1541 sql_help.c:1625 sql_help.c:1679 sql_help.c:1702 +#: sql_help.c:2321 sql_help.c:2371 sql_help.c:2378 sql_help.c:2387 +#: sql_help.c:2442 sql_help.c:2443 sql_help.c:2507 sql_help.c:2510 +#: sql_help.c:2544 sql_help.c:2645 sql_help.c:2646 sql_help.c:2673 +#: sql_help.c:2798 sql_help.c:2837 sql_help.c:2947 sql_help.c:2960 +#: sql_help.c:2974 sql_help.c:3015 sql_help.c:3023 sql_help.c:3045 +#: sql_help.c:3062 sql_help.c:3089 sql_help.c:3296 sql_help.c:4001 +#: sql_help.c:4742 sql_help.c:4743 sql_help.c:4744 sql_help.c:4745 msgid "value" msgstr "値" @@ -4373,10 +4373,10 @@ msgid "target_role" msgstr "対象のロール" -#: sql_help.c:203 sql_help.c:929 sql_help.c:2291 sql_help.c:2660 -#: sql_help.c:2733 sql_help.c:2738 sql_help.c:3911 sql_help.c:3920 -#: sql_help.c:3939 sql_help.c:3951 sql_help.c:4374 sql_help.c:4383 -#: sql_help.c:4402 sql_help.c:4414 +#: sql_help.c:203 sql_help.c:936 sql_help.c:939 sql_help.c:2305 sql_help.c:2676 +#: sql_help.c:2753 sql_help.c:2758 sql_help.c:3931 sql_help.c:3940 +#: sql_help.c:3959 sql_help.c:3971 sql_help.c:4394 sql_help.c:4403 +#: sql_help.c:4422 sql_help.c:4434 msgid "schema_name" msgstr "スキーマ名" @@ -4390,57 +4390,57 @@ #: sql_help.c:206 sql_help.c:207 sql_help.c:208 sql_help.c:209 sql_help.c:210 #: sql_help.c:211 sql_help.c:212 sql_help.c:213 sql_help.c:214 sql_help.c:215 -#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:985 -#: sql_help.c:1337 sql_help.c:1675 sql_help.c:2466 sql_help.c:2467 -#: sql_help.c:2468 sql_help.c:2469 sql_help.c:2470 sql_help.c:2604 -#: sql_help.c:2691 sql_help.c:2692 sql_help.c:2693 sql_help.c:3258 -#: sql_help.c:3259 sql_help.c:3260 sql_help.c:3261 sql_help.c:3262 -#: sql_help.c:3960 sql_help.c:3964 sql_help.c:4423 sql_help.c:4427 -#: sql_help.c:4743 +#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:999 +#: sql_help.c:1351 sql_help.c:1689 sql_help.c:2480 sql_help.c:2481 +#: sql_help.c:2482 sql_help.c:2483 sql_help.c:2484 sql_help.c:2618 +#: sql_help.c:2711 sql_help.c:2712 sql_help.c:2713 sql_help.c:3278 +#: sql_help.c:3279 sql_help.c:3280 sql_help.c:3281 sql_help.c:3282 +#: sql_help.c:3980 sql_help.c:3984 sql_help.c:4443 sql_help.c:4447 +#: sql_help.c:4763 msgid "role_name" msgstr "ロール名" -#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:928 sql_help.c:1353 -#: sql_help.c:1355 sql_help.c:1359 sql_help.c:1409 sql_help.c:1421 -#: sql_help.c:1446 sql_help.c:1705 sql_help.c:2260 sql_help.c:2264 -#: sql_help.c:2376 sql_help.c:2381 sql_help.c:2489 sql_help.c:2659 -#: sql_help.c:2794 sql_help.c:2799 sql_help.c:2801 sql_help.c:2922 -#: sql_help.c:2935 sql_help.c:2949 sql_help.c:2958 sql_help.c:2970 -#: sql_help.c:2999 sql_help.c:4012 sql_help.c:4027 sql_help.c:4029 -#: sql_help.c:4125 sql_help.c:4128 sql_help.c:4130 sql_help.c:4593 -#: sql_help.c:4594 sql_help.c:4603 sql_help.c:4650 sql_help.c:4651 -#: sql_help.c:4652 sql_help.c:4653 sql_help.c:4654 sql_help.c:4655 -#: sql_help.c:4696 sql_help.c:4697 sql_help.c:4702 sql_help.c:4707 -#: sql_help.c:4851 sql_help.c:4852 sql_help.c:4861 sql_help.c:4908 -#: sql_help.c:4909 sql_help.c:4910 sql_help.c:4911 sql_help.c:4912 -#: sql_help.c:4913 sql_help.c:4968 sql_help.c:4970 sql_help.c:5036 -#: sql_help.c:5096 sql_help.c:5097 sql_help.c:5106 sql_help.c:5153 -#: sql_help.c:5154 sql_help.c:5155 sql_help.c:5156 sql_help.c:5157 -#: sql_help.c:5158 +#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:943 sql_help.c:1367 +#: sql_help.c:1369 sql_help.c:1373 sql_help.c:1423 sql_help.c:1435 +#: sql_help.c:1460 sql_help.c:1719 sql_help.c:2274 sql_help.c:2278 +#: sql_help.c:2390 sql_help.c:2395 sql_help.c:2503 sql_help.c:2680 +#: sql_help.c:2814 sql_help.c:2819 sql_help.c:2821 sql_help.c:2942 +#: sql_help.c:2955 sql_help.c:2969 sql_help.c:2978 sql_help.c:2990 +#: sql_help.c:3019 sql_help.c:4032 sql_help.c:4047 sql_help.c:4049 +#: sql_help.c:4145 sql_help.c:4148 sql_help.c:4150 sql_help.c:4613 +#: sql_help.c:4614 sql_help.c:4623 sql_help.c:4670 sql_help.c:4671 +#: sql_help.c:4672 sql_help.c:4673 sql_help.c:4674 sql_help.c:4675 +#: sql_help.c:4716 sql_help.c:4717 sql_help.c:4722 sql_help.c:4727 +#: sql_help.c:4871 sql_help.c:4872 sql_help.c:4881 sql_help.c:4928 +#: sql_help.c:4929 sql_help.c:4930 sql_help.c:4931 sql_help.c:4932 +#: sql_help.c:4933 sql_help.c:4988 sql_help.c:4990 sql_help.c:5056 +#: sql_help.c:5116 sql_help.c:5117 sql_help.c:5126 sql_help.c:5173 +#: sql_help.c:5174 sql_help.c:5175 sql_help.c:5176 sql_help.c:5177 +#: sql_help.c:5178 msgid "expression" msgstr "評価式" -#: sql_help.c:249 sql_help.c:2261 +#: sql_help.c:249 sql_help.c:2275 msgid "domain_constraint" msgstr "ドメイン制約" #: sql_help.c:251 sql_help.c:253 sql_help.c:256 sql_help.c:264 sql_help.c:487 -#: sql_help.c:488 sql_help.c:1330 sql_help.c:1379 sql_help.c:1380 -#: sql_help.c:1381 sql_help.c:1408 sql_help.c:1420 sql_help.c:1437 -#: sql_help.c:1869 sql_help.c:1871 sql_help.c:2263 sql_help.c:2375 -#: sql_help.c:2380 sql_help.c:2957 sql_help.c:2969 sql_help.c:4024 +#: sql_help.c:488 sql_help.c:1344 sql_help.c:1393 sql_help.c:1394 +#: sql_help.c:1395 sql_help.c:1422 sql_help.c:1434 sql_help.c:1451 +#: sql_help.c:1883 sql_help.c:1885 sql_help.c:2277 sql_help.c:2389 +#: sql_help.c:2394 sql_help.c:2977 sql_help.c:2989 sql_help.c:4044 msgid "constraint_name" msgstr "制約名" -#: sql_help.c:254 sql_help.c:1331 +#: sql_help.c:254 sql_help.c:1345 msgid "new_constraint_name" msgstr "新しい制約名" -#: sql_help.c:263 sql_help.c:2262 +#: sql_help.c:263 sql_help.c:2276 msgid "where domain_constraint is:" msgstr "ドメイン制約は以下の通りです:" -#: sql_help.c:330 sql_help.c:1115 +#: sql_help.c:330 sql_help.c:1129 msgid "new_version" msgstr "新しいバージョン" @@ -4456,82 +4456,82 @@ #: sql_help.c:347 sql_help.c:348 sql_help.c:353 sql_help.c:357 sql_help.c:359 #: sql_help.c:361 sql_help.c:370 sql_help.c:371 sql_help.c:372 sql_help.c:373 #: sql_help.c:374 sql_help.c:375 sql_help.c:376 sql_help.c:377 sql_help.c:380 -#: sql_help.c:381 sql_help.c:1861 sql_help.c:1866 sql_help.c:1873 -#: sql_help.c:1874 sql_help.c:1875 sql_help.c:1876 sql_help.c:1877 -#: sql_help.c:1878 sql_help.c:1879 sql_help.c:1884 sql_help.c:1886 -#: sql_help.c:1890 sql_help.c:1892 sql_help.c:1896 sql_help.c:1901 -#: sql_help.c:1902 sql_help.c:1909 sql_help.c:1910 sql_help.c:1911 -#: sql_help.c:1912 sql_help.c:1913 sql_help.c:1914 sql_help.c:1915 -#: sql_help.c:1916 sql_help.c:1917 sql_help.c:1918 sql_help.c:1919 -#: sql_help.c:1924 sql_help.c:1925 sql_help.c:4496 sql_help.c:4501 -#: sql_help.c:4502 sql_help.c:4503 sql_help.c:4504 sql_help.c:4510 -#: sql_help.c:4511 sql_help.c:4516 sql_help.c:4517 sql_help.c:4522 -#: sql_help.c:4523 sql_help.c:4524 sql_help.c:4525 sql_help.c:4526 -#: sql_help.c:4527 +#: sql_help.c:381 sql_help.c:1875 sql_help.c:1880 sql_help.c:1887 +#: sql_help.c:1888 sql_help.c:1889 sql_help.c:1890 sql_help.c:1891 +#: sql_help.c:1892 sql_help.c:1893 sql_help.c:1898 sql_help.c:1900 +#: sql_help.c:1904 sql_help.c:1906 sql_help.c:1910 sql_help.c:1915 +#: sql_help.c:1916 sql_help.c:1923 sql_help.c:1924 sql_help.c:1925 +#: sql_help.c:1926 sql_help.c:1927 sql_help.c:1928 sql_help.c:1929 +#: sql_help.c:1930 sql_help.c:1931 sql_help.c:1932 sql_help.c:1933 +#: sql_help.c:1938 sql_help.c:1939 sql_help.c:4516 sql_help.c:4521 +#: sql_help.c:4522 sql_help.c:4523 sql_help.c:4524 sql_help.c:4530 +#: sql_help.c:4531 sql_help.c:4536 sql_help.c:4537 sql_help.c:4542 +#: sql_help.c:4543 sql_help.c:4544 sql_help.c:4545 sql_help.c:4546 +#: sql_help.c:4547 msgid "object_name" msgstr "オブジェクト名" -#: sql_help.c:339 sql_help.c:1862 sql_help.c:4499 +#: sql_help.c:339 sql_help.c:1876 sql_help.c:4519 msgid "aggregate_name" msgstr "集約関数名" -#: sql_help.c:341 sql_help.c:1864 sql_help.c:2154 sql_help.c:2158 -#: sql_help.c:2160 sql_help.c:3385 +#: sql_help.c:341 sql_help.c:1878 sql_help.c:2168 sql_help.c:2172 +#: sql_help.c:2174 sql_help.c:3405 msgid "source_type" msgstr "変換前の型" -#: sql_help.c:342 sql_help.c:1865 sql_help.c:2155 sql_help.c:2159 -#: sql_help.c:2161 sql_help.c:3386 +#: sql_help.c:342 sql_help.c:1879 sql_help.c:2169 sql_help.c:2173 +#: sql_help.c:2175 sql_help.c:3406 msgid "target_type" msgstr "変換後の型" -#: sql_help.c:349 sql_help.c:802 sql_help.c:1880 sql_help.c:2156 -#: sql_help.c:2199 sql_help.c:2279 sql_help.c:2547 sql_help.c:2578 -#: sql_help.c:3145 sql_help.c:4398 sql_help.c:4505 sql_help.c:4622 -#: sql_help.c:4626 sql_help.c:4630 sql_help.c:4633 sql_help.c:4880 -#: sql_help.c:4884 sql_help.c:4888 sql_help.c:4891 sql_help.c:5125 -#: sql_help.c:5129 sql_help.c:5133 sql_help.c:5136 +#: sql_help.c:349 sql_help.c:802 sql_help.c:1894 sql_help.c:2170 +#: sql_help.c:2213 sql_help.c:2293 sql_help.c:2561 sql_help.c:2592 +#: sql_help.c:3165 sql_help.c:4418 sql_help.c:4525 sql_help.c:4642 +#: sql_help.c:4646 sql_help.c:4650 sql_help.c:4653 sql_help.c:4900 +#: sql_help.c:4904 sql_help.c:4908 sql_help.c:4911 sql_help.c:5145 +#: sql_help.c:5149 sql_help.c:5153 sql_help.c:5156 msgid "function_name" msgstr "関数名" -#: sql_help.c:354 sql_help.c:795 sql_help.c:1887 sql_help.c:2571 +#: sql_help.c:354 sql_help.c:795 sql_help.c:1901 sql_help.c:2585 msgid "operator_name" msgstr "演算子名" -#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1888 -#: sql_help.c:2548 sql_help.c:3509 +#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1902 +#: sql_help.c:2562 sql_help.c:3529 msgid "left_type" msgstr "左辺の型" -#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1889 -#: sql_help.c:2549 sql_help.c:3510 +#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1903 +#: sql_help.c:2563 sql_help.c:3530 msgid "right_type" msgstr "右辺の型" #: sql_help.c:358 sql_help.c:360 sql_help.c:758 sql_help.c:761 sql_help.c:764 #: sql_help.c:793 sql_help.c:805 sql_help.c:813 sql_help.c:816 sql_help.c:819 -#: sql_help.c:1426 sql_help.c:1891 sql_help.c:1893 sql_help.c:2568 -#: sql_help.c:2589 sql_help.c:2975 sql_help.c:3519 sql_help.c:3528 +#: sql_help.c:1440 sql_help.c:1905 sql_help.c:1907 sql_help.c:2582 +#: sql_help.c:2603 sql_help.c:2995 sql_help.c:3539 sql_help.c:3548 msgid "index_method" msgstr "インデックスメソッド" -#: sql_help.c:362 sql_help.c:1897 sql_help.c:4512 +#: sql_help.c:362 sql_help.c:1911 sql_help.c:4532 msgid "procedure_name" msgstr "プロシージャ名" -#: sql_help.c:366 sql_help.c:1903 sql_help.c:3935 sql_help.c:4518 +#: sql_help.c:366 sql_help.c:1917 sql_help.c:3955 sql_help.c:4538 msgid "routine_name" msgstr "ルーチン名" -#: sql_help.c:378 sql_help.c:1398 sql_help.c:1920 sql_help.c:2423 -#: sql_help.c:2629 sql_help.c:2930 sql_help.c:3112 sql_help.c:3690 -#: sql_help.c:3957 sql_help.c:4420 +#: sql_help.c:378 sql_help.c:1412 sql_help.c:1934 sql_help.c:2437 +#: sql_help.c:2643 sql_help.c:2950 sql_help.c:3132 sql_help.c:3710 +#: sql_help.c:3977 sql_help.c:4440 msgid "type_name" msgstr "型名" -#: sql_help.c:379 sql_help.c:1921 sql_help.c:2422 sql_help.c:2628 -#: sql_help.c:3113 sql_help.c:3343 sql_help.c:3691 sql_help.c:3942 -#: sql_help.c:4405 +#: sql_help.c:379 sql_help.c:1935 sql_help.c:2436 sql_help.c:2642 +#: sql_help.c:3133 sql_help.c:3363 sql_help.c:3711 sql_help.c:3962 +#: sql_help.c:4425 msgid "lang_name" msgstr "言語名" @@ -4539,147 +4539,147 @@ msgid "and aggregate_signature is:" msgstr "集約関数のシグニチャーは以下の通りです:" -#: sql_help.c:405 sql_help.c:2021 sql_help.c:2304 +#: sql_help.c:405 sql_help.c:2035 sql_help.c:2318 msgid "handler_function" msgstr "ハンドラー関数" -#: sql_help.c:406 sql_help.c:2305 +#: sql_help.c:406 sql_help.c:2319 msgid "validator_function" msgstr "バリデーター関数" -#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1019 -#: sql_help.c:1325 sql_help.c:1602 +#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1033 +#: sql_help.c:1339 sql_help.c:1616 msgid "action" msgstr "アクション" #: sql_help.c:456 sql_help.c:463 sql_help.c:467 sql_help.c:468 sql_help.c:471 #: sql_help.c:473 sql_help.c:474 sql_help.c:475 sql_help.c:477 sql_help.c:480 #: sql_help.c:482 sql_help.c:483 sql_help.c:681 sql_help.c:691 sql_help.c:693 -#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:927 sql_help.c:1096 -#: sql_help.c:1327 sql_help.c:1345 sql_help.c:1349 sql_help.c:1350 -#: sql_help.c:1354 sql_help.c:1356 sql_help.c:1357 sql_help.c:1358 -#: sql_help.c:1360 sql_help.c:1361 sql_help.c:1363 sql_help.c:1366 -#: sql_help.c:1367 sql_help.c:1369 sql_help.c:1372 sql_help.c:1374 -#: sql_help.c:1375 sql_help.c:1422 sql_help.c:1424 sql_help.c:1431 -#: sql_help.c:1440 sql_help.c:1445 sql_help.c:1452 sql_help.c:1453 -#: sql_help.c:1704 sql_help.c:1707 sql_help.c:1711 sql_help.c:1747 -#: sql_help.c:1868 sql_help.c:1984 sql_help.c:1990 sql_help.c:2004 -#: sql_help.c:2005 sql_help.c:2006 sql_help.c:2354 sql_help.c:2367 -#: sql_help.c:2420 sql_help.c:2488 sql_help.c:2494 sql_help.c:2527 -#: sql_help.c:2658 sql_help.c:2763 sql_help.c:2798 sql_help.c:2800 -#: sql_help.c:2912 sql_help.c:2921 sql_help.c:2931 sql_help.c:2934 -#: sql_help.c:2944 sql_help.c:2948 sql_help.c:2971 sql_help.c:2973 -#: sql_help.c:2980 sql_help.c:2993 sql_help.c:2998 sql_help.c:3005 -#: sql_help.c:3006 sql_help.c:3022 sql_help.c:3148 sql_help.c:3288 -#: sql_help.c:3914 sql_help.c:3915 sql_help.c:4011 sql_help.c:4026 -#: sql_help.c:4028 sql_help.c:4030 sql_help.c:4124 sql_help.c:4127 -#: sql_help.c:4129 sql_help.c:4131 sql_help.c:4377 sql_help.c:4378 -#: sql_help.c:4498 sql_help.c:4659 sql_help.c:4666 sql_help.c:4668 -#: sql_help.c:4917 sql_help.c:4924 sql_help.c:4926 sql_help.c:4967 -#: sql_help.c:4969 sql_help.c:4971 sql_help.c:5024 sql_help.c:5162 -#: sql_help.c:5169 sql_help.c:5171 +#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:942 sql_help.c:1110 +#: sql_help.c:1341 sql_help.c:1359 sql_help.c:1363 sql_help.c:1364 +#: sql_help.c:1368 sql_help.c:1370 sql_help.c:1371 sql_help.c:1372 +#: sql_help.c:1374 sql_help.c:1375 sql_help.c:1377 sql_help.c:1380 +#: sql_help.c:1381 sql_help.c:1383 sql_help.c:1386 sql_help.c:1388 +#: sql_help.c:1389 sql_help.c:1436 sql_help.c:1438 sql_help.c:1445 +#: sql_help.c:1454 sql_help.c:1459 sql_help.c:1466 sql_help.c:1467 +#: sql_help.c:1718 sql_help.c:1721 sql_help.c:1725 sql_help.c:1761 +#: sql_help.c:1882 sql_help.c:1998 sql_help.c:2004 sql_help.c:2018 +#: sql_help.c:2019 sql_help.c:2020 sql_help.c:2368 sql_help.c:2381 +#: sql_help.c:2434 sql_help.c:2502 sql_help.c:2508 sql_help.c:2541 +#: sql_help.c:2679 sql_help.c:2783 sql_help.c:2818 sql_help.c:2820 +#: sql_help.c:2932 sql_help.c:2941 sql_help.c:2951 sql_help.c:2954 +#: sql_help.c:2964 sql_help.c:2968 sql_help.c:2991 sql_help.c:2993 +#: sql_help.c:3000 sql_help.c:3013 sql_help.c:3018 sql_help.c:3025 +#: sql_help.c:3026 sql_help.c:3042 sql_help.c:3168 sql_help.c:3308 +#: sql_help.c:3934 sql_help.c:3935 sql_help.c:4031 sql_help.c:4046 +#: sql_help.c:4048 sql_help.c:4050 sql_help.c:4144 sql_help.c:4147 +#: sql_help.c:4149 sql_help.c:4151 sql_help.c:4397 sql_help.c:4398 +#: sql_help.c:4518 sql_help.c:4679 sql_help.c:4686 sql_help.c:4688 +#: sql_help.c:4937 sql_help.c:4944 sql_help.c:4946 sql_help.c:4987 +#: sql_help.c:4989 sql_help.c:4991 sql_help.c:5044 sql_help.c:5182 +#: sql_help.c:5189 sql_help.c:5191 msgid "column_name" msgstr "列名" -#: sql_help.c:457 sql_help.c:682 sql_help.c:1328 sql_help.c:1712 +#: sql_help.c:457 sql_help.c:682 sql_help.c:1342 sql_help.c:1726 msgid "new_column_name" msgstr "新しい列名" -#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1040 -#: sql_help.c:1344 sql_help.c:1612 +#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1054 +#: sql_help.c:1358 sql_help.c:1626 msgid "where action is one of:" msgstr "アクションは以下のいずれかです:" -#: sql_help.c:464 sql_help.c:469 sql_help.c:1088 sql_help.c:1346 -#: sql_help.c:1351 sql_help.c:1614 sql_help.c:1618 sql_help.c:2258 -#: sql_help.c:2355 sql_help.c:2567 sql_help.c:2756 sql_help.c:2913 -#: sql_help.c:3195 sql_help.c:4183 +#: sql_help.c:464 sql_help.c:469 sql_help.c:1102 sql_help.c:1360 +#: sql_help.c:1365 sql_help.c:1628 sql_help.c:1632 sql_help.c:2272 +#: sql_help.c:2369 sql_help.c:2581 sql_help.c:2776 sql_help.c:2933 +#: sql_help.c:3215 sql_help.c:4203 msgid "data_type" msgstr "データ型" -#: sql_help.c:465 sql_help.c:470 sql_help.c:1347 sql_help.c:1352 -#: sql_help.c:1447 sql_help.c:1615 sql_help.c:1619 sql_help.c:2259 -#: sql_help.c:2358 sql_help.c:2490 sql_help.c:2915 sql_help.c:2923 -#: sql_help.c:2936 sql_help.c:2950 sql_help.c:3000 sql_help.c:3196 -#: sql_help.c:3202 sql_help.c:4021 +#: sql_help.c:465 sql_help.c:470 sql_help.c:1361 sql_help.c:1366 +#: sql_help.c:1461 sql_help.c:1629 sql_help.c:1633 sql_help.c:2273 +#: sql_help.c:2372 sql_help.c:2504 sql_help.c:2935 sql_help.c:2943 +#: sql_help.c:2956 sql_help.c:2970 sql_help.c:3020 sql_help.c:3216 +#: sql_help.c:3222 sql_help.c:4041 msgid "collation" msgstr "照合順序" -#: sql_help.c:466 sql_help.c:1348 sql_help.c:2359 sql_help.c:2368 -#: sql_help.c:2916 sql_help.c:2932 sql_help.c:2945 +#: sql_help.c:466 sql_help.c:1362 sql_help.c:2373 sql_help.c:2382 +#: sql_help.c:2936 sql_help.c:2952 sql_help.c:2965 msgid "column_constraint" msgstr "カラム制約" -#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1368 sql_help.c:5018 +#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1382 sql_help.c:5038 msgid "integer" msgstr "整数" -#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1370 -#: sql_help.c:1373 +#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1384 +#: sql_help.c:1387 msgid "attribute_option" msgstr "属性オプション" -#: sql_help.c:486 sql_help.c:1377 sql_help.c:2360 sql_help.c:2369 -#: sql_help.c:2917 sql_help.c:2933 sql_help.c:2946 +#: sql_help.c:486 sql_help.c:1391 sql_help.c:2374 sql_help.c:2383 +#: sql_help.c:2937 sql_help.c:2953 sql_help.c:2966 msgid "table_constraint" msgstr "テーブル制約" -#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1382 -#: sql_help.c:1383 sql_help.c:1384 sql_help.c:1385 sql_help.c:1922 +#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1396 +#: sql_help.c:1397 sql_help.c:1398 sql_help.c:1399 sql_help.c:1936 msgid "trigger_name" msgstr "トリガー名" -#: sql_help.c:493 sql_help.c:494 sql_help.c:1396 sql_help.c:1397 -#: sql_help.c:2361 sql_help.c:2366 sql_help.c:2920 sql_help.c:2943 +#: sql_help.c:493 sql_help.c:494 sql_help.c:1410 sql_help.c:1411 +#: sql_help.c:2375 sql_help.c:2380 sql_help.c:2940 sql_help.c:2963 msgid "parent_table" msgstr "親テーブル" -#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1039 -#: sql_help.c:1571 sql_help.c:2290 +#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1053 +#: sql_help.c:1585 sql_help.c:2304 msgid "extension_name" msgstr "拡張名" -#: sql_help.c:555 sql_help.c:1041 sql_help.c:2424 +#: sql_help.c:555 sql_help.c:1055 sql_help.c:2438 msgid "execution_cost" msgstr "実行コスト" -#: sql_help.c:556 sql_help.c:1042 sql_help.c:2425 +#: sql_help.c:556 sql_help.c:1056 sql_help.c:2439 msgid "result_rows" msgstr "結果の行数" -#: sql_help.c:557 sql_help.c:2426 +#: sql_help.c:557 sql_help.c:2440 msgid "support_function" msgstr "サポート関数" -#: sql_help.c:579 sql_help.c:581 sql_help.c:964 sql_help.c:972 sql_help.c:976 -#: sql_help.c:979 sql_help.c:982 sql_help.c:1654 sql_help.c:1662 -#: sql_help.c:1666 sql_help.c:1669 sql_help.c:1672 sql_help.c:2734 -#: sql_help.c:2736 sql_help.c:2739 sql_help.c:2740 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3917 sql_help.c:3918 sql_help.c:3921 -#: sql_help.c:3922 sql_help.c:3924 sql_help.c:3925 sql_help.c:3927 -#: sql_help.c:3928 sql_help.c:3930 sql_help.c:3931 sql_help.c:3933 -#: sql_help.c:3934 sql_help.c:3940 sql_help.c:3941 sql_help.c:3943 -#: sql_help.c:3944 sql_help.c:3946 sql_help.c:3947 sql_help.c:3949 -#: sql_help.c:3950 sql_help.c:3952 sql_help.c:3953 sql_help.c:3955 -#: sql_help.c:3956 sql_help.c:3958 sql_help.c:3959 sql_help.c:3961 -#: sql_help.c:3962 sql_help.c:4375 sql_help.c:4376 sql_help.c:4380 -#: sql_help.c:4381 sql_help.c:4384 sql_help.c:4385 sql_help.c:4387 -#: sql_help.c:4388 sql_help.c:4390 sql_help.c:4391 sql_help.c:4393 -#: sql_help.c:4394 sql_help.c:4396 sql_help.c:4397 sql_help.c:4403 -#: sql_help.c:4404 sql_help.c:4406 sql_help.c:4407 sql_help.c:4409 -#: sql_help.c:4410 sql_help.c:4412 sql_help.c:4413 sql_help.c:4415 -#: sql_help.c:4416 sql_help.c:4418 sql_help.c:4419 sql_help.c:4421 -#: sql_help.c:4422 sql_help.c:4424 sql_help.c:4425 +#: sql_help.c:579 sql_help.c:581 sql_help.c:978 sql_help.c:986 sql_help.c:990 +#: sql_help.c:993 sql_help.c:996 sql_help.c:1668 sql_help.c:1676 +#: sql_help.c:1680 sql_help.c:1683 sql_help.c:1686 sql_help.c:2754 +#: sql_help.c:2756 sql_help.c:2759 sql_help.c:2760 sql_help.c:3932 +#: sql_help.c:3933 sql_help.c:3937 sql_help.c:3938 sql_help.c:3941 +#: sql_help.c:3942 sql_help.c:3944 sql_help.c:3945 sql_help.c:3947 +#: sql_help.c:3948 sql_help.c:3950 sql_help.c:3951 sql_help.c:3953 +#: sql_help.c:3954 sql_help.c:3960 sql_help.c:3961 sql_help.c:3963 +#: sql_help.c:3964 sql_help.c:3966 sql_help.c:3967 sql_help.c:3969 +#: sql_help.c:3970 sql_help.c:3972 sql_help.c:3973 sql_help.c:3975 +#: sql_help.c:3976 sql_help.c:3978 sql_help.c:3979 sql_help.c:3981 +#: sql_help.c:3982 sql_help.c:4395 sql_help.c:4396 sql_help.c:4400 +#: sql_help.c:4401 sql_help.c:4404 sql_help.c:4405 sql_help.c:4407 +#: sql_help.c:4408 sql_help.c:4410 sql_help.c:4411 sql_help.c:4413 +#: sql_help.c:4414 sql_help.c:4416 sql_help.c:4417 sql_help.c:4423 +#: sql_help.c:4424 sql_help.c:4426 sql_help.c:4427 sql_help.c:4429 +#: sql_help.c:4430 sql_help.c:4432 sql_help.c:4433 sql_help.c:4435 +#: sql_help.c:4436 sql_help.c:4438 sql_help.c:4439 sql_help.c:4441 +#: sql_help.c:4442 sql_help.c:4444 sql_help.c:4445 msgid "role_specification" msgstr "ロールの指定" -#: sql_help.c:580 sql_help.c:582 sql_help.c:1685 sql_help.c:2225 -#: sql_help.c:2742 sql_help.c:3273 sql_help.c:3724 sql_help.c:4753 +#: sql_help.c:580 sql_help.c:582 sql_help.c:1699 sql_help.c:2239 +#: sql_help.c:2762 sql_help.c:3293 sql_help.c:3744 sql_help.c:4773 msgid "user_name" msgstr "ユーザー名" -#: sql_help.c:583 sql_help.c:984 sql_help.c:1674 sql_help.c:2741 -#: sql_help.c:3963 sql_help.c:4426 +#: sql_help.c:583 sql_help.c:998 sql_help.c:1688 sql_help.c:2761 +#: sql_help.c:3983 sql_help.c:4446 msgid "where role_specification can be:" msgstr "ロール指定は以下の通りです:" @@ -4687,22 +4687,22 @@ msgid "group_name" msgstr "グループ名" -#: sql_help.c:606 sql_help.c:1443 sql_help.c:2237 sql_help.c:2497 -#: sql_help.c:2531 sql_help.c:2928 sql_help.c:2941 sql_help.c:2955 -#: sql_help.c:2996 sql_help.c:3026 sql_help.c:3038 sql_help.c:3954 -#: sql_help.c:4417 +#: sql_help.c:606 sql_help.c:1457 sql_help.c:2251 sql_help.c:2511 +#: sql_help.c:2545 sql_help.c:2948 sql_help.c:2961 sql_help.c:2975 +#: sql_help.c:3016 sql_help.c:3046 sql_help.c:3058 sql_help.c:3974 +#: sql_help.c:4437 msgid "tablespace_name" msgstr "テーブル空間名" -#: sql_help.c:608 sql_help.c:701 sql_help.c:1390 sql_help.c:1400 -#: sql_help.c:1438 sql_help.c:1800 +#: sql_help.c:608 sql_help.c:701 sql_help.c:1404 sql_help.c:1414 +#: sql_help.c:1452 sql_help.c:1814 msgid "index_name" msgstr "インデックス名" -#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1393 -#: sql_help.c:1395 sql_help.c:1441 sql_help.c:2495 sql_help.c:2529 -#: sql_help.c:2926 sql_help.c:2939 sql_help.c:2953 sql_help.c:2994 -#: sql_help.c:3024 +#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1407 +#: sql_help.c:1409 sql_help.c:1455 sql_help.c:2509 sql_help.c:2543 +#: sql_help.c:2946 sql_help.c:2959 sql_help.c:2973 sql_help.c:3014 +#: sql_help.c:3044 msgid "storage_parameter" msgstr "ストレージパラメータ" @@ -4710,1907 +4710,1915 @@ msgid "column_number" msgstr "列番号" -#: sql_help.c:641 sql_help.c:1885 sql_help.c:4509 +#: sql_help.c:641 sql_help.c:1899 sql_help.c:4529 msgid "large_object_oid" msgstr "ラージオブジェクトのOID" -#: sql_help.c:700 sql_help.c:1376 sql_help.c:2914 +#: sql_help.c:700 sql_help.c:1390 sql_help.c:2934 msgid "compression_method" msgstr "圧縮方式" -#: sql_help.c:702 sql_help.c:1391 +#: sql_help.c:702 sql_help.c:1405 msgid "new_access_method" msgstr "新しいアクセスメソッド" -#: sql_help.c:739 sql_help.c:2552 +#: sql_help.c:739 sql_help.c:2566 msgid "res_proc" msgstr "制約選択評価関数" -#: sql_help.c:740 sql_help.c:2553 +#: sql_help.c:740 sql_help.c:2567 msgid "join_proc" msgstr "結合選択評価関数" -#: sql_help.c:741 sql_help.c:2550 +#: sql_help.c:741 sql_help.c:2564 msgid "com_op" msgstr "交代演算子" -#: sql_help.c:742 sql_help.c:2551 +#: sql_help.c:742 sql_help.c:2565 msgid "neg_op" msgstr "否定演算子" -#: sql_help.c:794 sql_help.c:806 sql_help.c:2570 +#: sql_help.c:794 sql_help.c:806 sql_help.c:2584 msgid "strategy_number" msgstr "戦略番号" #: sql_help.c:796 sql_help.c:797 sql_help.c:800 sql_help.c:801 sql_help.c:807 -#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2572 sql_help.c:2573 -#: sql_help.c:2576 sql_help.c:2577 +#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2586 sql_help.c:2587 +#: sql_help.c:2590 sql_help.c:2591 msgid "op_type" msgstr "演算子の型" -#: sql_help.c:798 sql_help.c:2574 +#: sql_help.c:798 sql_help.c:2588 msgid "sort_family_name" msgstr "ソートファミリー名" -#: sql_help.c:799 sql_help.c:809 sql_help.c:2575 +#: sql_help.c:799 sql_help.c:809 sql_help.c:2589 msgid "support_number" msgstr "サポート番号" -#: sql_help.c:803 sql_help.c:2157 sql_help.c:2579 sql_help.c:3115 -#: sql_help.c:3117 +#: sql_help.c:803 sql_help.c:2171 sql_help.c:2593 sql_help.c:3135 +#: sql_help.c:3137 msgid "argument_type" msgstr "引数の型" -#: sql_help.c:834 sql_help.c:837 sql_help.c:926 sql_help.c:1055 sql_help.c:1095 -#: sql_help.c:1567 sql_help.c:1570 sql_help.c:1746 sql_help.c:1799 -#: sql_help.c:1870 sql_help.c:1895 sql_help.c:1908 sql_help.c:1923 -#: sql_help.c:1983 sql_help.c:1989 sql_help.c:2353 sql_help.c:2365 -#: sql_help.c:2486 sql_help.c:2526 sql_help.c:2603 sql_help.c:2657 -#: sql_help.c:2710 sql_help.c:2762 sql_help.c:2795 sql_help.c:2802 -#: sql_help.c:2911 sql_help.c:2929 sql_help.c:2942 sql_help.c:3021 -#: sql_help.c:3141 sql_help.c:3322 sql_help.c:3545 sql_help.c:3594 -#: sql_help.c:3700 sql_help.c:3910 sql_help.c:3916 sql_help.c:3977 -#: sql_help.c:4009 sql_help.c:4373 sql_help.c:4379 sql_help.c:4497 -#: sql_help.c:4610 sql_help.c:4673 sql_help.c:4712 sql_help.c:4868 -#: sql_help.c:4931 sql_help.c:4965 sql_help.c:5023 sql_help.c:5113 -#: sql_help.c:5176 +#: sql_help.c:834 sql_help.c:837 sql_help.c:938 sql_help.c:941 sql_help.c:1069 +#: sql_help.c:1109 sql_help.c:1581 sql_help.c:1584 sql_help.c:1760 +#: sql_help.c:1813 sql_help.c:1884 sql_help.c:1909 sql_help.c:1922 +#: sql_help.c:1937 sql_help.c:1997 sql_help.c:2003 sql_help.c:2367 +#: sql_help.c:2379 sql_help.c:2500 sql_help.c:2540 sql_help.c:2617 +#: sql_help.c:2678 sql_help.c:2730 sql_help.c:2782 sql_help.c:2815 +#: sql_help.c:2822 sql_help.c:2931 sql_help.c:2949 sql_help.c:2962 +#: sql_help.c:3041 sql_help.c:3161 sql_help.c:3342 sql_help.c:3565 +#: sql_help.c:3614 sql_help.c:3720 sql_help.c:3930 sql_help.c:3936 +#: sql_help.c:3997 sql_help.c:4029 sql_help.c:4393 sql_help.c:4399 +#: sql_help.c:4517 sql_help.c:4630 sql_help.c:4693 sql_help.c:4732 +#: sql_help.c:4888 sql_help.c:4951 sql_help.c:4985 sql_help.c:5043 +#: sql_help.c:5133 sql_help.c:5196 msgid "table_name" msgstr "テーブル名" -#: sql_help.c:839 sql_help.c:2605 +#: sql_help.c:839 sql_help.c:2619 msgid "using_expression" msgstr "USING式" -#: sql_help.c:840 sql_help.c:2606 +#: sql_help.c:840 sql_help.c:2620 msgid "check_expression" msgstr "CHECK式" -#: sql_help.c:913 sql_help.c:915 sql_help.c:917 sql_help.c:2653 +#: sql_help.c:922 sql_help.c:924 sql_help.c:2671 msgid "publication_object" msgstr "発行オブジェクト" -#: sql_help.c:919 sql_help.c:2654 +#: sql_help.c:926 +msgid "publication_drop_object" +msgstr "削除発行オブジェクト" + +#: sql_help.c:928 sql_help.c:2672 msgid "publication_parameter" msgstr "パブリケーションパラメータ" -#: sql_help.c:925 sql_help.c:2656 +#: sql_help.c:934 sql_help.c:2674 msgid "where publication_object is one of:" msgstr "発行オブジェクトは以下のいずれかです:" -#: sql_help.c:968 sql_help.c:1658 sql_help.c:2464 sql_help.c:2689 -#: sql_help.c:3256 +#: sql_help.c:935 sql_help.c:1754 sql_help.c:2675 sql_help.c:5027 +msgid "table_and_columns" +msgstr "テーブルおよび列" + +#: sql_help.c:937 +msgid "and publication_drop_object is one of:" +msgstr "また、削除発行オブジェクトは以下のいずれかです:" + +#: sql_help.c:940 sql_help.c:1759 sql_help.c:2677 sql_help.c:5042 +msgid "and table_and_columns is:" +msgstr "そしてテーブルと列の指定は以下の通りです:" + +#: sql_help.c:982 sql_help.c:1672 sql_help.c:2478 sql_help.c:2709 +#: sql_help.c:3276 msgid "password" msgstr "パスワード" -#: sql_help.c:969 sql_help.c:1659 sql_help.c:2465 sql_help.c:2690 -#: sql_help.c:3257 +#: sql_help.c:983 sql_help.c:1673 sql_help.c:2479 sql_help.c:2710 +#: sql_help.c:3277 msgid "timestamp" msgstr "タイムスタンプ" -#: sql_help.c:973 sql_help.c:977 sql_help.c:980 sql_help.c:983 sql_help.c:1663 -#: sql_help.c:1667 sql_help.c:1670 sql_help.c:1673 sql_help.c:3923 -#: sql_help.c:4386 +#: sql_help.c:987 sql_help.c:991 sql_help.c:994 sql_help.c:997 sql_help.c:1677 +#: sql_help.c:1681 sql_help.c:1684 sql_help.c:1687 sql_help.c:3943 +#: sql_help.c:4406 msgid "database_name" msgstr "データベース名" -#: sql_help.c:1089 sql_help.c:2757 +#: sql_help.c:1103 sql_help.c:2777 msgid "increment" msgstr "増分値" -#: sql_help.c:1090 sql_help.c:2758 +#: sql_help.c:1104 sql_help.c:2778 msgid "minvalue" msgstr "最小値" -#: sql_help.c:1091 sql_help.c:2759 +#: sql_help.c:1105 sql_help.c:2779 msgid "maxvalue" msgstr "最大値" -#: sql_help.c:1092 sql_help.c:2760 sql_help.c:4606 sql_help.c:4710 -#: sql_help.c:4864 sql_help.c:5040 sql_help.c:5109 +#: sql_help.c:1106 sql_help.c:2780 sql_help.c:4626 sql_help.c:4730 +#: sql_help.c:4884 sql_help.c:5060 sql_help.c:5129 msgid "start" msgstr "開始番号" -#: sql_help.c:1093 sql_help.c:1365 +#: sql_help.c:1107 sql_help.c:1379 msgid "restart" msgstr "再開始番号" -#: sql_help.c:1094 sql_help.c:2761 +#: sql_help.c:1108 sql_help.c:2781 msgid "cache" msgstr "キャッシュ割り当て数" -#: sql_help.c:1139 +#: sql_help.c:1153 msgid "new_target" msgstr "新しいターゲット" -#: sql_help.c:1158 sql_help.c:2814 +#: sql_help.c:1172 sql_help.c:2834 msgid "conninfo" msgstr "接続文字列" -#: sql_help.c:1160 sql_help.c:1164 sql_help.c:1168 sql_help.c:2815 +#: sql_help.c:1174 sql_help.c:1178 sql_help.c:1182 sql_help.c:2835 msgid "publication_name" msgstr "パブリケーション名" -#: sql_help.c:1161 sql_help.c:1165 sql_help.c:1169 +#: sql_help.c:1175 sql_help.c:1179 sql_help.c:1183 msgid "publication_option" msgstr "パブリケーション・オプション" -#: sql_help.c:1172 +#: sql_help.c:1186 msgid "refresh_option" msgstr "{REFRESH PUBLICATION の追加オプション}" -#: sql_help.c:1177 sql_help.c:2816 +#: sql_help.c:1191 sql_help.c:2836 msgid "subscription_parameter" msgstr "{SUBSCRIPTION パラメータ名}" -#: sql_help.c:1180 +#: sql_help.c:1194 msgid "skip_option" msgstr "スキップオプション" -#: sql_help.c:1340 sql_help.c:1343 +#: sql_help.c:1354 sql_help.c:1357 msgid "partition_name" msgstr "パーティション名" -#: sql_help.c:1341 sql_help.c:2370 sql_help.c:2947 +#: sql_help.c:1355 sql_help.c:2384 sql_help.c:2967 msgid "partition_bound_spec" msgstr "パーティション境界の仕様" -#: sql_help.c:1362 sql_help.c:1412 sql_help.c:2961 +#: sql_help.c:1376 sql_help.c:1426 sql_help.c:2981 msgid "sequence_options" msgstr "シーケンスオプション" -#: sql_help.c:1364 +#: sql_help.c:1378 msgid "sequence_option" msgstr "シーケンスオプション" -#: sql_help.c:1378 +#: sql_help.c:1392 msgid "table_constraint_using_index" msgstr "インデックスを使うテーブルの制約" -#: sql_help.c:1386 sql_help.c:1387 sql_help.c:1388 sql_help.c:1389 +#: sql_help.c:1400 sql_help.c:1401 sql_help.c:1402 sql_help.c:1403 msgid "rewrite_rule_name" msgstr "書き換えルール名" -#: sql_help.c:1401 sql_help.c:2382 sql_help.c:2986 +#: sql_help.c:1415 sql_help.c:2396 sql_help.c:3006 msgid "and partition_bound_spec is:" msgstr "パーティション境界の仕様は以下の通りです:" -#: sql_help.c:1402 sql_help.c:1403 sql_help.c:1404 sql_help.c:2383 -#: sql_help.c:2384 sql_help.c:2385 sql_help.c:2987 sql_help.c:2988 -#: sql_help.c:2989 +#: sql_help.c:1416 sql_help.c:1417 sql_help.c:1418 sql_help.c:2397 +#: sql_help.c:2398 sql_help.c:2399 sql_help.c:3007 sql_help.c:3008 +#: sql_help.c:3009 msgid "partition_bound_expr" msgstr "パーティション境界式" -#: sql_help.c:1405 sql_help.c:1406 sql_help.c:2386 sql_help.c:2387 -#: sql_help.c:2990 sql_help.c:2991 +#: sql_help.c:1419 sql_help.c:1420 sql_help.c:2400 sql_help.c:2401 +#: sql_help.c:3010 sql_help.c:3011 msgid "numeric_literal" msgstr "numericリテラル" -#: sql_help.c:1407 +#: sql_help.c:1421 msgid "and column_constraint is:" msgstr "そしてカラム制約は以下の通りです:" -#: sql_help.c:1410 sql_help.c:2377 sql_help.c:2418 sql_help.c:2627 -#: sql_help.c:2959 +#: sql_help.c:1424 sql_help.c:2391 sql_help.c:2432 sql_help.c:2641 +#: sql_help.c:2979 msgid "default_expr" msgstr "デフォルト表現" -#: sql_help.c:1411 sql_help.c:2378 sql_help.c:2960 +#: sql_help.c:1425 sql_help.c:2392 sql_help.c:2980 msgid "generation_expr" msgstr "生成式" -#: sql_help.c:1413 sql_help.c:1414 sql_help.c:1423 sql_help.c:1425 -#: sql_help.c:1429 sql_help.c:2962 sql_help.c:2963 sql_help.c:2972 -#: sql_help.c:2974 sql_help.c:2978 +#: sql_help.c:1427 sql_help.c:1428 sql_help.c:1437 sql_help.c:1439 +#: sql_help.c:1443 sql_help.c:2982 sql_help.c:2983 sql_help.c:2992 +#: sql_help.c:2994 sql_help.c:2998 msgid "index_parameters" msgstr "インデックスパラメータ" -#: sql_help.c:1415 sql_help.c:1432 sql_help.c:2964 sql_help.c:2981 +#: sql_help.c:1429 sql_help.c:1446 sql_help.c:2984 sql_help.c:3001 msgid "reftable" msgstr "参照テーブル" -#: sql_help.c:1416 sql_help.c:1433 sql_help.c:2965 sql_help.c:2982 +#: sql_help.c:1430 sql_help.c:1447 sql_help.c:2985 sql_help.c:3002 msgid "refcolumn" msgstr "参照列" -#: sql_help.c:1417 sql_help.c:1418 sql_help.c:1434 sql_help.c:1435 -#: sql_help.c:2966 sql_help.c:2967 sql_help.c:2983 sql_help.c:2984 +#: sql_help.c:1431 sql_help.c:1432 sql_help.c:1448 sql_help.c:1449 +#: sql_help.c:2986 sql_help.c:2987 sql_help.c:3003 sql_help.c:3004 msgid "referential_action" msgstr "参照動作" -#: sql_help.c:1419 sql_help.c:2379 sql_help.c:2968 +#: sql_help.c:1433 sql_help.c:2393 sql_help.c:2988 msgid "and table_constraint is:" msgstr "テーブル制約は以下の通りです:" -#: sql_help.c:1427 sql_help.c:2976 +#: sql_help.c:1441 sql_help.c:2996 msgid "exclude_element" msgstr "除外対象要素" -#: sql_help.c:1428 sql_help.c:2977 sql_help.c:4604 sql_help.c:4708 -#: sql_help.c:4862 sql_help.c:5038 sql_help.c:5107 +#: sql_help.c:1442 sql_help.c:2997 sql_help.c:4624 sql_help.c:4728 +#: sql_help.c:4882 sql_help.c:5058 sql_help.c:5127 msgid "operator" msgstr "演算子" -#: sql_help.c:1430 sql_help.c:2498 sql_help.c:2979 +#: sql_help.c:1444 sql_help.c:2512 sql_help.c:2999 msgid "predicate" msgstr "インデックスの述語" -#: sql_help.c:1436 +#: sql_help.c:1450 msgid "and table_constraint_using_index is:" msgstr "テーブル制約は以下の通りです:" -#: sql_help.c:1439 sql_help.c:2992 +#: sql_help.c:1453 sql_help.c:3012 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "UNIQUE, PRIMARY KEY, EXCLUDE 制約のインデックスパラメータは以下の通りです:" -#: sql_help.c:1444 sql_help.c:2997 +#: sql_help.c:1458 sql_help.c:3017 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "EXCLUDE 制約の除外対象要素は以下の通りです:" -#: sql_help.c:1448 sql_help.c:2491 sql_help.c:2924 sql_help.c:2937 -#: sql_help.c:2951 sql_help.c:3001 sql_help.c:4022 +#: sql_help.c:1462 sql_help.c:2505 sql_help.c:2944 sql_help.c:2957 +#: sql_help.c:2971 sql_help.c:3021 sql_help.c:4042 msgid "opclass" msgstr "演算子クラス" -#: sql_help.c:1449 sql_help.c:2492 sql_help.c:3002 +#: sql_help.c:1463 sql_help.c:2506 sql_help.c:3022 msgid "opclass_parameter" msgstr "演算子クラスパラメータ" -#: sql_help.c:1451 sql_help.c:3004 +#: sql_help.c:1465 sql_help.c:3024 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "FOREIGN KEY/REFERENCES制約の参照動作は以下の通り:" -#: sql_help.c:1469 sql_help.c:1472 sql_help.c:3041 +#: sql_help.c:1483 sql_help.c:1486 sql_help.c:3061 msgid "tablespace_option" msgstr "テーブル空間のオプション" -#: sql_help.c:1493 sql_help.c:1496 sql_help.c:1502 sql_help.c:1506 +#: sql_help.c:1507 sql_help.c:1510 sql_help.c:1516 sql_help.c:1520 msgid "token_type" msgstr "トークンの型" -#: sql_help.c:1494 sql_help.c:1497 +#: sql_help.c:1508 sql_help.c:1511 msgid "dictionary_name" msgstr "辞書名" -#: sql_help.c:1499 sql_help.c:1503 +#: sql_help.c:1513 sql_help.c:1517 msgid "old_dictionary" msgstr "元の辞書" -#: sql_help.c:1500 sql_help.c:1504 +#: sql_help.c:1514 sql_help.c:1518 msgid "new_dictionary" msgstr "新しい辞書" -#: sql_help.c:1599 sql_help.c:1613 sql_help.c:1616 sql_help.c:1617 -#: sql_help.c:3194 +#: sql_help.c:1613 sql_help.c:1627 sql_help.c:1630 sql_help.c:1631 +#: sql_help.c:3214 msgid "attribute_name" msgstr "属性名" -#: sql_help.c:1600 +#: sql_help.c:1614 msgid "new_attribute_name" msgstr "新しい属性名" -#: sql_help.c:1604 sql_help.c:1608 +#: sql_help.c:1618 sql_help.c:1622 msgid "new_enum_value" msgstr "新しい列挙値" -#: sql_help.c:1605 +#: sql_help.c:1619 msgid "neighbor_enum_value" msgstr "隣接した列挙値" -#: sql_help.c:1607 +#: sql_help.c:1621 msgid "existing_enum_value" msgstr "既存の列挙値" -#: sql_help.c:1610 +#: sql_help.c:1624 msgid "property" msgstr "プロパティ" -#: sql_help.c:1686 sql_help.c:2362 sql_help.c:2371 sql_help.c:2773 -#: sql_help.c:3274 sql_help.c:3725 sql_help.c:3932 sql_help.c:3978 -#: sql_help.c:4395 +#: sql_help.c:1700 sql_help.c:2376 sql_help.c:2385 sql_help.c:2793 +#: sql_help.c:3294 sql_help.c:3745 sql_help.c:3952 sql_help.c:3998 +#: sql_help.c:4415 msgid "server_name" msgstr "サーバー名" -#: sql_help.c:1718 sql_help.c:1721 sql_help.c:3289 +#: sql_help.c:1732 sql_help.c:1735 sql_help.c:3309 msgid "view_option_name" msgstr "ビューのオプション名" -#: sql_help.c:1719 sql_help.c:3290 +#: sql_help.c:1733 sql_help.c:3310 msgid "view_option_value" msgstr "ビューオプションの値" -#: sql_help.c:1740 sql_help.c:5007 -msgid "table_and_columns" -msgstr "テーブルおよび列" - -#: sql_help.c:1741 sql_help.c:1801 sql_help.c:1995 sql_help.c:3774 -#: sql_help.c:4230 sql_help.c:5008 +#: sql_help.c:1755 sql_help.c:1815 sql_help.c:2009 sql_help.c:3794 +#: sql_help.c:4250 sql_help.c:5028 msgid "where option can be one of:" msgstr "オプションには以下のうちのいずれかを指定します:" -#: sql_help.c:1742 sql_help.c:1743 sql_help.c:1802 sql_help.c:1997 -#: sql_help.c:2001 sql_help.c:2183 sql_help.c:3775 sql_help.c:3776 -#: sql_help.c:3777 sql_help.c:3778 sql_help.c:3779 sql_help.c:3780 -#: sql_help.c:3781 sql_help.c:3782 sql_help.c:3783 sql_help.c:3784 -#: sql_help.c:4231 sql_help.c:4233 sql_help.c:5009 sql_help.c:5010 -#: sql_help.c:5011 sql_help.c:5012 sql_help.c:5013 sql_help.c:5014 -#: sql_help.c:5015 sql_help.c:5016 sql_help.c:5017 sql_help.c:5019 -#: sql_help.c:5020 +#: sql_help.c:1756 sql_help.c:1757 sql_help.c:1816 sql_help.c:2011 +#: sql_help.c:2015 sql_help.c:2197 sql_help.c:3795 sql_help.c:3796 +#: sql_help.c:3797 sql_help.c:3798 sql_help.c:3799 sql_help.c:3800 +#: sql_help.c:3801 sql_help.c:3802 sql_help.c:3803 sql_help.c:3804 +#: sql_help.c:4251 sql_help.c:4253 sql_help.c:5029 sql_help.c:5030 +#: sql_help.c:5031 sql_help.c:5032 sql_help.c:5033 sql_help.c:5034 +#: sql_help.c:5035 sql_help.c:5036 sql_help.c:5037 sql_help.c:5039 +#: sql_help.c:5040 msgid "boolean" msgstr "真偽値" -#: sql_help.c:1744 sql_help.c:5021 +#: sql_help.c:1758 sql_help.c:5041 msgid "size" msgstr "サイズ" -#: sql_help.c:1745 sql_help.c:5022 -msgid "and table_and_columns is:" -msgstr "そしてテーブルと列の指定は以下の通りです:" - -#: sql_help.c:1761 sql_help.c:4769 sql_help.c:4771 sql_help.c:4795 +#: sql_help.c:1775 sql_help.c:4789 sql_help.c:4791 sql_help.c:4815 msgid "transaction_mode" msgstr "トランザクションのモード" -#: sql_help.c:1762 sql_help.c:4772 sql_help.c:4796 +#: sql_help.c:1776 sql_help.c:4792 sql_help.c:4816 msgid "where transaction_mode is one of:" msgstr "トランザクションのモードは以下の通りです:" -#: sql_help.c:1771 sql_help.c:4614 sql_help.c:4623 sql_help.c:4627 -#: sql_help.c:4631 sql_help.c:4634 sql_help.c:4872 sql_help.c:4881 -#: sql_help.c:4885 sql_help.c:4889 sql_help.c:4892 sql_help.c:5117 -#: sql_help.c:5126 sql_help.c:5130 sql_help.c:5134 sql_help.c:5137 +#: sql_help.c:1785 sql_help.c:4634 sql_help.c:4643 sql_help.c:4647 +#: sql_help.c:4651 sql_help.c:4654 sql_help.c:4892 sql_help.c:4901 +#: sql_help.c:4905 sql_help.c:4909 sql_help.c:4912 sql_help.c:5137 +#: sql_help.c:5146 sql_help.c:5150 sql_help.c:5154 sql_help.c:5157 msgid "argument" msgstr "引数" -#: sql_help.c:1867 +#: sql_help.c:1881 msgid "relation_name" msgstr "リレーション名" -#: sql_help.c:1872 sql_help.c:3926 sql_help.c:4389 +#: sql_help.c:1886 sql_help.c:3946 sql_help.c:4409 msgid "domain_name" msgstr "ドメイン名" -#: sql_help.c:1894 +#: sql_help.c:1908 msgid "policy_name" msgstr "ポリシー名" -#: sql_help.c:1907 +#: sql_help.c:1921 msgid "rule_name" msgstr "ルール名" -#: sql_help.c:1926 sql_help.c:4528 +#: sql_help.c:1940 sql_help.c:4548 msgid "string_literal" msgstr "文字列リテラル" -#: sql_help.c:1951 sql_help.c:4192 sql_help.c:4442 +#: sql_help.c:1965 sql_help.c:4212 sql_help.c:4462 msgid "transaction_id" msgstr "トランザクションID" -#: sql_help.c:1985 sql_help.c:1992 sql_help.c:4048 +#: sql_help.c:1999 sql_help.c:2006 sql_help.c:4068 msgid "filename" msgstr "ファイル名" -#: sql_help.c:1986 sql_help.c:1993 sql_help.c:2712 sql_help.c:2713 -#: sql_help.c:2714 +#: sql_help.c:2000 sql_help.c:2007 sql_help.c:2732 sql_help.c:2733 +#: sql_help.c:2734 msgid "command" msgstr "コマンド" -#: sql_help.c:1988 sql_help.c:2711 sql_help.c:3144 sql_help.c:3325 -#: sql_help.c:4032 sql_help.c:4115 sql_help.c:4118 sql_help.c:4121 -#: sql_help.c:4597 sql_help.c:4599 sql_help.c:4701 sql_help.c:4703 -#: sql_help.c:4855 sql_help.c:4857 sql_help.c:4974 sql_help.c:5100 -#: sql_help.c:5102 +#: sql_help.c:2002 sql_help.c:2731 sql_help.c:3164 sql_help.c:3345 +#: sql_help.c:4052 sql_help.c:4135 sql_help.c:4138 sql_help.c:4141 +#: sql_help.c:4617 sql_help.c:4619 sql_help.c:4721 sql_help.c:4723 +#: sql_help.c:4875 sql_help.c:4877 sql_help.c:4994 sql_help.c:5120 +#: sql_help.c:5122 msgid "condition" msgstr "条件" -#: sql_help.c:1991 sql_help.c:2532 sql_help.c:3027 sql_help.c:3291 -#: sql_help.c:3309 sql_help.c:4013 +#: sql_help.c:2005 sql_help.c:2546 sql_help.c:3047 sql_help.c:3311 +#: sql_help.c:3329 sql_help.c:4033 msgid "query" msgstr "問い合わせ" -#: sql_help.c:1996 +#: sql_help.c:2010 msgid "format_name" msgstr "フォーマット名" -#: sql_help.c:1998 +#: sql_help.c:2012 msgid "delimiter_character" msgstr "区切り文字" -#: sql_help.c:1999 +#: sql_help.c:2013 msgid "null_string" msgstr "NULL文字列" -#: sql_help.c:2000 +#: sql_help.c:2014 msgid "default_string" msgstr "デフォルト文字列" -#: sql_help.c:2002 +#: sql_help.c:2016 msgid "quote_character" msgstr "引用符文字" -#: sql_help.c:2003 +#: sql_help.c:2017 msgid "escape_character" msgstr "エスケープ文字" -#: sql_help.c:2007 +#: sql_help.c:2021 msgid "error_action" msgstr "エラー処理" -#: sql_help.c:2008 +#: sql_help.c:2022 msgid "encoding_name" msgstr "エンコーディング名" -#: sql_help.c:2009 +#: sql_help.c:2023 msgid "verbosity" msgstr "詳細度" -#: sql_help.c:2020 +#: sql_help.c:2034 msgid "access_method_type" msgstr "アクセスメソッドの型" -#: sql_help.c:2091 sql_help.c:2110 sql_help.c:2113 +#: sql_help.c:2105 sql_help.c:2124 sql_help.c:2127 msgid "arg_data_type" msgstr "入力データ型" -#: sql_help.c:2092 sql_help.c:2114 sql_help.c:2122 +#: sql_help.c:2106 sql_help.c:2128 sql_help.c:2136 msgid "sfunc" msgstr "状態遷移関数" -#: sql_help.c:2093 sql_help.c:2115 sql_help.c:2123 +#: sql_help.c:2107 sql_help.c:2129 sql_help.c:2137 msgid "state_data_type" msgstr "状態データの型" -#: sql_help.c:2094 sql_help.c:2116 sql_help.c:2124 +#: sql_help.c:2108 sql_help.c:2130 sql_help.c:2138 msgid "state_data_size" msgstr "状態データのサイズ" -#: sql_help.c:2095 sql_help.c:2117 sql_help.c:2125 +#: sql_help.c:2109 sql_help.c:2131 sql_help.c:2139 msgid "ffunc" msgstr "終了関数" -#: sql_help.c:2096 sql_help.c:2126 +#: sql_help.c:2110 sql_help.c:2140 msgid "combinefunc" msgstr "結合関数" -#: sql_help.c:2097 sql_help.c:2127 +#: sql_help.c:2111 sql_help.c:2141 msgid "serialfunc" msgstr "シリアライズ関数" -#: sql_help.c:2098 sql_help.c:2128 +#: sql_help.c:2112 sql_help.c:2142 msgid "deserialfunc" msgstr "デシリアライズ関数" -#: sql_help.c:2099 sql_help.c:2118 sql_help.c:2129 +#: sql_help.c:2113 sql_help.c:2132 sql_help.c:2143 msgid "initial_condition" msgstr "初期条件" -#: sql_help.c:2100 sql_help.c:2130 +#: sql_help.c:2114 sql_help.c:2144 msgid "msfunc" msgstr "前方状態遷移関数" -#: sql_help.c:2101 sql_help.c:2131 +#: sql_help.c:2115 sql_help.c:2145 msgid "minvfunc" msgstr "逆状態遷移関数" -#: sql_help.c:2102 sql_help.c:2132 +#: sql_help.c:2116 sql_help.c:2146 msgid "mstate_data_type" msgstr "移動集約モード時の状態値のデータ型" -#: sql_help.c:2103 sql_help.c:2133 +#: sql_help.c:2117 sql_help.c:2147 msgid "mstate_data_size" msgstr "移動集約モード時の状態値のデータサイズ" -#: sql_help.c:2104 sql_help.c:2134 +#: sql_help.c:2118 sql_help.c:2148 msgid "mffunc" msgstr "移動集約モード時の終了関数" -#: sql_help.c:2105 sql_help.c:2135 +#: sql_help.c:2119 sql_help.c:2149 msgid "minitial_condition" msgstr "移動集約モード時の初期条件" -#: sql_help.c:2106 sql_help.c:2136 +#: sql_help.c:2120 sql_help.c:2150 msgid "sort_operator" msgstr "ソート演算子" -#: sql_help.c:2119 +#: sql_help.c:2133 msgid "or the old syntax" msgstr "または古い構文" -#: sql_help.c:2121 +#: sql_help.c:2135 msgid "base_type" msgstr "基本の型" -#: sql_help.c:2179 sql_help.c:2229 +#: sql_help.c:2193 sql_help.c:2243 msgid "locale" msgstr "ロケール" -#: sql_help.c:2180 sql_help.c:2230 +#: sql_help.c:2194 sql_help.c:2244 msgid "lc_collate" msgstr "照合順序" -#: sql_help.c:2181 sql_help.c:2231 +#: sql_help.c:2195 sql_help.c:2245 msgid "lc_ctype" msgstr "Ctype(変換演算子)" -#: sql_help.c:2182 sql_help.c:4495 +#: sql_help.c:2196 sql_help.c:4515 msgid "provider" msgstr "プロバイダ" -#: sql_help.c:2184 +#: sql_help.c:2198 msgid "rules" msgstr "ルール" -#: sql_help.c:2185 sql_help.c:2292 +#: sql_help.c:2199 sql_help.c:2306 msgid "version" msgstr "バージョン" -#: sql_help.c:2187 +#: sql_help.c:2201 msgid "existing_collation" msgstr "既存の照合順序" -#: sql_help.c:2197 +#: sql_help.c:2211 msgid "source_encoding" msgstr "変換元のエンコーディング" -#: sql_help.c:2198 +#: sql_help.c:2212 msgid "dest_encoding" msgstr "変換先のエンコーディング" -#: sql_help.c:2226 sql_help.c:3067 +#: sql_help.c:2240 sql_help.c:3087 msgid "template" msgstr "テンプレート" -#: sql_help.c:2227 +#: sql_help.c:2241 msgid "encoding" msgstr "エンコード" -#: sql_help.c:2228 +#: sql_help.c:2242 msgid "strategy" msgstr "ストラテジ" -#: sql_help.c:2232 +#: sql_help.c:2246 msgid "builtin_locale" msgstr "組み込みロケール" -#: sql_help.c:2233 +#: sql_help.c:2247 msgid "icu_locale" msgstr "ICUロケール" -#: sql_help.c:2234 +#: sql_help.c:2248 msgid "icu_rules" msgstr "ICUルール(群)" -#: sql_help.c:2235 +#: sql_help.c:2249 msgid "locale_provider" msgstr "ロケールプロバイダ" -#: sql_help.c:2236 +#: sql_help.c:2250 msgid "collation_version" msgstr "照合順序バージョン" -#: sql_help.c:2241 +#: sql_help.c:2255 msgid "oid" msgstr "オブジェクトID" -#: sql_help.c:2276 sql_help.c:2709 sql_help.c:3140 +#: sql_help.c:2290 sql_help.c:2729 sql_help.c:3160 msgid "event" msgstr "イベント" -#: sql_help.c:2277 +#: sql_help.c:2291 msgid "filter_variable" msgstr "フィルター変数" -#: sql_help.c:2278 +#: sql_help.c:2292 msgid "filter_value" msgstr "フィルター値" -#: sql_help.c:2374 sql_help.c:2956 +#: sql_help.c:2388 sql_help.c:2976 msgid "where column_constraint is:" msgstr "カラム制約は以下の通りです:" -#: sql_help.c:2419 +#: sql_help.c:2433 msgid "rettype" msgstr "戻り値の型" -#: sql_help.c:2421 +#: sql_help.c:2435 msgid "column_type" msgstr "列の型" -#: sql_help.c:2430 sql_help.c:2633 +#: sql_help.c:2444 sql_help.c:2647 msgid "definition" msgstr "定義" -#: sql_help.c:2431 sql_help.c:2634 +#: sql_help.c:2445 sql_help.c:2648 msgid "obj_file" msgstr "オブジェクトファイル名" -#: sql_help.c:2432 sql_help.c:2635 +#: sql_help.c:2446 sql_help.c:2649 msgid "link_symbol" msgstr "リンクシンボル" -#: sql_help.c:2433 sql_help.c:2636 +#: sql_help.c:2447 sql_help.c:2650 msgid "sql_body" msgstr "SQL本体" -#: sql_help.c:2471 sql_help.c:2694 sql_help.c:3263 +#: sql_help.c:2485 sql_help.c:2714 sql_help.c:3283 msgid "uid" msgstr "UID" -#: sql_help.c:2487 sql_help.c:2528 sql_help.c:2925 sql_help.c:2938 -#: sql_help.c:2952 sql_help.c:3023 +#: sql_help.c:2501 sql_help.c:2542 sql_help.c:2945 sql_help.c:2958 +#: sql_help.c:2972 sql_help.c:3043 msgid "method" msgstr "インデックスメソッド" -#: sql_help.c:2509 +#: sql_help.c:2523 msgid "call_handler" msgstr "呼び出しハンドラー" -#: sql_help.c:2510 +#: sql_help.c:2524 msgid "inline_handler" msgstr "インラインハンドラー" -#: sql_help.c:2511 +#: sql_help.c:2525 msgid "valfunction" msgstr "バリデーション関数" -#: sql_help.c:2569 +#: sql_help.c:2583 msgid "family_name" msgstr "演算子族の名前" -#: sql_help.c:2580 +#: sql_help.c:2594 msgid "storage_type" msgstr "ストレージタイプ" -#: sql_help.c:2715 sql_help.c:3147 +#: sql_help.c:2735 sql_help.c:3167 msgid "where event can be one of:" msgstr "イベントは以下のいずれかです:" -#: sql_help.c:2735 sql_help.c:2737 +#: sql_help.c:2755 sql_help.c:2757 msgid "schema_element" msgstr "スキーマ要素" -#: sql_help.c:2774 +#: sql_help.c:2794 msgid "server_type" msgstr "サーバーのタイプ" -#: sql_help.c:2775 +#: sql_help.c:2795 msgid "server_version" msgstr "サーバーのバージョン" -#: sql_help.c:2776 sql_help.c:3929 sql_help.c:4392 +#: sql_help.c:2796 sql_help.c:3949 sql_help.c:4412 msgid "fdw_name" msgstr "外部データラッパ名" -#: sql_help.c:2793 sql_help.c:2796 +#: sql_help.c:2813 sql_help.c:2816 msgid "statistics_name" msgstr "統計オブジェクト名" -#: sql_help.c:2797 +#: sql_help.c:2817 msgid "statistics_kind" msgstr "統計種別" -#: sql_help.c:2813 +#: sql_help.c:2833 msgid "subscription_name" msgstr "サブスクリプション名" -#: sql_help.c:2918 +#: sql_help.c:2938 msgid "source_table" msgstr "コピー元のテーブル" -#: sql_help.c:2919 +#: sql_help.c:2939 msgid "like_option" msgstr "LIKEオプション" -#: sql_help.c:2985 +#: sql_help.c:3005 msgid "and like_option is:" msgstr "LIKE オプションは以下の通りです:" -#: sql_help.c:3040 +#: sql_help.c:3060 msgid "directory" msgstr "ディレクトリ" -#: sql_help.c:3054 +#: sql_help.c:3074 msgid "parser_name" msgstr "パーサ名" -#: sql_help.c:3055 +#: sql_help.c:3075 msgid "source_config" msgstr "複製元の設定" -#: sql_help.c:3084 +#: sql_help.c:3104 msgid "start_function" msgstr "開始関数" -#: sql_help.c:3085 +#: sql_help.c:3105 msgid "gettoken_function" msgstr "トークン取得関数" -#: sql_help.c:3086 +#: sql_help.c:3106 msgid "end_function" msgstr "終了関数" -#: sql_help.c:3087 +#: sql_help.c:3107 msgid "lextypes_function" msgstr "LEXTYPE関数" -#: sql_help.c:3088 +#: sql_help.c:3108 msgid "headline_function" msgstr "見出し関数" -#: sql_help.c:3100 +#: sql_help.c:3120 msgid "init_function" msgstr "初期処理関数" -#: sql_help.c:3101 +#: sql_help.c:3121 msgid "lexize_function" msgstr "LEXIZE関数" -#: sql_help.c:3114 +#: sql_help.c:3134 msgid "from_sql_function_name" msgstr "{FROM SQL 関数名}" -#: sql_help.c:3116 +#: sql_help.c:3136 msgid "to_sql_function_name" msgstr "{TO SQL 関数名}" -#: sql_help.c:3142 +#: sql_help.c:3162 msgid "referenced_table_name" msgstr "被参照テーブル名" -#: sql_help.c:3143 +#: sql_help.c:3163 msgid "transition_relation_name" msgstr "移行用リレーション名" -#: sql_help.c:3146 +#: sql_help.c:3166 msgid "arguments" msgstr "引数" -#: sql_help.c:3198 +#: sql_help.c:3218 msgid "label" msgstr "ラベル" -#: sql_help.c:3200 +#: sql_help.c:3220 msgid "subtype" msgstr "当該範囲のデータ型" -#: sql_help.c:3201 +#: sql_help.c:3221 msgid "subtype_operator_class" msgstr "当該範囲のデータ型の演算子クラス" -#: sql_help.c:3203 +#: sql_help.c:3223 msgid "canonical_function" msgstr "正規化関数" -#: sql_help.c:3204 +#: sql_help.c:3224 msgid "subtype_diff_function" msgstr "当該範囲のデータ型の差分抽出関数" -#: sql_help.c:3205 +#: sql_help.c:3225 msgid "multirange_type_name" msgstr "複範囲型名" -#: sql_help.c:3207 +#: sql_help.c:3227 msgid "input_function" msgstr "入力関数" -#: sql_help.c:3208 +#: sql_help.c:3228 msgid "output_function" msgstr "出力関数" -#: sql_help.c:3209 +#: sql_help.c:3229 msgid "receive_function" msgstr "受信関数" -#: sql_help.c:3210 +#: sql_help.c:3230 msgid "send_function" msgstr "送信関数" -#: sql_help.c:3211 +#: sql_help.c:3231 msgid "type_modifier_input_function" msgstr "型修飾子の入力関数" -#: sql_help.c:3212 +#: sql_help.c:3232 msgid "type_modifier_output_function" msgstr "型修飾子の出力関数" -#: sql_help.c:3213 +#: sql_help.c:3233 msgid "analyze_function" msgstr "分析関数" -#: sql_help.c:3214 +#: sql_help.c:3234 msgid "subscript_function" msgstr "添字関数" -#: sql_help.c:3215 +#: sql_help.c:3235 msgid "internallength" msgstr "内部長" -#: sql_help.c:3216 +#: sql_help.c:3236 msgid "alignment" msgstr "バイト境界" -#: sql_help.c:3217 +#: sql_help.c:3237 msgid "storage" msgstr "ストレージ" -#: sql_help.c:3218 +#: sql_help.c:3238 msgid "like_type" msgstr "LIKEの型" -#: sql_help.c:3219 +#: sql_help.c:3239 msgid "category" msgstr "カテゴリー" -#: sql_help.c:3220 +#: sql_help.c:3240 msgid "preferred" msgstr "優先データ型かどうか(真偽値)" -#: sql_help.c:3221 +#: sql_help.c:3241 msgid "default" msgstr "デフォルト" -#: sql_help.c:3222 +#: sql_help.c:3242 msgid "element" msgstr "要素のデータ型" -#: sql_help.c:3223 +#: sql_help.c:3243 msgid "delimiter" msgstr "区切り記号" -#: sql_help.c:3224 +#: sql_help.c:3244 msgid "collatable" msgstr "照合可能" -#: sql_help.c:3321 sql_help.c:4008 sql_help.c:4102 sql_help.c:4592 -#: sql_help.c:4695 sql_help.c:4850 sql_help.c:4964 sql_help.c:5095 +#: sql_help.c:3341 sql_help.c:4028 sql_help.c:4122 sql_help.c:4612 +#: sql_help.c:4715 sql_help.c:4870 sql_help.c:4984 sql_help.c:5115 msgid "with_query" msgstr "WITH問い合わせ" -#: sql_help.c:3323 sql_help.c:4010 sql_help.c:4611 sql_help.c:4617 -#: sql_help.c:4620 sql_help.c:4624 sql_help.c:4628 sql_help.c:4636 -#: sql_help.c:4869 sql_help.c:4875 sql_help.c:4878 sql_help.c:4882 -#: sql_help.c:4886 sql_help.c:4894 sql_help.c:4966 sql_help.c:5114 -#: sql_help.c:5120 sql_help.c:5123 sql_help.c:5127 sql_help.c:5131 -#: sql_help.c:5139 +#: sql_help.c:3343 sql_help.c:4030 sql_help.c:4631 sql_help.c:4637 +#: sql_help.c:4640 sql_help.c:4644 sql_help.c:4648 sql_help.c:4656 +#: sql_help.c:4889 sql_help.c:4895 sql_help.c:4898 sql_help.c:4902 +#: sql_help.c:4906 sql_help.c:4914 sql_help.c:4986 sql_help.c:5134 +#: sql_help.c:5140 sql_help.c:5143 sql_help.c:5147 sql_help.c:5151 +#: sql_help.c:5159 msgid "alias" msgstr "別名" -#: sql_help.c:3324 sql_help.c:4596 sql_help.c:4638 sql_help.c:4640 -#: sql_help.c:4644 sql_help.c:4646 sql_help.c:4647 sql_help.c:4648 -#: sql_help.c:4700 sql_help.c:4854 sql_help.c:4896 sql_help.c:4898 -#: sql_help.c:4902 sql_help.c:4904 sql_help.c:4905 sql_help.c:4906 -#: sql_help.c:4973 sql_help.c:5099 sql_help.c:5141 sql_help.c:5143 -#: sql_help.c:5147 sql_help.c:5149 sql_help.c:5150 sql_help.c:5151 +#: sql_help.c:3344 sql_help.c:4616 sql_help.c:4658 sql_help.c:4660 +#: sql_help.c:4664 sql_help.c:4666 sql_help.c:4667 sql_help.c:4668 +#: sql_help.c:4720 sql_help.c:4874 sql_help.c:4916 sql_help.c:4918 +#: sql_help.c:4922 sql_help.c:4924 sql_help.c:4925 sql_help.c:4926 +#: sql_help.c:4993 sql_help.c:5119 sql_help.c:5161 sql_help.c:5163 +#: sql_help.c:5167 sql_help.c:5169 sql_help.c:5170 sql_help.c:5171 msgid "from_item" msgstr "FROM項目" -#: sql_help.c:3326 sql_help.c:3810 sql_help.c:4159 sql_help.c:4975 +#: sql_help.c:3346 sql_help.c:3830 sql_help.c:4179 sql_help.c:4995 msgid "cursor_name" msgstr "カーソル名" -#: sql_help.c:3327 sql_help.c:4016 sql_help.c:4108 sql_help.c:4976 +#: sql_help.c:3347 sql_help.c:4036 sql_help.c:4128 sql_help.c:4996 msgid "output_expression" msgstr "出力表現" -#: sql_help.c:3328 sql_help.c:4017 sql_help.c:4109 sql_help.c:4595 -#: sql_help.c:4698 sql_help.c:4853 sql_help.c:4977 sql_help.c:5098 +#: sql_help.c:3348 sql_help.c:4037 sql_help.c:4129 sql_help.c:4615 +#: sql_help.c:4718 sql_help.c:4873 sql_help.c:4997 sql_help.c:5118 msgid "output_name" msgstr "出力名" -#: sql_help.c:3344 +#: sql_help.c:3364 msgid "code" msgstr "コードブロック" -#: sql_help.c:3749 +#: sql_help.c:3769 msgid "parameter" msgstr "パラメータ" -#: sql_help.c:3773 sql_help.c:4184 +#: sql_help.c:3793 sql_help.c:4204 msgid "statement" msgstr "文" -#: sql_help.c:3809 sql_help.c:4158 +#: sql_help.c:3829 sql_help.c:4178 msgid "direction" msgstr "方向" -#: sql_help.c:3811 sql_help.c:4160 +#: sql_help.c:3831 sql_help.c:4180 msgid "where direction can be one of:" msgstr "方向 は以下のうちのいずれか:" -#: sql_help.c:3812 sql_help.c:3813 sql_help.c:3814 sql_help.c:3815 -#: sql_help.c:3816 sql_help.c:4161 sql_help.c:4162 sql_help.c:4163 -#: sql_help.c:4164 sql_help.c:4165 sql_help.c:4605 sql_help.c:4607 -#: sql_help.c:4709 sql_help.c:4711 sql_help.c:4863 sql_help.c:4865 -#: sql_help.c:5039 sql_help.c:5041 sql_help.c:5108 sql_help.c:5110 +#: sql_help.c:3832 sql_help.c:3833 sql_help.c:3834 sql_help.c:3835 +#: sql_help.c:3836 sql_help.c:4181 sql_help.c:4182 sql_help.c:4183 +#: sql_help.c:4184 sql_help.c:4185 sql_help.c:4625 sql_help.c:4627 +#: sql_help.c:4729 sql_help.c:4731 sql_help.c:4883 sql_help.c:4885 +#: sql_help.c:5059 sql_help.c:5061 sql_help.c:5128 sql_help.c:5130 msgid "count" msgstr "取り出す位置や行数" -#: sql_help.c:3919 sql_help.c:4382 +#: sql_help.c:3939 sql_help.c:4402 msgid "sequence_name" msgstr "シーケンス名" -#: sql_help.c:3937 sql_help.c:4400 +#: sql_help.c:3957 sql_help.c:4420 msgid "arg_name" msgstr "引数名" -#: sql_help.c:3938 sql_help.c:4401 +#: sql_help.c:3958 sql_help.c:4421 msgid "arg_type" msgstr "引数の型" -#: sql_help.c:3945 sql_help.c:4408 +#: sql_help.c:3965 sql_help.c:4428 msgid "loid" msgstr "ラージオブジェクトid" -#: sql_help.c:3976 +#: sql_help.c:3996 msgid "remote_schema" msgstr "リモートスキーマ" -#: sql_help.c:3979 +#: sql_help.c:3999 msgid "local_schema" msgstr "ローカルスキーマ" -#: sql_help.c:4014 +#: sql_help.c:4034 msgid "conflict_target" msgstr "競合ターゲット" -#: sql_help.c:4015 +#: sql_help.c:4035 msgid "conflict_action" msgstr "競合時アクション" -#: sql_help.c:4018 +#: sql_help.c:4038 msgid "where conflict_target can be one of:" msgstr "競合ターゲットは以下のいずれかです:" -#: sql_help.c:4019 +#: sql_help.c:4039 msgid "index_column_name" msgstr "インデックスのカラム名" -#: sql_help.c:4020 +#: sql_help.c:4040 msgid "index_expression" msgstr "インデックス表現" -#: sql_help.c:4023 +#: sql_help.c:4043 msgid "index_predicate" msgstr "インデックスの述語" -#: sql_help.c:4025 +#: sql_help.c:4045 msgid "and conflict_action is one of:" msgstr "競合時アクションは以下のいずれかです:" -#: sql_help.c:4031 sql_help.c:4132 sql_help.c:4972 +#: sql_help.c:4051 sql_help.c:4152 sql_help.c:4992 msgid "sub-SELECT" msgstr "副問い合わせ句" -#: sql_help.c:4040 sql_help.c:4173 sql_help.c:4948 +#: sql_help.c:4060 sql_help.c:4193 sql_help.c:4968 msgid "channel" msgstr "チャネル" -#: sql_help.c:4062 +#: sql_help.c:4082 msgid "lockmode" msgstr "ロックモード" -#: sql_help.c:4063 +#: sql_help.c:4083 msgid "where lockmode is one of:" msgstr "ロックモードは以下のいずれかです:" -#: sql_help.c:4103 +#: sql_help.c:4123 msgid "target_table_name" msgstr "ターゲットテーブル名" -#: sql_help.c:4104 +#: sql_help.c:4124 msgid "target_alias" msgstr "ターゲット別名" -#: sql_help.c:4105 +#: sql_help.c:4125 msgid "data_source" msgstr "データ源" -#: sql_help.c:4106 sql_help.c:4641 sql_help.c:4899 sql_help.c:5144 +#: sql_help.c:4126 sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 msgid "join_condition" msgstr "JOIN条件" -#: sql_help.c:4107 +#: sql_help.c:4127 msgid "when_clause" msgstr "WHEN句" -#: sql_help.c:4110 +#: sql_help.c:4130 msgid "where data_source is:" msgstr "ここで\"データ源\"は以下の通り:" -#: sql_help.c:4111 +#: sql_help.c:4131 msgid "source_table_name" msgstr "データ源テーブル名" -#: sql_help.c:4112 +#: sql_help.c:4132 msgid "source_query" msgstr "データ源問い合わせ" -#: sql_help.c:4113 +#: sql_help.c:4133 msgid "source_alias" msgstr "データ源別名" -#: sql_help.c:4114 +#: sql_help.c:4134 msgid "and when_clause is:" msgstr "WHEN句は以下の通り:" -#: sql_help.c:4116 sql_help.c:4119 +#: sql_help.c:4136 sql_help.c:4139 msgid "merge_update" msgstr "マージ更新" -#: sql_help.c:4117 sql_help.c:4120 +#: sql_help.c:4137 sql_help.c:4140 msgid "merge_delete" msgstr "マージ削除" -#: sql_help.c:4122 +#: sql_help.c:4142 msgid "merge_insert" msgstr "マージ挿入" -#: sql_help.c:4123 +#: sql_help.c:4143 msgid "and merge_insert is:" msgstr "そして\"マージ挿入\"は以下の通り:" -#: sql_help.c:4126 +#: sql_help.c:4146 msgid "and merge_update is:" msgstr "そして\"マージ更新\"は以下の通り:" -#: sql_help.c:4133 +#: sql_help.c:4153 msgid "and merge_delete is:" msgstr "そして\"マージ削除\"は以下の通り:" -#: sql_help.c:4174 +#: sql_help.c:4194 msgid "payload" msgstr "ペイロード" -#: sql_help.c:4201 +#: sql_help.c:4221 msgid "old_role" msgstr "元のロール" -#: sql_help.c:4202 +#: sql_help.c:4222 msgid "new_role" msgstr "新しいロール" -#: sql_help.c:4241 sql_help.c:4450 sql_help.c:4458 +#: sql_help.c:4261 sql_help.c:4470 sql_help.c:4478 msgid "savepoint_name" msgstr "セーブポイント名" -#: sql_help.c:4598 sql_help.c:4656 sql_help.c:4856 sql_help.c:4914 -#: sql_help.c:5101 sql_help.c:5159 +#: sql_help.c:4618 sql_help.c:4676 sql_help.c:4876 sql_help.c:4934 +#: sql_help.c:5121 sql_help.c:5179 msgid "grouping_element" msgstr "グルーピング要素" -#: sql_help.c:4600 sql_help.c:4704 sql_help.c:4858 sql_help.c:5103 +#: sql_help.c:4620 sql_help.c:4724 sql_help.c:4878 sql_help.c:5123 msgid "window_name" msgstr "ウィンドウ名" -#: sql_help.c:4601 sql_help.c:4705 sql_help.c:4859 sql_help.c:5104 +#: sql_help.c:4621 sql_help.c:4725 sql_help.c:4879 sql_help.c:5124 msgid "window_definition" msgstr "ウィンドウ定義" -#: sql_help.c:4602 sql_help.c:4616 sql_help.c:4660 sql_help.c:4706 -#: sql_help.c:4860 sql_help.c:4874 sql_help.c:4918 sql_help.c:5105 -#: sql_help.c:5119 sql_help.c:5163 +#: sql_help.c:4622 sql_help.c:4636 sql_help.c:4680 sql_help.c:4726 +#: sql_help.c:4880 sql_help.c:4894 sql_help.c:4938 sql_help.c:5125 +#: sql_help.c:5139 sql_help.c:5183 msgid "select" msgstr "SELECT句" -#: sql_help.c:4608 sql_help.c:4866 sql_help.c:5111 +#: sql_help.c:4628 sql_help.c:4886 sql_help.c:5131 msgid "from_reference" msgstr "FROM参照" -#: sql_help.c:4609 sql_help.c:4867 sql_help.c:5112 +#: sql_help.c:4629 sql_help.c:4887 sql_help.c:5132 msgid "where from_item can be one of:" msgstr "FROM項目は以下のいずれかです:" -#: sql_help.c:4612 sql_help.c:4618 sql_help.c:4621 sql_help.c:4625 -#: sql_help.c:4637 sql_help.c:4870 sql_help.c:4876 sql_help.c:4879 -#: sql_help.c:4883 sql_help.c:4895 sql_help.c:5115 sql_help.c:5121 -#: sql_help.c:5124 sql_help.c:5128 sql_help.c:5140 +#: sql_help.c:4632 sql_help.c:4638 sql_help.c:4641 sql_help.c:4645 +#: sql_help.c:4657 sql_help.c:4890 sql_help.c:4896 sql_help.c:4899 +#: sql_help.c:4903 sql_help.c:4915 sql_help.c:5135 sql_help.c:5141 +#: sql_help.c:5144 sql_help.c:5148 sql_help.c:5160 msgid "column_alias" msgstr "列別名" -#: sql_help.c:4613 sql_help.c:4871 sql_help.c:5116 +#: sql_help.c:4633 sql_help.c:4891 sql_help.c:5136 msgid "sampling_method" msgstr "サンプリングメソッド" -#: sql_help.c:4615 sql_help.c:4873 sql_help.c:5118 +#: sql_help.c:4635 sql_help.c:4893 sql_help.c:5138 msgid "seed" msgstr "乱数シード" -#: sql_help.c:4619 sql_help.c:4658 sql_help.c:4877 sql_help.c:4916 -#: sql_help.c:5122 sql_help.c:5161 +#: sql_help.c:4639 sql_help.c:4678 sql_help.c:4897 sql_help.c:4936 +#: sql_help.c:5142 sql_help.c:5181 msgid "with_query_name" msgstr "WITH問い合わせ名" -#: sql_help.c:4629 sql_help.c:4632 sql_help.c:4635 sql_help.c:4887 -#: sql_help.c:4890 sql_help.c:4893 sql_help.c:5132 sql_help.c:5135 -#: sql_help.c:5138 +#: sql_help.c:4649 sql_help.c:4652 sql_help.c:4655 sql_help.c:4907 +#: sql_help.c:4910 sql_help.c:4913 sql_help.c:5152 sql_help.c:5155 +#: sql_help.c:5158 msgid "column_definition" msgstr "カラム定義" -#: sql_help.c:4639 sql_help.c:4645 sql_help.c:4897 sql_help.c:4903 -#: sql_help.c:5142 sql_help.c:5148 +#: sql_help.c:4659 sql_help.c:4665 sql_help.c:4917 sql_help.c:4923 +#: sql_help.c:5162 sql_help.c:5168 msgid "join_type" msgstr "JOINタイプ" -#: sql_help.c:4642 sql_help.c:4900 sql_help.c:5145 +#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 msgid "join_column" msgstr "JOINカラム" -#: sql_help.c:4643 sql_help.c:4901 sql_help.c:5146 +#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 msgid "join_using_alias" msgstr "JOIN用別名" -#: sql_help.c:4649 sql_help.c:4907 sql_help.c:5152 +#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 msgid "and grouping_element can be one of:" msgstr "グルーピング要素は以下のいずれかです:" -#: sql_help.c:4657 sql_help.c:4915 sql_help.c:5160 +#: sql_help.c:4677 sql_help.c:4935 sql_help.c:5180 msgid "and with_query is:" msgstr "WITH問い合わせは以下のいずれかです:" -#: sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 +#: sql_help.c:4681 sql_help.c:4939 sql_help.c:5184 msgid "values" msgstr "VALUES句" -#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 +#: sql_help.c:4682 sql_help.c:4940 sql_help.c:5185 msgid "insert" msgstr "INSERT句" -#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 +#: sql_help.c:4683 sql_help.c:4941 sql_help.c:5186 msgid "update" msgstr "UPDATE句" -#: sql_help.c:4664 sql_help.c:4922 sql_help.c:5167 +#: sql_help.c:4684 sql_help.c:4942 sql_help.c:5187 msgid "delete" msgstr "DELETE句" -#: sql_help.c:4665 sql_help.c:4923 sql_help.c:5168 +#: sql_help.c:4685 sql_help.c:4943 sql_help.c:5188 msgid "merge" msgstr "MERGE句" -#: sql_help.c:4667 sql_help.c:4925 sql_help.c:5170 +#: sql_help.c:4687 sql_help.c:4945 sql_help.c:5190 msgid "search_seq_col_name" msgstr "SEARCH順序列名" -#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 +#: sql_help.c:4689 sql_help.c:4947 sql_help.c:5192 msgid "cycle_mark_col_name" msgstr "循環識別列名" -#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 +#: sql_help.c:4690 sql_help.c:4948 sql_help.c:5193 msgid "cycle_mark_value" msgstr "循環識別値" -#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 +#: sql_help.c:4691 sql_help.c:4949 sql_help.c:5194 msgid "cycle_mark_default" msgstr "循環識別デフォルト" -#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 +#: sql_help.c:4692 sql_help.c:4950 sql_help.c:5195 msgid "cycle_path_col_name" msgstr "循環パス列名" -#: sql_help.c:4699 +#: sql_help.c:4719 msgid "new_table" msgstr "新しいテーブル" -#: sql_help.c:4770 +#: sql_help.c:4790 msgid "snapshot_id" msgstr "スナップショットID" -#: sql_help.c:5037 +#: sql_help.c:5057 msgid "sort_expression" msgstr "ソート表現" -#: sql_help.c:5182 sql_help.c:6166 +#: sql_help.c:5202 sql_help.c:6186 msgid "abort the current transaction" msgstr "現在のトランザクションを中止します" -#: sql_help.c:5188 +#: sql_help.c:5208 msgid "change the definition of an aggregate function" msgstr "集約関数の定義を変更します" -#: sql_help.c:5194 +#: sql_help.c:5214 msgid "change the definition of a collation" msgstr "照合順序の定義を変更します" -#: sql_help.c:5200 +#: sql_help.c:5220 msgid "change the definition of a conversion" msgstr "エンコーディング変換ルールの定義を変更します" -#: sql_help.c:5206 +#: sql_help.c:5226 msgid "change a database" msgstr "データベースを変更します" -#: sql_help.c:5212 +#: sql_help.c:5232 msgid "define default access privileges" msgstr "デフォルトのアクセス権限を定義します" -#: sql_help.c:5218 +#: sql_help.c:5238 msgid "change the definition of a domain" msgstr "ドメインの定義を変更します" -#: sql_help.c:5224 +#: sql_help.c:5244 msgid "change the definition of an event trigger" msgstr "イベントトリガーの定義を変更します" -#: sql_help.c:5230 +#: sql_help.c:5250 msgid "change the definition of an extension" msgstr "機能拡張の定義を変更します" -#: sql_help.c:5236 +#: sql_help.c:5256 msgid "change the definition of a foreign-data wrapper" msgstr "外部データラッパの定義を変更します" -#: sql_help.c:5242 +#: sql_help.c:5262 msgid "change the definition of a foreign table" msgstr "外部テーブルの定義を変更します" -#: sql_help.c:5248 +#: sql_help.c:5268 msgid "change the definition of a function" msgstr "関数の定義を変更します" -#: sql_help.c:5254 +#: sql_help.c:5274 msgid "change role name or membership" msgstr "ロール名またはメンバーシップを変更します" -#: sql_help.c:5260 +#: sql_help.c:5280 msgid "change the definition of an index" msgstr "インデックスの定義を変更します" -#: sql_help.c:5266 +#: sql_help.c:5286 msgid "change the definition of a procedural language" msgstr "手続き言語の定義を変更します" -#: sql_help.c:5272 +#: sql_help.c:5292 msgid "change the definition of a large object" msgstr "ラージオブジェクトの定義を変更します" -#: sql_help.c:5278 +#: sql_help.c:5298 msgid "change the definition of a materialized view" msgstr "実体化ビューの定義を変更します" -#: sql_help.c:5284 +#: sql_help.c:5304 msgid "change the definition of an operator" msgstr "演算子の定義を変更します" -#: sql_help.c:5290 +#: sql_help.c:5310 msgid "change the definition of an operator class" msgstr "演算子クラスの定義を変更します" -#: sql_help.c:5296 +#: sql_help.c:5316 msgid "change the definition of an operator family" msgstr "演算子族の定義を変更します" -#: sql_help.c:5302 +#: sql_help.c:5322 msgid "change the definition of a row-level security policy" msgstr "行レベルのセキュリティ ポリシーの定義を変更します" -#: sql_help.c:5308 +#: sql_help.c:5328 msgid "change the definition of a procedure" msgstr "プロシージャの定義を変更します" -#: sql_help.c:5314 +#: sql_help.c:5334 msgid "change the definition of a publication" msgstr "パブリケーションの定義を変更します" -#: sql_help.c:5320 sql_help.c:5422 +#: sql_help.c:5340 sql_help.c:5442 msgid "change a database role" msgstr "データベースロールを変更します" -#: sql_help.c:5326 +#: sql_help.c:5346 msgid "change the definition of a routine" msgstr "ルーチンの定義を変更します" -#: sql_help.c:5332 +#: sql_help.c:5352 msgid "change the definition of a rule" msgstr "ルールの定義を変更します" -#: sql_help.c:5338 +#: sql_help.c:5358 msgid "change the definition of a schema" msgstr "スキーマの定義を変更します" -#: sql_help.c:5344 +#: sql_help.c:5364 msgid "change the definition of a sequence generator" msgstr "シーケンス生成器の定義を変更します" -#: sql_help.c:5350 +#: sql_help.c:5370 msgid "change the definition of a foreign server" msgstr "外部サーバーの定義を変更します" -#: sql_help.c:5356 +#: sql_help.c:5376 msgid "change the definition of an extended statistics object" msgstr "拡張統計情報オブジェクトの定義を変更します" -#: sql_help.c:5362 +#: sql_help.c:5382 msgid "change the definition of a subscription" msgstr "サブスクリプションの定義を変更します" -#: sql_help.c:5368 +#: sql_help.c:5388 msgid "change a server configuration parameter" msgstr "サーバーの設定パラメータを変更します" -#: sql_help.c:5374 +#: sql_help.c:5394 msgid "change the definition of a table" msgstr "テーブルの定義を変更します。" -#: sql_help.c:5380 +#: sql_help.c:5400 msgid "change the definition of a tablespace" msgstr "テーブル空間の定義を変更します" -#: sql_help.c:5386 +#: sql_help.c:5406 msgid "change the definition of a text search configuration" msgstr "テキスト検索設定の定義を変更します" -#: sql_help.c:5392 +#: sql_help.c:5412 msgid "change the definition of a text search dictionary" msgstr "テキスト検索辞書の定義を変更します" -#: sql_help.c:5398 +#: sql_help.c:5418 msgid "change the definition of a text search parser" msgstr "テキスト検索パーサーの定義を変更します" -#: sql_help.c:5404 +#: sql_help.c:5424 msgid "change the definition of a text search template" msgstr "テキスト検索テンプレートの定義を変更します" -#: sql_help.c:5410 +#: sql_help.c:5430 msgid "change the definition of a trigger" msgstr "トリガーの定義を変更します" -#: sql_help.c:5416 +#: sql_help.c:5436 msgid "change the definition of a type" msgstr "型の定義を変更します" -#: sql_help.c:5428 +#: sql_help.c:5448 msgid "change the definition of a user mapping" msgstr "ユーザーマッピングの定義を変更します" -#: sql_help.c:5434 +#: sql_help.c:5454 msgid "change the definition of a view" msgstr "ビューの定義を変更します" -#: sql_help.c:5440 +#: sql_help.c:5460 msgid "collect statistics about a database" msgstr "データベースの統計情報を収集します" -#: sql_help.c:5446 sql_help.c:6244 +#: sql_help.c:5466 sql_help.c:6264 msgid "start a transaction block" msgstr "トランザクション区間を開始します" -#: sql_help.c:5452 +#: sql_help.c:5472 msgid "invoke a procedure" msgstr "プロシージャを実行します" -#: sql_help.c:5458 +#: sql_help.c:5478 msgid "force a write-ahead log checkpoint" msgstr "先行書き込みログのチェックポイントを強制的に実行します" -#: sql_help.c:5464 +#: sql_help.c:5484 msgid "close a cursor" msgstr "カーソルを閉じます" -#: sql_help.c:5470 +#: sql_help.c:5490 msgid "cluster a table according to an index" msgstr "インデックスに従ってテーブルをクラスタ化します" -#: sql_help.c:5476 +#: sql_help.c:5496 msgid "define or change the comment of an object" msgstr "オブジェクトのコメントを定義または変更します" -#: sql_help.c:5482 sql_help.c:6040 +#: sql_help.c:5502 sql_help.c:6060 msgid "commit the current transaction" msgstr "現在のトランザクションをコミットします" -#: sql_help.c:5488 +#: sql_help.c:5508 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "二相コミットのために事前に準備されたトランザクションをコミットします" -#: sql_help.c:5494 +#: sql_help.c:5514 msgid "copy data between a file and a table" msgstr "ファイルとテーブルとの間でデータをコピーします" -#: sql_help.c:5500 +#: sql_help.c:5520 msgid "define a new access method" msgstr "新しいアクセスメソッドを定義します" -#: sql_help.c:5506 +#: sql_help.c:5526 msgid "define a new aggregate function" msgstr "新しい集約関数を定義します" -#: sql_help.c:5512 +#: sql_help.c:5532 msgid "define a new cast" msgstr "新しい型変換を定義します" -#: sql_help.c:5518 +#: sql_help.c:5538 msgid "define a new collation" msgstr "新しい照合順序を定義します" -#: sql_help.c:5524 +#: sql_help.c:5544 msgid "define a new encoding conversion" msgstr "新しいエンコーディング変換を定義します" -#: sql_help.c:5530 +#: sql_help.c:5550 msgid "create a new database" msgstr "新しいデータベースを作成します" -#: sql_help.c:5536 +#: sql_help.c:5556 msgid "define a new domain" msgstr "新しいドメインを定義します" -#: sql_help.c:5542 +#: sql_help.c:5562 msgid "define a new event trigger" msgstr "新しいイベントトリガーを定義します" -#: sql_help.c:5548 +#: sql_help.c:5568 msgid "install an extension" msgstr "機能拡張をインストールします" -#: sql_help.c:5554 +#: sql_help.c:5574 msgid "define a new foreign-data wrapper" msgstr "新しい外部データラッパを定義します" -#: sql_help.c:5560 +#: sql_help.c:5580 msgid "define a new foreign table" msgstr "新しい外部テーブルを定義します" -#: sql_help.c:5566 +#: sql_help.c:5586 msgid "define a new function" msgstr "新しい関数を定義します" -#: sql_help.c:5572 sql_help.c:5632 sql_help.c:5734 +#: sql_help.c:5592 sql_help.c:5652 sql_help.c:5754 msgid "define a new database role" msgstr "新しいデータベースロールを定義します" -#: sql_help.c:5578 +#: sql_help.c:5598 msgid "define a new index" msgstr "新しいインデックスを定義します" -#: sql_help.c:5584 +#: sql_help.c:5604 msgid "define a new procedural language" msgstr "新しい手続き言語を定義します" -#: sql_help.c:5590 +#: sql_help.c:5610 msgid "define a new materialized view" msgstr "新しい実体化ビューを定義します" -#: sql_help.c:5596 +#: sql_help.c:5616 msgid "define a new operator" msgstr "新しい演算子を定義します" -#: sql_help.c:5602 +#: sql_help.c:5622 msgid "define a new operator class" msgstr "新しい演算子クラスを定義します" -#: sql_help.c:5608 +#: sql_help.c:5628 msgid "define a new operator family" msgstr "新しい演算子族を定義します" -#: sql_help.c:5614 +#: sql_help.c:5634 msgid "define a new row-level security policy for a table" msgstr "テーブルに対して新しい行レベルセキュリティポリシーを定義します" -#: sql_help.c:5620 +#: sql_help.c:5640 msgid "define a new procedure" msgstr "新しいプロシージャを定義します" -#: sql_help.c:5626 +#: sql_help.c:5646 msgid "define a new publication" msgstr "新しいパブリケーションを定義します" -#: sql_help.c:5638 +#: sql_help.c:5658 msgid "define a new rewrite rule" msgstr "新しい書き換えルールを定義します" -#: sql_help.c:5644 +#: sql_help.c:5664 msgid "define a new schema" msgstr "新しいスキーマを定義します" -#: sql_help.c:5650 +#: sql_help.c:5670 msgid "define a new sequence generator" msgstr "新しいシーケンス生成器を定義します。" -#: sql_help.c:5656 +#: sql_help.c:5676 msgid "define a new foreign server" msgstr "新しい外部サーバーを定義します" -#: sql_help.c:5662 +#: sql_help.c:5682 msgid "define extended statistics" msgstr "拡張統計情報を定義します" -#: sql_help.c:5668 +#: sql_help.c:5688 msgid "define a new subscription" msgstr "新しいサブスクリプションを定義します" -#: sql_help.c:5674 +#: sql_help.c:5694 msgid "define a new table" msgstr "新しいテーブルを定義します" -#: sql_help.c:5680 sql_help.c:6202 +#: sql_help.c:5700 sql_help.c:6222 msgid "define a new table from the results of a query" msgstr "問い合わせの結果から新しいテーブルを定義します" -#: sql_help.c:5686 +#: sql_help.c:5706 msgid "define a new tablespace" msgstr "新しいテーブル空間を定義します" -#: sql_help.c:5692 +#: sql_help.c:5712 msgid "define a new text search configuration" msgstr "新しいテキスト検索設定を定義します" -#: sql_help.c:5698 +#: sql_help.c:5718 msgid "define a new text search dictionary" msgstr "新しいテキスト検索辞書を定義します" -#: sql_help.c:5704 +#: sql_help.c:5724 msgid "define a new text search parser" msgstr "新しいテキスト検索パーサーを定義します" -#: sql_help.c:5710 +#: sql_help.c:5730 msgid "define a new text search template" msgstr "新しいテキスト検索テンプレートを定義します" -#: sql_help.c:5716 +#: sql_help.c:5736 msgid "define a new transform" msgstr "新しいデータ変換を定義します" -#: sql_help.c:5722 +#: sql_help.c:5742 msgid "define a new trigger" msgstr "新しいトリガーを定義します" -#: sql_help.c:5728 +#: sql_help.c:5748 msgid "define a new data type" msgstr "新しいデータ型を定義します" -#: sql_help.c:5740 +#: sql_help.c:5760 msgid "define a new mapping of a user to a foreign server" msgstr "外部サーバーに対するユーザーの新しいマッピングを定義します。" -#: sql_help.c:5746 +#: sql_help.c:5766 msgid "define a new view" msgstr "新しいビューを定義します" -#: sql_help.c:5752 +#: sql_help.c:5772 msgid "deallocate a prepared statement" msgstr "準備した文を解放します" -#: sql_help.c:5758 +#: sql_help.c:5778 msgid "define a cursor" msgstr "カーソルを定義します" -#: sql_help.c:5764 +#: sql_help.c:5784 msgid "delete rows of a table" msgstr "テーブルの行を削除します" -#: sql_help.c:5770 +#: sql_help.c:5790 msgid "discard session state" msgstr "セッション状態を破棄します" -#: sql_help.c:5776 +#: sql_help.c:5796 msgid "execute an anonymous code block" msgstr "無名コードブロックを実行します" -#: sql_help.c:5782 +#: sql_help.c:5802 msgid "remove an access method" msgstr "アクセスメソッドを削除します" -#: sql_help.c:5788 +#: sql_help.c:5808 msgid "remove an aggregate function" msgstr "集約関数を削除します" -#: sql_help.c:5794 +#: sql_help.c:5814 msgid "remove a cast" msgstr "型変換を削除します" -#: sql_help.c:5800 +#: sql_help.c:5820 msgid "remove a collation" msgstr "照合順序を削除します" -#: sql_help.c:5806 +#: sql_help.c:5826 msgid "remove a conversion" msgstr "符号化方式変換を削除します" -#: sql_help.c:5812 +#: sql_help.c:5832 msgid "remove a database" msgstr "データベースを削除します" -#: sql_help.c:5818 +#: sql_help.c:5838 msgid "remove a domain" msgstr "ドメインを削除します" -#: sql_help.c:5824 +#: sql_help.c:5844 msgid "remove an event trigger" msgstr "イベントトリガーを削除します" -#: sql_help.c:5830 +#: sql_help.c:5850 msgid "remove an extension" msgstr "機能拡張を削除します" -#: sql_help.c:5836 +#: sql_help.c:5856 msgid "remove a foreign-data wrapper" msgstr "外部データラッパを削除します" -#: sql_help.c:5842 +#: sql_help.c:5862 msgid "remove a foreign table" msgstr "外部テーブルを削除します" -#: sql_help.c:5848 +#: sql_help.c:5868 msgid "remove a function" msgstr "関数を削除します" -#: sql_help.c:5854 sql_help.c:5920 sql_help.c:6022 +#: sql_help.c:5874 sql_help.c:5940 sql_help.c:6042 msgid "remove a database role" msgstr "データベースロールを削除します" -#: sql_help.c:5860 +#: sql_help.c:5880 msgid "remove an index" msgstr "インデックスを削除します" -#: sql_help.c:5866 +#: sql_help.c:5886 msgid "remove a procedural language" msgstr "手続き言語を削除します" -#: sql_help.c:5872 +#: sql_help.c:5892 msgid "remove a materialized view" msgstr "実体化ビューを削除します" -#: sql_help.c:5878 +#: sql_help.c:5898 msgid "remove an operator" msgstr "演算子を削除します" -#: sql_help.c:5884 +#: sql_help.c:5904 msgid "remove an operator class" msgstr "演算子クラスを削除します" -#: sql_help.c:5890 +#: sql_help.c:5910 msgid "remove an operator family" msgstr "演算子族を削除します" -#: sql_help.c:5896 +#: sql_help.c:5916 msgid "remove database objects owned by a database role" msgstr "データベースロールが所有するデータベースオブジェクトを削除します" -#: sql_help.c:5902 +#: sql_help.c:5922 msgid "remove a row-level security policy from a table" msgstr "テーブルから行レベルのセキュリティポリシーを削除します" -#: sql_help.c:5908 +#: sql_help.c:5928 msgid "remove a procedure" msgstr "プロシージャを削除します" -#: sql_help.c:5914 +#: sql_help.c:5934 msgid "remove a publication" msgstr "パブリケーションを削除します" -#: sql_help.c:5926 +#: sql_help.c:5946 msgid "remove a routine" msgstr "ルーチンを削除します" -#: sql_help.c:5932 +#: sql_help.c:5952 msgid "remove a rewrite rule" msgstr "書き換えルールを削除します" -#: sql_help.c:5938 +#: sql_help.c:5958 msgid "remove a schema" msgstr "スキーマを削除します" -#: sql_help.c:5944 +#: sql_help.c:5964 msgid "remove a sequence" msgstr "シーケンスを削除します" -#: sql_help.c:5950 +#: sql_help.c:5970 msgid "remove a foreign server descriptor" msgstr "外部サーバー記述子を削除します" -#: sql_help.c:5956 +#: sql_help.c:5976 msgid "remove extended statistics" msgstr "拡張統計情報を削除します" -#: sql_help.c:5962 +#: sql_help.c:5982 msgid "remove a subscription" msgstr "サブスクリプションを削除します" -#: sql_help.c:5968 +#: sql_help.c:5988 msgid "remove a table" msgstr "テーブルを削除します" -#: sql_help.c:5974 +#: sql_help.c:5994 msgid "remove a tablespace" msgstr "テーブル空間を削除します" -#: sql_help.c:5980 +#: sql_help.c:6000 msgid "remove a text search configuration" msgstr "テキスト検索設定を削除します" -#: sql_help.c:5986 +#: sql_help.c:6006 msgid "remove a text search dictionary" msgstr "テキスト検索辞書を削除します" -#: sql_help.c:5992 +#: sql_help.c:6012 msgid "remove a text search parser" msgstr "テキスト検索パーサーを削除します" -#: sql_help.c:5998 +#: sql_help.c:6018 msgid "remove a text search template" msgstr "テキスト検索テンプレートを削除します" -#: sql_help.c:6004 +#: sql_help.c:6024 msgid "remove a transform" msgstr "データ変換を削除します" -#: sql_help.c:6010 +#: sql_help.c:6030 msgid "remove a trigger" msgstr "トリガーを削除します" -#: sql_help.c:6016 +#: sql_help.c:6036 msgid "remove a data type" msgstr "データ型を削除します" -#: sql_help.c:6028 +#: sql_help.c:6048 msgid "remove a user mapping for a foreign server" msgstr "外部サーバーのユーザーマッピングを削除します" -#: sql_help.c:6034 +#: sql_help.c:6054 msgid "remove a view" msgstr "ビューを削除します" -#: sql_help.c:6046 +#: sql_help.c:6066 msgid "execute a prepared statement" msgstr "準備した文を実行します" -#: sql_help.c:6052 +#: sql_help.c:6072 msgid "show the execution plan of a statement" msgstr "文の実行計画を表示します" -#: sql_help.c:6058 +#: sql_help.c:6078 msgid "retrieve rows from a query using a cursor" msgstr "カーソルを使って問い合わせから行を取り出します" -#: sql_help.c:6064 +#: sql_help.c:6084 msgid "define access privileges" msgstr "アクセス権限を定義します" -#: sql_help.c:6070 +#: sql_help.c:6090 msgid "import table definitions from a foreign server" msgstr "外部サーバーからテーブル定義をインポートします" -#: sql_help.c:6076 +#: sql_help.c:6096 msgid "create new rows in a table" msgstr "テーブルに新しい行を作成します" -#: sql_help.c:6082 +#: sql_help.c:6102 msgid "listen for a notification" msgstr "通知メッセージを監視します" -#: sql_help.c:6088 +#: sql_help.c:6108 msgid "load a shared library file" msgstr "共有ライブラリファイルをロードします" -#: sql_help.c:6094 +#: sql_help.c:6114 msgid "lock a table" msgstr "テーブルをロックします" -#: sql_help.c:6100 +#: sql_help.c:6120 msgid "conditionally insert, update, or delete rows of a table" msgstr "条件によってテーブルの行を挿入、更新または削除する" -#: sql_help.c:6106 +#: sql_help.c:6126 msgid "position a cursor" msgstr "カーソルを位置づけます" -#: sql_help.c:6112 +#: sql_help.c:6132 msgid "generate a notification" msgstr "通知を生成します" -#: sql_help.c:6118 +#: sql_help.c:6138 msgid "prepare a statement for execution" msgstr "実行に備えて文を準備します" -#: sql_help.c:6124 +#: sql_help.c:6144 msgid "prepare the current transaction for two-phase commit" msgstr "二相コミットに備えて現在のトランザクションを準備します" -#: sql_help.c:6130 +#: sql_help.c:6150 msgid "change the ownership of database objects owned by a database role" msgstr "データベースロールが所有するデータベースオブジェクトの所有権を変更します" -#: sql_help.c:6136 +#: sql_help.c:6156 msgid "replace the contents of a materialized view" msgstr "実体化ビューの内容を置き換えます" -#: sql_help.c:6142 +#: sql_help.c:6162 msgid "rebuild indexes" msgstr "インデックスを再構築します" -#: sql_help.c:6148 +#: sql_help.c:6168 msgid "release a previously defined savepoint" msgstr "以前に定義されたセーブポイントを解放します" -#: sql_help.c:6154 +#: sql_help.c:6174 msgid "restore the value of a run-time parameter to the default value" msgstr "実行時パラメータの値をデフォルト値に戻します" -#: sql_help.c:6160 +#: sql_help.c:6180 msgid "remove access privileges" msgstr "アクセス権限を削除します" -#: sql_help.c:6172 +#: sql_help.c:6192 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "二相コミットのために事前に準備されたトランザクションをキャンセルします" -#: sql_help.c:6178 +#: sql_help.c:6198 msgid "roll back to a savepoint" msgstr "セーブポイントまでロールバックします" -#: sql_help.c:6184 +#: sql_help.c:6204 msgid "define a new savepoint within the current transaction" msgstr "現在のトランザクション内で新しいセーブポイントを定義します" -#: sql_help.c:6190 +#: sql_help.c:6210 msgid "define or change a security label applied to an object" msgstr "オブジェクトに適用されるセキュリティラベルを定義または変更します" -#: sql_help.c:6196 sql_help.c:6250 sql_help.c:6286 +#: sql_help.c:6216 sql_help.c:6270 sql_help.c:6306 msgid "retrieve rows from a table or view" msgstr "テーブルまたはビューから行を取得します" -#: sql_help.c:6208 +#: sql_help.c:6228 msgid "change a run-time parameter" msgstr "実行時パラメータを変更します" -#: sql_help.c:6214 +#: sql_help.c:6234 msgid "set constraint check timing for the current transaction" msgstr "現在のトランザクションについて、制約チェックのタイミングを設定します" -#: sql_help.c:6220 +#: sql_help.c:6240 msgid "set the current user identifier of the current session" msgstr "現在のセッションの現在のユーザー識別子を設定します" -#: sql_help.c:6226 +#: sql_help.c:6246 msgid "set the session user identifier and the current user identifier of the current session" msgstr "セッションのユーザー識別子および現在のセッションの現在のユーザー識別子を設定します" -#: sql_help.c:6232 +#: sql_help.c:6252 msgid "set the characteristics of the current transaction" msgstr "現在のトランザクションの特性を設定します" -#: sql_help.c:6238 +#: sql_help.c:6258 msgid "show the value of a run-time parameter" msgstr "実行時パラメータの値を表示します" -#: sql_help.c:6256 +#: sql_help.c:6276 msgid "empty a table or set of tables" msgstr "一つの、または複数のテーブルを空にします" -#: sql_help.c:6262 +#: sql_help.c:6282 msgid "stop listening for a notification" msgstr "通知メッセージの監視を中止します" -#: sql_help.c:6268 +#: sql_help.c:6288 msgid "update rows of a table" msgstr "テーブルの行を更新します" -#: sql_help.c:6274 +#: sql_help.c:6294 msgid "garbage-collect and optionally analyze a database" msgstr "ガーベッジコレクションを行い、また必要に応じてデータベースを分析します" -#: sql_help.c:6280 +#: sql_help.c:6300 msgid "compute a set of rows" msgstr "行セットを計算します" diff -Nru postgresql-17-17.7/src/bin/psql/po/ru.po postgresql-17-17.8/src/bin/psql/po/ru.po --- postgresql-17-17.7/src/bin/psql/po/ru.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/psql/po/ru.po 2026-02-09 21:51:54.000000000 +0000 @@ -4,14 +4,14 @@ # Serguei A. Mokhov , 2001-2005. # Oleg Bartunov , 2004-2005. # Sergey Burladyan , 2012. -# SPDX-FileCopyrightText: 2012-2025 Alexander Lakhin +# SPDX-FileCopyrightText: 2012-2025, 2026 Alexander Lakhin # Maxim Yablokov , 2021. msgid "" msgstr "" "Project-Id-Version: psql (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-09 06:28+0200\n" -"PO-Revision-Date: 2025-11-09 08:23+0200\n" +"POT-Creation-Date: 2026-02-07 11:39+0200\n" +"PO-Revision-Date: 2026-02-07 09:12+0200\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -4456,189 +4456,189 @@ #: sql_help.c:732 sql_help.c:736 sql_help.c:757 sql_help.c:760 sql_help.c:763 #: sql_help.c:792 sql_help.c:804 sql_help.c:812 sql_help.c:815 sql_help.c:818 #: sql_help.c:833 sql_help.c:836 sql_help.c:865 sql_help.c:870 sql_help.c:875 -#: sql_help.c:880 sql_help.c:885 sql_help.c:912 sql_help.c:914 sql_help.c:916 -#: sql_help.c:918 sql_help.c:921 sql_help.c:923 sql_help.c:970 sql_help.c:1015 -#: sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 sql_help.c:1035 -#: sql_help.c:1054 sql_help.c:1065 sql_help.c:1067 sql_help.c:1087 -#: sql_help.c:1097 sql_help.c:1098 sql_help.c:1100 sql_help.c:1102 -#: sql_help.c:1114 sql_help.c:1118 sql_help.c:1120 sql_help.c:1132 -#: sql_help.c:1134 sql_help.c:1136 sql_help.c:1138 sql_help.c:1157 -#: sql_help.c:1159 sql_help.c:1163 sql_help.c:1167 sql_help.c:1171 -#: sql_help.c:1174 sql_help.c:1175 sql_help.c:1176 sql_help.c:1179 -#: sql_help.c:1182 sql_help.c:1184 sql_help.c:1324 sql_help.c:1326 -#: sql_help.c:1329 sql_help.c:1332 sql_help.c:1334 sql_help.c:1336 -#: sql_help.c:1339 sql_help.c:1342 sql_help.c:1464 sql_help.c:1466 -#: sql_help.c:1468 sql_help.c:1471 sql_help.c:1492 sql_help.c:1495 -#: sql_help.c:1498 sql_help.c:1501 sql_help.c:1505 sql_help.c:1507 -#: sql_help.c:1509 sql_help.c:1511 sql_help.c:1525 sql_help.c:1528 -#: sql_help.c:1530 sql_help.c:1532 sql_help.c:1542 sql_help.c:1544 -#: sql_help.c:1554 sql_help.c:1556 sql_help.c:1566 sql_help.c:1569 -#: sql_help.c:1592 sql_help.c:1594 sql_help.c:1596 sql_help.c:1598 -#: sql_help.c:1601 sql_help.c:1603 sql_help.c:1606 sql_help.c:1609 -#: sql_help.c:1660 sql_help.c:1703 sql_help.c:1706 sql_help.c:1708 -#: sql_help.c:1710 sql_help.c:1713 sql_help.c:1715 sql_help.c:1717 -#: sql_help.c:1720 sql_help.c:1770 sql_help.c:1786 sql_help.c:2019 -#: sql_help.c:2088 sql_help.c:2107 sql_help.c:2120 sql_help.c:2178 -#: sql_help.c:2186 sql_help.c:2196 sql_help.c:2224 sql_help.c:2257 -#: sql_help.c:2275 sql_help.c:2303 sql_help.c:2414 sql_help.c:2460 -#: sql_help.c:2485 sql_help.c:2508 sql_help.c:2512 sql_help.c:2546 -#: sql_help.c:2566 sql_help.c:2588 sql_help.c:2602 sql_help.c:2623 -#: sql_help.c:2652 sql_help.c:2685 sql_help.c:2708 sql_help.c:2755 -#: sql_help.c:3053 sql_help.c:3066 sql_help.c:3083 sql_help.c:3099 -#: sql_help.c:3139 sql_help.c:3193 sql_help.c:3197 sql_help.c:3199 -#: sql_help.c:3206 sql_help.c:3225 sql_help.c:3252 sql_help.c:3287 -#: sql_help.c:3299 sql_help.c:3308 sql_help.c:3352 sql_help.c:3366 -#: sql_help.c:3394 sql_help.c:3402 sql_help.c:3414 sql_help.c:3424 -#: sql_help.c:3432 sql_help.c:3440 sql_help.c:3448 sql_help.c:3456 -#: sql_help.c:3465 sql_help.c:3476 sql_help.c:3484 sql_help.c:3492 -#: sql_help.c:3500 sql_help.c:3508 sql_help.c:3518 sql_help.c:3527 -#: sql_help.c:3536 sql_help.c:3544 sql_help.c:3554 sql_help.c:3565 -#: sql_help.c:3573 sql_help.c:3582 sql_help.c:3593 sql_help.c:3602 -#: sql_help.c:3610 sql_help.c:3618 sql_help.c:3626 sql_help.c:3634 -#: sql_help.c:3642 sql_help.c:3650 sql_help.c:3658 sql_help.c:3666 -#: sql_help.c:3674 sql_help.c:3682 sql_help.c:3699 sql_help.c:3708 -#: sql_help.c:3716 sql_help.c:3733 sql_help.c:3748 sql_help.c:4061 -#: sql_help.c:4182 sql_help.c:4211 sql_help.c:4227 sql_help.c:4229 -#: sql_help.c:4733 sql_help.c:4781 sql_help.c:4940 +#: sql_help.c:880 sql_help.c:885 sql_help.c:921 sql_help.c:923 sql_help.c:925 +#: sql_help.c:927 sql_help.c:930 sql_help.c:932 sql_help.c:984 sql_help.c:1029 +#: sql_help.c:1034 sql_help.c:1039 sql_help.c:1044 sql_help.c:1049 +#: sql_help.c:1068 sql_help.c:1079 sql_help.c:1081 sql_help.c:1101 +#: sql_help.c:1111 sql_help.c:1112 sql_help.c:1114 sql_help.c:1116 +#: sql_help.c:1128 sql_help.c:1132 sql_help.c:1134 sql_help.c:1146 +#: sql_help.c:1148 sql_help.c:1150 sql_help.c:1152 sql_help.c:1171 +#: sql_help.c:1173 sql_help.c:1177 sql_help.c:1181 sql_help.c:1185 +#: sql_help.c:1188 sql_help.c:1189 sql_help.c:1190 sql_help.c:1193 +#: sql_help.c:1196 sql_help.c:1198 sql_help.c:1338 sql_help.c:1340 +#: sql_help.c:1343 sql_help.c:1346 sql_help.c:1348 sql_help.c:1350 +#: sql_help.c:1353 sql_help.c:1356 sql_help.c:1478 sql_help.c:1480 +#: sql_help.c:1482 sql_help.c:1485 sql_help.c:1506 sql_help.c:1509 +#: sql_help.c:1512 sql_help.c:1515 sql_help.c:1519 sql_help.c:1521 +#: sql_help.c:1523 sql_help.c:1525 sql_help.c:1539 sql_help.c:1542 +#: sql_help.c:1544 sql_help.c:1546 sql_help.c:1556 sql_help.c:1558 +#: sql_help.c:1568 sql_help.c:1570 sql_help.c:1580 sql_help.c:1583 +#: sql_help.c:1606 sql_help.c:1608 sql_help.c:1610 sql_help.c:1612 +#: sql_help.c:1615 sql_help.c:1617 sql_help.c:1620 sql_help.c:1623 +#: sql_help.c:1674 sql_help.c:1717 sql_help.c:1720 sql_help.c:1722 +#: sql_help.c:1724 sql_help.c:1727 sql_help.c:1729 sql_help.c:1731 +#: sql_help.c:1734 sql_help.c:1784 sql_help.c:1800 sql_help.c:2033 +#: sql_help.c:2102 sql_help.c:2121 sql_help.c:2134 sql_help.c:2192 +#: sql_help.c:2200 sql_help.c:2210 sql_help.c:2238 sql_help.c:2271 +#: sql_help.c:2289 sql_help.c:2317 sql_help.c:2428 sql_help.c:2474 +#: sql_help.c:2499 sql_help.c:2522 sql_help.c:2526 sql_help.c:2560 +#: sql_help.c:2580 sql_help.c:2602 sql_help.c:2616 sql_help.c:2637 +#: sql_help.c:2670 sql_help.c:2705 sql_help.c:2728 sql_help.c:2775 +#: sql_help.c:3073 sql_help.c:3086 sql_help.c:3103 sql_help.c:3119 +#: sql_help.c:3159 sql_help.c:3213 sql_help.c:3217 sql_help.c:3219 +#: sql_help.c:3226 sql_help.c:3245 sql_help.c:3272 sql_help.c:3307 +#: sql_help.c:3319 sql_help.c:3328 sql_help.c:3372 sql_help.c:3386 +#: sql_help.c:3414 sql_help.c:3422 sql_help.c:3434 sql_help.c:3444 +#: sql_help.c:3452 sql_help.c:3460 sql_help.c:3468 sql_help.c:3476 +#: sql_help.c:3485 sql_help.c:3496 sql_help.c:3504 sql_help.c:3512 +#: sql_help.c:3520 sql_help.c:3528 sql_help.c:3538 sql_help.c:3547 +#: sql_help.c:3556 sql_help.c:3564 sql_help.c:3574 sql_help.c:3585 +#: sql_help.c:3593 sql_help.c:3602 sql_help.c:3613 sql_help.c:3622 +#: sql_help.c:3630 sql_help.c:3638 sql_help.c:3646 sql_help.c:3654 +#: sql_help.c:3662 sql_help.c:3670 sql_help.c:3678 sql_help.c:3686 +#: sql_help.c:3694 sql_help.c:3702 sql_help.c:3719 sql_help.c:3728 +#: sql_help.c:3736 sql_help.c:3753 sql_help.c:3768 sql_help.c:4081 +#: sql_help.c:4202 sql_help.c:4231 sql_help.c:4247 sql_help.c:4249 +#: sql_help.c:4753 sql_help.c:4801 sql_help.c:4960 msgid "name" msgstr "имя" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1863 -#: sql_help.c:3367 sql_help.c:4500 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1877 +#: sql_help.c:3387 sql_help.c:4520 msgid "aggregate_signature" msgstr "сигнатура_агр_функции" #: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:260 #: sql_help.c:281 sql_help.c:412 sql_help.c:459 sql_help.c:538 sql_help.c:586 #: sql_help.c:604 sql_help.c:631 sql_help.c:684 sql_help.c:759 sql_help.c:814 -#: sql_help.c:835 sql_help.c:874 sql_help.c:924 sql_help.c:971 sql_help.c:1024 -#: sql_help.c:1056 sql_help.c:1066 sql_help.c:1101 sql_help.c:1121 -#: sql_help.c:1135 sql_help.c:1185 sql_help.c:1333 sql_help.c:1465 -#: sql_help.c:1508 sql_help.c:1529 sql_help.c:1543 sql_help.c:1555 -#: sql_help.c:1568 sql_help.c:1595 sql_help.c:1661 sql_help.c:1714 +#: sql_help.c:835 sql_help.c:874 sql_help.c:933 sql_help.c:985 sql_help.c:1038 +#: sql_help.c:1070 sql_help.c:1080 sql_help.c:1115 sql_help.c:1135 +#: sql_help.c:1149 sql_help.c:1199 sql_help.c:1347 sql_help.c:1479 +#: sql_help.c:1522 sql_help.c:1543 sql_help.c:1557 sql_help.c:1569 +#: sql_help.c:1582 sql_help.c:1609 sql_help.c:1675 sql_help.c:1728 msgid "new_name" msgstr "новое_имя" #: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:258 #: sql_help.c:279 sql_help.c:410 sql_help.c:495 sql_help.c:543 sql_help.c:633 #: sql_help.c:642 sql_help.c:707 sql_help.c:731 sql_help.c:762 sql_help.c:817 -#: sql_help.c:879 sql_help.c:922 sql_help.c:1029 sql_help.c:1068 -#: sql_help.c:1099 sql_help.c:1119 sql_help.c:1133 sql_help.c:1183 -#: sql_help.c:1399 sql_help.c:1467 sql_help.c:1510 sql_help.c:1531 -#: sql_help.c:1593 sql_help.c:1709 sql_help.c:3039 +#: sql_help.c:879 sql_help.c:931 sql_help.c:1043 sql_help.c:1082 +#: sql_help.c:1113 sql_help.c:1133 sql_help.c:1147 sql_help.c:1197 +#: sql_help.c:1413 sql_help.c:1481 sql_help.c:1524 sql_help.c:1545 +#: sql_help.c:1607 sql_help.c:1723 sql_help.c:3059 msgid "new_owner" msgstr "новый_владелец" #: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:262 sql_help.c:332 #: sql_help.c:461 sql_help.c:548 sql_help.c:686 sql_help.c:735 sql_help.c:765 -#: sql_help.c:820 sql_help.c:884 sql_help.c:1034 sql_help.c:1103 -#: sql_help.c:1137 sql_help.c:1335 sql_help.c:1512 sql_help.c:1533 -#: sql_help.c:1545 sql_help.c:1557 sql_help.c:1597 sql_help.c:1716 +#: sql_help.c:820 sql_help.c:884 sql_help.c:1048 sql_help.c:1117 +#: sql_help.c:1151 sql_help.c:1349 sql_help.c:1526 sql_help.c:1547 +#: sql_help.c:1559 sql_help.c:1571 sql_help.c:1611 sql_help.c:1730 msgid "new_schema" msgstr "новая_схема" -#: sql_help.c:44 sql_help.c:1927 sql_help.c:3368 sql_help.c:4529 +#: sql_help.c:44 sql_help.c:1941 sql_help.c:3388 sql_help.c:4549 msgid "where aggregate_signature is:" msgstr "где сигнатура_агр_функции:" #: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:350 sql_help.c:363 #: sql_help.c:367 sql_help.c:383 sql_help.c:386 sql_help.c:389 sql_help.c:530 #: sql_help.c:535 sql_help.c:540 sql_help.c:545 sql_help.c:550 sql_help.c:866 -#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1016 -#: sql_help.c:1021 sql_help.c:1026 sql_help.c:1031 sql_help.c:1036 -#: sql_help.c:1881 sql_help.c:1898 sql_help.c:1904 sql_help.c:1928 -#: sql_help.c:1931 sql_help.c:1934 sql_help.c:2089 sql_help.c:2108 -#: sql_help.c:2111 sql_help.c:2415 sql_help.c:2624 sql_help.c:3369 -#: sql_help.c:3372 sql_help.c:3375 sql_help.c:3466 sql_help.c:3555 -#: sql_help.c:3583 sql_help.c:3936 sql_help.c:4399 sql_help.c:4506 -#: sql_help.c:4513 sql_help.c:4519 sql_help.c:4530 sql_help.c:4533 -#: sql_help.c:4536 +#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1030 +#: sql_help.c:1035 sql_help.c:1040 sql_help.c:1045 sql_help.c:1050 +#: sql_help.c:1895 sql_help.c:1912 sql_help.c:1918 sql_help.c:1942 +#: sql_help.c:1945 sql_help.c:1948 sql_help.c:2103 sql_help.c:2122 +#: sql_help.c:2125 sql_help.c:2429 sql_help.c:2638 sql_help.c:3389 +#: sql_help.c:3392 sql_help.c:3395 sql_help.c:3486 sql_help.c:3575 +#: sql_help.c:3603 sql_help.c:3956 sql_help.c:4419 sql_help.c:4526 +#: sql_help.c:4533 sql_help.c:4539 sql_help.c:4550 sql_help.c:4553 +#: sql_help.c:4556 msgid "argmode" msgstr "режим_аргумента" #: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:351 sql_help.c:364 #: sql_help.c:368 sql_help.c:384 sql_help.c:387 sql_help.c:390 sql_help.c:531 #: sql_help.c:536 sql_help.c:541 sql_help.c:546 sql_help.c:551 sql_help.c:867 -#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1017 -#: sql_help.c:1022 sql_help.c:1027 sql_help.c:1032 sql_help.c:1037 -#: sql_help.c:1882 sql_help.c:1899 sql_help.c:1905 sql_help.c:1929 -#: sql_help.c:1932 sql_help.c:1935 sql_help.c:2090 sql_help.c:2109 -#: sql_help.c:2112 sql_help.c:2416 sql_help.c:2625 sql_help.c:3370 -#: sql_help.c:3373 sql_help.c:3376 sql_help.c:3467 sql_help.c:3556 -#: sql_help.c:3584 sql_help.c:4507 sql_help.c:4514 sql_help.c:4520 -#: sql_help.c:4531 sql_help.c:4534 sql_help.c:4537 +#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1031 +#: sql_help.c:1036 sql_help.c:1041 sql_help.c:1046 sql_help.c:1051 +#: sql_help.c:1896 sql_help.c:1913 sql_help.c:1919 sql_help.c:1943 +#: sql_help.c:1946 sql_help.c:1949 sql_help.c:2104 sql_help.c:2123 +#: sql_help.c:2126 sql_help.c:2430 sql_help.c:2639 sql_help.c:3390 +#: sql_help.c:3393 sql_help.c:3396 sql_help.c:3487 sql_help.c:3576 +#: sql_help.c:3604 sql_help.c:4527 sql_help.c:4534 sql_help.c:4540 +#: sql_help.c:4551 sql_help.c:4554 sql_help.c:4557 msgid "argname" msgstr "имя_аргумента" #: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:352 sql_help.c:365 #: sql_help.c:369 sql_help.c:385 sql_help.c:388 sql_help.c:391 sql_help.c:532 #: sql_help.c:537 sql_help.c:542 sql_help.c:547 sql_help.c:552 sql_help.c:868 -#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1018 -#: sql_help.c:1023 sql_help.c:1028 sql_help.c:1033 sql_help.c:1038 -#: sql_help.c:1883 sql_help.c:1900 sql_help.c:1906 sql_help.c:1930 -#: sql_help.c:1933 sql_help.c:1936 sql_help.c:2417 sql_help.c:2626 -#: sql_help.c:3371 sql_help.c:3374 sql_help.c:3377 sql_help.c:3468 -#: sql_help.c:3557 sql_help.c:3585 sql_help.c:4508 sql_help.c:4515 -#: sql_help.c:4521 sql_help.c:4532 sql_help.c:4535 sql_help.c:4538 +#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1032 +#: sql_help.c:1037 sql_help.c:1042 sql_help.c:1047 sql_help.c:1052 +#: sql_help.c:1897 sql_help.c:1914 sql_help.c:1920 sql_help.c:1944 +#: sql_help.c:1947 sql_help.c:1950 sql_help.c:2431 sql_help.c:2640 +#: sql_help.c:3391 sql_help.c:3394 sql_help.c:3397 sql_help.c:3488 +#: sql_help.c:3577 sql_help.c:3605 sql_help.c:4528 sql_help.c:4535 +#: sql_help.c:4541 sql_help.c:4552 sql_help.c:4555 sql_help.c:4558 msgid "argtype" msgstr "тип_аргумента" -#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:965 -#: sql_help.c:1116 sql_help.c:1526 sql_help.c:1655 sql_help.c:1687 -#: sql_help.c:1739 sql_help.c:1798 sql_help.c:1987 sql_help.c:1994 -#: sql_help.c:2306 sql_help.c:2356 sql_help.c:2363 sql_help.c:2372 -#: sql_help.c:2461 sql_help.c:2686 sql_help.c:2777 sql_help.c:3068 -#: sql_help.c:3253 sql_help.c:3275 sql_help.c:3415 sql_help.c:3772 -#: sql_help.c:3980 sql_help.c:4226 sql_help.c:4228 sql_help.c:5006 +#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:979 +#: sql_help.c:1130 sql_help.c:1540 sql_help.c:1669 sql_help.c:1701 +#: sql_help.c:1753 sql_help.c:1812 sql_help.c:2001 sql_help.c:2008 +#: sql_help.c:2320 sql_help.c:2370 sql_help.c:2377 sql_help.c:2386 +#: sql_help.c:2475 sql_help.c:2706 sql_help.c:2797 sql_help.c:3088 +#: sql_help.c:3273 sql_help.c:3295 sql_help.c:3435 sql_help.c:3792 +#: sql_help.c:4000 sql_help.c:4246 sql_help.c:4248 sql_help.c:5026 msgid "option" msgstr "параметр" -#: sql_help.c:115 sql_help.c:966 sql_help.c:1656 sql_help.c:2462 -#: sql_help.c:2687 sql_help.c:3254 sql_help.c:3416 +#: sql_help.c:115 sql_help.c:980 sql_help.c:1670 sql_help.c:2476 +#: sql_help.c:2707 sql_help.c:3274 sql_help.c:3436 msgid "where option can be:" msgstr "где допустимые параметры:" -#: sql_help.c:116 sql_help.c:2238 +#: sql_help.c:116 sql_help.c:2252 msgid "allowconn" msgstr "разр_подключения" -#: sql_help.c:117 sql_help.c:967 sql_help.c:1657 sql_help.c:2239 -#: sql_help.c:2463 sql_help.c:2688 sql_help.c:3255 +#: sql_help.c:117 sql_help.c:981 sql_help.c:1671 sql_help.c:2253 +#: sql_help.c:2477 sql_help.c:2708 sql_help.c:3275 msgid "connlimit" msgstr "предел_подключений" -#: sql_help.c:118 sql_help.c:2240 +#: sql_help.c:118 sql_help.c:2254 msgid "istemplate" msgstr "это_шаблон" -#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1338 -#: sql_help.c:1392 sql_help.c:4232 +#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1352 +#: sql_help.c:1406 sql_help.c:4252 msgid "new_tablespace" msgstr "новое_табл_пространство" #: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:558 sql_help.c:560 -#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:974 -#: sql_help.c:978 sql_help.c:981 sql_help.c:1043 sql_help.c:1045 -#: sql_help.c:1046 sql_help.c:1196 sql_help.c:1198 sql_help.c:1664 -#: sql_help.c:1668 sql_help.c:1671 sql_help.c:2427 sql_help.c:2630 -#: sql_help.c:3948 sql_help.c:4250 sql_help.c:4411 sql_help.c:4721 +#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:988 +#: sql_help.c:992 sql_help.c:995 sql_help.c:1057 sql_help.c:1059 +#: sql_help.c:1060 sql_help.c:1210 sql_help.c:1212 sql_help.c:1678 +#: sql_help.c:1682 sql_help.c:1685 sql_help.c:2441 sql_help.c:2644 +#: sql_help.c:3968 sql_help.c:4270 sql_help.c:4431 sql_help.c:4741 msgid "configuration_parameter" msgstr "параметр_конфигурации" #: sql_help.c:128 sql_help.c:408 sql_help.c:479 sql_help.c:485 sql_help.c:497 #: sql_help.c:559 sql_help.c:613 sql_help.c:695 sql_help.c:705 sql_help.c:892 -#: sql_help.c:920 sql_help.c:975 sql_help.c:1044 sql_help.c:1117 -#: sql_help.c:1162 sql_help.c:1166 sql_help.c:1170 sql_help.c:1173 -#: sql_help.c:1178 sql_help.c:1181 sql_help.c:1197 sql_help.c:1371 -#: sql_help.c:1394 sql_help.c:1442 sql_help.c:1450 sql_help.c:1470 -#: sql_help.c:1527 sql_help.c:1611 sql_help.c:1665 sql_help.c:1688 -#: sql_help.c:2307 sql_help.c:2357 sql_help.c:2364 sql_help.c:2373 -#: sql_help.c:2428 sql_help.c:2429 sql_help.c:2493 sql_help.c:2496 -#: sql_help.c:2530 sql_help.c:2631 sql_help.c:2632 sql_help.c:2655 -#: sql_help.c:2778 sql_help.c:2817 sql_help.c:2927 sql_help.c:2940 -#: sql_help.c:2954 sql_help.c:2995 sql_help.c:3003 sql_help.c:3025 -#: sql_help.c:3042 sql_help.c:3069 sql_help.c:3276 sql_help.c:3981 -#: sql_help.c:4722 sql_help.c:4723 sql_help.c:4724 sql_help.c:4725 +#: sql_help.c:929 sql_help.c:989 sql_help.c:1058 sql_help.c:1131 +#: sql_help.c:1176 sql_help.c:1180 sql_help.c:1184 sql_help.c:1187 +#: sql_help.c:1192 sql_help.c:1195 sql_help.c:1211 sql_help.c:1385 +#: sql_help.c:1408 sql_help.c:1456 sql_help.c:1464 sql_help.c:1484 +#: sql_help.c:1541 sql_help.c:1625 sql_help.c:1679 sql_help.c:1702 +#: sql_help.c:2321 sql_help.c:2371 sql_help.c:2378 sql_help.c:2387 +#: sql_help.c:2442 sql_help.c:2443 sql_help.c:2507 sql_help.c:2510 +#: sql_help.c:2544 sql_help.c:2645 sql_help.c:2646 sql_help.c:2673 +#: sql_help.c:2798 sql_help.c:2837 sql_help.c:2947 sql_help.c:2960 +#: sql_help.c:2974 sql_help.c:3015 sql_help.c:3023 sql_help.c:3045 +#: sql_help.c:3062 sql_help.c:3089 sql_help.c:3296 sql_help.c:4001 +#: sql_help.c:4742 sql_help.c:4743 sql_help.c:4744 sql_help.c:4745 msgid "value" msgstr "значение" @@ -4646,10 +4646,10 @@ msgid "target_role" msgstr "целевая_роль" -#: sql_help.c:203 sql_help.c:929 sql_help.c:2291 sql_help.c:2660 -#: sql_help.c:2733 sql_help.c:2738 sql_help.c:3911 sql_help.c:3920 -#: sql_help.c:3939 sql_help.c:3951 sql_help.c:4374 sql_help.c:4383 -#: sql_help.c:4402 sql_help.c:4414 +#: sql_help.c:203 sql_help.c:936 sql_help.c:939 sql_help.c:2305 sql_help.c:2676 +#: sql_help.c:2753 sql_help.c:2758 sql_help.c:3931 sql_help.c:3940 +#: sql_help.c:3959 sql_help.c:3971 sql_help.c:4394 sql_help.c:4403 +#: sql_help.c:4422 sql_help.c:4434 msgid "schema_name" msgstr "имя_схемы" @@ -4663,57 +4663,57 @@ #: sql_help.c:206 sql_help.c:207 sql_help.c:208 sql_help.c:209 sql_help.c:210 #: sql_help.c:211 sql_help.c:212 sql_help.c:213 sql_help.c:214 sql_help.c:215 -#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:985 -#: sql_help.c:1337 sql_help.c:1675 sql_help.c:2466 sql_help.c:2467 -#: sql_help.c:2468 sql_help.c:2469 sql_help.c:2470 sql_help.c:2604 -#: sql_help.c:2691 sql_help.c:2692 sql_help.c:2693 sql_help.c:3258 -#: sql_help.c:3259 sql_help.c:3260 sql_help.c:3261 sql_help.c:3262 -#: sql_help.c:3960 sql_help.c:3964 sql_help.c:4423 sql_help.c:4427 -#: sql_help.c:4743 +#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:999 +#: sql_help.c:1351 sql_help.c:1689 sql_help.c:2480 sql_help.c:2481 +#: sql_help.c:2482 sql_help.c:2483 sql_help.c:2484 sql_help.c:2618 +#: sql_help.c:2711 sql_help.c:2712 sql_help.c:2713 sql_help.c:3278 +#: sql_help.c:3279 sql_help.c:3280 sql_help.c:3281 sql_help.c:3282 +#: sql_help.c:3980 sql_help.c:3984 sql_help.c:4443 sql_help.c:4447 +#: sql_help.c:4763 msgid "role_name" msgstr "имя_роли" -#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:928 sql_help.c:1353 -#: sql_help.c:1355 sql_help.c:1359 sql_help.c:1409 sql_help.c:1421 -#: sql_help.c:1446 sql_help.c:1705 sql_help.c:2260 sql_help.c:2264 -#: sql_help.c:2376 sql_help.c:2381 sql_help.c:2489 sql_help.c:2659 -#: sql_help.c:2794 sql_help.c:2799 sql_help.c:2801 sql_help.c:2922 -#: sql_help.c:2935 sql_help.c:2949 sql_help.c:2958 sql_help.c:2970 -#: sql_help.c:2999 sql_help.c:4012 sql_help.c:4027 sql_help.c:4029 -#: sql_help.c:4125 sql_help.c:4128 sql_help.c:4130 sql_help.c:4593 -#: sql_help.c:4594 sql_help.c:4603 sql_help.c:4650 sql_help.c:4651 -#: sql_help.c:4652 sql_help.c:4653 sql_help.c:4654 sql_help.c:4655 -#: sql_help.c:4696 sql_help.c:4697 sql_help.c:4702 sql_help.c:4707 -#: sql_help.c:4851 sql_help.c:4852 sql_help.c:4861 sql_help.c:4908 -#: sql_help.c:4909 sql_help.c:4910 sql_help.c:4911 sql_help.c:4912 -#: sql_help.c:4913 sql_help.c:4968 sql_help.c:4970 sql_help.c:5036 -#: sql_help.c:5096 sql_help.c:5097 sql_help.c:5106 sql_help.c:5153 -#: sql_help.c:5154 sql_help.c:5155 sql_help.c:5156 sql_help.c:5157 -#: sql_help.c:5158 +#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:943 sql_help.c:1367 +#: sql_help.c:1369 sql_help.c:1373 sql_help.c:1423 sql_help.c:1435 +#: sql_help.c:1460 sql_help.c:1719 sql_help.c:2274 sql_help.c:2278 +#: sql_help.c:2390 sql_help.c:2395 sql_help.c:2503 sql_help.c:2680 +#: sql_help.c:2814 sql_help.c:2819 sql_help.c:2821 sql_help.c:2942 +#: sql_help.c:2955 sql_help.c:2969 sql_help.c:2978 sql_help.c:2990 +#: sql_help.c:3019 sql_help.c:4032 sql_help.c:4047 sql_help.c:4049 +#: sql_help.c:4145 sql_help.c:4148 sql_help.c:4150 sql_help.c:4613 +#: sql_help.c:4614 sql_help.c:4623 sql_help.c:4670 sql_help.c:4671 +#: sql_help.c:4672 sql_help.c:4673 sql_help.c:4674 sql_help.c:4675 +#: sql_help.c:4716 sql_help.c:4717 sql_help.c:4722 sql_help.c:4727 +#: sql_help.c:4871 sql_help.c:4872 sql_help.c:4881 sql_help.c:4928 +#: sql_help.c:4929 sql_help.c:4930 sql_help.c:4931 sql_help.c:4932 +#: sql_help.c:4933 sql_help.c:4988 sql_help.c:4990 sql_help.c:5056 +#: sql_help.c:5116 sql_help.c:5117 sql_help.c:5126 sql_help.c:5173 +#: sql_help.c:5174 sql_help.c:5175 sql_help.c:5176 sql_help.c:5177 +#: sql_help.c:5178 msgid "expression" msgstr "выражение" -#: sql_help.c:249 sql_help.c:2261 +#: sql_help.c:249 sql_help.c:2275 msgid "domain_constraint" msgstr "ограничение_домена" #: sql_help.c:251 sql_help.c:253 sql_help.c:256 sql_help.c:264 sql_help.c:487 -#: sql_help.c:488 sql_help.c:1330 sql_help.c:1379 sql_help.c:1380 -#: sql_help.c:1381 sql_help.c:1408 sql_help.c:1420 sql_help.c:1437 -#: sql_help.c:1869 sql_help.c:1871 sql_help.c:2263 sql_help.c:2375 -#: sql_help.c:2380 sql_help.c:2957 sql_help.c:2969 sql_help.c:4024 +#: sql_help.c:488 sql_help.c:1344 sql_help.c:1393 sql_help.c:1394 +#: sql_help.c:1395 sql_help.c:1422 sql_help.c:1434 sql_help.c:1451 +#: sql_help.c:1883 sql_help.c:1885 sql_help.c:2277 sql_help.c:2389 +#: sql_help.c:2394 sql_help.c:2977 sql_help.c:2989 sql_help.c:4044 msgid "constraint_name" msgstr "имя_ограничения" -#: sql_help.c:254 sql_help.c:1331 +#: sql_help.c:254 sql_help.c:1345 msgid "new_constraint_name" msgstr "имя_нового_ограничения" -#: sql_help.c:263 sql_help.c:2262 +#: sql_help.c:263 sql_help.c:2276 msgid "where domain_constraint is:" msgstr "где ограничение_домена может быть следующим:" -#: sql_help.c:330 sql_help.c:1115 +#: sql_help.c:330 sql_help.c:1129 msgid "new_version" msgstr "новая_версия" @@ -4729,83 +4729,83 @@ #: sql_help.c:347 sql_help.c:348 sql_help.c:353 sql_help.c:357 sql_help.c:359 #: sql_help.c:361 sql_help.c:370 sql_help.c:371 sql_help.c:372 sql_help.c:373 #: sql_help.c:374 sql_help.c:375 sql_help.c:376 sql_help.c:377 sql_help.c:380 -#: sql_help.c:381 sql_help.c:1861 sql_help.c:1866 sql_help.c:1873 -#: sql_help.c:1874 sql_help.c:1875 sql_help.c:1876 sql_help.c:1877 -#: sql_help.c:1878 sql_help.c:1879 sql_help.c:1884 sql_help.c:1886 -#: sql_help.c:1890 sql_help.c:1892 sql_help.c:1896 sql_help.c:1901 -#: sql_help.c:1902 sql_help.c:1909 sql_help.c:1910 sql_help.c:1911 -#: sql_help.c:1912 sql_help.c:1913 sql_help.c:1914 sql_help.c:1915 -#: sql_help.c:1916 sql_help.c:1917 sql_help.c:1918 sql_help.c:1919 -#: sql_help.c:1924 sql_help.c:1925 sql_help.c:4496 sql_help.c:4501 -#: sql_help.c:4502 sql_help.c:4503 sql_help.c:4504 sql_help.c:4510 -#: sql_help.c:4511 sql_help.c:4516 sql_help.c:4517 sql_help.c:4522 -#: sql_help.c:4523 sql_help.c:4524 sql_help.c:4525 sql_help.c:4526 -#: sql_help.c:4527 +#: sql_help.c:381 sql_help.c:1875 sql_help.c:1880 sql_help.c:1887 +#: sql_help.c:1888 sql_help.c:1889 sql_help.c:1890 sql_help.c:1891 +#: sql_help.c:1892 sql_help.c:1893 sql_help.c:1898 sql_help.c:1900 +#: sql_help.c:1904 sql_help.c:1906 sql_help.c:1910 sql_help.c:1915 +#: sql_help.c:1916 sql_help.c:1923 sql_help.c:1924 sql_help.c:1925 +#: sql_help.c:1926 sql_help.c:1927 sql_help.c:1928 sql_help.c:1929 +#: sql_help.c:1930 sql_help.c:1931 sql_help.c:1932 sql_help.c:1933 +#: sql_help.c:1938 sql_help.c:1939 sql_help.c:4516 sql_help.c:4521 +#: sql_help.c:4522 sql_help.c:4523 sql_help.c:4524 sql_help.c:4530 +#: sql_help.c:4531 sql_help.c:4536 sql_help.c:4537 sql_help.c:4542 +#: sql_help.c:4543 sql_help.c:4544 sql_help.c:4545 sql_help.c:4546 +#: sql_help.c:4547 msgid "object_name" msgstr "имя_объекта" # well-spelled: агр -#: sql_help.c:339 sql_help.c:1862 sql_help.c:4499 +#: sql_help.c:339 sql_help.c:1876 sql_help.c:4519 msgid "aggregate_name" msgstr "имя_агр_функции" -#: sql_help.c:341 sql_help.c:1864 sql_help.c:2154 sql_help.c:2158 -#: sql_help.c:2160 sql_help.c:3385 +#: sql_help.c:341 sql_help.c:1878 sql_help.c:2168 sql_help.c:2172 +#: sql_help.c:2174 sql_help.c:3405 msgid "source_type" msgstr "исходный_тип" -#: sql_help.c:342 sql_help.c:1865 sql_help.c:2155 sql_help.c:2159 -#: sql_help.c:2161 sql_help.c:3386 +#: sql_help.c:342 sql_help.c:1879 sql_help.c:2169 sql_help.c:2173 +#: sql_help.c:2175 sql_help.c:3406 msgid "target_type" msgstr "целевой_тип" -#: sql_help.c:349 sql_help.c:802 sql_help.c:1880 sql_help.c:2156 -#: sql_help.c:2199 sql_help.c:2279 sql_help.c:2547 sql_help.c:2578 -#: sql_help.c:3145 sql_help.c:4398 sql_help.c:4505 sql_help.c:4622 -#: sql_help.c:4626 sql_help.c:4630 sql_help.c:4633 sql_help.c:4880 -#: sql_help.c:4884 sql_help.c:4888 sql_help.c:4891 sql_help.c:5125 -#: sql_help.c:5129 sql_help.c:5133 sql_help.c:5136 +#: sql_help.c:349 sql_help.c:802 sql_help.c:1894 sql_help.c:2170 +#: sql_help.c:2213 sql_help.c:2293 sql_help.c:2561 sql_help.c:2592 +#: sql_help.c:3165 sql_help.c:4418 sql_help.c:4525 sql_help.c:4642 +#: sql_help.c:4646 sql_help.c:4650 sql_help.c:4653 sql_help.c:4900 +#: sql_help.c:4904 sql_help.c:4908 sql_help.c:4911 sql_help.c:5145 +#: sql_help.c:5149 sql_help.c:5153 sql_help.c:5156 msgid "function_name" msgstr "имя_функции" -#: sql_help.c:354 sql_help.c:795 sql_help.c:1887 sql_help.c:2571 +#: sql_help.c:354 sql_help.c:795 sql_help.c:1901 sql_help.c:2585 msgid "operator_name" msgstr "имя_оператора" -#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1888 -#: sql_help.c:2548 sql_help.c:3509 +#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1902 +#: sql_help.c:2562 sql_help.c:3529 msgid "left_type" msgstr "тип_слева" -#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1889 -#: sql_help.c:2549 sql_help.c:3510 +#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1903 +#: sql_help.c:2563 sql_help.c:3530 msgid "right_type" msgstr "тип_справа" #: sql_help.c:358 sql_help.c:360 sql_help.c:758 sql_help.c:761 sql_help.c:764 #: sql_help.c:793 sql_help.c:805 sql_help.c:813 sql_help.c:816 sql_help.c:819 -#: sql_help.c:1426 sql_help.c:1891 sql_help.c:1893 sql_help.c:2568 -#: sql_help.c:2589 sql_help.c:2975 sql_help.c:3519 sql_help.c:3528 +#: sql_help.c:1440 sql_help.c:1905 sql_help.c:1907 sql_help.c:2582 +#: sql_help.c:2603 sql_help.c:2995 sql_help.c:3539 sql_help.c:3548 msgid "index_method" msgstr "метод_индекса" -#: sql_help.c:362 sql_help.c:1897 sql_help.c:4512 +#: sql_help.c:362 sql_help.c:1911 sql_help.c:4532 msgid "procedure_name" msgstr "имя_процедуры" -#: sql_help.c:366 sql_help.c:1903 sql_help.c:3935 sql_help.c:4518 +#: sql_help.c:366 sql_help.c:1917 sql_help.c:3955 sql_help.c:4538 msgid "routine_name" msgstr "имя_подпрограммы" -#: sql_help.c:378 sql_help.c:1398 sql_help.c:1920 sql_help.c:2423 -#: sql_help.c:2629 sql_help.c:2930 sql_help.c:3112 sql_help.c:3690 -#: sql_help.c:3957 sql_help.c:4420 +#: sql_help.c:378 sql_help.c:1412 sql_help.c:1934 sql_help.c:2437 +#: sql_help.c:2643 sql_help.c:2950 sql_help.c:3132 sql_help.c:3710 +#: sql_help.c:3977 sql_help.c:4440 msgid "type_name" msgstr "имя_типа" -#: sql_help.c:379 sql_help.c:1921 sql_help.c:2422 sql_help.c:2628 -#: sql_help.c:3113 sql_help.c:3343 sql_help.c:3691 sql_help.c:3942 -#: sql_help.c:4405 +#: sql_help.c:379 sql_help.c:1935 sql_help.c:2436 sql_help.c:2642 +#: sql_help.c:3133 sql_help.c:3363 sql_help.c:3711 sql_help.c:3962 +#: sql_help.c:4425 msgid "lang_name" msgstr "имя_языка" @@ -4813,147 +4813,147 @@ msgid "and aggregate_signature is:" msgstr "и сигнатура_агр_функции:" -#: sql_help.c:405 sql_help.c:2021 sql_help.c:2304 +#: sql_help.c:405 sql_help.c:2035 sql_help.c:2318 msgid "handler_function" msgstr "функция_обработчик" -#: sql_help.c:406 sql_help.c:2305 +#: sql_help.c:406 sql_help.c:2319 msgid "validator_function" msgstr "функция_проверки" -#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1019 -#: sql_help.c:1325 sql_help.c:1602 +#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1033 +#: sql_help.c:1339 sql_help.c:1616 msgid "action" msgstr "действие" #: sql_help.c:456 sql_help.c:463 sql_help.c:467 sql_help.c:468 sql_help.c:471 #: sql_help.c:473 sql_help.c:474 sql_help.c:475 sql_help.c:477 sql_help.c:480 #: sql_help.c:482 sql_help.c:483 sql_help.c:681 sql_help.c:691 sql_help.c:693 -#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:927 sql_help.c:1096 -#: sql_help.c:1327 sql_help.c:1345 sql_help.c:1349 sql_help.c:1350 -#: sql_help.c:1354 sql_help.c:1356 sql_help.c:1357 sql_help.c:1358 -#: sql_help.c:1360 sql_help.c:1361 sql_help.c:1363 sql_help.c:1366 -#: sql_help.c:1367 sql_help.c:1369 sql_help.c:1372 sql_help.c:1374 -#: sql_help.c:1375 sql_help.c:1422 sql_help.c:1424 sql_help.c:1431 -#: sql_help.c:1440 sql_help.c:1445 sql_help.c:1452 sql_help.c:1453 -#: sql_help.c:1704 sql_help.c:1707 sql_help.c:1711 sql_help.c:1747 -#: sql_help.c:1868 sql_help.c:1984 sql_help.c:1990 sql_help.c:2004 -#: sql_help.c:2005 sql_help.c:2006 sql_help.c:2354 sql_help.c:2367 -#: sql_help.c:2420 sql_help.c:2488 sql_help.c:2494 sql_help.c:2527 -#: sql_help.c:2658 sql_help.c:2763 sql_help.c:2798 sql_help.c:2800 -#: sql_help.c:2912 sql_help.c:2921 sql_help.c:2931 sql_help.c:2934 -#: sql_help.c:2944 sql_help.c:2948 sql_help.c:2971 sql_help.c:2973 -#: sql_help.c:2980 sql_help.c:2993 sql_help.c:2998 sql_help.c:3005 -#: sql_help.c:3006 sql_help.c:3022 sql_help.c:3148 sql_help.c:3288 -#: sql_help.c:3914 sql_help.c:3915 sql_help.c:4011 sql_help.c:4026 -#: sql_help.c:4028 sql_help.c:4030 sql_help.c:4124 sql_help.c:4127 -#: sql_help.c:4129 sql_help.c:4131 sql_help.c:4377 sql_help.c:4378 -#: sql_help.c:4498 sql_help.c:4659 sql_help.c:4666 sql_help.c:4668 -#: sql_help.c:4917 sql_help.c:4924 sql_help.c:4926 sql_help.c:4967 -#: sql_help.c:4969 sql_help.c:4971 sql_help.c:5024 sql_help.c:5162 -#: sql_help.c:5169 sql_help.c:5171 +#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:942 sql_help.c:1110 +#: sql_help.c:1341 sql_help.c:1359 sql_help.c:1363 sql_help.c:1364 +#: sql_help.c:1368 sql_help.c:1370 sql_help.c:1371 sql_help.c:1372 +#: sql_help.c:1374 sql_help.c:1375 sql_help.c:1377 sql_help.c:1380 +#: sql_help.c:1381 sql_help.c:1383 sql_help.c:1386 sql_help.c:1388 +#: sql_help.c:1389 sql_help.c:1436 sql_help.c:1438 sql_help.c:1445 +#: sql_help.c:1454 sql_help.c:1459 sql_help.c:1466 sql_help.c:1467 +#: sql_help.c:1718 sql_help.c:1721 sql_help.c:1725 sql_help.c:1761 +#: sql_help.c:1882 sql_help.c:1998 sql_help.c:2004 sql_help.c:2018 +#: sql_help.c:2019 sql_help.c:2020 sql_help.c:2368 sql_help.c:2381 +#: sql_help.c:2434 sql_help.c:2502 sql_help.c:2508 sql_help.c:2541 +#: sql_help.c:2679 sql_help.c:2783 sql_help.c:2818 sql_help.c:2820 +#: sql_help.c:2932 sql_help.c:2941 sql_help.c:2951 sql_help.c:2954 +#: sql_help.c:2964 sql_help.c:2968 sql_help.c:2991 sql_help.c:2993 +#: sql_help.c:3000 sql_help.c:3013 sql_help.c:3018 sql_help.c:3025 +#: sql_help.c:3026 sql_help.c:3042 sql_help.c:3168 sql_help.c:3308 +#: sql_help.c:3934 sql_help.c:3935 sql_help.c:4031 sql_help.c:4046 +#: sql_help.c:4048 sql_help.c:4050 sql_help.c:4144 sql_help.c:4147 +#: sql_help.c:4149 sql_help.c:4151 sql_help.c:4397 sql_help.c:4398 +#: sql_help.c:4518 sql_help.c:4679 sql_help.c:4686 sql_help.c:4688 +#: sql_help.c:4937 sql_help.c:4944 sql_help.c:4946 sql_help.c:4987 +#: sql_help.c:4989 sql_help.c:4991 sql_help.c:5044 sql_help.c:5182 +#: sql_help.c:5189 sql_help.c:5191 msgid "column_name" msgstr "имя_столбца" -#: sql_help.c:457 sql_help.c:682 sql_help.c:1328 sql_help.c:1712 +#: sql_help.c:457 sql_help.c:682 sql_help.c:1342 sql_help.c:1726 msgid "new_column_name" msgstr "новое_имя_столбца" -#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1040 -#: sql_help.c:1344 sql_help.c:1612 +#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1054 +#: sql_help.c:1358 sql_help.c:1626 msgid "where action is one of:" msgstr "где допустимое действие:" -#: sql_help.c:464 sql_help.c:469 sql_help.c:1088 sql_help.c:1346 -#: sql_help.c:1351 sql_help.c:1614 sql_help.c:1618 sql_help.c:2258 -#: sql_help.c:2355 sql_help.c:2567 sql_help.c:2756 sql_help.c:2913 -#: sql_help.c:3195 sql_help.c:4183 +#: sql_help.c:464 sql_help.c:469 sql_help.c:1102 sql_help.c:1360 +#: sql_help.c:1365 sql_help.c:1628 sql_help.c:1632 sql_help.c:2272 +#: sql_help.c:2369 sql_help.c:2581 sql_help.c:2776 sql_help.c:2933 +#: sql_help.c:3215 sql_help.c:4203 msgid "data_type" msgstr "тип_данных" -#: sql_help.c:465 sql_help.c:470 sql_help.c:1347 sql_help.c:1352 -#: sql_help.c:1447 sql_help.c:1615 sql_help.c:1619 sql_help.c:2259 -#: sql_help.c:2358 sql_help.c:2490 sql_help.c:2915 sql_help.c:2923 -#: sql_help.c:2936 sql_help.c:2950 sql_help.c:3000 sql_help.c:3196 -#: sql_help.c:3202 sql_help.c:4021 +#: sql_help.c:465 sql_help.c:470 sql_help.c:1361 sql_help.c:1366 +#: sql_help.c:1461 sql_help.c:1629 sql_help.c:1633 sql_help.c:2273 +#: sql_help.c:2372 sql_help.c:2504 sql_help.c:2935 sql_help.c:2943 +#: sql_help.c:2956 sql_help.c:2970 sql_help.c:3020 sql_help.c:3216 +#: sql_help.c:3222 sql_help.c:4041 msgid "collation" msgstr "правило_сортировки" -#: sql_help.c:466 sql_help.c:1348 sql_help.c:2359 sql_help.c:2368 -#: sql_help.c:2916 sql_help.c:2932 sql_help.c:2945 +#: sql_help.c:466 sql_help.c:1362 sql_help.c:2373 sql_help.c:2382 +#: sql_help.c:2936 sql_help.c:2952 sql_help.c:2965 msgid "column_constraint" msgstr "ограничение_столбца" -#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1368 sql_help.c:5018 +#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1382 sql_help.c:5038 msgid "integer" msgstr "целое" -#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1370 -#: sql_help.c:1373 +#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1384 +#: sql_help.c:1387 msgid "attribute_option" msgstr "атрибут" -#: sql_help.c:486 sql_help.c:1377 sql_help.c:2360 sql_help.c:2369 -#: sql_help.c:2917 sql_help.c:2933 sql_help.c:2946 +#: sql_help.c:486 sql_help.c:1391 sql_help.c:2374 sql_help.c:2383 +#: sql_help.c:2937 sql_help.c:2953 sql_help.c:2966 msgid "table_constraint" msgstr "ограничение_таблицы" -#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1382 -#: sql_help.c:1383 sql_help.c:1384 sql_help.c:1385 sql_help.c:1922 +#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1396 +#: sql_help.c:1397 sql_help.c:1398 sql_help.c:1399 sql_help.c:1936 msgid "trigger_name" msgstr "имя_триггера" -#: sql_help.c:493 sql_help.c:494 sql_help.c:1396 sql_help.c:1397 -#: sql_help.c:2361 sql_help.c:2366 sql_help.c:2920 sql_help.c:2943 +#: sql_help.c:493 sql_help.c:494 sql_help.c:1410 sql_help.c:1411 +#: sql_help.c:2375 sql_help.c:2380 sql_help.c:2940 sql_help.c:2963 msgid "parent_table" msgstr "таблица_родитель" -#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1039 -#: sql_help.c:1571 sql_help.c:2290 +#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1053 +#: sql_help.c:1585 sql_help.c:2304 msgid "extension_name" msgstr "имя_расширения" -#: sql_help.c:555 sql_help.c:1041 sql_help.c:2424 +#: sql_help.c:555 sql_help.c:1055 sql_help.c:2438 msgid "execution_cost" msgstr "стоимость_выполнения" -#: sql_help.c:556 sql_help.c:1042 sql_help.c:2425 +#: sql_help.c:556 sql_help.c:1056 sql_help.c:2439 msgid "result_rows" msgstr "строк_в_результате" -#: sql_help.c:557 sql_help.c:2426 +#: sql_help.c:557 sql_help.c:2440 msgid "support_function" msgstr "вспомогательная_функция" -#: sql_help.c:579 sql_help.c:581 sql_help.c:964 sql_help.c:972 sql_help.c:976 -#: sql_help.c:979 sql_help.c:982 sql_help.c:1654 sql_help.c:1662 -#: sql_help.c:1666 sql_help.c:1669 sql_help.c:1672 sql_help.c:2734 -#: sql_help.c:2736 sql_help.c:2739 sql_help.c:2740 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3917 sql_help.c:3918 sql_help.c:3921 -#: sql_help.c:3922 sql_help.c:3924 sql_help.c:3925 sql_help.c:3927 -#: sql_help.c:3928 sql_help.c:3930 sql_help.c:3931 sql_help.c:3933 -#: sql_help.c:3934 sql_help.c:3940 sql_help.c:3941 sql_help.c:3943 -#: sql_help.c:3944 sql_help.c:3946 sql_help.c:3947 sql_help.c:3949 -#: sql_help.c:3950 sql_help.c:3952 sql_help.c:3953 sql_help.c:3955 -#: sql_help.c:3956 sql_help.c:3958 sql_help.c:3959 sql_help.c:3961 -#: sql_help.c:3962 sql_help.c:4375 sql_help.c:4376 sql_help.c:4380 -#: sql_help.c:4381 sql_help.c:4384 sql_help.c:4385 sql_help.c:4387 -#: sql_help.c:4388 sql_help.c:4390 sql_help.c:4391 sql_help.c:4393 -#: sql_help.c:4394 sql_help.c:4396 sql_help.c:4397 sql_help.c:4403 -#: sql_help.c:4404 sql_help.c:4406 sql_help.c:4407 sql_help.c:4409 -#: sql_help.c:4410 sql_help.c:4412 sql_help.c:4413 sql_help.c:4415 -#: sql_help.c:4416 sql_help.c:4418 sql_help.c:4419 sql_help.c:4421 -#: sql_help.c:4422 sql_help.c:4424 sql_help.c:4425 +#: sql_help.c:579 sql_help.c:581 sql_help.c:978 sql_help.c:986 sql_help.c:990 +#: sql_help.c:993 sql_help.c:996 sql_help.c:1668 sql_help.c:1676 +#: sql_help.c:1680 sql_help.c:1683 sql_help.c:1686 sql_help.c:2754 +#: sql_help.c:2756 sql_help.c:2759 sql_help.c:2760 sql_help.c:3932 +#: sql_help.c:3933 sql_help.c:3937 sql_help.c:3938 sql_help.c:3941 +#: sql_help.c:3942 sql_help.c:3944 sql_help.c:3945 sql_help.c:3947 +#: sql_help.c:3948 sql_help.c:3950 sql_help.c:3951 sql_help.c:3953 +#: sql_help.c:3954 sql_help.c:3960 sql_help.c:3961 sql_help.c:3963 +#: sql_help.c:3964 sql_help.c:3966 sql_help.c:3967 sql_help.c:3969 +#: sql_help.c:3970 sql_help.c:3972 sql_help.c:3973 sql_help.c:3975 +#: sql_help.c:3976 sql_help.c:3978 sql_help.c:3979 sql_help.c:3981 +#: sql_help.c:3982 sql_help.c:4395 sql_help.c:4396 sql_help.c:4400 +#: sql_help.c:4401 sql_help.c:4404 sql_help.c:4405 sql_help.c:4407 +#: sql_help.c:4408 sql_help.c:4410 sql_help.c:4411 sql_help.c:4413 +#: sql_help.c:4414 sql_help.c:4416 sql_help.c:4417 sql_help.c:4423 +#: sql_help.c:4424 sql_help.c:4426 sql_help.c:4427 sql_help.c:4429 +#: sql_help.c:4430 sql_help.c:4432 sql_help.c:4433 sql_help.c:4435 +#: sql_help.c:4436 sql_help.c:4438 sql_help.c:4439 sql_help.c:4441 +#: sql_help.c:4442 sql_help.c:4444 sql_help.c:4445 msgid "role_specification" msgstr "указание_роли" -#: sql_help.c:580 sql_help.c:582 sql_help.c:1685 sql_help.c:2225 -#: sql_help.c:2742 sql_help.c:3273 sql_help.c:3724 sql_help.c:4753 +#: sql_help.c:580 sql_help.c:582 sql_help.c:1699 sql_help.c:2239 +#: sql_help.c:2762 sql_help.c:3293 sql_help.c:3744 sql_help.c:4773 msgid "user_name" msgstr "имя_пользователя" -#: sql_help.c:583 sql_help.c:984 sql_help.c:1674 sql_help.c:2741 -#: sql_help.c:3963 sql_help.c:4426 +#: sql_help.c:583 sql_help.c:998 sql_help.c:1688 sql_help.c:2761 +#: sql_help.c:3983 sql_help.c:4446 msgid "where role_specification can be:" msgstr "где допустимое указание_роли:" @@ -4961,22 +4961,22 @@ msgid "group_name" msgstr "имя_группы" -#: sql_help.c:606 sql_help.c:1443 sql_help.c:2237 sql_help.c:2497 -#: sql_help.c:2531 sql_help.c:2928 sql_help.c:2941 sql_help.c:2955 -#: sql_help.c:2996 sql_help.c:3026 sql_help.c:3038 sql_help.c:3954 -#: sql_help.c:4417 +#: sql_help.c:606 sql_help.c:1457 sql_help.c:2251 sql_help.c:2511 +#: sql_help.c:2545 sql_help.c:2948 sql_help.c:2961 sql_help.c:2975 +#: sql_help.c:3016 sql_help.c:3046 sql_help.c:3058 sql_help.c:3974 +#: sql_help.c:4437 msgid "tablespace_name" msgstr "табл_пространство" -#: sql_help.c:608 sql_help.c:701 sql_help.c:1390 sql_help.c:1400 -#: sql_help.c:1438 sql_help.c:1800 +#: sql_help.c:608 sql_help.c:701 sql_help.c:1404 sql_help.c:1414 +#: sql_help.c:1452 sql_help.c:1814 msgid "index_name" msgstr "имя_индекса" -#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1393 -#: sql_help.c:1395 sql_help.c:1441 sql_help.c:2495 sql_help.c:2529 -#: sql_help.c:2926 sql_help.c:2939 sql_help.c:2953 sql_help.c:2994 -#: sql_help.c:3024 +#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1407 +#: sql_help.c:1409 sql_help.c:1455 sql_help.c:2509 sql_help.c:2543 +#: sql_help.c:2946 sql_help.c:2959 sql_help.c:2973 sql_help.c:3014 +#: sql_help.c:3044 msgid "storage_parameter" msgstr "параметр_хранения" @@ -4984,1879 +4984,1887 @@ msgid "column_number" msgstr "номер_столбца" -#: sql_help.c:641 sql_help.c:1885 sql_help.c:4509 +#: sql_help.c:641 sql_help.c:1899 sql_help.c:4529 msgid "large_object_oid" msgstr "oid_большого_объекта" -#: sql_help.c:700 sql_help.c:1376 sql_help.c:2914 +#: sql_help.c:700 sql_help.c:1390 sql_help.c:2934 msgid "compression_method" msgstr "метод_сжатия" -#: sql_help.c:702 sql_help.c:1391 +#: sql_help.c:702 sql_help.c:1405 msgid "new_access_method" msgstr "новый_метод_доступа" -#: sql_help.c:739 sql_help.c:2552 +#: sql_help.c:739 sql_help.c:2566 msgid "res_proc" msgstr "процедура_ограничения" -#: sql_help.c:740 sql_help.c:2553 +#: sql_help.c:740 sql_help.c:2567 msgid "join_proc" msgstr "процедура_соединения" -#: sql_help.c:741 sql_help.c:2550 +#: sql_help.c:741 sql_help.c:2564 msgid "com_op" msgstr "коммут_оператор" -#: sql_help.c:742 sql_help.c:2551 +#: sql_help.c:742 sql_help.c:2565 msgid "neg_op" msgstr "обратный_оператор" -#: sql_help.c:794 sql_help.c:806 sql_help.c:2570 +#: sql_help.c:794 sql_help.c:806 sql_help.c:2584 msgid "strategy_number" msgstr "номер_стратегии" #: sql_help.c:796 sql_help.c:797 sql_help.c:800 sql_help.c:801 sql_help.c:807 -#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2572 sql_help.c:2573 -#: sql_help.c:2576 sql_help.c:2577 +#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2586 sql_help.c:2587 +#: sql_help.c:2590 sql_help.c:2591 msgid "op_type" msgstr "тип_операции" -#: sql_help.c:798 sql_help.c:2574 +#: sql_help.c:798 sql_help.c:2588 msgid "sort_family_name" msgstr "семейство_сортировки" -#: sql_help.c:799 sql_help.c:809 sql_help.c:2575 +#: sql_help.c:799 sql_help.c:809 sql_help.c:2589 msgid "support_number" msgstr "номер_опорной_процедуры" -#: sql_help.c:803 sql_help.c:2157 sql_help.c:2579 sql_help.c:3115 -#: sql_help.c:3117 +#: sql_help.c:803 sql_help.c:2171 sql_help.c:2593 sql_help.c:3135 +#: sql_help.c:3137 msgid "argument_type" msgstr "тип_аргумента" -#: sql_help.c:834 sql_help.c:837 sql_help.c:926 sql_help.c:1055 sql_help.c:1095 -#: sql_help.c:1567 sql_help.c:1570 sql_help.c:1746 sql_help.c:1799 -#: sql_help.c:1870 sql_help.c:1895 sql_help.c:1908 sql_help.c:1923 -#: sql_help.c:1983 sql_help.c:1989 sql_help.c:2353 sql_help.c:2365 -#: sql_help.c:2486 sql_help.c:2526 sql_help.c:2603 sql_help.c:2657 -#: sql_help.c:2710 sql_help.c:2762 sql_help.c:2795 sql_help.c:2802 -#: sql_help.c:2911 sql_help.c:2929 sql_help.c:2942 sql_help.c:3021 -#: sql_help.c:3141 sql_help.c:3322 sql_help.c:3545 sql_help.c:3594 -#: sql_help.c:3700 sql_help.c:3910 sql_help.c:3916 sql_help.c:3977 -#: sql_help.c:4009 sql_help.c:4373 sql_help.c:4379 sql_help.c:4497 -#: sql_help.c:4610 sql_help.c:4673 sql_help.c:4712 sql_help.c:4868 -#: sql_help.c:4931 sql_help.c:4965 sql_help.c:5023 sql_help.c:5113 -#: sql_help.c:5176 +#: sql_help.c:834 sql_help.c:837 sql_help.c:938 sql_help.c:941 sql_help.c:1069 +#: sql_help.c:1109 sql_help.c:1581 sql_help.c:1584 sql_help.c:1760 +#: sql_help.c:1813 sql_help.c:1884 sql_help.c:1909 sql_help.c:1922 +#: sql_help.c:1937 sql_help.c:1997 sql_help.c:2003 sql_help.c:2367 +#: sql_help.c:2379 sql_help.c:2500 sql_help.c:2540 sql_help.c:2617 +#: sql_help.c:2678 sql_help.c:2730 sql_help.c:2782 sql_help.c:2815 +#: sql_help.c:2822 sql_help.c:2931 sql_help.c:2949 sql_help.c:2962 +#: sql_help.c:3041 sql_help.c:3161 sql_help.c:3342 sql_help.c:3565 +#: sql_help.c:3614 sql_help.c:3720 sql_help.c:3930 sql_help.c:3936 +#: sql_help.c:3997 sql_help.c:4029 sql_help.c:4393 sql_help.c:4399 +#: sql_help.c:4517 sql_help.c:4630 sql_help.c:4693 sql_help.c:4732 +#: sql_help.c:4888 sql_help.c:4951 sql_help.c:4985 sql_help.c:5043 +#: sql_help.c:5133 sql_help.c:5196 msgid "table_name" msgstr "имя_таблицы" -#: sql_help.c:839 sql_help.c:2605 +#: sql_help.c:839 sql_help.c:2619 msgid "using_expression" msgstr "выражение_использования" -#: sql_help.c:840 sql_help.c:2606 +#: sql_help.c:840 sql_help.c:2620 msgid "check_expression" msgstr "выражение_проверки" -#: sql_help.c:913 sql_help.c:915 sql_help.c:917 sql_help.c:2653 +#: sql_help.c:922 sql_help.c:924 sql_help.c:2671 msgid "publication_object" msgstr "объект_публикации" -#: sql_help.c:919 sql_help.c:2654 +#: sql_help.c:926 +msgid "publication_drop_object" +msgstr "удаляемый_объект_публикации" + +#: sql_help.c:928 sql_help.c:2672 msgid "publication_parameter" msgstr "параметр_публикации" -#: sql_help.c:925 sql_help.c:2656 +#: sql_help.c:934 sql_help.c:2674 msgid "where publication_object is one of:" msgstr "где объект_публикации:" -#: sql_help.c:968 sql_help.c:1658 sql_help.c:2464 sql_help.c:2689 -#: sql_help.c:3256 +#: sql_help.c:935 sql_help.c:1754 sql_help.c:2675 sql_help.c:5027 +msgid "table_and_columns" +msgstr "таблица_и_столбцы" + +#: sql_help.c:937 +msgid "and publication_drop_object is one of:" +msgstr "и удаляемый_объект_публикации:" + +#: sql_help.c:940 sql_help.c:1759 sql_help.c:2677 sql_help.c:5042 +msgid "and table_and_columns is:" +msgstr "и таблица_и_столбцы:" + +#: sql_help.c:982 sql_help.c:1672 sql_help.c:2478 sql_help.c:2709 +#: sql_help.c:3276 msgid "password" msgstr "пароль" -#: sql_help.c:969 sql_help.c:1659 sql_help.c:2465 sql_help.c:2690 -#: sql_help.c:3257 +#: sql_help.c:983 sql_help.c:1673 sql_help.c:2479 sql_help.c:2710 +#: sql_help.c:3277 msgid "timestamp" msgstr "timestamp" -#: sql_help.c:973 sql_help.c:977 sql_help.c:980 sql_help.c:983 sql_help.c:1663 -#: sql_help.c:1667 sql_help.c:1670 sql_help.c:1673 sql_help.c:3923 -#: sql_help.c:4386 +#: sql_help.c:987 sql_help.c:991 sql_help.c:994 sql_help.c:997 sql_help.c:1677 +#: sql_help.c:1681 sql_help.c:1684 sql_help.c:1687 sql_help.c:3943 +#: sql_help.c:4406 msgid "database_name" msgstr "имя_БД" -#: sql_help.c:1089 sql_help.c:2757 +#: sql_help.c:1103 sql_help.c:2777 msgid "increment" msgstr "шаг" -#: sql_help.c:1090 sql_help.c:2758 +#: sql_help.c:1104 sql_help.c:2778 msgid "minvalue" msgstr "мин_значение" -#: sql_help.c:1091 sql_help.c:2759 +#: sql_help.c:1105 sql_help.c:2779 msgid "maxvalue" msgstr "макс_значение" -#: sql_help.c:1092 sql_help.c:2760 sql_help.c:4606 sql_help.c:4710 -#: sql_help.c:4864 sql_help.c:5040 sql_help.c:5109 +#: sql_help.c:1106 sql_help.c:2780 sql_help.c:4626 sql_help.c:4730 +#: sql_help.c:4884 sql_help.c:5060 sql_help.c:5129 msgid "start" msgstr "начальное_значение" -#: sql_help.c:1093 sql_help.c:1365 +#: sql_help.c:1107 sql_help.c:1379 msgid "restart" msgstr "значение_перезапуска" -#: sql_help.c:1094 sql_help.c:2761 +#: sql_help.c:1108 sql_help.c:2781 msgid "cache" msgstr "кеш" -#: sql_help.c:1139 +#: sql_help.c:1153 msgid "new_target" msgstr "новое_имя" -#: sql_help.c:1158 sql_help.c:2814 +#: sql_help.c:1172 sql_help.c:2834 msgid "conninfo" msgstr "строка_подключения" -#: sql_help.c:1160 sql_help.c:1164 sql_help.c:1168 sql_help.c:2815 +#: sql_help.c:1174 sql_help.c:1178 sql_help.c:1182 sql_help.c:2835 msgid "publication_name" msgstr "имя_публикации" -#: sql_help.c:1161 sql_help.c:1165 sql_help.c:1169 +#: sql_help.c:1175 sql_help.c:1179 sql_help.c:1183 msgid "publication_option" msgstr "параметр_публикации" -#: sql_help.c:1172 +#: sql_help.c:1186 msgid "refresh_option" msgstr "параметр_обновления" -#: sql_help.c:1177 sql_help.c:2816 +#: sql_help.c:1191 sql_help.c:2836 msgid "subscription_parameter" msgstr "параметр_подписки" -#: sql_help.c:1180 +#: sql_help.c:1194 msgid "skip_option" msgstr "параметр_пропуска" -#: sql_help.c:1340 sql_help.c:1343 +#: sql_help.c:1354 sql_help.c:1357 msgid "partition_name" msgstr "имя_секции" -#: sql_help.c:1341 sql_help.c:2370 sql_help.c:2947 +#: sql_help.c:1355 sql_help.c:2384 sql_help.c:2967 msgid "partition_bound_spec" msgstr "указание_границ_секции" -#: sql_help.c:1362 sql_help.c:1412 sql_help.c:2961 +#: sql_help.c:1376 sql_help.c:1426 sql_help.c:2981 msgid "sequence_options" msgstr "параметры_последовательности" -#: sql_help.c:1364 +#: sql_help.c:1378 msgid "sequence_option" msgstr "параметр_последовательности" -#: sql_help.c:1378 +#: sql_help.c:1392 msgid "table_constraint_using_index" msgstr "ограничение_таблицы_с_индексом" -#: sql_help.c:1386 sql_help.c:1387 sql_help.c:1388 sql_help.c:1389 +#: sql_help.c:1400 sql_help.c:1401 sql_help.c:1402 sql_help.c:1403 msgid "rewrite_rule_name" msgstr "имя_правила_перезаписи" -#: sql_help.c:1401 sql_help.c:2382 sql_help.c:2986 +#: sql_help.c:1415 sql_help.c:2396 sql_help.c:3006 msgid "and partition_bound_spec is:" msgstr "и указание_границ_секции:" -#: sql_help.c:1402 sql_help.c:1403 sql_help.c:1404 sql_help.c:2383 -#: sql_help.c:2384 sql_help.c:2385 sql_help.c:2987 sql_help.c:2988 -#: sql_help.c:2989 +#: sql_help.c:1416 sql_help.c:1417 sql_help.c:1418 sql_help.c:2397 +#: sql_help.c:2398 sql_help.c:2399 sql_help.c:3007 sql_help.c:3008 +#: sql_help.c:3009 msgid "partition_bound_expr" msgstr "выражение_границ_секции" -#: sql_help.c:1405 sql_help.c:1406 sql_help.c:2386 sql_help.c:2387 -#: sql_help.c:2990 sql_help.c:2991 +#: sql_help.c:1419 sql_help.c:1420 sql_help.c:2400 sql_help.c:2401 +#: sql_help.c:3010 sql_help.c:3011 msgid "numeric_literal" msgstr "числовая_константа" -#: sql_help.c:1407 +#: sql_help.c:1421 msgid "and column_constraint is:" msgstr "и ограничение_столбца:" -#: sql_help.c:1410 sql_help.c:2377 sql_help.c:2418 sql_help.c:2627 -#: sql_help.c:2959 +#: sql_help.c:1424 sql_help.c:2391 sql_help.c:2432 sql_help.c:2641 +#: sql_help.c:2979 msgid "default_expr" msgstr "выражение_по_умолчанию" -#: sql_help.c:1411 sql_help.c:2378 sql_help.c:2960 +#: sql_help.c:1425 sql_help.c:2392 sql_help.c:2980 msgid "generation_expr" msgstr "генерирующее_выражение" -#: sql_help.c:1413 sql_help.c:1414 sql_help.c:1423 sql_help.c:1425 -#: sql_help.c:1429 sql_help.c:2962 sql_help.c:2963 sql_help.c:2972 -#: sql_help.c:2974 sql_help.c:2978 +#: sql_help.c:1427 sql_help.c:1428 sql_help.c:1437 sql_help.c:1439 +#: sql_help.c:1443 sql_help.c:2982 sql_help.c:2983 sql_help.c:2992 +#: sql_help.c:2994 sql_help.c:2998 msgid "index_parameters" msgstr "параметры_индекса" -#: sql_help.c:1415 sql_help.c:1432 sql_help.c:2964 sql_help.c:2981 +#: sql_help.c:1429 sql_help.c:1446 sql_help.c:2984 sql_help.c:3001 msgid "reftable" msgstr "целевая_таблица" -#: sql_help.c:1416 sql_help.c:1433 sql_help.c:2965 sql_help.c:2982 +#: sql_help.c:1430 sql_help.c:1447 sql_help.c:2985 sql_help.c:3002 msgid "refcolumn" msgstr "целевой_столбец" -#: sql_help.c:1417 sql_help.c:1418 sql_help.c:1434 sql_help.c:1435 -#: sql_help.c:2966 sql_help.c:2967 sql_help.c:2983 sql_help.c:2984 +#: sql_help.c:1431 sql_help.c:1432 sql_help.c:1448 sql_help.c:1449 +#: sql_help.c:2986 sql_help.c:2987 sql_help.c:3003 sql_help.c:3004 msgid "referential_action" msgstr "ссылочное_действие" -#: sql_help.c:1419 sql_help.c:2379 sql_help.c:2968 +#: sql_help.c:1433 sql_help.c:2393 sql_help.c:2988 msgid "and table_constraint is:" msgstr "и ограничение_таблицы:" -#: sql_help.c:1427 sql_help.c:2976 +#: sql_help.c:1441 sql_help.c:2996 msgid "exclude_element" msgstr "объект_исключения" -#: sql_help.c:1428 sql_help.c:2977 sql_help.c:4604 sql_help.c:4708 -#: sql_help.c:4862 sql_help.c:5038 sql_help.c:5107 +#: sql_help.c:1442 sql_help.c:2997 sql_help.c:4624 sql_help.c:4728 +#: sql_help.c:4882 sql_help.c:5058 sql_help.c:5127 msgid "operator" msgstr "оператор" -#: sql_help.c:1430 sql_help.c:2498 sql_help.c:2979 +#: sql_help.c:1444 sql_help.c:2512 sql_help.c:2999 msgid "predicate" msgstr "предикат" -#: sql_help.c:1436 +#: sql_help.c:1450 msgid "and table_constraint_using_index is:" msgstr "и ограничение_таблицы_с_индексом:" -#: sql_help.c:1439 sql_help.c:2992 +#: sql_help.c:1453 sql_help.c:3012 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "параметры_индекса в ограничениях UNIQUE, PRIMARY KEY и EXCLUDE:" -#: sql_help.c:1444 sql_help.c:2997 +#: sql_help.c:1458 sql_help.c:3017 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "объект_исключения в ограничении EXCLUDE:" -#: sql_help.c:1448 sql_help.c:2491 sql_help.c:2924 sql_help.c:2937 -#: sql_help.c:2951 sql_help.c:3001 sql_help.c:4022 +#: sql_help.c:1462 sql_help.c:2505 sql_help.c:2944 sql_help.c:2957 +#: sql_help.c:2971 sql_help.c:3021 sql_help.c:4042 msgid "opclass" msgstr "класс_оператора" -#: sql_help.c:1449 sql_help.c:2492 sql_help.c:3002 +#: sql_help.c:1463 sql_help.c:2506 sql_help.c:3022 msgid "opclass_parameter" msgstr "параметр_класса_оп" -#: sql_help.c:1451 sql_help.c:3004 +#: sql_help.c:1465 sql_help.c:3024 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "ссылочное действие в ограничении FOREIGN KEY/REFERENCES:" -#: sql_help.c:1469 sql_help.c:1472 sql_help.c:3041 +#: sql_help.c:1483 sql_help.c:1486 sql_help.c:3061 msgid "tablespace_option" msgstr "параметр_табл_пространства" -#: sql_help.c:1493 sql_help.c:1496 sql_help.c:1502 sql_help.c:1506 +#: sql_help.c:1507 sql_help.c:1510 sql_help.c:1516 sql_help.c:1520 msgid "token_type" msgstr "тип_фрагмента" -#: sql_help.c:1494 sql_help.c:1497 +#: sql_help.c:1508 sql_help.c:1511 msgid "dictionary_name" msgstr "имя_словаря" -#: sql_help.c:1499 sql_help.c:1503 +#: sql_help.c:1513 sql_help.c:1517 msgid "old_dictionary" msgstr "старый_словарь" -#: sql_help.c:1500 sql_help.c:1504 +#: sql_help.c:1514 sql_help.c:1518 msgid "new_dictionary" msgstr "новый_словарь" -#: sql_help.c:1599 sql_help.c:1613 sql_help.c:1616 sql_help.c:1617 -#: sql_help.c:3194 +#: sql_help.c:1613 sql_help.c:1627 sql_help.c:1630 sql_help.c:1631 +#: sql_help.c:3214 msgid "attribute_name" msgstr "имя_атрибута" -#: sql_help.c:1600 +#: sql_help.c:1614 msgid "new_attribute_name" msgstr "новое_имя_атрибута" -#: sql_help.c:1604 sql_help.c:1608 +#: sql_help.c:1618 sql_help.c:1622 msgid "new_enum_value" msgstr "новое_значение_перечисления" -#: sql_help.c:1605 +#: sql_help.c:1619 msgid "neighbor_enum_value" msgstr "соседнее_значение_перечисления" -#: sql_help.c:1607 +#: sql_help.c:1621 msgid "existing_enum_value" msgstr "существующее_значение_перечисления" -#: sql_help.c:1610 +#: sql_help.c:1624 msgid "property" msgstr "свойство" -#: sql_help.c:1686 sql_help.c:2362 sql_help.c:2371 sql_help.c:2773 -#: sql_help.c:3274 sql_help.c:3725 sql_help.c:3932 sql_help.c:3978 -#: sql_help.c:4395 +#: sql_help.c:1700 sql_help.c:2376 sql_help.c:2385 sql_help.c:2793 +#: sql_help.c:3294 sql_help.c:3745 sql_help.c:3952 sql_help.c:3998 +#: sql_help.c:4415 msgid "server_name" msgstr "имя_сервера" -#: sql_help.c:1718 sql_help.c:1721 sql_help.c:3289 +#: sql_help.c:1732 sql_help.c:1735 sql_help.c:3309 msgid "view_option_name" msgstr "имя_параметра_представления" -#: sql_help.c:1719 sql_help.c:3290 +#: sql_help.c:1733 sql_help.c:3310 msgid "view_option_value" msgstr "значение_параметра_представления" -#: sql_help.c:1740 sql_help.c:5007 -msgid "table_and_columns" -msgstr "таблица_и_столбцы" - -#: sql_help.c:1741 sql_help.c:1801 sql_help.c:1995 sql_help.c:3774 -#: sql_help.c:4230 sql_help.c:5008 +#: sql_help.c:1755 sql_help.c:1815 sql_help.c:2009 sql_help.c:3794 +#: sql_help.c:4250 sql_help.c:5028 msgid "where option can be one of:" msgstr "где допустимый параметр:" -#: sql_help.c:1742 sql_help.c:1743 sql_help.c:1802 sql_help.c:1997 -#: sql_help.c:2001 sql_help.c:2183 sql_help.c:3775 sql_help.c:3776 -#: sql_help.c:3777 sql_help.c:3778 sql_help.c:3779 sql_help.c:3780 -#: sql_help.c:3781 sql_help.c:3782 sql_help.c:3783 sql_help.c:3784 -#: sql_help.c:4231 sql_help.c:4233 sql_help.c:5009 sql_help.c:5010 -#: sql_help.c:5011 sql_help.c:5012 sql_help.c:5013 sql_help.c:5014 -#: sql_help.c:5015 sql_help.c:5016 sql_help.c:5017 sql_help.c:5019 -#: sql_help.c:5020 +#: sql_help.c:1756 sql_help.c:1757 sql_help.c:1816 sql_help.c:2011 +#: sql_help.c:2015 sql_help.c:2197 sql_help.c:3795 sql_help.c:3796 +#: sql_help.c:3797 sql_help.c:3798 sql_help.c:3799 sql_help.c:3800 +#: sql_help.c:3801 sql_help.c:3802 sql_help.c:3803 sql_help.c:3804 +#: sql_help.c:4251 sql_help.c:4253 sql_help.c:5029 sql_help.c:5030 +#: sql_help.c:5031 sql_help.c:5032 sql_help.c:5033 sql_help.c:5034 +#: sql_help.c:5035 sql_help.c:5036 sql_help.c:5037 sql_help.c:5039 +#: sql_help.c:5040 msgid "boolean" msgstr "логическое_значение" -#: sql_help.c:1744 sql_help.c:5021 +#: sql_help.c:1758 sql_help.c:5041 msgid "size" msgstr "размер" -#: sql_help.c:1745 sql_help.c:5022 -msgid "and table_and_columns is:" -msgstr "и таблица_и_столбцы:" - -#: sql_help.c:1761 sql_help.c:4769 sql_help.c:4771 sql_help.c:4795 +#: sql_help.c:1775 sql_help.c:4789 sql_help.c:4791 sql_help.c:4815 msgid "transaction_mode" msgstr "режим_транзакции" -#: sql_help.c:1762 sql_help.c:4772 sql_help.c:4796 +#: sql_help.c:1776 sql_help.c:4792 sql_help.c:4816 msgid "where transaction_mode is one of:" msgstr "где допустимый режим_транзакции:" -#: sql_help.c:1771 sql_help.c:4614 sql_help.c:4623 sql_help.c:4627 -#: sql_help.c:4631 sql_help.c:4634 sql_help.c:4872 sql_help.c:4881 -#: sql_help.c:4885 sql_help.c:4889 sql_help.c:4892 sql_help.c:5117 -#: sql_help.c:5126 sql_help.c:5130 sql_help.c:5134 sql_help.c:5137 +#: sql_help.c:1785 sql_help.c:4634 sql_help.c:4643 sql_help.c:4647 +#: sql_help.c:4651 sql_help.c:4654 sql_help.c:4892 sql_help.c:4901 +#: sql_help.c:4905 sql_help.c:4909 sql_help.c:4912 sql_help.c:5137 +#: sql_help.c:5146 sql_help.c:5150 sql_help.c:5154 sql_help.c:5157 msgid "argument" msgstr "аргумент" -#: sql_help.c:1867 +#: sql_help.c:1881 msgid "relation_name" msgstr "имя_отношения" -#: sql_help.c:1872 sql_help.c:3926 sql_help.c:4389 +#: sql_help.c:1886 sql_help.c:3946 sql_help.c:4409 msgid "domain_name" msgstr "имя_домена" -#: sql_help.c:1894 +#: sql_help.c:1908 msgid "policy_name" msgstr "имя_политики" -#: sql_help.c:1907 +#: sql_help.c:1921 msgid "rule_name" msgstr "имя_правила" -#: sql_help.c:1926 sql_help.c:4528 +#: sql_help.c:1940 sql_help.c:4548 msgid "string_literal" msgstr "строковая_константа" -#: sql_help.c:1951 sql_help.c:4192 sql_help.c:4442 +#: sql_help.c:1965 sql_help.c:4212 sql_help.c:4462 msgid "transaction_id" msgstr "код_транзакции" -#: sql_help.c:1985 sql_help.c:1992 sql_help.c:4048 +#: sql_help.c:1999 sql_help.c:2006 sql_help.c:4068 msgid "filename" msgstr "имя_файла" -#: sql_help.c:1986 sql_help.c:1993 sql_help.c:2712 sql_help.c:2713 -#: sql_help.c:2714 +#: sql_help.c:2000 sql_help.c:2007 sql_help.c:2732 sql_help.c:2733 +#: sql_help.c:2734 msgid "command" msgstr "команда" -#: sql_help.c:1988 sql_help.c:2711 sql_help.c:3144 sql_help.c:3325 -#: sql_help.c:4032 sql_help.c:4115 sql_help.c:4118 sql_help.c:4121 -#: sql_help.c:4597 sql_help.c:4599 sql_help.c:4701 sql_help.c:4703 -#: sql_help.c:4855 sql_help.c:4857 sql_help.c:4974 sql_help.c:5100 -#: sql_help.c:5102 +#: sql_help.c:2002 sql_help.c:2731 sql_help.c:3164 sql_help.c:3345 +#: sql_help.c:4052 sql_help.c:4135 sql_help.c:4138 sql_help.c:4141 +#: sql_help.c:4617 sql_help.c:4619 sql_help.c:4721 sql_help.c:4723 +#: sql_help.c:4875 sql_help.c:4877 sql_help.c:4994 sql_help.c:5120 +#: sql_help.c:5122 msgid "condition" msgstr "условие" -#: sql_help.c:1991 sql_help.c:2532 sql_help.c:3027 sql_help.c:3291 -#: sql_help.c:3309 sql_help.c:4013 +#: sql_help.c:2005 sql_help.c:2546 sql_help.c:3047 sql_help.c:3311 +#: sql_help.c:3329 sql_help.c:4033 msgid "query" msgstr "запрос" -#: sql_help.c:1996 +#: sql_help.c:2010 msgid "format_name" msgstr "имя_формата" -#: sql_help.c:1998 +#: sql_help.c:2012 msgid "delimiter_character" msgstr "символ_разделитель" -#: sql_help.c:1999 +#: sql_help.c:2013 msgid "null_string" msgstr "представление_NULL" -#: sql_help.c:2000 +#: sql_help.c:2014 msgid "default_string" msgstr "представление_DEFAULT" -#: sql_help.c:2002 +#: sql_help.c:2016 msgid "quote_character" msgstr "символ_кавычек" -#: sql_help.c:2003 +#: sql_help.c:2017 msgid "escape_character" msgstr "спецсимвол" -#: sql_help.c:2007 +#: sql_help.c:2021 msgid "error_action" msgstr "действие_при_ошибке" -#: sql_help.c:2008 +#: sql_help.c:2022 msgid "encoding_name" msgstr "имя_кодировки" -#: sql_help.c:2009 +#: sql_help.c:2023 msgid "verbosity" msgstr "детализация" -#: sql_help.c:2020 +#: sql_help.c:2034 msgid "access_method_type" msgstr "тип_метода_доступа" -#: sql_help.c:2091 sql_help.c:2110 sql_help.c:2113 +#: sql_help.c:2105 sql_help.c:2124 sql_help.c:2127 msgid "arg_data_type" msgstr "тип_данных_аргумента" -#: sql_help.c:2092 sql_help.c:2114 sql_help.c:2122 +#: sql_help.c:2106 sql_help.c:2128 sql_help.c:2136 msgid "sfunc" msgstr "функция_состояния" -#: sql_help.c:2093 sql_help.c:2115 sql_help.c:2123 +#: sql_help.c:2107 sql_help.c:2129 sql_help.c:2137 msgid "state_data_type" msgstr "тип_данных_состояния" -#: sql_help.c:2094 sql_help.c:2116 sql_help.c:2124 +#: sql_help.c:2108 sql_help.c:2130 sql_help.c:2138 msgid "state_data_size" msgstr "размер_данных_состояния" -#: sql_help.c:2095 sql_help.c:2117 sql_help.c:2125 +#: sql_help.c:2109 sql_help.c:2131 sql_help.c:2139 msgid "ffunc" msgstr "функция_завершения" -#: sql_help.c:2096 sql_help.c:2126 +#: sql_help.c:2110 sql_help.c:2140 msgid "combinefunc" msgstr "комбинирующая_функция" -#: sql_help.c:2097 sql_help.c:2127 +#: sql_help.c:2111 sql_help.c:2141 msgid "serialfunc" msgstr "функция_сериализации" -#: sql_help.c:2098 sql_help.c:2128 +#: sql_help.c:2112 sql_help.c:2142 msgid "deserialfunc" msgstr "функция_десериализации" -#: sql_help.c:2099 sql_help.c:2118 sql_help.c:2129 +#: sql_help.c:2113 sql_help.c:2132 sql_help.c:2143 msgid "initial_condition" msgstr "начальное_условие" -#: sql_help.c:2100 sql_help.c:2130 +#: sql_help.c:2114 sql_help.c:2144 msgid "msfunc" msgstr "функция_состояния_движ" -#: sql_help.c:2101 sql_help.c:2131 +#: sql_help.c:2115 sql_help.c:2145 msgid "minvfunc" msgstr "обратная_функция_движ" -#: sql_help.c:2102 sql_help.c:2132 +#: sql_help.c:2116 sql_help.c:2146 msgid "mstate_data_type" msgstr "тип_данных_состояния_движ" -#: sql_help.c:2103 sql_help.c:2133 +#: sql_help.c:2117 sql_help.c:2147 msgid "mstate_data_size" msgstr "размер_данных_состояния_движ" -#: sql_help.c:2104 sql_help.c:2134 +#: sql_help.c:2118 sql_help.c:2148 msgid "mffunc" msgstr "функция_завершения_движ" -#: sql_help.c:2105 sql_help.c:2135 +#: sql_help.c:2119 sql_help.c:2149 msgid "minitial_condition" msgstr "начальное_условие_движ" -#: sql_help.c:2106 sql_help.c:2136 +#: sql_help.c:2120 sql_help.c:2150 msgid "sort_operator" msgstr "оператор_сортировки" -#: sql_help.c:2119 +#: sql_help.c:2133 msgid "or the old syntax" msgstr "или старый синтаксис" -#: sql_help.c:2121 +#: sql_help.c:2135 msgid "base_type" msgstr "базовый_тип" -#: sql_help.c:2179 sql_help.c:2229 +#: sql_help.c:2193 sql_help.c:2243 msgid "locale" msgstr "код_локали" -#: sql_help.c:2180 sql_help.c:2230 +#: sql_help.c:2194 sql_help.c:2244 msgid "lc_collate" msgstr "код_правила_сортировки" -#: sql_help.c:2181 sql_help.c:2231 +#: sql_help.c:2195 sql_help.c:2245 msgid "lc_ctype" msgstr "код_классификации_символов" -#: sql_help.c:2182 sql_help.c:4495 +#: sql_help.c:2196 sql_help.c:4515 msgid "provider" msgstr "провайдер" -#: sql_help.c:2184 +#: sql_help.c:2198 msgid "rules" msgstr "правила" -#: sql_help.c:2185 sql_help.c:2292 +#: sql_help.c:2199 sql_help.c:2306 msgid "version" msgstr "версия" -#: sql_help.c:2187 +#: sql_help.c:2201 msgid "existing_collation" msgstr "существующее_правило_сортировки" -#: sql_help.c:2197 +#: sql_help.c:2211 msgid "source_encoding" msgstr "исходная_кодировка" -#: sql_help.c:2198 +#: sql_help.c:2212 msgid "dest_encoding" msgstr "целевая_кодировка" -#: sql_help.c:2226 sql_help.c:3067 +#: sql_help.c:2240 sql_help.c:3087 msgid "template" msgstr "шаблон" -#: sql_help.c:2227 +#: sql_help.c:2241 msgid "encoding" msgstr "кодировка" -#: sql_help.c:2228 +#: sql_help.c:2242 msgid "strategy" msgstr "стратегия" -#: sql_help.c:2232 +#: sql_help.c:2246 msgid "builtin_locale" msgstr "встроенная_локаль" -#: sql_help.c:2233 +#: sql_help.c:2247 msgid "icu_locale" msgstr "локаль_icu" -#: sql_help.c:2234 +#: sql_help.c:2248 msgid "icu_rules" msgstr "правила_icu" -#: sql_help.c:2235 +#: sql_help.c:2249 msgid "locale_provider" msgstr "провайдер_локали" -#: sql_help.c:2236 +#: sql_help.c:2250 msgid "collation_version" msgstr "версия_правила_сортировки" -#: sql_help.c:2241 +#: sql_help.c:2255 msgid "oid" msgstr "oid" -#: sql_help.c:2276 sql_help.c:2709 sql_help.c:3140 +#: sql_help.c:2290 sql_help.c:2729 sql_help.c:3160 msgid "event" msgstr "событие" -#: sql_help.c:2277 +#: sql_help.c:2291 msgid "filter_variable" msgstr "переменная_фильтра" -#: sql_help.c:2278 +#: sql_help.c:2292 msgid "filter_value" msgstr "значение_фильтра" -#: sql_help.c:2374 sql_help.c:2956 +#: sql_help.c:2388 sql_help.c:2976 msgid "where column_constraint is:" msgstr "где ограничение_столбца:" -#: sql_help.c:2419 +#: sql_help.c:2433 msgid "rettype" msgstr "тип_возврата" -#: sql_help.c:2421 +#: sql_help.c:2435 msgid "column_type" msgstr "тип_столбца" -#: sql_help.c:2430 sql_help.c:2633 +#: sql_help.c:2444 sql_help.c:2647 msgid "definition" msgstr "определение" -#: sql_help.c:2431 sql_help.c:2634 +#: sql_help.c:2445 sql_help.c:2648 msgid "obj_file" msgstr "объектный_файл" -#: sql_help.c:2432 sql_help.c:2635 +#: sql_help.c:2446 sql_help.c:2649 msgid "link_symbol" msgstr "символ_в_экспорте" -#: sql_help.c:2433 sql_help.c:2636 +#: sql_help.c:2447 sql_help.c:2650 msgid "sql_body" msgstr "тело_sql" -#: sql_help.c:2471 sql_help.c:2694 sql_help.c:3263 +#: sql_help.c:2485 sql_help.c:2714 sql_help.c:3283 msgid "uid" msgstr "uid" -#: sql_help.c:2487 sql_help.c:2528 sql_help.c:2925 sql_help.c:2938 -#: sql_help.c:2952 sql_help.c:3023 +#: sql_help.c:2501 sql_help.c:2542 sql_help.c:2945 sql_help.c:2958 +#: sql_help.c:2972 sql_help.c:3043 msgid "method" msgstr "метод" -#: sql_help.c:2509 +#: sql_help.c:2523 msgid "call_handler" msgstr "обработчик_вызова" -#: sql_help.c:2510 +#: sql_help.c:2524 msgid "inline_handler" msgstr "обработчик_внедрённого_кода" -#: sql_help.c:2511 +#: sql_help.c:2525 msgid "valfunction" msgstr "функция_проверки" -#: sql_help.c:2569 +#: sql_help.c:2583 msgid "family_name" msgstr "имя_семейства" -#: sql_help.c:2580 +#: sql_help.c:2594 msgid "storage_type" msgstr "тип_хранения" -#: sql_help.c:2715 sql_help.c:3147 +#: sql_help.c:2735 sql_help.c:3167 msgid "where event can be one of:" msgstr "где допустимое событие:" -#: sql_help.c:2735 sql_help.c:2737 +#: sql_help.c:2755 sql_help.c:2757 msgid "schema_element" msgstr "элемент_схемы" -#: sql_help.c:2774 +#: sql_help.c:2794 msgid "server_type" msgstr "тип_сервера" -#: sql_help.c:2775 +#: sql_help.c:2795 msgid "server_version" msgstr "версия_сервера" -#: sql_help.c:2776 sql_help.c:3929 sql_help.c:4392 +#: sql_help.c:2796 sql_help.c:3949 sql_help.c:4412 msgid "fdw_name" msgstr "имя_обёртки_сторонних_данных" -#: sql_help.c:2793 sql_help.c:2796 +#: sql_help.c:2813 sql_help.c:2816 msgid "statistics_name" msgstr "имя_статистики" -#: sql_help.c:2797 +#: sql_help.c:2817 msgid "statistics_kind" msgstr "вид_статистики" -#: sql_help.c:2813 +#: sql_help.c:2833 msgid "subscription_name" msgstr "имя_подписки" -#: sql_help.c:2918 +#: sql_help.c:2938 msgid "source_table" msgstr "исходная_таблица" -#: sql_help.c:2919 +#: sql_help.c:2939 msgid "like_option" msgstr "параметр_порождения" -#: sql_help.c:2985 +#: sql_help.c:3005 msgid "and like_option is:" msgstr "и параметр_порождения:" -#: sql_help.c:3040 +#: sql_help.c:3060 msgid "directory" msgstr "каталог" -#: sql_help.c:3054 +#: sql_help.c:3074 msgid "parser_name" msgstr "имя_анализатора" -#: sql_help.c:3055 +#: sql_help.c:3075 msgid "source_config" msgstr "исходная_конфигурация" -#: sql_help.c:3084 +#: sql_help.c:3104 msgid "start_function" msgstr "функция_начала" -#: sql_help.c:3085 +#: sql_help.c:3105 msgid "gettoken_function" msgstr "функция_выдачи_фрагмента" -#: sql_help.c:3086 +#: sql_help.c:3106 msgid "end_function" msgstr "функция_окончания" -#: sql_help.c:3087 +#: sql_help.c:3107 msgid "lextypes_function" msgstr "функция_лекс_типов" -#: sql_help.c:3088 +#: sql_help.c:3108 msgid "headline_function" msgstr "функция_создания_выдержек" -#: sql_help.c:3100 +#: sql_help.c:3120 msgid "init_function" msgstr "функция_инициализации" -#: sql_help.c:3101 +#: sql_help.c:3121 msgid "lexize_function" msgstr "функция_выделения_лексем" -#: sql_help.c:3114 +#: sql_help.c:3134 msgid "from_sql_function_name" msgstr "имя_функции_из_sql" -#: sql_help.c:3116 +#: sql_help.c:3136 msgid "to_sql_function_name" msgstr "имя_функции_в_sql" -#: sql_help.c:3142 +#: sql_help.c:3162 msgid "referenced_table_name" msgstr "целевая_таблица" -#: sql_help.c:3143 +#: sql_help.c:3163 msgid "transition_relation_name" msgstr "имя_переходного_отношения" -#: sql_help.c:3146 +#: sql_help.c:3166 msgid "arguments" msgstr "аргументы" -#: sql_help.c:3198 +#: sql_help.c:3218 msgid "label" msgstr "метка" -#: sql_help.c:3200 +#: sql_help.c:3220 msgid "subtype" msgstr "подтип" -#: sql_help.c:3201 +#: sql_help.c:3221 msgid "subtype_operator_class" msgstr "класс_оператора_подтипа" -#: sql_help.c:3203 +#: sql_help.c:3223 msgid "canonical_function" msgstr "каноническая_функция" -#: sql_help.c:3204 +#: sql_help.c:3224 msgid "subtype_diff_function" msgstr "функция_различий_подтипа" -#: sql_help.c:3205 +#: sql_help.c:3225 msgid "multirange_type_name" msgstr "имя_мультидиапазонного_типа" -#: sql_help.c:3207 +#: sql_help.c:3227 msgid "input_function" msgstr "функция_ввода" -#: sql_help.c:3208 +#: sql_help.c:3228 msgid "output_function" msgstr "функция_вывода" -#: sql_help.c:3209 +#: sql_help.c:3229 msgid "receive_function" msgstr "функция_получения" -#: sql_help.c:3210 +#: sql_help.c:3230 msgid "send_function" msgstr "функция_отправки" -#: sql_help.c:3211 +#: sql_help.c:3231 msgid "type_modifier_input_function" msgstr "функция_ввода_модификатора_типа" -#: sql_help.c:3212 +#: sql_help.c:3232 msgid "type_modifier_output_function" msgstr "функция_вывода_модификатора_типа" -#: sql_help.c:3213 +#: sql_help.c:3233 msgid "analyze_function" msgstr "функция_анализа" -#: sql_help.c:3214 +#: sql_help.c:3234 msgid "subscript_function" msgstr "функция_обращения_по_индексу" -#: sql_help.c:3215 +#: sql_help.c:3235 msgid "internallength" msgstr "внутр_длина" -#: sql_help.c:3216 +#: sql_help.c:3236 msgid "alignment" msgstr "выравнивание" -#: sql_help.c:3217 +#: sql_help.c:3237 msgid "storage" msgstr "хранение" -#: sql_help.c:3218 +#: sql_help.c:3238 msgid "like_type" msgstr "тип_образец" -#: sql_help.c:3219 +#: sql_help.c:3239 msgid "category" msgstr "категория" -#: sql_help.c:3220 +#: sql_help.c:3240 msgid "preferred" msgstr "предпочитаемый" -#: sql_help.c:3221 +#: sql_help.c:3241 msgid "default" msgstr "по_умолчанию" -#: sql_help.c:3222 +#: sql_help.c:3242 msgid "element" msgstr "элемент" -#: sql_help.c:3223 +#: sql_help.c:3243 msgid "delimiter" msgstr "разделитель" -#: sql_help.c:3224 +#: sql_help.c:3244 msgid "collatable" msgstr "сортируемый" -#: sql_help.c:3321 sql_help.c:4008 sql_help.c:4102 sql_help.c:4592 -#: sql_help.c:4695 sql_help.c:4850 sql_help.c:4964 sql_help.c:5095 +#: sql_help.c:3341 sql_help.c:4028 sql_help.c:4122 sql_help.c:4612 +#: sql_help.c:4715 sql_help.c:4870 sql_help.c:4984 sql_help.c:5115 msgid "with_query" msgstr "запрос_WITH" -#: sql_help.c:3323 sql_help.c:4010 sql_help.c:4611 sql_help.c:4617 -#: sql_help.c:4620 sql_help.c:4624 sql_help.c:4628 sql_help.c:4636 -#: sql_help.c:4869 sql_help.c:4875 sql_help.c:4878 sql_help.c:4882 -#: sql_help.c:4886 sql_help.c:4894 sql_help.c:4966 sql_help.c:5114 -#: sql_help.c:5120 sql_help.c:5123 sql_help.c:5127 sql_help.c:5131 -#: sql_help.c:5139 +#: sql_help.c:3343 sql_help.c:4030 sql_help.c:4631 sql_help.c:4637 +#: sql_help.c:4640 sql_help.c:4644 sql_help.c:4648 sql_help.c:4656 +#: sql_help.c:4889 sql_help.c:4895 sql_help.c:4898 sql_help.c:4902 +#: sql_help.c:4906 sql_help.c:4914 sql_help.c:4986 sql_help.c:5134 +#: sql_help.c:5140 sql_help.c:5143 sql_help.c:5147 sql_help.c:5151 +#: sql_help.c:5159 msgid "alias" msgstr "псевдоним" -#: sql_help.c:3324 sql_help.c:4596 sql_help.c:4638 sql_help.c:4640 -#: sql_help.c:4644 sql_help.c:4646 sql_help.c:4647 sql_help.c:4648 -#: sql_help.c:4700 sql_help.c:4854 sql_help.c:4896 sql_help.c:4898 -#: sql_help.c:4902 sql_help.c:4904 sql_help.c:4905 sql_help.c:4906 -#: sql_help.c:4973 sql_help.c:5099 sql_help.c:5141 sql_help.c:5143 -#: sql_help.c:5147 sql_help.c:5149 sql_help.c:5150 sql_help.c:5151 +#: sql_help.c:3344 sql_help.c:4616 sql_help.c:4658 sql_help.c:4660 +#: sql_help.c:4664 sql_help.c:4666 sql_help.c:4667 sql_help.c:4668 +#: sql_help.c:4720 sql_help.c:4874 sql_help.c:4916 sql_help.c:4918 +#: sql_help.c:4922 sql_help.c:4924 sql_help.c:4925 sql_help.c:4926 +#: sql_help.c:4993 sql_help.c:5119 sql_help.c:5161 sql_help.c:5163 +#: sql_help.c:5167 sql_help.c:5169 sql_help.c:5170 sql_help.c:5171 msgid "from_item" msgstr "источник_данных" -#: sql_help.c:3326 sql_help.c:3810 sql_help.c:4159 sql_help.c:4975 +#: sql_help.c:3346 sql_help.c:3830 sql_help.c:4179 sql_help.c:4995 msgid "cursor_name" msgstr "имя_курсора" -#: sql_help.c:3327 sql_help.c:4016 sql_help.c:4108 sql_help.c:4976 +#: sql_help.c:3347 sql_help.c:4036 sql_help.c:4128 sql_help.c:4996 msgid "output_expression" msgstr "выражение_результата" -#: sql_help.c:3328 sql_help.c:4017 sql_help.c:4109 sql_help.c:4595 -#: sql_help.c:4698 sql_help.c:4853 sql_help.c:4977 sql_help.c:5098 +#: sql_help.c:3348 sql_help.c:4037 sql_help.c:4129 sql_help.c:4615 +#: sql_help.c:4718 sql_help.c:4873 sql_help.c:4997 sql_help.c:5118 msgid "output_name" msgstr "имя_результата" -#: sql_help.c:3344 +#: sql_help.c:3364 msgid "code" msgstr "внедрённый_код" -#: sql_help.c:3749 +#: sql_help.c:3769 msgid "parameter" msgstr "параметр" -#: sql_help.c:3773 sql_help.c:4184 +#: sql_help.c:3793 sql_help.c:4204 msgid "statement" msgstr "оператор" -#: sql_help.c:3809 sql_help.c:4158 +#: sql_help.c:3829 sql_help.c:4178 msgid "direction" msgstr "направление" -#: sql_help.c:3811 sql_help.c:4160 +#: sql_help.c:3831 sql_help.c:4180 msgid "where direction can be one of:" msgstr "где допустимое направление:" -#: sql_help.c:3812 sql_help.c:3813 sql_help.c:3814 sql_help.c:3815 -#: sql_help.c:3816 sql_help.c:4161 sql_help.c:4162 sql_help.c:4163 -#: sql_help.c:4164 sql_help.c:4165 sql_help.c:4605 sql_help.c:4607 -#: sql_help.c:4709 sql_help.c:4711 sql_help.c:4863 sql_help.c:4865 -#: sql_help.c:5039 sql_help.c:5041 sql_help.c:5108 sql_help.c:5110 +#: sql_help.c:3832 sql_help.c:3833 sql_help.c:3834 sql_help.c:3835 +#: sql_help.c:3836 sql_help.c:4181 sql_help.c:4182 sql_help.c:4183 +#: sql_help.c:4184 sql_help.c:4185 sql_help.c:4625 sql_help.c:4627 +#: sql_help.c:4729 sql_help.c:4731 sql_help.c:4883 sql_help.c:4885 +#: sql_help.c:5059 sql_help.c:5061 sql_help.c:5128 sql_help.c:5130 msgid "count" msgstr "число" -#: sql_help.c:3919 sql_help.c:4382 +#: sql_help.c:3939 sql_help.c:4402 msgid "sequence_name" msgstr "имя_последовательности" -#: sql_help.c:3937 sql_help.c:4400 +#: sql_help.c:3957 sql_help.c:4420 msgid "arg_name" msgstr "имя_аргумента" -#: sql_help.c:3938 sql_help.c:4401 +#: sql_help.c:3958 sql_help.c:4421 msgid "arg_type" msgstr "тип_аргумента" -#: sql_help.c:3945 sql_help.c:4408 +#: sql_help.c:3965 sql_help.c:4428 msgid "loid" msgstr "код_БО" -#: sql_help.c:3976 +#: sql_help.c:3996 msgid "remote_schema" msgstr "удалённая_схема" -#: sql_help.c:3979 +#: sql_help.c:3999 msgid "local_schema" msgstr "локальная_схема" -#: sql_help.c:4014 +#: sql_help.c:4034 msgid "conflict_target" msgstr "объект_конфликта" -#: sql_help.c:4015 +#: sql_help.c:4035 msgid "conflict_action" msgstr "действие_при_конфликте" -#: sql_help.c:4018 +#: sql_help.c:4038 msgid "where conflict_target can be one of:" msgstr "где допустимый объект_конфликта:" -#: sql_help.c:4019 +#: sql_help.c:4039 msgid "index_column_name" msgstr "имя_столбца_индекса" -#: sql_help.c:4020 +#: sql_help.c:4040 msgid "index_expression" msgstr "выражение_индекса" -#: sql_help.c:4023 +#: sql_help.c:4043 msgid "index_predicate" msgstr "предикат_индекса" -#: sql_help.c:4025 +#: sql_help.c:4045 msgid "and conflict_action is one of:" msgstr "а допустимое действие_при_конфликте:" -#: sql_help.c:4031 sql_help.c:4132 sql_help.c:4972 +#: sql_help.c:4051 sql_help.c:4152 sql_help.c:4992 msgid "sub-SELECT" msgstr "вложенный_SELECT" -#: sql_help.c:4040 sql_help.c:4173 sql_help.c:4948 +#: sql_help.c:4060 sql_help.c:4193 sql_help.c:4968 msgid "channel" msgstr "канал" -#: sql_help.c:4062 +#: sql_help.c:4082 msgid "lockmode" msgstr "режим_блокировки" -#: sql_help.c:4063 +#: sql_help.c:4083 msgid "where lockmode is one of:" msgstr "где допустимый режим_блокировки:" -#: sql_help.c:4103 +#: sql_help.c:4123 msgid "target_table_name" msgstr "имя_целевой_таблицы" -#: sql_help.c:4104 +#: sql_help.c:4124 msgid "target_alias" msgstr "псевдоним_назначения" -#: sql_help.c:4105 +#: sql_help.c:4125 msgid "data_source" msgstr "источник_данных" -#: sql_help.c:4106 sql_help.c:4641 sql_help.c:4899 sql_help.c:5144 +#: sql_help.c:4126 sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 msgid "join_condition" msgstr "условие_соединения" -#: sql_help.c:4107 +#: sql_help.c:4127 msgid "when_clause" msgstr "предложение_when" -#: sql_help.c:4110 +#: sql_help.c:4130 msgid "where data_source is:" msgstr "где источник_данных:" -#: sql_help.c:4111 +#: sql_help.c:4131 msgid "source_table_name" msgstr "имя_исходной_таблицы" -#: sql_help.c:4112 +#: sql_help.c:4132 msgid "source_query" msgstr "исходный_запрос" -#: sql_help.c:4113 +#: sql_help.c:4133 msgid "source_alias" msgstr "псевдоним_источника" -#: sql_help.c:4114 +#: sql_help.c:4134 msgid "and when_clause is:" msgstr "и предложение_when:" -#: sql_help.c:4116 sql_help.c:4119 +#: sql_help.c:4136 sql_help.c:4139 msgid "merge_update" msgstr "merge_update" -#: sql_help.c:4117 sql_help.c:4120 +#: sql_help.c:4137 sql_help.c:4140 msgid "merge_delete" msgstr "merge_delete" -#: sql_help.c:4122 +#: sql_help.c:4142 msgid "merge_insert" msgstr "merge_insert" -#: sql_help.c:4123 +#: sql_help.c:4143 msgid "and merge_insert is:" msgstr "и merge_insert:" -#: sql_help.c:4126 +#: sql_help.c:4146 msgid "and merge_update is:" msgstr "и merge_update:" -#: sql_help.c:4133 +#: sql_help.c:4153 msgid "and merge_delete is:" msgstr "и merge_delete:" -#: sql_help.c:4174 +#: sql_help.c:4194 msgid "payload" msgstr "сообщение_нагрузка" -#: sql_help.c:4201 +#: sql_help.c:4221 msgid "old_role" msgstr "старая_роль" -#: sql_help.c:4202 +#: sql_help.c:4222 msgid "new_role" msgstr "новая_роль" -#: sql_help.c:4241 sql_help.c:4450 sql_help.c:4458 +#: sql_help.c:4261 sql_help.c:4470 sql_help.c:4478 msgid "savepoint_name" msgstr "имя_точки_сохранения" -#: sql_help.c:4598 sql_help.c:4656 sql_help.c:4856 sql_help.c:4914 -#: sql_help.c:5101 sql_help.c:5159 +#: sql_help.c:4618 sql_help.c:4676 sql_help.c:4876 sql_help.c:4934 +#: sql_help.c:5121 sql_help.c:5179 msgid "grouping_element" msgstr "элемент_группирования" -#: sql_help.c:4600 sql_help.c:4704 sql_help.c:4858 sql_help.c:5103 +#: sql_help.c:4620 sql_help.c:4724 sql_help.c:4878 sql_help.c:5123 msgid "window_name" msgstr "имя_окна" -#: sql_help.c:4601 sql_help.c:4705 sql_help.c:4859 sql_help.c:5104 +#: sql_help.c:4621 sql_help.c:4725 sql_help.c:4879 sql_help.c:5124 msgid "window_definition" msgstr "определение_окна" -#: sql_help.c:4602 sql_help.c:4616 sql_help.c:4660 sql_help.c:4706 -#: sql_help.c:4860 sql_help.c:4874 sql_help.c:4918 sql_help.c:5105 -#: sql_help.c:5119 sql_help.c:5163 +#: sql_help.c:4622 sql_help.c:4636 sql_help.c:4680 sql_help.c:4726 +#: sql_help.c:4880 sql_help.c:4894 sql_help.c:4938 sql_help.c:5125 +#: sql_help.c:5139 sql_help.c:5183 msgid "select" msgstr "select" -#: sql_help.c:4608 sql_help.c:4866 sql_help.c:5111 +#: sql_help.c:4628 sql_help.c:4886 sql_help.c:5131 msgid "from_reference" msgstr "ссылка_FROM" -#: sql_help.c:4609 sql_help.c:4867 sql_help.c:5112 +#: sql_help.c:4629 sql_help.c:4887 sql_help.c:5132 msgid "where from_item can be one of:" msgstr "где допустимый источник_данных:" -#: sql_help.c:4612 sql_help.c:4618 sql_help.c:4621 sql_help.c:4625 -#: sql_help.c:4637 sql_help.c:4870 sql_help.c:4876 sql_help.c:4879 -#: sql_help.c:4883 sql_help.c:4895 sql_help.c:5115 sql_help.c:5121 -#: sql_help.c:5124 sql_help.c:5128 sql_help.c:5140 +#: sql_help.c:4632 sql_help.c:4638 sql_help.c:4641 sql_help.c:4645 +#: sql_help.c:4657 sql_help.c:4890 sql_help.c:4896 sql_help.c:4899 +#: sql_help.c:4903 sql_help.c:4915 sql_help.c:5135 sql_help.c:5141 +#: sql_help.c:5144 sql_help.c:5148 sql_help.c:5160 msgid "column_alias" msgstr "псевдоним_столбца" -#: sql_help.c:4613 sql_help.c:4871 sql_help.c:5116 +#: sql_help.c:4633 sql_help.c:4891 sql_help.c:5136 msgid "sampling_method" msgstr "метод_выборки" -#: sql_help.c:4615 sql_help.c:4873 sql_help.c:5118 +#: sql_help.c:4635 sql_help.c:4893 sql_help.c:5138 msgid "seed" msgstr "начальное_число" -#: sql_help.c:4619 sql_help.c:4658 sql_help.c:4877 sql_help.c:4916 -#: sql_help.c:5122 sql_help.c:5161 +#: sql_help.c:4639 sql_help.c:4678 sql_help.c:4897 sql_help.c:4936 +#: sql_help.c:5142 sql_help.c:5181 msgid "with_query_name" msgstr "имя_запроса_WITH" -#: sql_help.c:4629 sql_help.c:4632 sql_help.c:4635 sql_help.c:4887 -#: sql_help.c:4890 sql_help.c:4893 sql_help.c:5132 sql_help.c:5135 -#: sql_help.c:5138 +#: sql_help.c:4649 sql_help.c:4652 sql_help.c:4655 sql_help.c:4907 +#: sql_help.c:4910 sql_help.c:4913 sql_help.c:5152 sql_help.c:5155 +#: sql_help.c:5158 msgid "column_definition" msgstr "определение_столбца" -#: sql_help.c:4639 sql_help.c:4645 sql_help.c:4897 sql_help.c:4903 -#: sql_help.c:5142 sql_help.c:5148 +#: sql_help.c:4659 sql_help.c:4665 sql_help.c:4917 sql_help.c:4923 +#: sql_help.c:5162 sql_help.c:5168 msgid "join_type" msgstr "тип_соединения" -#: sql_help.c:4642 sql_help.c:4900 sql_help.c:5145 +#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 msgid "join_column" msgstr "столбец_соединения" -#: sql_help.c:4643 sql_help.c:4901 sql_help.c:5146 +#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 msgid "join_using_alias" msgstr "псевдоним_использования_соединения" -#: sql_help.c:4649 sql_help.c:4907 sql_help.c:5152 +#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 msgid "and grouping_element can be one of:" msgstr "где допустимый элемент_группирования:" -#: sql_help.c:4657 sql_help.c:4915 sql_help.c:5160 +#: sql_help.c:4677 sql_help.c:4935 sql_help.c:5180 msgid "and with_query is:" msgstr "и запрос_WITH:" -#: sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 +#: sql_help.c:4681 sql_help.c:4939 sql_help.c:5184 msgid "values" msgstr "значения" -#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 +#: sql_help.c:4682 sql_help.c:4940 sql_help.c:5185 msgid "insert" msgstr "insert" -#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 +#: sql_help.c:4683 sql_help.c:4941 sql_help.c:5186 msgid "update" msgstr "update" -#: sql_help.c:4664 sql_help.c:4922 sql_help.c:5167 +#: sql_help.c:4684 sql_help.c:4942 sql_help.c:5187 msgid "delete" msgstr "delete" -#: sql_help.c:4665 sql_help.c:4923 sql_help.c:5168 +#: sql_help.c:4685 sql_help.c:4943 sql_help.c:5188 msgid "merge" msgstr "merge" -#: sql_help.c:4667 sql_help.c:4925 sql_help.c:5170 +#: sql_help.c:4687 sql_help.c:4945 sql_help.c:5190 msgid "search_seq_col_name" msgstr "имя_столбца_послед_поиска" -#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 +#: sql_help.c:4689 sql_help.c:4947 sql_help.c:5192 msgid "cycle_mark_col_name" msgstr "имя_столбца_пометки_цикла" -#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 +#: sql_help.c:4690 sql_help.c:4948 sql_help.c:5193 msgid "cycle_mark_value" msgstr "значение_пометки_цикла" -#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 +#: sql_help.c:4691 sql_help.c:4949 sql_help.c:5194 msgid "cycle_mark_default" msgstr "пометка_цикла_по_умолчанию" -#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 +#: sql_help.c:4692 sql_help.c:4950 sql_help.c:5195 msgid "cycle_path_col_name" msgstr "имя_столбца_пути_цикла" -#: sql_help.c:4699 +#: sql_help.c:4719 msgid "new_table" msgstr "новая_таблица" -#: sql_help.c:4770 +#: sql_help.c:4790 msgid "snapshot_id" msgstr "код_снимка" -#: sql_help.c:5037 +#: sql_help.c:5057 msgid "sort_expression" msgstr "выражение_сортировки" -#: sql_help.c:5182 sql_help.c:6166 +#: sql_help.c:5202 sql_help.c:6186 msgid "abort the current transaction" msgstr "прервать текущую транзакцию" -#: sql_help.c:5188 +#: sql_help.c:5208 msgid "change the definition of an aggregate function" msgstr "изменить определение агрегатной функции" -#: sql_help.c:5194 +#: sql_help.c:5214 msgid "change the definition of a collation" msgstr "изменить определение правила сортировки" -#: sql_help.c:5200 +#: sql_help.c:5220 msgid "change the definition of a conversion" msgstr "изменить определение преобразования" -#: sql_help.c:5206 +#: sql_help.c:5226 msgid "change a database" msgstr "изменить атрибуты базы данных" -#: sql_help.c:5212 +#: sql_help.c:5232 msgid "define default access privileges" msgstr "определить права доступа по умолчанию" -#: sql_help.c:5218 +#: sql_help.c:5238 msgid "change the definition of a domain" msgstr "изменить определение домена" -#: sql_help.c:5224 +#: sql_help.c:5244 msgid "change the definition of an event trigger" msgstr "изменить определение событийного триггера" -#: sql_help.c:5230 +#: sql_help.c:5250 msgid "change the definition of an extension" msgstr "изменить определение расширения" -#: sql_help.c:5236 +#: sql_help.c:5256 msgid "change the definition of a foreign-data wrapper" msgstr "изменить определение обёртки сторонних данных" -#: sql_help.c:5242 +#: sql_help.c:5262 msgid "change the definition of a foreign table" msgstr "изменить определение сторонней таблицы" -#: sql_help.c:5248 +#: sql_help.c:5268 msgid "change the definition of a function" msgstr "изменить определение функции" -#: sql_help.c:5254 +#: sql_help.c:5274 msgid "change role name or membership" msgstr "изменить имя роли или членство" -#: sql_help.c:5260 +#: sql_help.c:5280 msgid "change the definition of an index" msgstr "изменить определение индекса" -#: sql_help.c:5266 +#: sql_help.c:5286 msgid "change the definition of a procedural language" msgstr "изменить определение процедурного языка" -#: sql_help.c:5272 +#: sql_help.c:5292 msgid "change the definition of a large object" msgstr "изменить определение большого объекта" -#: sql_help.c:5278 +#: sql_help.c:5298 msgid "change the definition of a materialized view" msgstr "изменить определение материализованного представления" -#: sql_help.c:5284 +#: sql_help.c:5304 msgid "change the definition of an operator" msgstr "изменить определение оператора" -#: sql_help.c:5290 +#: sql_help.c:5310 msgid "change the definition of an operator class" msgstr "изменить определение класса операторов" -#: sql_help.c:5296 +#: sql_help.c:5316 msgid "change the definition of an operator family" msgstr "изменить определение семейства операторов" -#: sql_help.c:5302 +#: sql_help.c:5322 msgid "change the definition of a row-level security policy" msgstr "изменить определение политики защиты на уровне строк" -#: sql_help.c:5308 +#: sql_help.c:5328 msgid "change the definition of a procedure" msgstr "изменить определение процедуры" -#: sql_help.c:5314 +#: sql_help.c:5334 msgid "change the definition of a publication" msgstr "изменить определение публикации" -#: sql_help.c:5320 sql_help.c:5422 +#: sql_help.c:5340 sql_help.c:5442 msgid "change a database role" msgstr "изменить роль пользователя БД" -#: sql_help.c:5326 +#: sql_help.c:5346 msgid "change the definition of a routine" msgstr "изменить определение подпрограммы" -#: sql_help.c:5332 +#: sql_help.c:5352 msgid "change the definition of a rule" msgstr "изменить определение правила" -#: sql_help.c:5338 +#: sql_help.c:5358 msgid "change the definition of a schema" msgstr "изменить определение схемы" -#: sql_help.c:5344 +#: sql_help.c:5364 msgid "change the definition of a sequence generator" msgstr "изменить определение генератора последовательности" -#: sql_help.c:5350 +#: sql_help.c:5370 msgid "change the definition of a foreign server" msgstr "изменить определение стороннего сервера" -#: sql_help.c:5356 +#: sql_help.c:5376 msgid "change the definition of an extended statistics object" msgstr "изменить определение объекта расширенной статистики" -#: sql_help.c:5362 +#: sql_help.c:5382 msgid "change the definition of a subscription" msgstr "изменить определение подписки" -#: sql_help.c:5368 +#: sql_help.c:5388 msgid "change a server configuration parameter" msgstr "изменить параметр конфигурации сервера" -#: sql_help.c:5374 +#: sql_help.c:5394 msgid "change the definition of a table" msgstr "изменить определение таблицы" -#: sql_help.c:5380 +#: sql_help.c:5400 msgid "change the definition of a tablespace" msgstr "изменить определение табличного пространства" -#: sql_help.c:5386 +#: sql_help.c:5406 msgid "change the definition of a text search configuration" msgstr "изменить определение конфигурации текстового поиска" -#: sql_help.c:5392 +#: sql_help.c:5412 msgid "change the definition of a text search dictionary" msgstr "изменить определение словаря текстового поиска" -#: sql_help.c:5398 +#: sql_help.c:5418 msgid "change the definition of a text search parser" msgstr "изменить определение анализатора текстового поиска" -#: sql_help.c:5404 +#: sql_help.c:5424 msgid "change the definition of a text search template" msgstr "изменить определение шаблона текстового поиска" -#: sql_help.c:5410 +#: sql_help.c:5430 msgid "change the definition of a trigger" msgstr "изменить определение триггера" -#: sql_help.c:5416 +#: sql_help.c:5436 msgid "change the definition of a type" msgstr "изменить определение типа" -#: sql_help.c:5428 +#: sql_help.c:5448 msgid "change the definition of a user mapping" msgstr "изменить сопоставление пользователей" -#: sql_help.c:5434 +#: sql_help.c:5454 msgid "change the definition of a view" msgstr "изменить определение представления" -#: sql_help.c:5440 +#: sql_help.c:5460 msgid "collect statistics about a database" msgstr "собрать статистику о базе данных" -#: sql_help.c:5446 sql_help.c:6244 +#: sql_help.c:5466 sql_help.c:6264 msgid "start a transaction block" msgstr "начать транзакцию" -#: sql_help.c:5452 +#: sql_help.c:5472 msgid "invoke a procedure" msgstr "вызвать процедуру" -#: sql_help.c:5458 +#: sql_help.c:5478 msgid "force a write-ahead log checkpoint" msgstr "произвести контрольную точку в журнале предзаписи" -#: sql_help.c:5464 +#: sql_help.c:5484 msgid "close a cursor" msgstr "закрыть курсор" -#: sql_help.c:5470 +#: sql_help.c:5490 msgid "cluster a table according to an index" msgstr "перегруппировать таблицу по индексу" -#: sql_help.c:5476 +#: sql_help.c:5496 msgid "define or change the comment of an object" msgstr "задать или изменить комментарий объекта" -#: sql_help.c:5482 sql_help.c:6040 +#: sql_help.c:5502 sql_help.c:6060 msgid "commit the current transaction" msgstr "зафиксировать текущую транзакцию" -#: sql_help.c:5488 +#: sql_help.c:5508 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "зафиксировать транзакцию, ранее подготовленную для двухфазной фиксации" -#: sql_help.c:5494 +#: sql_help.c:5514 msgid "copy data between a file and a table" msgstr "импорт/экспорт данных в файл" -#: sql_help.c:5500 +#: sql_help.c:5520 msgid "define a new access method" msgstr "создать новый метод доступа" -#: sql_help.c:5506 +#: sql_help.c:5526 msgid "define a new aggregate function" msgstr "создать агрегатную функцию" -#: sql_help.c:5512 +#: sql_help.c:5532 msgid "define a new cast" msgstr "создать приведение типов" -#: sql_help.c:5518 +#: sql_help.c:5538 msgid "define a new collation" msgstr "создать правило сортировки" -#: sql_help.c:5524 +#: sql_help.c:5544 msgid "define a new encoding conversion" msgstr "создать преобразование кодировки" -#: sql_help.c:5530 +#: sql_help.c:5550 msgid "create a new database" msgstr "создать базу данных" -#: sql_help.c:5536 +#: sql_help.c:5556 msgid "define a new domain" msgstr "создать домен" -#: sql_help.c:5542 +#: sql_help.c:5562 msgid "define a new event trigger" msgstr "создать событийный триггер" -#: sql_help.c:5548 +#: sql_help.c:5568 msgid "install an extension" msgstr "установить расширение" -#: sql_help.c:5554 +#: sql_help.c:5574 msgid "define a new foreign-data wrapper" msgstr "создать обёртку сторонних данных" -#: sql_help.c:5560 +#: sql_help.c:5580 msgid "define a new foreign table" msgstr "создать стороннюю таблицу" -#: sql_help.c:5566 +#: sql_help.c:5586 msgid "define a new function" msgstr "создать функцию" -#: sql_help.c:5572 sql_help.c:5632 sql_help.c:5734 +#: sql_help.c:5592 sql_help.c:5652 sql_help.c:5754 msgid "define a new database role" msgstr "создать роль пользователя БД" -#: sql_help.c:5578 +#: sql_help.c:5598 msgid "define a new index" msgstr "создать индекс" -#: sql_help.c:5584 +#: sql_help.c:5604 msgid "define a new procedural language" msgstr "создать процедурный язык" -#: sql_help.c:5590 +#: sql_help.c:5610 msgid "define a new materialized view" msgstr "создать материализованное представление" -#: sql_help.c:5596 +#: sql_help.c:5616 msgid "define a new operator" msgstr "создать оператор" -#: sql_help.c:5602 +#: sql_help.c:5622 msgid "define a new operator class" msgstr "создать класс операторов" -#: sql_help.c:5608 +#: sql_help.c:5628 msgid "define a new operator family" msgstr "создать семейство операторов" -#: sql_help.c:5614 +#: sql_help.c:5634 msgid "define a new row-level security policy for a table" msgstr "создать новую политику защиты на уровне строк для таблицы" -#: sql_help.c:5620 +#: sql_help.c:5640 msgid "define a new procedure" msgstr "создать процедуру" -#: sql_help.c:5626 +#: sql_help.c:5646 msgid "define a new publication" msgstr "создать публикацию" -#: sql_help.c:5638 +#: sql_help.c:5658 msgid "define a new rewrite rule" msgstr "создать правило перезаписи" -#: sql_help.c:5644 +#: sql_help.c:5664 msgid "define a new schema" msgstr "создать схему" -#: sql_help.c:5650 +#: sql_help.c:5670 msgid "define a new sequence generator" msgstr "создать генератор последовательностей" -#: sql_help.c:5656 +#: sql_help.c:5676 msgid "define a new foreign server" msgstr "создать сторонний сервер" -#: sql_help.c:5662 +#: sql_help.c:5682 msgid "define extended statistics" msgstr "создать расширенную статистику" -#: sql_help.c:5668 +#: sql_help.c:5688 msgid "define a new subscription" msgstr "создать подписку" -#: sql_help.c:5674 +#: sql_help.c:5694 msgid "define a new table" msgstr "создать таблицу" -#: sql_help.c:5680 sql_help.c:6202 +#: sql_help.c:5700 sql_help.c:6222 msgid "define a new table from the results of a query" msgstr "создать таблицу из результатов запроса" -#: sql_help.c:5686 +#: sql_help.c:5706 msgid "define a new tablespace" msgstr "создать табличное пространство" -#: sql_help.c:5692 +#: sql_help.c:5712 msgid "define a new text search configuration" msgstr "создать конфигурацию текстового поиска" -#: sql_help.c:5698 +#: sql_help.c:5718 msgid "define a new text search dictionary" msgstr "создать словарь текстового поиска" -#: sql_help.c:5704 +#: sql_help.c:5724 msgid "define a new text search parser" msgstr "создать анализатор текстового поиска" -#: sql_help.c:5710 +#: sql_help.c:5730 msgid "define a new text search template" msgstr "создать шаблон текстового поиска" -#: sql_help.c:5716 +#: sql_help.c:5736 msgid "define a new transform" msgstr "создать преобразование" -#: sql_help.c:5722 +#: sql_help.c:5742 msgid "define a new trigger" msgstr "создать триггер" -#: sql_help.c:5728 +#: sql_help.c:5748 msgid "define a new data type" msgstr "создать тип данных" -#: sql_help.c:5740 +#: sql_help.c:5760 msgid "define a new mapping of a user to a foreign server" msgstr "создать сопоставление пользователя для стороннего сервера" -#: sql_help.c:5746 +#: sql_help.c:5766 msgid "define a new view" msgstr "создать представление" -#: sql_help.c:5752 +#: sql_help.c:5772 msgid "deallocate a prepared statement" msgstr "освободить подготовленный оператор" -#: sql_help.c:5758 +#: sql_help.c:5778 msgid "define a cursor" msgstr "создать курсор" -#: sql_help.c:5764 +#: sql_help.c:5784 msgid "delete rows of a table" msgstr "удалить записи таблицы" -#: sql_help.c:5770 +#: sql_help.c:5790 msgid "discard session state" msgstr "очистить состояние сеанса" -#: sql_help.c:5776 +#: sql_help.c:5796 msgid "execute an anonymous code block" msgstr "выполнить анонимный блок кода" -#: sql_help.c:5782 +#: sql_help.c:5802 msgid "remove an access method" msgstr "удалить метод доступа" -#: sql_help.c:5788 +#: sql_help.c:5808 msgid "remove an aggregate function" msgstr "удалить агрегатную функцию" -#: sql_help.c:5794 +#: sql_help.c:5814 msgid "remove a cast" msgstr "удалить приведение типа" -#: sql_help.c:5800 +#: sql_help.c:5820 msgid "remove a collation" msgstr "удалить правило сортировки" -#: sql_help.c:5806 +#: sql_help.c:5826 msgid "remove a conversion" msgstr "удалить преобразование" -#: sql_help.c:5812 +#: sql_help.c:5832 msgid "remove a database" msgstr "удалить базу данных" -#: sql_help.c:5818 +#: sql_help.c:5838 msgid "remove a domain" msgstr "удалить домен" -#: sql_help.c:5824 +#: sql_help.c:5844 msgid "remove an event trigger" msgstr "удалить событийный триггер" -#: sql_help.c:5830 +#: sql_help.c:5850 msgid "remove an extension" msgstr "удалить расширение" -#: sql_help.c:5836 +#: sql_help.c:5856 msgid "remove a foreign-data wrapper" msgstr "удалить обёртку сторонних данных" -#: sql_help.c:5842 +#: sql_help.c:5862 msgid "remove a foreign table" msgstr "удалить стороннюю таблицу" -#: sql_help.c:5848 +#: sql_help.c:5868 msgid "remove a function" msgstr "удалить функцию" -#: sql_help.c:5854 sql_help.c:5920 sql_help.c:6022 +#: sql_help.c:5874 sql_help.c:5940 sql_help.c:6042 msgid "remove a database role" msgstr "удалить роль пользователя БД" -#: sql_help.c:5860 +#: sql_help.c:5880 msgid "remove an index" msgstr "удалить индекс" -#: sql_help.c:5866 +#: sql_help.c:5886 msgid "remove a procedural language" msgstr "удалить процедурный язык" -#: sql_help.c:5872 +#: sql_help.c:5892 msgid "remove a materialized view" msgstr "удалить материализованное представление" -#: sql_help.c:5878 +#: sql_help.c:5898 msgid "remove an operator" msgstr "удалить оператор" -#: sql_help.c:5884 +#: sql_help.c:5904 msgid "remove an operator class" msgstr "удалить класс операторов" -#: sql_help.c:5890 +#: sql_help.c:5910 msgid "remove an operator family" msgstr "удалить семейство операторов" -#: sql_help.c:5896 +#: sql_help.c:5916 msgid "remove database objects owned by a database role" msgstr "удалить объекты базы данных, принадлежащие роли" -#: sql_help.c:5902 +#: sql_help.c:5922 msgid "remove a row-level security policy from a table" msgstr "удалить из таблицы политику защиты на уровне строк" -#: sql_help.c:5908 +#: sql_help.c:5928 msgid "remove a procedure" msgstr "удалить процедуру" -#: sql_help.c:5914 +#: sql_help.c:5934 msgid "remove a publication" msgstr "удалить публикацию" -#: sql_help.c:5926 +#: sql_help.c:5946 msgid "remove a routine" msgstr "удалить подпрограмму" -#: sql_help.c:5932 +#: sql_help.c:5952 msgid "remove a rewrite rule" msgstr "удалить правило перезаписи" -#: sql_help.c:5938 +#: sql_help.c:5958 msgid "remove a schema" msgstr "удалить схему" -#: sql_help.c:5944 +#: sql_help.c:5964 msgid "remove a sequence" msgstr "удалить последовательность" -#: sql_help.c:5950 +#: sql_help.c:5970 msgid "remove a foreign server descriptor" msgstr "удалить описание стороннего сервера" -#: sql_help.c:5956 +#: sql_help.c:5976 msgid "remove extended statistics" msgstr "удалить расширенную статистику" -#: sql_help.c:5962 +#: sql_help.c:5982 msgid "remove a subscription" msgstr "удалить подписку" -#: sql_help.c:5968 +#: sql_help.c:5988 msgid "remove a table" msgstr "удалить таблицу" -#: sql_help.c:5974 +#: sql_help.c:5994 msgid "remove a tablespace" msgstr "удалить табличное пространство" -#: sql_help.c:5980 +#: sql_help.c:6000 msgid "remove a text search configuration" msgstr "удалить конфигурацию текстового поиска" -#: sql_help.c:5986 +#: sql_help.c:6006 msgid "remove a text search dictionary" msgstr "удалить словарь текстового поиска" -#: sql_help.c:5992 +#: sql_help.c:6012 msgid "remove a text search parser" msgstr "удалить анализатор текстового поиска" -#: sql_help.c:5998 +#: sql_help.c:6018 msgid "remove a text search template" msgstr "удалить шаблон текстового поиска" -#: sql_help.c:6004 +#: sql_help.c:6024 msgid "remove a transform" msgstr "удалить преобразование" -#: sql_help.c:6010 +#: sql_help.c:6030 msgid "remove a trigger" msgstr "удалить триггер" -#: sql_help.c:6016 +#: sql_help.c:6036 msgid "remove a data type" msgstr "удалить тип данных" -#: sql_help.c:6028 +#: sql_help.c:6048 msgid "remove a user mapping for a foreign server" msgstr "удалить сопоставление пользователя для стороннего сервера" -#: sql_help.c:6034 +#: sql_help.c:6054 msgid "remove a view" msgstr "удалить представление" -#: sql_help.c:6046 +#: sql_help.c:6066 msgid "execute a prepared statement" msgstr "выполнить подготовленный оператор" -#: sql_help.c:6052 +#: sql_help.c:6072 msgid "show the execution plan of a statement" msgstr "показать план выполнения оператора" -#: sql_help.c:6058 +#: sql_help.c:6078 msgid "retrieve rows from a query using a cursor" msgstr "получить результат запроса через курсор" -#: sql_help.c:6064 +#: sql_help.c:6084 msgid "define access privileges" msgstr "определить права доступа" -#: sql_help.c:6070 +#: sql_help.c:6090 msgid "import table definitions from a foreign server" msgstr "импортировать определения таблиц со стороннего сервера" -#: sql_help.c:6076 +#: sql_help.c:6096 msgid "create new rows in a table" msgstr "добавить строки в таблицу" -#: sql_help.c:6082 +#: sql_help.c:6102 msgid "listen for a notification" msgstr "ожидать уведомления" -#: sql_help.c:6088 +#: sql_help.c:6108 msgid "load a shared library file" msgstr "загрузить файл разделяемой библиотеки" -#: sql_help.c:6094 +#: sql_help.c:6114 msgid "lock a table" msgstr "заблокировать таблицу" -#: sql_help.c:6100 +#: sql_help.c:6120 msgid "conditionally insert, update, or delete rows of a table" msgstr "добавление, изменение или удаление строк таблицы по условию" -#: sql_help.c:6106 +#: sql_help.c:6126 msgid "position a cursor" msgstr "установить курсор" -#: sql_help.c:6112 +#: sql_help.c:6132 msgid "generate a notification" msgstr "сгенерировать уведомление" -#: sql_help.c:6118 +#: sql_help.c:6138 msgid "prepare a statement for execution" msgstr "подготовить оператор для выполнения" -#: sql_help.c:6124 +#: sql_help.c:6144 msgid "prepare the current transaction for two-phase commit" msgstr "подготовить текущую транзакцию для двухфазной фиксации" -#: sql_help.c:6130 +#: sql_help.c:6150 msgid "change the ownership of database objects owned by a database role" msgstr "изменить владельца объектов БД, принадлежащих заданной роли" -#: sql_help.c:6136 +#: sql_help.c:6156 msgid "replace the contents of a materialized view" msgstr "заменить содержимое материализованного представления" -#: sql_help.c:6142 +#: sql_help.c:6162 msgid "rebuild indexes" msgstr "перестроить индексы" -#: sql_help.c:6148 +#: sql_help.c:6168 msgid "release a previously defined savepoint" msgstr "освободить ранее определённую точку сохранения" -#: sql_help.c:6154 +#: sql_help.c:6174 msgid "restore the value of a run-time parameter to the default value" msgstr "восстановить исходное значение параметра выполнения" -#: sql_help.c:6160 +#: sql_help.c:6180 msgid "remove access privileges" msgstr "удалить права доступа" -#: sql_help.c:6172 +#: sql_help.c:6192 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "отменить транзакцию, подготовленную ранее для двухфазной фиксации" -#: sql_help.c:6178 +#: sql_help.c:6198 msgid "roll back to a savepoint" msgstr "откатиться к точке сохранения" -#: sql_help.c:6184 +#: sql_help.c:6204 msgid "define a new savepoint within the current transaction" msgstr "определить новую точку сохранения в текущей транзакции" -#: sql_help.c:6190 +#: sql_help.c:6210 msgid "define or change a security label applied to an object" msgstr "задать или изменить метку безопасности, применённую к объекту" -#: sql_help.c:6196 sql_help.c:6250 sql_help.c:6286 +#: sql_help.c:6216 sql_help.c:6270 sql_help.c:6306 msgid "retrieve rows from a table or view" msgstr "выбрать строки из таблицы или представления" -#: sql_help.c:6208 +#: sql_help.c:6228 msgid "change a run-time parameter" msgstr "изменить параметр выполнения" -#: sql_help.c:6214 +#: sql_help.c:6234 msgid "set constraint check timing for the current transaction" msgstr "установить время проверки ограничений для текущей транзакции" -#: sql_help.c:6220 +#: sql_help.c:6240 msgid "set the current user identifier of the current session" msgstr "задать идентификатор текущего пользователя в текущем сеансе" -#: sql_help.c:6226 +#: sql_help.c:6246 msgid "" "set the session user identifier and the current user identifier of the " "current session" @@ -6864,31 +6872,31 @@ "задать идентификатор пользователя сеанса и идентификатор текущего " "пользователя в текущем сеансе" -#: sql_help.c:6232 +#: sql_help.c:6252 msgid "set the characteristics of the current transaction" msgstr "задать свойства текущей транзакции" -#: sql_help.c:6238 +#: sql_help.c:6258 msgid "show the value of a run-time parameter" msgstr "показать значение параметра выполнения" -#: sql_help.c:6256 +#: sql_help.c:6276 msgid "empty a table or set of tables" msgstr "опустошить таблицу или набор таблиц" -#: sql_help.c:6262 +#: sql_help.c:6282 msgid "stop listening for a notification" msgstr "прекратить ожидание уведомлений" -#: sql_help.c:6268 +#: sql_help.c:6288 msgid "update rows of a table" msgstr "изменить строки таблицы" -#: sql_help.c:6274 +#: sql_help.c:6294 msgid "garbage-collect and optionally analyze a database" msgstr "произвести сборку мусора и проанализировать базу данных" -#: sql_help.c:6280 +#: sql_help.c:6300 msgid "compute a set of rows" msgstr "получить набор строк" diff -Nru postgresql-17-17.7/src/bin/psql/po/sv.po postgresql-17-17.8/src/bin/psql/po/sv.po --- postgresql-17-17.7/src/bin/psql/po/sv.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/psql/po/sv.po 2026-02-09 21:51:54.000000000 +0000 @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-08-15 09:35+0000\n" -"PO-Revision-Date: 2025-08-17 09:01+0200\n" +"POT-Creation-Date: 2026-02-02 02:05+0000\n" +"PO-Revision-Date: 2026-02-02 23:07+0100\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -2541,7 +2541,7 @@ "psql är den interaktiva PostgreSQL-terminalen.\n" "\n" -#: help.c:64 help.c:376 help.c:460 help.c:506 +#: help.c:64 help.c:376 help.c:460 help.c:509 msgid "Usage:\n" msgstr "Användning:\n" @@ -3698,6 +3698,15 @@ " målvidd för wrappade format\n" #: help.c:467 +#, c-format +msgid "" +" csv_fieldsep\n" +" field separator for CSV output format (default \"%c\")\n" +msgstr "" +" csv_fieldsep\n" +" fältseparator för utdataformatet CSV (standard \"%c\")\n" + +#: help.c:470 msgid "" " expanded (or x)\n" " expanded output [on, off, auto]\n" @@ -3705,7 +3714,7 @@ " expanded (eller x)\n" " expanderat utmatningsläge [on, off, auto]\n" -#: help.c:469 +#: help.c:472 #, c-format msgid "" " fieldsep\n" @@ -3714,7 +3723,7 @@ " fieldsep\n" " fältseparator för ej justerad utdata (standard \"%s\")\n" -#: help.c:472 +#: help.c:475 msgid "" " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" @@ -3722,7 +3731,7 @@ " fieldsep_zero\n" " sätt fältseparator för ej justerad utdata till noll-byte\n" -#: help.c:474 +#: help.c:477 msgid "" " footer\n" " enable or disable display of the table footer [on, off]\n" @@ -3730,7 +3739,7 @@ " footer\n" " slå på/av visning av tabellfot [on, off]\n" -#: help.c:476 +#: help.c:479 msgid "" " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" @@ -3738,7 +3747,7 @@ " format\n" " sätt utdataformat [unaligned, aligned, wrapped, html, asciidoc, ...]\n" -#: help.c:478 +#: help.c:481 msgid "" " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" @@ -3746,7 +3755,7 @@ " linestyle\n" " sätt ramlinjestil [ascii, old-ascii, unicode]\n" -#: help.c:480 +#: help.c:483 msgid "" " null\n" " set the string to be printed in place of a null value\n" @@ -3754,7 +3763,7 @@ " null\n" " sätt sträng som visas istället för null-värden\n" -#: help.c:482 +#: help.c:485 msgid "" " numericlocale\n" " enable display of a locale-specific character to separate groups of digits\n" @@ -3762,7 +3771,7 @@ " numericlocale\n" " slå på visning av lokalspecifika tecken för gruppering av siffror\n" -#: help.c:484 +#: help.c:487 msgid "" " pager\n" " control when an external pager is used [yes, no, always]\n" @@ -3770,7 +3779,7 @@ " pager\n" " styr när en extern pagenerare används [yes, no, always]\n" -#: help.c:486 +#: help.c:489 msgid "" " recordsep\n" " record (line) separator for unaligned output\n" @@ -3778,7 +3787,7 @@ " recordsep\n" " post (rad) separator för ej justerad utdata\n" -#: help.c:488 +#: help.c:491 msgid "" " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" @@ -3786,7 +3795,7 @@ " recordsep_zero\n" " sätt postseparator för ej justerad utdata till noll-byte\n" -#: help.c:490 +#: help.c:493 msgid "" " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" @@ -3796,7 +3805,7 @@ " ange attribut för tabelltaggen i html-format eller proportionella\n" " kolumnvidder för vänsterjusterade datatypet i latex-longtable-format\n" -#: help.c:493 +#: help.c:496 msgid "" " title\n" " set the table title for subsequently printed tables\n" @@ -3804,7 +3813,7 @@ " title\n" " sätt tabelltitel för efterkommande tabellutskrifter\n" -#: help.c:495 +#: help.c:498 msgid "" " tuples_only\n" " if set, only actual table data is shown\n" @@ -3812,7 +3821,7 @@ " tuples_only\n" " om satt, bara tabelldatan visas\n" -#: help.c:497 +#: help.c:500 msgid "" " unicode_border_linestyle\n" " unicode_column_linestyle\n" @@ -3824,7 +3833,7 @@ " unicode_header_linestyle\n" " sätter stilen på Unicode-linjer [single, double]\n" -#: help.c:501 +#: help.c:504 msgid "" " xheader_width\n" " set the maximum width of the header for expanded output\n" @@ -3834,7 +3843,7 @@ " sätt maximal bredd på rubriken för expanderat utmatningsläge\n" " [full, column, page, integer value]\n" -#: help.c:505 +#: help.c:508 msgid "" "\n" "Environment variables:\n" @@ -3842,7 +3851,7 @@ "\n" "Omgivningsvariabler:\n" -#: help.c:509 +#: help.c:512 msgid "" " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n" @@ -3852,7 +3861,7 @@ " eller \\setenv NAMN [VÄRDE] inne psql\n" "\n" -#: help.c:511 +#: help.c:514 msgid "" " set NAME=VALUE\n" " psql ...\n" @@ -3864,7 +3873,7 @@ " eller \\setenv NAMN [VÄRDE] inne i psql\n" "\n" -#: help.c:514 +#: help.c:517 msgid "" " COLUMNS\n" " number of columns for wrapped format\n" @@ -3872,7 +3881,7 @@ " COLUMNS\n" " antal kolumner i wrappade format\n" -#: help.c:516 +#: help.c:519 msgid "" " PGAPPNAME\n" " same as the application_name connection parameter\n" @@ -3880,7 +3889,7 @@ " PGAPPNAME\n" " samma som anslutningsparametern \"application_name\"\n" -#: help.c:518 +#: help.c:521 msgid "" " PGDATABASE\n" " same as the dbname connection parameter\n" @@ -3888,7 +3897,7 @@ " PGDATABASE\n" " samma som anslutningsparametern \"dbname\"\n" -#: help.c:520 +#: help.c:523 msgid "" " PGHOST\n" " same as the host connection parameter\n" @@ -3896,7 +3905,7 @@ " PGHOST\n" " samma som anslutningsparametern \"host\"\n" -#: help.c:522 +#: help.c:525 msgid "" " PGPASSFILE\n" " password file name\n" @@ -3904,7 +3913,7 @@ " PGPASSFILE\n" " lösenordsfilnamn\n" -#: help.c:524 +#: help.c:527 msgid "" " PGPASSWORD\n" " connection password (not recommended)\n" @@ -3912,7 +3921,7 @@ " PGPASSWORD\n" " uppkoppingens lösenord (rekommenderas inte)\n" -#: help.c:526 +#: help.c:529 msgid "" " PGPORT\n" " same as the port connection parameter\n" @@ -3920,7 +3929,7 @@ " PGPORT\n" " samma som anslutingsparametern \"port\"\n" -#: help.c:528 +#: help.c:531 msgid "" " PGUSER\n" " same as the user connection parameter\n" @@ -3928,7 +3937,7 @@ " PGUSER\n" " samma som anslutningsparametern \"user\"\n" -#: help.c:530 +#: help.c:533 msgid "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" @@ -3936,7 +3945,7 @@ " PSQL_EDITOR, EDITOR, VISUAL\n" " redigerare som används av kommanona \\e, \\ef och \\ev\n" -#: help.c:532 +#: help.c:535 msgid "" " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" @@ -3944,7 +3953,7 @@ " PSQL_EDITOR_LINENUMBER_ARG\n" " hur radnummer anges när redigerare startas\n" -#: help.c:534 +#: help.c:537 msgid "" " PSQL_HISTORY\n" " alternative location for the command history file\n" @@ -3952,7 +3961,7 @@ " PSQL_HISTORY\n" " alternativ plats för kommandohistorikfilen\n" -#: help.c:536 +#: help.c:539 msgid "" " PSQL_PAGER, PAGER\n" " name of external pager program\n" @@ -3960,7 +3969,7 @@ " PAGER\n" " namnet på den externa pageneraren\n" -#: help.c:539 +#: help.c:542 msgid "" " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" @@ -3968,7 +3977,7 @@ " PSQL_WATCH_PAGER\n" " namn på externt paginerarprogram för \\watch\n" -#: help.c:542 +#: help.c:545 msgid "" " PSQLRC\n" " alternative location for the user's .psqlrc file\n" @@ -3976,7 +3985,7 @@ " PSQLRC\n" " alternativ plats för användarens \".psqlrc\"-fil\n" -#: help.c:544 +#: help.c:547 msgid "" " SHELL\n" " shell used by the \\! command\n" @@ -3984,7 +3993,7 @@ " SHELL\n" " skalet som används av kommandot \\!\n" -#: help.c:546 +#: help.c:549 msgid "" " TMPDIR\n" " directory for temporary files\n" @@ -3992,11 +4001,11 @@ " TMPDIR\n" " katalog för temporärfiler\n" -#: help.c:606 +#: help.c:609 msgid "Available help:\n" msgstr "Tillgänglig hjälp:\n" -#: help.c:701 +#: help.c:704 #, c-format msgid "" "Command: %s\n" @@ -4015,7 +4024,7 @@ "URL: %s\n" "\n" -#: help.c:724 +#: help.c:727 #, c-format msgid "" "No help available for \"%s\".\n" @@ -4147,189 +4156,189 @@ #: sql_help.c:732 sql_help.c:736 sql_help.c:757 sql_help.c:760 sql_help.c:763 #: sql_help.c:792 sql_help.c:804 sql_help.c:812 sql_help.c:815 sql_help.c:818 #: sql_help.c:833 sql_help.c:836 sql_help.c:865 sql_help.c:870 sql_help.c:875 -#: sql_help.c:880 sql_help.c:885 sql_help.c:912 sql_help.c:914 sql_help.c:916 -#: sql_help.c:918 sql_help.c:921 sql_help.c:923 sql_help.c:970 sql_help.c:1015 -#: sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 sql_help.c:1035 -#: sql_help.c:1054 sql_help.c:1065 sql_help.c:1067 sql_help.c:1087 -#: sql_help.c:1097 sql_help.c:1098 sql_help.c:1100 sql_help.c:1102 -#: sql_help.c:1114 sql_help.c:1118 sql_help.c:1120 sql_help.c:1132 -#: sql_help.c:1134 sql_help.c:1136 sql_help.c:1138 sql_help.c:1157 -#: sql_help.c:1159 sql_help.c:1163 sql_help.c:1167 sql_help.c:1171 -#: sql_help.c:1174 sql_help.c:1175 sql_help.c:1176 sql_help.c:1179 -#: sql_help.c:1182 sql_help.c:1184 sql_help.c:1324 sql_help.c:1326 -#: sql_help.c:1329 sql_help.c:1332 sql_help.c:1334 sql_help.c:1336 -#: sql_help.c:1339 sql_help.c:1342 sql_help.c:1464 sql_help.c:1466 -#: sql_help.c:1468 sql_help.c:1471 sql_help.c:1492 sql_help.c:1495 -#: sql_help.c:1498 sql_help.c:1501 sql_help.c:1505 sql_help.c:1507 -#: sql_help.c:1509 sql_help.c:1511 sql_help.c:1525 sql_help.c:1528 -#: sql_help.c:1530 sql_help.c:1532 sql_help.c:1542 sql_help.c:1544 -#: sql_help.c:1554 sql_help.c:1556 sql_help.c:1566 sql_help.c:1569 -#: sql_help.c:1592 sql_help.c:1594 sql_help.c:1596 sql_help.c:1598 -#: sql_help.c:1601 sql_help.c:1603 sql_help.c:1606 sql_help.c:1609 -#: sql_help.c:1660 sql_help.c:1703 sql_help.c:1706 sql_help.c:1708 -#: sql_help.c:1710 sql_help.c:1713 sql_help.c:1715 sql_help.c:1717 -#: sql_help.c:1720 sql_help.c:1770 sql_help.c:1786 sql_help.c:2019 -#: sql_help.c:2088 sql_help.c:2107 sql_help.c:2120 sql_help.c:2178 -#: sql_help.c:2186 sql_help.c:2196 sql_help.c:2224 sql_help.c:2257 -#: sql_help.c:2275 sql_help.c:2303 sql_help.c:2414 sql_help.c:2460 -#: sql_help.c:2485 sql_help.c:2508 sql_help.c:2512 sql_help.c:2546 -#: sql_help.c:2566 sql_help.c:2588 sql_help.c:2602 sql_help.c:2623 -#: sql_help.c:2652 sql_help.c:2685 sql_help.c:2708 sql_help.c:2755 -#: sql_help.c:3053 sql_help.c:3066 sql_help.c:3083 sql_help.c:3099 -#: sql_help.c:3139 sql_help.c:3193 sql_help.c:3197 sql_help.c:3199 -#: sql_help.c:3206 sql_help.c:3225 sql_help.c:3252 sql_help.c:3287 -#: sql_help.c:3299 sql_help.c:3308 sql_help.c:3352 sql_help.c:3366 -#: sql_help.c:3394 sql_help.c:3402 sql_help.c:3414 sql_help.c:3424 -#: sql_help.c:3432 sql_help.c:3440 sql_help.c:3448 sql_help.c:3456 -#: sql_help.c:3465 sql_help.c:3476 sql_help.c:3484 sql_help.c:3492 -#: sql_help.c:3500 sql_help.c:3508 sql_help.c:3518 sql_help.c:3527 -#: sql_help.c:3536 sql_help.c:3544 sql_help.c:3554 sql_help.c:3565 -#: sql_help.c:3573 sql_help.c:3582 sql_help.c:3593 sql_help.c:3602 -#: sql_help.c:3610 sql_help.c:3618 sql_help.c:3626 sql_help.c:3634 -#: sql_help.c:3642 sql_help.c:3650 sql_help.c:3658 sql_help.c:3666 -#: sql_help.c:3674 sql_help.c:3682 sql_help.c:3699 sql_help.c:3708 -#: sql_help.c:3716 sql_help.c:3733 sql_help.c:3748 sql_help.c:4061 -#: sql_help.c:4182 sql_help.c:4211 sql_help.c:4227 sql_help.c:4229 -#: sql_help.c:4733 sql_help.c:4781 sql_help.c:4940 +#: sql_help.c:880 sql_help.c:885 sql_help.c:921 sql_help.c:923 sql_help.c:925 +#: sql_help.c:927 sql_help.c:930 sql_help.c:932 sql_help.c:984 sql_help.c:1029 +#: sql_help.c:1034 sql_help.c:1039 sql_help.c:1044 sql_help.c:1049 +#: sql_help.c:1068 sql_help.c:1079 sql_help.c:1081 sql_help.c:1101 +#: sql_help.c:1111 sql_help.c:1112 sql_help.c:1114 sql_help.c:1116 +#: sql_help.c:1128 sql_help.c:1132 sql_help.c:1134 sql_help.c:1146 +#: sql_help.c:1148 sql_help.c:1150 sql_help.c:1152 sql_help.c:1171 +#: sql_help.c:1173 sql_help.c:1177 sql_help.c:1181 sql_help.c:1185 +#: sql_help.c:1188 sql_help.c:1189 sql_help.c:1190 sql_help.c:1193 +#: sql_help.c:1196 sql_help.c:1198 sql_help.c:1338 sql_help.c:1340 +#: sql_help.c:1343 sql_help.c:1346 sql_help.c:1348 sql_help.c:1350 +#: sql_help.c:1353 sql_help.c:1356 sql_help.c:1478 sql_help.c:1480 +#: sql_help.c:1482 sql_help.c:1485 sql_help.c:1506 sql_help.c:1509 +#: sql_help.c:1512 sql_help.c:1515 sql_help.c:1519 sql_help.c:1521 +#: sql_help.c:1523 sql_help.c:1525 sql_help.c:1539 sql_help.c:1542 +#: sql_help.c:1544 sql_help.c:1546 sql_help.c:1556 sql_help.c:1558 +#: sql_help.c:1568 sql_help.c:1570 sql_help.c:1580 sql_help.c:1583 +#: sql_help.c:1606 sql_help.c:1608 sql_help.c:1610 sql_help.c:1612 +#: sql_help.c:1615 sql_help.c:1617 sql_help.c:1620 sql_help.c:1623 +#: sql_help.c:1674 sql_help.c:1717 sql_help.c:1720 sql_help.c:1722 +#: sql_help.c:1724 sql_help.c:1727 sql_help.c:1729 sql_help.c:1731 +#: sql_help.c:1734 sql_help.c:1784 sql_help.c:1800 sql_help.c:2033 +#: sql_help.c:2102 sql_help.c:2121 sql_help.c:2134 sql_help.c:2192 +#: sql_help.c:2200 sql_help.c:2210 sql_help.c:2238 sql_help.c:2271 +#: sql_help.c:2289 sql_help.c:2317 sql_help.c:2428 sql_help.c:2474 +#: sql_help.c:2499 sql_help.c:2522 sql_help.c:2526 sql_help.c:2560 +#: sql_help.c:2580 sql_help.c:2602 sql_help.c:2616 sql_help.c:2637 +#: sql_help.c:2670 sql_help.c:2705 sql_help.c:2728 sql_help.c:2775 +#: sql_help.c:3073 sql_help.c:3086 sql_help.c:3103 sql_help.c:3119 +#: sql_help.c:3159 sql_help.c:3213 sql_help.c:3217 sql_help.c:3219 +#: sql_help.c:3226 sql_help.c:3245 sql_help.c:3272 sql_help.c:3307 +#: sql_help.c:3319 sql_help.c:3328 sql_help.c:3372 sql_help.c:3386 +#: sql_help.c:3414 sql_help.c:3422 sql_help.c:3434 sql_help.c:3444 +#: sql_help.c:3452 sql_help.c:3460 sql_help.c:3468 sql_help.c:3476 +#: sql_help.c:3485 sql_help.c:3496 sql_help.c:3504 sql_help.c:3512 +#: sql_help.c:3520 sql_help.c:3528 sql_help.c:3538 sql_help.c:3547 +#: sql_help.c:3556 sql_help.c:3564 sql_help.c:3574 sql_help.c:3585 +#: sql_help.c:3593 sql_help.c:3602 sql_help.c:3613 sql_help.c:3622 +#: sql_help.c:3630 sql_help.c:3638 sql_help.c:3646 sql_help.c:3654 +#: sql_help.c:3662 sql_help.c:3670 sql_help.c:3678 sql_help.c:3686 +#: sql_help.c:3694 sql_help.c:3702 sql_help.c:3719 sql_help.c:3728 +#: sql_help.c:3736 sql_help.c:3753 sql_help.c:3768 sql_help.c:4081 +#: sql_help.c:4202 sql_help.c:4231 sql_help.c:4247 sql_help.c:4249 +#: sql_help.c:4753 sql_help.c:4801 sql_help.c:4960 msgid "name" msgstr "namn" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1863 -#: sql_help.c:3367 sql_help.c:4500 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1877 +#: sql_help.c:3387 sql_help.c:4520 msgid "aggregate_signature" msgstr "aggregatsignatur" #: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:260 #: sql_help.c:281 sql_help.c:412 sql_help.c:459 sql_help.c:538 sql_help.c:586 #: sql_help.c:604 sql_help.c:631 sql_help.c:684 sql_help.c:759 sql_help.c:814 -#: sql_help.c:835 sql_help.c:874 sql_help.c:924 sql_help.c:971 sql_help.c:1024 -#: sql_help.c:1056 sql_help.c:1066 sql_help.c:1101 sql_help.c:1121 -#: sql_help.c:1135 sql_help.c:1185 sql_help.c:1333 sql_help.c:1465 -#: sql_help.c:1508 sql_help.c:1529 sql_help.c:1543 sql_help.c:1555 -#: sql_help.c:1568 sql_help.c:1595 sql_help.c:1661 sql_help.c:1714 +#: sql_help.c:835 sql_help.c:874 sql_help.c:933 sql_help.c:985 sql_help.c:1038 +#: sql_help.c:1070 sql_help.c:1080 sql_help.c:1115 sql_help.c:1135 +#: sql_help.c:1149 sql_help.c:1199 sql_help.c:1347 sql_help.c:1479 +#: sql_help.c:1522 sql_help.c:1543 sql_help.c:1557 sql_help.c:1569 +#: sql_help.c:1582 sql_help.c:1609 sql_help.c:1675 sql_help.c:1728 msgid "new_name" msgstr "nytt_namn" #: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:258 #: sql_help.c:279 sql_help.c:410 sql_help.c:495 sql_help.c:543 sql_help.c:633 #: sql_help.c:642 sql_help.c:707 sql_help.c:731 sql_help.c:762 sql_help.c:817 -#: sql_help.c:879 sql_help.c:922 sql_help.c:1029 sql_help.c:1068 -#: sql_help.c:1099 sql_help.c:1119 sql_help.c:1133 sql_help.c:1183 -#: sql_help.c:1399 sql_help.c:1467 sql_help.c:1510 sql_help.c:1531 -#: sql_help.c:1593 sql_help.c:1709 sql_help.c:3039 +#: sql_help.c:879 sql_help.c:931 sql_help.c:1043 sql_help.c:1082 +#: sql_help.c:1113 sql_help.c:1133 sql_help.c:1147 sql_help.c:1197 +#: sql_help.c:1413 sql_help.c:1481 sql_help.c:1524 sql_help.c:1545 +#: sql_help.c:1607 sql_help.c:1723 sql_help.c:3059 msgid "new_owner" msgstr "ny_ägare" #: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:262 sql_help.c:332 #: sql_help.c:461 sql_help.c:548 sql_help.c:686 sql_help.c:735 sql_help.c:765 -#: sql_help.c:820 sql_help.c:884 sql_help.c:1034 sql_help.c:1103 -#: sql_help.c:1137 sql_help.c:1335 sql_help.c:1512 sql_help.c:1533 -#: sql_help.c:1545 sql_help.c:1557 sql_help.c:1597 sql_help.c:1716 +#: sql_help.c:820 sql_help.c:884 sql_help.c:1048 sql_help.c:1117 +#: sql_help.c:1151 sql_help.c:1349 sql_help.c:1526 sql_help.c:1547 +#: sql_help.c:1559 sql_help.c:1571 sql_help.c:1611 sql_help.c:1730 msgid "new_schema" msgstr "nytt_schema" -#: sql_help.c:44 sql_help.c:1927 sql_help.c:3368 sql_help.c:4529 +#: sql_help.c:44 sql_help.c:1941 sql_help.c:3388 sql_help.c:4549 msgid "where aggregate_signature is:" msgstr "där aggregatsignatur är:" #: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:350 sql_help.c:363 #: sql_help.c:367 sql_help.c:383 sql_help.c:386 sql_help.c:389 sql_help.c:530 #: sql_help.c:535 sql_help.c:540 sql_help.c:545 sql_help.c:550 sql_help.c:866 -#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1016 -#: sql_help.c:1021 sql_help.c:1026 sql_help.c:1031 sql_help.c:1036 -#: sql_help.c:1881 sql_help.c:1898 sql_help.c:1904 sql_help.c:1928 -#: sql_help.c:1931 sql_help.c:1934 sql_help.c:2089 sql_help.c:2108 -#: sql_help.c:2111 sql_help.c:2415 sql_help.c:2624 sql_help.c:3369 -#: sql_help.c:3372 sql_help.c:3375 sql_help.c:3466 sql_help.c:3555 -#: sql_help.c:3583 sql_help.c:3936 sql_help.c:4399 sql_help.c:4506 -#: sql_help.c:4513 sql_help.c:4519 sql_help.c:4530 sql_help.c:4533 -#: sql_help.c:4536 +#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1030 +#: sql_help.c:1035 sql_help.c:1040 sql_help.c:1045 sql_help.c:1050 +#: sql_help.c:1895 sql_help.c:1912 sql_help.c:1918 sql_help.c:1942 +#: sql_help.c:1945 sql_help.c:1948 sql_help.c:2103 sql_help.c:2122 +#: sql_help.c:2125 sql_help.c:2429 sql_help.c:2638 sql_help.c:3389 +#: sql_help.c:3392 sql_help.c:3395 sql_help.c:3486 sql_help.c:3575 +#: sql_help.c:3603 sql_help.c:3956 sql_help.c:4419 sql_help.c:4526 +#: sql_help.c:4533 sql_help.c:4539 sql_help.c:4550 sql_help.c:4553 +#: sql_help.c:4556 msgid "argmode" msgstr "arg_läge" #: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:351 sql_help.c:364 #: sql_help.c:368 sql_help.c:384 sql_help.c:387 sql_help.c:390 sql_help.c:531 #: sql_help.c:536 sql_help.c:541 sql_help.c:546 sql_help.c:551 sql_help.c:867 -#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1017 -#: sql_help.c:1022 sql_help.c:1027 sql_help.c:1032 sql_help.c:1037 -#: sql_help.c:1882 sql_help.c:1899 sql_help.c:1905 sql_help.c:1929 -#: sql_help.c:1932 sql_help.c:1935 sql_help.c:2090 sql_help.c:2109 -#: sql_help.c:2112 sql_help.c:2416 sql_help.c:2625 sql_help.c:3370 -#: sql_help.c:3373 sql_help.c:3376 sql_help.c:3467 sql_help.c:3556 -#: sql_help.c:3584 sql_help.c:4507 sql_help.c:4514 sql_help.c:4520 -#: sql_help.c:4531 sql_help.c:4534 sql_help.c:4537 +#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1031 +#: sql_help.c:1036 sql_help.c:1041 sql_help.c:1046 sql_help.c:1051 +#: sql_help.c:1896 sql_help.c:1913 sql_help.c:1919 sql_help.c:1943 +#: sql_help.c:1946 sql_help.c:1949 sql_help.c:2104 sql_help.c:2123 +#: sql_help.c:2126 sql_help.c:2430 sql_help.c:2639 sql_help.c:3390 +#: sql_help.c:3393 sql_help.c:3396 sql_help.c:3487 sql_help.c:3576 +#: sql_help.c:3604 sql_help.c:4527 sql_help.c:4534 sql_help.c:4540 +#: sql_help.c:4551 sql_help.c:4554 sql_help.c:4557 msgid "argname" msgstr "arg_namn" #: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:352 sql_help.c:365 #: sql_help.c:369 sql_help.c:385 sql_help.c:388 sql_help.c:391 sql_help.c:532 #: sql_help.c:537 sql_help.c:542 sql_help.c:547 sql_help.c:552 sql_help.c:868 -#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1018 -#: sql_help.c:1023 sql_help.c:1028 sql_help.c:1033 sql_help.c:1038 -#: sql_help.c:1883 sql_help.c:1900 sql_help.c:1906 sql_help.c:1930 -#: sql_help.c:1933 sql_help.c:1936 sql_help.c:2417 sql_help.c:2626 -#: sql_help.c:3371 sql_help.c:3374 sql_help.c:3377 sql_help.c:3468 -#: sql_help.c:3557 sql_help.c:3585 sql_help.c:4508 sql_help.c:4515 -#: sql_help.c:4521 sql_help.c:4532 sql_help.c:4535 sql_help.c:4538 +#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1032 +#: sql_help.c:1037 sql_help.c:1042 sql_help.c:1047 sql_help.c:1052 +#: sql_help.c:1897 sql_help.c:1914 sql_help.c:1920 sql_help.c:1944 +#: sql_help.c:1947 sql_help.c:1950 sql_help.c:2431 sql_help.c:2640 +#: sql_help.c:3391 sql_help.c:3394 sql_help.c:3397 sql_help.c:3488 +#: sql_help.c:3577 sql_help.c:3605 sql_help.c:4528 sql_help.c:4535 +#: sql_help.c:4541 sql_help.c:4552 sql_help.c:4555 sql_help.c:4558 msgid "argtype" msgstr "arg_typ" -#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:965 -#: sql_help.c:1116 sql_help.c:1526 sql_help.c:1655 sql_help.c:1687 -#: sql_help.c:1739 sql_help.c:1798 sql_help.c:1987 sql_help.c:1994 -#: sql_help.c:2306 sql_help.c:2356 sql_help.c:2363 sql_help.c:2372 -#: sql_help.c:2461 sql_help.c:2686 sql_help.c:2777 sql_help.c:3068 -#: sql_help.c:3253 sql_help.c:3275 sql_help.c:3415 sql_help.c:3772 -#: sql_help.c:3980 sql_help.c:4226 sql_help.c:4228 sql_help.c:5006 +#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:979 +#: sql_help.c:1130 sql_help.c:1540 sql_help.c:1669 sql_help.c:1701 +#: sql_help.c:1753 sql_help.c:1812 sql_help.c:2001 sql_help.c:2008 +#: sql_help.c:2320 sql_help.c:2370 sql_help.c:2377 sql_help.c:2386 +#: sql_help.c:2475 sql_help.c:2706 sql_help.c:2797 sql_help.c:3088 +#: sql_help.c:3273 sql_help.c:3295 sql_help.c:3435 sql_help.c:3792 +#: sql_help.c:4000 sql_help.c:4246 sql_help.c:4248 sql_help.c:5026 msgid "option" msgstr "flaggor" -#: sql_help.c:115 sql_help.c:966 sql_help.c:1656 sql_help.c:2462 -#: sql_help.c:2687 sql_help.c:3254 sql_help.c:3416 +#: sql_help.c:115 sql_help.c:980 sql_help.c:1670 sql_help.c:2476 +#: sql_help.c:2707 sql_help.c:3274 sql_help.c:3436 msgid "where option can be:" msgstr "där flaggor kan vara:" -#: sql_help.c:116 sql_help.c:2238 +#: sql_help.c:116 sql_help.c:2252 msgid "allowconn" msgstr "tillåtansl" -#: sql_help.c:117 sql_help.c:967 sql_help.c:1657 sql_help.c:2239 -#: sql_help.c:2463 sql_help.c:2688 sql_help.c:3255 +#: sql_help.c:117 sql_help.c:981 sql_help.c:1671 sql_help.c:2253 +#: sql_help.c:2477 sql_help.c:2708 sql_help.c:3275 msgid "connlimit" msgstr "anslutningstak" -#: sql_help.c:118 sql_help.c:2240 +#: sql_help.c:118 sql_help.c:2254 msgid "istemplate" msgstr "ärmall" -#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1338 -#: sql_help.c:1392 sql_help.c:4232 +#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1352 +#: sql_help.c:1406 sql_help.c:4252 msgid "new_tablespace" msgstr "nytt_tabellutrymme" #: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:558 sql_help.c:560 -#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:974 -#: sql_help.c:978 sql_help.c:981 sql_help.c:1043 sql_help.c:1045 -#: sql_help.c:1046 sql_help.c:1196 sql_help.c:1198 sql_help.c:1664 -#: sql_help.c:1668 sql_help.c:1671 sql_help.c:2427 sql_help.c:2630 -#: sql_help.c:3948 sql_help.c:4250 sql_help.c:4411 sql_help.c:4721 +#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:988 +#: sql_help.c:992 sql_help.c:995 sql_help.c:1057 sql_help.c:1059 +#: sql_help.c:1060 sql_help.c:1210 sql_help.c:1212 sql_help.c:1678 +#: sql_help.c:1682 sql_help.c:1685 sql_help.c:2441 sql_help.c:2644 +#: sql_help.c:3968 sql_help.c:4270 sql_help.c:4431 sql_help.c:4741 msgid "configuration_parameter" msgstr "konfigurationsparameter" #: sql_help.c:128 sql_help.c:408 sql_help.c:479 sql_help.c:485 sql_help.c:497 #: sql_help.c:559 sql_help.c:613 sql_help.c:695 sql_help.c:705 sql_help.c:892 -#: sql_help.c:920 sql_help.c:975 sql_help.c:1044 sql_help.c:1117 -#: sql_help.c:1162 sql_help.c:1166 sql_help.c:1170 sql_help.c:1173 -#: sql_help.c:1178 sql_help.c:1181 sql_help.c:1197 sql_help.c:1371 -#: sql_help.c:1394 sql_help.c:1442 sql_help.c:1450 sql_help.c:1470 -#: sql_help.c:1527 sql_help.c:1611 sql_help.c:1665 sql_help.c:1688 -#: sql_help.c:2307 sql_help.c:2357 sql_help.c:2364 sql_help.c:2373 -#: sql_help.c:2428 sql_help.c:2429 sql_help.c:2493 sql_help.c:2496 -#: sql_help.c:2530 sql_help.c:2631 sql_help.c:2632 sql_help.c:2655 -#: sql_help.c:2778 sql_help.c:2817 sql_help.c:2927 sql_help.c:2940 -#: sql_help.c:2954 sql_help.c:2995 sql_help.c:3003 sql_help.c:3025 -#: sql_help.c:3042 sql_help.c:3069 sql_help.c:3276 sql_help.c:3981 -#: sql_help.c:4722 sql_help.c:4723 sql_help.c:4724 sql_help.c:4725 +#: sql_help.c:929 sql_help.c:989 sql_help.c:1058 sql_help.c:1131 +#: sql_help.c:1176 sql_help.c:1180 sql_help.c:1184 sql_help.c:1187 +#: sql_help.c:1192 sql_help.c:1195 sql_help.c:1211 sql_help.c:1385 +#: sql_help.c:1408 sql_help.c:1456 sql_help.c:1464 sql_help.c:1484 +#: sql_help.c:1541 sql_help.c:1625 sql_help.c:1679 sql_help.c:1702 +#: sql_help.c:2321 sql_help.c:2371 sql_help.c:2378 sql_help.c:2387 +#: sql_help.c:2442 sql_help.c:2443 sql_help.c:2507 sql_help.c:2510 +#: sql_help.c:2544 sql_help.c:2645 sql_help.c:2646 sql_help.c:2673 +#: sql_help.c:2798 sql_help.c:2837 sql_help.c:2947 sql_help.c:2960 +#: sql_help.c:2974 sql_help.c:3015 sql_help.c:3023 sql_help.c:3045 +#: sql_help.c:3062 sql_help.c:3089 sql_help.c:3296 sql_help.c:4001 +#: sql_help.c:4742 sql_help.c:4743 sql_help.c:4744 sql_help.c:4745 msgid "value" msgstr "värde" @@ -4337,10 +4346,10 @@ msgid "target_role" msgstr "målroll" -#: sql_help.c:203 sql_help.c:929 sql_help.c:2291 sql_help.c:2660 -#: sql_help.c:2733 sql_help.c:2738 sql_help.c:3911 sql_help.c:3920 -#: sql_help.c:3939 sql_help.c:3951 sql_help.c:4374 sql_help.c:4383 -#: sql_help.c:4402 sql_help.c:4414 +#: sql_help.c:203 sql_help.c:936 sql_help.c:939 sql_help.c:2305 sql_help.c:2676 +#: sql_help.c:2753 sql_help.c:2758 sql_help.c:3931 sql_help.c:3940 +#: sql_help.c:3959 sql_help.c:3971 sql_help.c:4394 sql_help.c:4403 +#: sql_help.c:4422 sql_help.c:4434 msgid "schema_name" msgstr "schemanamn" @@ -4354,57 +4363,57 @@ #: sql_help.c:206 sql_help.c:207 sql_help.c:208 sql_help.c:209 sql_help.c:210 #: sql_help.c:211 sql_help.c:212 sql_help.c:213 sql_help.c:214 sql_help.c:215 -#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:985 -#: sql_help.c:1337 sql_help.c:1675 sql_help.c:2466 sql_help.c:2467 -#: sql_help.c:2468 sql_help.c:2469 sql_help.c:2470 sql_help.c:2604 -#: sql_help.c:2691 sql_help.c:2692 sql_help.c:2693 sql_help.c:3258 -#: sql_help.c:3259 sql_help.c:3260 sql_help.c:3261 sql_help.c:3262 -#: sql_help.c:3960 sql_help.c:3964 sql_help.c:4423 sql_help.c:4427 -#: sql_help.c:4743 +#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:999 +#: sql_help.c:1351 sql_help.c:1689 sql_help.c:2480 sql_help.c:2481 +#: sql_help.c:2482 sql_help.c:2483 sql_help.c:2484 sql_help.c:2618 +#: sql_help.c:2711 sql_help.c:2712 sql_help.c:2713 sql_help.c:3278 +#: sql_help.c:3279 sql_help.c:3280 sql_help.c:3281 sql_help.c:3282 +#: sql_help.c:3980 sql_help.c:3984 sql_help.c:4443 sql_help.c:4447 +#: sql_help.c:4763 msgid "role_name" msgstr "rollnamn" -#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:928 sql_help.c:1353 -#: sql_help.c:1355 sql_help.c:1359 sql_help.c:1409 sql_help.c:1421 -#: sql_help.c:1446 sql_help.c:1705 sql_help.c:2260 sql_help.c:2264 -#: sql_help.c:2376 sql_help.c:2381 sql_help.c:2489 sql_help.c:2659 -#: sql_help.c:2794 sql_help.c:2799 sql_help.c:2801 sql_help.c:2922 -#: sql_help.c:2935 sql_help.c:2949 sql_help.c:2958 sql_help.c:2970 -#: sql_help.c:2999 sql_help.c:4012 sql_help.c:4027 sql_help.c:4029 -#: sql_help.c:4125 sql_help.c:4128 sql_help.c:4130 sql_help.c:4593 -#: sql_help.c:4594 sql_help.c:4603 sql_help.c:4650 sql_help.c:4651 -#: sql_help.c:4652 sql_help.c:4653 sql_help.c:4654 sql_help.c:4655 -#: sql_help.c:4696 sql_help.c:4697 sql_help.c:4702 sql_help.c:4707 -#: sql_help.c:4851 sql_help.c:4852 sql_help.c:4861 sql_help.c:4908 -#: sql_help.c:4909 sql_help.c:4910 sql_help.c:4911 sql_help.c:4912 -#: sql_help.c:4913 sql_help.c:4968 sql_help.c:4970 sql_help.c:5036 -#: sql_help.c:5096 sql_help.c:5097 sql_help.c:5106 sql_help.c:5153 -#: sql_help.c:5154 sql_help.c:5155 sql_help.c:5156 sql_help.c:5157 -#: sql_help.c:5158 +#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:943 sql_help.c:1367 +#: sql_help.c:1369 sql_help.c:1373 sql_help.c:1423 sql_help.c:1435 +#: sql_help.c:1460 sql_help.c:1719 sql_help.c:2274 sql_help.c:2278 +#: sql_help.c:2390 sql_help.c:2395 sql_help.c:2503 sql_help.c:2680 +#: sql_help.c:2814 sql_help.c:2819 sql_help.c:2821 sql_help.c:2942 +#: sql_help.c:2955 sql_help.c:2969 sql_help.c:2978 sql_help.c:2990 +#: sql_help.c:3019 sql_help.c:4032 sql_help.c:4047 sql_help.c:4049 +#: sql_help.c:4145 sql_help.c:4148 sql_help.c:4150 sql_help.c:4613 +#: sql_help.c:4614 sql_help.c:4623 sql_help.c:4670 sql_help.c:4671 +#: sql_help.c:4672 sql_help.c:4673 sql_help.c:4674 sql_help.c:4675 +#: sql_help.c:4716 sql_help.c:4717 sql_help.c:4722 sql_help.c:4727 +#: sql_help.c:4871 sql_help.c:4872 sql_help.c:4881 sql_help.c:4928 +#: sql_help.c:4929 sql_help.c:4930 sql_help.c:4931 sql_help.c:4932 +#: sql_help.c:4933 sql_help.c:4988 sql_help.c:4990 sql_help.c:5056 +#: sql_help.c:5116 sql_help.c:5117 sql_help.c:5126 sql_help.c:5173 +#: sql_help.c:5174 sql_help.c:5175 sql_help.c:5176 sql_help.c:5177 +#: sql_help.c:5178 msgid "expression" msgstr "uttryck" -#: sql_help.c:249 sql_help.c:2261 +#: sql_help.c:249 sql_help.c:2275 msgid "domain_constraint" msgstr "domain_villkor" #: sql_help.c:251 sql_help.c:253 sql_help.c:256 sql_help.c:264 sql_help.c:487 -#: sql_help.c:488 sql_help.c:1330 sql_help.c:1379 sql_help.c:1380 -#: sql_help.c:1381 sql_help.c:1408 sql_help.c:1420 sql_help.c:1437 -#: sql_help.c:1869 sql_help.c:1871 sql_help.c:2263 sql_help.c:2375 -#: sql_help.c:2380 sql_help.c:2957 sql_help.c:2969 sql_help.c:4024 +#: sql_help.c:488 sql_help.c:1344 sql_help.c:1393 sql_help.c:1394 +#: sql_help.c:1395 sql_help.c:1422 sql_help.c:1434 sql_help.c:1451 +#: sql_help.c:1883 sql_help.c:1885 sql_help.c:2277 sql_help.c:2389 +#: sql_help.c:2394 sql_help.c:2977 sql_help.c:2989 sql_help.c:4044 msgid "constraint_name" msgstr "villkorsnamn" -#: sql_help.c:254 sql_help.c:1331 +#: sql_help.c:254 sql_help.c:1345 msgid "new_constraint_name" msgstr "nyy_villkorsnamn" -#: sql_help.c:263 sql_help.c:2262 +#: sql_help.c:263 sql_help.c:2276 msgid "where domain_constraint is:" msgstr "där domän_villkor är:" -#: sql_help.c:330 sql_help.c:1115 +#: sql_help.c:330 sql_help.c:1129 msgid "new_version" msgstr "ny_version" @@ -4420,82 +4429,82 @@ #: sql_help.c:347 sql_help.c:348 sql_help.c:353 sql_help.c:357 sql_help.c:359 #: sql_help.c:361 sql_help.c:370 sql_help.c:371 sql_help.c:372 sql_help.c:373 #: sql_help.c:374 sql_help.c:375 sql_help.c:376 sql_help.c:377 sql_help.c:380 -#: sql_help.c:381 sql_help.c:1861 sql_help.c:1866 sql_help.c:1873 -#: sql_help.c:1874 sql_help.c:1875 sql_help.c:1876 sql_help.c:1877 -#: sql_help.c:1878 sql_help.c:1879 sql_help.c:1884 sql_help.c:1886 -#: sql_help.c:1890 sql_help.c:1892 sql_help.c:1896 sql_help.c:1901 -#: sql_help.c:1902 sql_help.c:1909 sql_help.c:1910 sql_help.c:1911 -#: sql_help.c:1912 sql_help.c:1913 sql_help.c:1914 sql_help.c:1915 -#: sql_help.c:1916 sql_help.c:1917 sql_help.c:1918 sql_help.c:1919 -#: sql_help.c:1924 sql_help.c:1925 sql_help.c:4496 sql_help.c:4501 -#: sql_help.c:4502 sql_help.c:4503 sql_help.c:4504 sql_help.c:4510 -#: sql_help.c:4511 sql_help.c:4516 sql_help.c:4517 sql_help.c:4522 -#: sql_help.c:4523 sql_help.c:4524 sql_help.c:4525 sql_help.c:4526 -#: sql_help.c:4527 +#: sql_help.c:381 sql_help.c:1875 sql_help.c:1880 sql_help.c:1887 +#: sql_help.c:1888 sql_help.c:1889 sql_help.c:1890 sql_help.c:1891 +#: sql_help.c:1892 sql_help.c:1893 sql_help.c:1898 sql_help.c:1900 +#: sql_help.c:1904 sql_help.c:1906 sql_help.c:1910 sql_help.c:1915 +#: sql_help.c:1916 sql_help.c:1923 sql_help.c:1924 sql_help.c:1925 +#: sql_help.c:1926 sql_help.c:1927 sql_help.c:1928 sql_help.c:1929 +#: sql_help.c:1930 sql_help.c:1931 sql_help.c:1932 sql_help.c:1933 +#: sql_help.c:1938 sql_help.c:1939 sql_help.c:4516 sql_help.c:4521 +#: sql_help.c:4522 sql_help.c:4523 sql_help.c:4524 sql_help.c:4530 +#: sql_help.c:4531 sql_help.c:4536 sql_help.c:4537 sql_help.c:4542 +#: sql_help.c:4543 sql_help.c:4544 sql_help.c:4545 sql_help.c:4546 +#: sql_help.c:4547 msgid "object_name" msgstr "objektnamn" -#: sql_help.c:339 sql_help.c:1862 sql_help.c:4499 +#: sql_help.c:339 sql_help.c:1876 sql_help.c:4519 msgid "aggregate_name" msgstr "aggregatnamn" -#: sql_help.c:341 sql_help.c:1864 sql_help.c:2154 sql_help.c:2158 -#: sql_help.c:2160 sql_help.c:3385 +#: sql_help.c:341 sql_help.c:1878 sql_help.c:2168 sql_help.c:2172 +#: sql_help.c:2174 sql_help.c:3405 msgid "source_type" msgstr "källtyp" -#: sql_help.c:342 sql_help.c:1865 sql_help.c:2155 sql_help.c:2159 -#: sql_help.c:2161 sql_help.c:3386 +#: sql_help.c:342 sql_help.c:1879 sql_help.c:2169 sql_help.c:2173 +#: sql_help.c:2175 sql_help.c:3406 msgid "target_type" msgstr "måltyp" -#: sql_help.c:349 sql_help.c:802 sql_help.c:1880 sql_help.c:2156 -#: sql_help.c:2199 sql_help.c:2279 sql_help.c:2547 sql_help.c:2578 -#: sql_help.c:3145 sql_help.c:4398 sql_help.c:4505 sql_help.c:4622 -#: sql_help.c:4626 sql_help.c:4630 sql_help.c:4633 sql_help.c:4880 -#: sql_help.c:4884 sql_help.c:4888 sql_help.c:4891 sql_help.c:5125 -#: sql_help.c:5129 sql_help.c:5133 sql_help.c:5136 +#: sql_help.c:349 sql_help.c:802 sql_help.c:1894 sql_help.c:2170 +#: sql_help.c:2213 sql_help.c:2293 sql_help.c:2561 sql_help.c:2592 +#: sql_help.c:3165 sql_help.c:4418 sql_help.c:4525 sql_help.c:4642 +#: sql_help.c:4646 sql_help.c:4650 sql_help.c:4653 sql_help.c:4900 +#: sql_help.c:4904 sql_help.c:4908 sql_help.c:4911 sql_help.c:5145 +#: sql_help.c:5149 sql_help.c:5153 sql_help.c:5156 msgid "function_name" msgstr "funktionsnamn" -#: sql_help.c:354 sql_help.c:795 sql_help.c:1887 sql_help.c:2571 +#: sql_help.c:354 sql_help.c:795 sql_help.c:1901 sql_help.c:2585 msgid "operator_name" msgstr "operatornamn" -#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1888 -#: sql_help.c:2548 sql_help.c:3509 +#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1902 +#: sql_help.c:2562 sql_help.c:3529 msgid "left_type" msgstr "vänster_typ" -#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1889 -#: sql_help.c:2549 sql_help.c:3510 +#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1903 +#: sql_help.c:2563 sql_help.c:3530 msgid "right_type" msgstr "höger_typ" #: sql_help.c:358 sql_help.c:360 sql_help.c:758 sql_help.c:761 sql_help.c:764 #: sql_help.c:793 sql_help.c:805 sql_help.c:813 sql_help.c:816 sql_help.c:819 -#: sql_help.c:1426 sql_help.c:1891 sql_help.c:1893 sql_help.c:2568 -#: sql_help.c:2589 sql_help.c:2975 sql_help.c:3519 sql_help.c:3528 +#: sql_help.c:1440 sql_help.c:1905 sql_help.c:1907 sql_help.c:2582 +#: sql_help.c:2603 sql_help.c:2995 sql_help.c:3539 sql_help.c:3548 msgid "index_method" msgstr "indexmetod" -#: sql_help.c:362 sql_help.c:1897 sql_help.c:4512 +#: sql_help.c:362 sql_help.c:1911 sql_help.c:4532 msgid "procedure_name" msgstr "procedurnamn" -#: sql_help.c:366 sql_help.c:1903 sql_help.c:3935 sql_help.c:4518 +#: sql_help.c:366 sql_help.c:1917 sql_help.c:3955 sql_help.c:4538 msgid "routine_name" msgstr "rutinnamn" -#: sql_help.c:378 sql_help.c:1398 sql_help.c:1920 sql_help.c:2423 -#: sql_help.c:2629 sql_help.c:2930 sql_help.c:3112 sql_help.c:3690 -#: sql_help.c:3957 sql_help.c:4420 +#: sql_help.c:378 sql_help.c:1412 sql_help.c:1934 sql_help.c:2437 +#: sql_help.c:2643 sql_help.c:2950 sql_help.c:3132 sql_help.c:3710 +#: sql_help.c:3977 sql_help.c:4440 msgid "type_name" msgstr "typnamn" -#: sql_help.c:379 sql_help.c:1921 sql_help.c:2422 sql_help.c:2628 -#: sql_help.c:3113 sql_help.c:3343 sql_help.c:3691 sql_help.c:3942 -#: sql_help.c:4405 +#: sql_help.c:379 sql_help.c:1935 sql_help.c:2436 sql_help.c:2642 +#: sql_help.c:3133 sql_help.c:3363 sql_help.c:3711 sql_help.c:3962 +#: sql_help.c:4425 msgid "lang_name" msgstr "språknamn" @@ -4503,147 +4512,147 @@ msgid "and aggregate_signature is:" msgstr "och aggregatsignatur är:" -#: sql_help.c:405 sql_help.c:2021 sql_help.c:2304 +#: sql_help.c:405 sql_help.c:2035 sql_help.c:2318 msgid "handler_function" msgstr "hanterarfunktion" -#: sql_help.c:406 sql_help.c:2305 +#: sql_help.c:406 sql_help.c:2319 msgid "validator_function" msgstr "valideringsfunktion" -#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1019 -#: sql_help.c:1325 sql_help.c:1602 +#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1033 +#: sql_help.c:1339 sql_help.c:1616 msgid "action" msgstr "aktion" #: sql_help.c:456 sql_help.c:463 sql_help.c:467 sql_help.c:468 sql_help.c:471 #: sql_help.c:473 sql_help.c:474 sql_help.c:475 sql_help.c:477 sql_help.c:480 #: sql_help.c:482 sql_help.c:483 sql_help.c:681 sql_help.c:691 sql_help.c:693 -#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:927 sql_help.c:1096 -#: sql_help.c:1327 sql_help.c:1345 sql_help.c:1349 sql_help.c:1350 -#: sql_help.c:1354 sql_help.c:1356 sql_help.c:1357 sql_help.c:1358 -#: sql_help.c:1360 sql_help.c:1361 sql_help.c:1363 sql_help.c:1366 -#: sql_help.c:1367 sql_help.c:1369 sql_help.c:1372 sql_help.c:1374 -#: sql_help.c:1375 sql_help.c:1422 sql_help.c:1424 sql_help.c:1431 -#: sql_help.c:1440 sql_help.c:1445 sql_help.c:1452 sql_help.c:1453 -#: sql_help.c:1704 sql_help.c:1707 sql_help.c:1711 sql_help.c:1747 -#: sql_help.c:1868 sql_help.c:1984 sql_help.c:1990 sql_help.c:2004 -#: sql_help.c:2005 sql_help.c:2006 sql_help.c:2354 sql_help.c:2367 -#: sql_help.c:2420 sql_help.c:2488 sql_help.c:2494 sql_help.c:2527 -#: sql_help.c:2658 sql_help.c:2763 sql_help.c:2798 sql_help.c:2800 -#: sql_help.c:2912 sql_help.c:2921 sql_help.c:2931 sql_help.c:2934 -#: sql_help.c:2944 sql_help.c:2948 sql_help.c:2971 sql_help.c:2973 -#: sql_help.c:2980 sql_help.c:2993 sql_help.c:2998 sql_help.c:3005 -#: sql_help.c:3006 sql_help.c:3022 sql_help.c:3148 sql_help.c:3288 -#: sql_help.c:3914 sql_help.c:3915 sql_help.c:4011 sql_help.c:4026 -#: sql_help.c:4028 sql_help.c:4030 sql_help.c:4124 sql_help.c:4127 -#: sql_help.c:4129 sql_help.c:4131 sql_help.c:4377 sql_help.c:4378 -#: sql_help.c:4498 sql_help.c:4659 sql_help.c:4666 sql_help.c:4668 -#: sql_help.c:4917 sql_help.c:4924 sql_help.c:4926 sql_help.c:4967 -#: sql_help.c:4969 sql_help.c:4971 sql_help.c:5024 sql_help.c:5162 -#: sql_help.c:5169 sql_help.c:5171 +#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:942 sql_help.c:1110 +#: sql_help.c:1341 sql_help.c:1359 sql_help.c:1363 sql_help.c:1364 +#: sql_help.c:1368 sql_help.c:1370 sql_help.c:1371 sql_help.c:1372 +#: sql_help.c:1374 sql_help.c:1375 sql_help.c:1377 sql_help.c:1380 +#: sql_help.c:1381 sql_help.c:1383 sql_help.c:1386 sql_help.c:1388 +#: sql_help.c:1389 sql_help.c:1436 sql_help.c:1438 sql_help.c:1445 +#: sql_help.c:1454 sql_help.c:1459 sql_help.c:1466 sql_help.c:1467 +#: sql_help.c:1718 sql_help.c:1721 sql_help.c:1725 sql_help.c:1761 +#: sql_help.c:1882 sql_help.c:1998 sql_help.c:2004 sql_help.c:2018 +#: sql_help.c:2019 sql_help.c:2020 sql_help.c:2368 sql_help.c:2381 +#: sql_help.c:2434 sql_help.c:2502 sql_help.c:2508 sql_help.c:2541 +#: sql_help.c:2679 sql_help.c:2783 sql_help.c:2818 sql_help.c:2820 +#: sql_help.c:2932 sql_help.c:2941 sql_help.c:2951 sql_help.c:2954 +#: sql_help.c:2964 sql_help.c:2968 sql_help.c:2991 sql_help.c:2993 +#: sql_help.c:3000 sql_help.c:3013 sql_help.c:3018 sql_help.c:3025 +#: sql_help.c:3026 sql_help.c:3042 sql_help.c:3168 sql_help.c:3308 +#: sql_help.c:3934 sql_help.c:3935 sql_help.c:4031 sql_help.c:4046 +#: sql_help.c:4048 sql_help.c:4050 sql_help.c:4144 sql_help.c:4147 +#: sql_help.c:4149 sql_help.c:4151 sql_help.c:4397 sql_help.c:4398 +#: sql_help.c:4518 sql_help.c:4679 sql_help.c:4686 sql_help.c:4688 +#: sql_help.c:4937 sql_help.c:4944 sql_help.c:4946 sql_help.c:4987 +#: sql_help.c:4989 sql_help.c:4991 sql_help.c:5044 sql_help.c:5182 +#: sql_help.c:5189 sql_help.c:5191 msgid "column_name" msgstr "kolumnnamn" -#: sql_help.c:457 sql_help.c:682 sql_help.c:1328 sql_help.c:1712 +#: sql_help.c:457 sql_help.c:682 sql_help.c:1342 sql_help.c:1726 msgid "new_column_name" msgstr "nytt_kolumnnamn" -#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1040 -#: sql_help.c:1344 sql_help.c:1612 +#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1054 +#: sql_help.c:1358 sql_help.c:1626 msgid "where action is one of:" msgstr "där aktion är en av:" -#: sql_help.c:464 sql_help.c:469 sql_help.c:1088 sql_help.c:1346 -#: sql_help.c:1351 sql_help.c:1614 sql_help.c:1618 sql_help.c:2258 -#: sql_help.c:2355 sql_help.c:2567 sql_help.c:2756 sql_help.c:2913 -#: sql_help.c:3195 sql_help.c:4183 +#: sql_help.c:464 sql_help.c:469 sql_help.c:1102 sql_help.c:1360 +#: sql_help.c:1365 sql_help.c:1628 sql_help.c:1632 sql_help.c:2272 +#: sql_help.c:2369 sql_help.c:2581 sql_help.c:2776 sql_help.c:2933 +#: sql_help.c:3215 sql_help.c:4203 msgid "data_type" msgstr "datatyp" -#: sql_help.c:465 sql_help.c:470 sql_help.c:1347 sql_help.c:1352 -#: sql_help.c:1447 sql_help.c:1615 sql_help.c:1619 sql_help.c:2259 -#: sql_help.c:2358 sql_help.c:2490 sql_help.c:2915 sql_help.c:2923 -#: sql_help.c:2936 sql_help.c:2950 sql_help.c:3000 sql_help.c:3196 -#: sql_help.c:3202 sql_help.c:4021 +#: sql_help.c:465 sql_help.c:470 sql_help.c:1361 sql_help.c:1366 +#: sql_help.c:1461 sql_help.c:1629 sql_help.c:1633 sql_help.c:2273 +#: sql_help.c:2372 sql_help.c:2504 sql_help.c:2935 sql_help.c:2943 +#: sql_help.c:2956 sql_help.c:2970 sql_help.c:3020 sql_help.c:3216 +#: sql_help.c:3222 sql_help.c:4041 msgid "collation" msgstr "jämförelse" -#: sql_help.c:466 sql_help.c:1348 sql_help.c:2359 sql_help.c:2368 -#: sql_help.c:2916 sql_help.c:2932 sql_help.c:2945 +#: sql_help.c:466 sql_help.c:1362 sql_help.c:2373 sql_help.c:2382 +#: sql_help.c:2936 sql_help.c:2952 sql_help.c:2965 msgid "column_constraint" msgstr "kolumnvillkor" -#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1368 sql_help.c:5018 +#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1382 sql_help.c:5038 msgid "integer" msgstr "heltal" -#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1370 -#: sql_help.c:1373 +#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1384 +#: sql_help.c:1387 msgid "attribute_option" msgstr "attributalternativ" -#: sql_help.c:486 sql_help.c:1377 sql_help.c:2360 sql_help.c:2369 -#: sql_help.c:2917 sql_help.c:2933 sql_help.c:2946 +#: sql_help.c:486 sql_help.c:1391 sql_help.c:2374 sql_help.c:2383 +#: sql_help.c:2937 sql_help.c:2953 sql_help.c:2966 msgid "table_constraint" msgstr "tabellvillkor" -#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1382 -#: sql_help.c:1383 sql_help.c:1384 sql_help.c:1385 sql_help.c:1922 +#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1396 +#: sql_help.c:1397 sql_help.c:1398 sql_help.c:1399 sql_help.c:1936 msgid "trigger_name" msgstr "triggernamn" -#: sql_help.c:493 sql_help.c:494 sql_help.c:1396 sql_help.c:1397 -#: sql_help.c:2361 sql_help.c:2366 sql_help.c:2920 sql_help.c:2943 +#: sql_help.c:493 sql_help.c:494 sql_help.c:1410 sql_help.c:1411 +#: sql_help.c:2375 sql_help.c:2380 sql_help.c:2940 sql_help.c:2963 msgid "parent_table" msgstr "föräldertabell" -#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1039 -#: sql_help.c:1571 sql_help.c:2290 +#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1053 +#: sql_help.c:1585 sql_help.c:2304 msgid "extension_name" msgstr "utökningsnamn" -#: sql_help.c:555 sql_help.c:1041 sql_help.c:2424 +#: sql_help.c:555 sql_help.c:1055 sql_help.c:2438 msgid "execution_cost" msgstr "körkostnad" -#: sql_help.c:556 sql_help.c:1042 sql_help.c:2425 +#: sql_help.c:556 sql_help.c:1056 sql_help.c:2439 msgid "result_rows" msgstr "resultatrader" -#: sql_help.c:557 sql_help.c:2426 +#: sql_help.c:557 sql_help.c:2440 msgid "support_function" msgstr "supportfunktion" -#: sql_help.c:579 sql_help.c:581 sql_help.c:964 sql_help.c:972 sql_help.c:976 -#: sql_help.c:979 sql_help.c:982 sql_help.c:1654 sql_help.c:1662 -#: sql_help.c:1666 sql_help.c:1669 sql_help.c:1672 sql_help.c:2734 -#: sql_help.c:2736 sql_help.c:2739 sql_help.c:2740 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3917 sql_help.c:3918 sql_help.c:3921 -#: sql_help.c:3922 sql_help.c:3924 sql_help.c:3925 sql_help.c:3927 -#: sql_help.c:3928 sql_help.c:3930 sql_help.c:3931 sql_help.c:3933 -#: sql_help.c:3934 sql_help.c:3940 sql_help.c:3941 sql_help.c:3943 -#: sql_help.c:3944 sql_help.c:3946 sql_help.c:3947 sql_help.c:3949 -#: sql_help.c:3950 sql_help.c:3952 sql_help.c:3953 sql_help.c:3955 -#: sql_help.c:3956 sql_help.c:3958 sql_help.c:3959 sql_help.c:3961 -#: sql_help.c:3962 sql_help.c:4375 sql_help.c:4376 sql_help.c:4380 -#: sql_help.c:4381 sql_help.c:4384 sql_help.c:4385 sql_help.c:4387 -#: sql_help.c:4388 sql_help.c:4390 sql_help.c:4391 sql_help.c:4393 -#: sql_help.c:4394 sql_help.c:4396 sql_help.c:4397 sql_help.c:4403 -#: sql_help.c:4404 sql_help.c:4406 sql_help.c:4407 sql_help.c:4409 -#: sql_help.c:4410 sql_help.c:4412 sql_help.c:4413 sql_help.c:4415 -#: sql_help.c:4416 sql_help.c:4418 sql_help.c:4419 sql_help.c:4421 -#: sql_help.c:4422 sql_help.c:4424 sql_help.c:4425 +#: sql_help.c:579 sql_help.c:581 sql_help.c:978 sql_help.c:986 sql_help.c:990 +#: sql_help.c:993 sql_help.c:996 sql_help.c:1668 sql_help.c:1676 +#: sql_help.c:1680 sql_help.c:1683 sql_help.c:1686 sql_help.c:2754 +#: sql_help.c:2756 sql_help.c:2759 sql_help.c:2760 sql_help.c:3932 +#: sql_help.c:3933 sql_help.c:3937 sql_help.c:3938 sql_help.c:3941 +#: sql_help.c:3942 sql_help.c:3944 sql_help.c:3945 sql_help.c:3947 +#: sql_help.c:3948 sql_help.c:3950 sql_help.c:3951 sql_help.c:3953 +#: sql_help.c:3954 sql_help.c:3960 sql_help.c:3961 sql_help.c:3963 +#: sql_help.c:3964 sql_help.c:3966 sql_help.c:3967 sql_help.c:3969 +#: sql_help.c:3970 sql_help.c:3972 sql_help.c:3973 sql_help.c:3975 +#: sql_help.c:3976 sql_help.c:3978 sql_help.c:3979 sql_help.c:3981 +#: sql_help.c:3982 sql_help.c:4395 sql_help.c:4396 sql_help.c:4400 +#: sql_help.c:4401 sql_help.c:4404 sql_help.c:4405 sql_help.c:4407 +#: sql_help.c:4408 sql_help.c:4410 sql_help.c:4411 sql_help.c:4413 +#: sql_help.c:4414 sql_help.c:4416 sql_help.c:4417 sql_help.c:4423 +#: sql_help.c:4424 sql_help.c:4426 sql_help.c:4427 sql_help.c:4429 +#: sql_help.c:4430 sql_help.c:4432 sql_help.c:4433 sql_help.c:4435 +#: sql_help.c:4436 sql_help.c:4438 sql_help.c:4439 sql_help.c:4441 +#: sql_help.c:4442 sql_help.c:4444 sql_help.c:4445 msgid "role_specification" msgstr "rollspecifikation" -#: sql_help.c:580 sql_help.c:582 sql_help.c:1685 sql_help.c:2225 -#: sql_help.c:2742 sql_help.c:3273 sql_help.c:3724 sql_help.c:4753 +#: sql_help.c:580 sql_help.c:582 sql_help.c:1699 sql_help.c:2239 +#: sql_help.c:2762 sql_help.c:3293 sql_help.c:3744 sql_help.c:4773 msgid "user_name" msgstr "användarnamn" -#: sql_help.c:583 sql_help.c:984 sql_help.c:1674 sql_help.c:2741 -#: sql_help.c:3963 sql_help.c:4426 +#: sql_help.c:583 sql_help.c:998 sql_help.c:1688 sql_help.c:2761 +#: sql_help.c:3983 sql_help.c:4446 msgid "where role_specification can be:" msgstr "där rollspecifikation kan vara:" @@ -4651,22 +4660,22 @@ msgid "group_name" msgstr "gruppnamn" -#: sql_help.c:606 sql_help.c:1443 sql_help.c:2237 sql_help.c:2497 -#: sql_help.c:2531 sql_help.c:2928 sql_help.c:2941 sql_help.c:2955 -#: sql_help.c:2996 sql_help.c:3026 sql_help.c:3038 sql_help.c:3954 -#: sql_help.c:4417 +#: sql_help.c:606 sql_help.c:1457 sql_help.c:2251 sql_help.c:2511 +#: sql_help.c:2545 sql_help.c:2948 sql_help.c:2961 sql_help.c:2975 +#: sql_help.c:3016 sql_help.c:3046 sql_help.c:3058 sql_help.c:3974 +#: sql_help.c:4437 msgid "tablespace_name" msgstr "tabellutrymmesnamn" -#: sql_help.c:608 sql_help.c:701 sql_help.c:1390 sql_help.c:1400 -#: sql_help.c:1438 sql_help.c:1800 +#: sql_help.c:608 sql_help.c:701 sql_help.c:1404 sql_help.c:1414 +#: sql_help.c:1452 sql_help.c:1814 msgid "index_name" msgstr "indexnamn" -#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1393 -#: sql_help.c:1395 sql_help.c:1441 sql_help.c:2495 sql_help.c:2529 -#: sql_help.c:2926 sql_help.c:2939 sql_help.c:2953 sql_help.c:2994 -#: sql_help.c:3024 +#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1407 +#: sql_help.c:1409 sql_help.c:1455 sql_help.c:2509 sql_help.c:2543 +#: sql_help.c:2946 sql_help.c:2959 sql_help.c:2973 sql_help.c:3014 +#: sql_help.c:3044 msgid "storage_parameter" msgstr "lagringsparameter" @@ -4674,1907 +4683,1915 @@ msgid "column_number" msgstr "kolumnnummer" -#: sql_help.c:641 sql_help.c:1885 sql_help.c:4509 +#: sql_help.c:641 sql_help.c:1899 sql_help.c:4529 msgid "large_object_oid" msgstr "stort_objekt_oid" -#: sql_help.c:700 sql_help.c:1376 sql_help.c:2914 +#: sql_help.c:700 sql_help.c:1390 sql_help.c:2934 msgid "compression_method" msgstr "komprimeringsmetod" -#: sql_help.c:702 sql_help.c:1391 +#: sql_help.c:702 sql_help.c:1405 msgid "new_access_method" msgstr "ny_accessmetod" -#: sql_help.c:739 sql_help.c:2552 +#: sql_help.c:739 sql_help.c:2566 msgid "res_proc" msgstr "res_proc" -#: sql_help.c:740 sql_help.c:2553 +#: sql_help.c:740 sql_help.c:2567 msgid "join_proc" msgstr "join_proc" -#: sql_help.c:741 sql_help.c:2550 +#: sql_help.c:741 sql_help.c:2564 msgid "com_op" msgstr "com_op" -#: sql_help.c:742 sql_help.c:2551 +#: sql_help.c:742 sql_help.c:2565 msgid "neg_op" msgstr "neg_op" -#: sql_help.c:794 sql_help.c:806 sql_help.c:2570 +#: sql_help.c:794 sql_help.c:806 sql_help.c:2584 msgid "strategy_number" msgstr "strateginummer" #: sql_help.c:796 sql_help.c:797 sql_help.c:800 sql_help.c:801 sql_help.c:807 -#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2572 sql_help.c:2573 -#: sql_help.c:2576 sql_help.c:2577 +#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2586 sql_help.c:2587 +#: sql_help.c:2590 sql_help.c:2591 msgid "op_type" msgstr "op_typ" -#: sql_help.c:798 sql_help.c:2574 +#: sql_help.c:798 sql_help.c:2588 msgid "sort_family_name" msgstr "sorteringsfamiljnamn" -#: sql_help.c:799 sql_help.c:809 sql_help.c:2575 +#: sql_help.c:799 sql_help.c:809 sql_help.c:2589 msgid "support_number" msgstr "supportnummer" -#: sql_help.c:803 sql_help.c:2157 sql_help.c:2579 sql_help.c:3115 -#: sql_help.c:3117 +#: sql_help.c:803 sql_help.c:2171 sql_help.c:2593 sql_help.c:3135 +#: sql_help.c:3137 msgid "argument_type" msgstr "argumenttyp" -#: sql_help.c:834 sql_help.c:837 sql_help.c:926 sql_help.c:1055 sql_help.c:1095 -#: sql_help.c:1567 sql_help.c:1570 sql_help.c:1746 sql_help.c:1799 -#: sql_help.c:1870 sql_help.c:1895 sql_help.c:1908 sql_help.c:1923 -#: sql_help.c:1983 sql_help.c:1989 sql_help.c:2353 sql_help.c:2365 -#: sql_help.c:2486 sql_help.c:2526 sql_help.c:2603 sql_help.c:2657 -#: sql_help.c:2710 sql_help.c:2762 sql_help.c:2795 sql_help.c:2802 -#: sql_help.c:2911 sql_help.c:2929 sql_help.c:2942 sql_help.c:3021 -#: sql_help.c:3141 sql_help.c:3322 sql_help.c:3545 sql_help.c:3594 -#: sql_help.c:3700 sql_help.c:3910 sql_help.c:3916 sql_help.c:3977 -#: sql_help.c:4009 sql_help.c:4373 sql_help.c:4379 sql_help.c:4497 -#: sql_help.c:4610 sql_help.c:4673 sql_help.c:4712 sql_help.c:4868 -#: sql_help.c:4931 sql_help.c:4965 sql_help.c:5023 sql_help.c:5113 -#: sql_help.c:5176 +#: sql_help.c:834 sql_help.c:837 sql_help.c:938 sql_help.c:941 sql_help.c:1069 +#: sql_help.c:1109 sql_help.c:1581 sql_help.c:1584 sql_help.c:1760 +#: sql_help.c:1813 sql_help.c:1884 sql_help.c:1909 sql_help.c:1922 +#: sql_help.c:1937 sql_help.c:1997 sql_help.c:2003 sql_help.c:2367 +#: sql_help.c:2379 sql_help.c:2500 sql_help.c:2540 sql_help.c:2617 +#: sql_help.c:2678 sql_help.c:2730 sql_help.c:2782 sql_help.c:2815 +#: sql_help.c:2822 sql_help.c:2931 sql_help.c:2949 sql_help.c:2962 +#: sql_help.c:3041 sql_help.c:3161 sql_help.c:3342 sql_help.c:3565 +#: sql_help.c:3614 sql_help.c:3720 sql_help.c:3930 sql_help.c:3936 +#: sql_help.c:3997 sql_help.c:4029 sql_help.c:4393 sql_help.c:4399 +#: sql_help.c:4517 sql_help.c:4630 sql_help.c:4693 sql_help.c:4732 +#: sql_help.c:4888 sql_help.c:4951 sql_help.c:4985 sql_help.c:5043 +#: sql_help.c:5133 sql_help.c:5196 msgid "table_name" msgstr "tabellnamn" -#: sql_help.c:839 sql_help.c:2605 +#: sql_help.c:839 sql_help.c:2619 msgid "using_expression" msgstr "using-uttryck" -#: sql_help.c:840 sql_help.c:2606 +#: sql_help.c:840 sql_help.c:2620 msgid "check_expression" msgstr "check-uttryck" -#: sql_help.c:913 sql_help.c:915 sql_help.c:917 sql_help.c:2653 +#: sql_help.c:922 sql_help.c:924 sql_help.c:2671 msgid "publication_object" msgstr "publiceringsobject" -#: sql_help.c:919 sql_help.c:2654 +#: sql_help.c:926 +msgid "publication_drop_object" +msgstr "publiceringsslängobject" + +#: sql_help.c:928 sql_help.c:2672 msgid "publication_parameter" msgstr "publiceringsparameter" -#: sql_help.c:925 sql_help.c:2656 +#: sql_help.c:934 sql_help.c:2674 msgid "where publication_object is one of:" msgstr "där publiceringsobjekt är en av:" -#: sql_help.c:968 sql_help.c:1658 sql_help.c:2464 sql_help.c:2689 -#: sql_help.c:3256 +#: sql_help.c:935 sql_help.c:1754 sql_help.c:2675 sql_help.c:5027 +msgid "table_and_columns" +msgstr "tabell_och_kolumner" + +#: sql_help.c:937 +msgid "and publication_drop_object is one of:" +msgstr "där publiceringsslängobjekt är en av:" + +#: sql_help.c:940 sql_help.c:1759 sql_help.c:2677 sql_help.c:5042 +msgid "and table_and_columns is:" +msgstr "och tabell_och_kolumner är:" + +#: sql_help.c:982 sql_help.c:1672 sql_help.c:2478 sql_help.c:2709 +#: sql_help.c:3276 msgid "password" msgstr "lösenord" -#: sql_help.c:969 sql_help.c:1659 sql_help.c:2465 sql_help.c:2690 -#: sql_help.c:3257 +#: sql_help.c:983 sql_help.c:1673 sql_help.c:2479 sql_help.c:2710 +#: sql_help.c:3277 msgid "timestamp" msgstr "tidsstämpel" -#: sql_help.c:973 sql_help.c:977 sql_help.c:980 sql_help.c:983 sql_help.c:1663 -#: sql_help.c:1667 sql_help.c:1670 sql_help.c:1673 sql_help.c:3923 -#: sql_help.c:4386 +#: sql_help.c:987 sql_help.c:991 sql_help.c:994 sql_help.c:997 sql_help.c:1677 +#: sql_help.c:1681 sql_help.c:1684 sql_help.c:1687 sql_help.c:3943 +#: sql_help.c:4406 msgid "database_name" msgstr "databasnamn" -#: sql_help.c:1089 sql_help.c:2757 +#: sql_help.c:1103 sql_help.c:2777 msgid "increment" msgstr "ökningsvärde" -#: sql_help.c:1090 sql_help.c:2758 +#: sql_help.c:1104 sql_help.c:2778 msgid "minvalue" msgstr "minvärde" -#: sql_help.c:1091 sql_help.c:2759 +#: sql_help.c:1105 sql_help.c:2779 msgid "maxvalue" msgstr "maxvärde" -#: sql_help.c:1092 sql_help.c:2760 sql_help.c:4606 sql_help.c:4710 -#: sql_help.c:4864 sql_help.c:5040 sql_help.c:5109 +#: sql_help.c:1106 sql_help.c:2780 sql_help.c:4626 sql_help.c:4730 +#: sql_help.c:4884 sql_help.c:5060 sql_help.c:5129 msgid "start" msgstr "start" -#: sql_help.c:1093 sql_help.c:1365 +#: sql_help.c:1107 sql_help.c:1379 msgid "restart" msgstr "starta om" -#: sql_help.c:1094 sql_help.c:2761 +#: sql_help.c:1108 sql_help.c:2781 msgid "cache" msgstr "cache" -#: sql_help.c:1139 +#: sql_help.c:1153 msgid "new_target" msgstr "nytt_mål" -#: sql_help.c:1158 sql_help.c:2814 +#: sql_help.c:1172 sql_help.c:2834 msgid "conninfo" msgstr "anslinfo" -#: sql_help.c:1160 sql_help.c:1164 sql_help.c:1168 sql_help.c:2815 +#: sql_help.c:1174 sql_help.c:1178 sql_help.c:1182 sql_help.c:2835 msgid "publication_name" msgstr "publiceringsnamn" -#: sql_help.c:1161 sql_help.c:1165 sql_help.c:1169 +#: sql_help.c:1175 sql_help.c:1179 sql_help.c:1183 msgid "publication_option" msgstr "publicerings_alternativ" -#: sql_help.c:1172 +#: sql_help.c:1186 msgid "refresh_option" msgstr "refresh_alternativ" -#: sql_help.c:1177 sql_help.c:2816 +#: sql_help.c:1191 sql_help.c:2836 msgid "subscription_parameter" msgstr "prenumerationsparameter" -#: sql_help.c:1180 +#: sql_help.c:1194 msgid "skip_option" msgstr "skip_alternativ" -#: sql_help.c:1340 sql_help.c:1343 +#: sql_help.c:1354 sql_help.c:1357 msgid "partition_name" msgstr "partitionsnamn" -#: sql_help.c:1341 sql_help.c:2370 sql_help.c:2947 +#: sql_help.c:1355 sql_help.c:2384 sql_help.c:2967 msgid "partition_bound_spec" msgstr "partitionsgränsspec" -#: sql_help.c:1362 sql_help.c:1412 sql_help.c:2961 +#: sql_help.c:1376 sql_help.c:1426 sql_help.c:2981 msgid "sequence_options" msgstr "sekvensalternativ" -#: sql_help.c:1364 +#: sql_help.c:1378 msgid "sequence_option" msgstr "sekvensalternativ" -#: sql_help.c:1378 +#: sql_help.c:1392 msgid "table_constraint_using_index" msgstr "tabellvillkor_för_index" -#: sql_help.c:1386 sql_help.c:1387 sql_help.c:1388 sql_help.c:1389 +#: sql_help.c:1400 sql_help.c:1401 sql_help.c:1402 sql_help.c:1403 msgid "rewrite_rule_name" msgstr "omskrivningsregelnamn" -#: sql_help.c:1401 sql_help.c:2382 sql_help.c:2986 +#: sql_help.c:1415 sql_help.c:2396 sql_help.c:3006 msgid "and partition_bound_spec is:" msgstr "och partitionsgränsspec är:" -#: sql_help.c:1402 sql_help.c:1403 sql_help.c:1404 sql_help.c:2383 -#: sql_help.c:2384 sql_help.c:2385 sql_help.c:2987 sql_help.c:2988 -#: sql_help.c:2989 +#: sql_help.c:1416 sql_help.c:1417 sql_help.c:1418 sql_help.c:2397 +#: sql_help.c:2398 sql_help.c:2399 sql_help.c:3007 sql_help.c:3008 +#: sql_help.c:3009 msgid "partition_bound_expr" msgstr "partitionsgränsuttryck" -#: sql_help.c:1405 sql_help.c:1406 sql_help.c:2386 sql_help.c:2387 -#: sql_help.c:2990 sql_help.c:2991 +#: sql_help.c:1419 sql_help.c:1420 sql_help.c:2400 sql_help.c:2401 +#: sql_help.c:3010 sql_help.c:3011 msgid "numeric_literal" msgstr "numerisk_literal" -#: sql_help.c:1407 +#: sql_help.c:1421 msgid "and column_constraint is:" msgstr "och kolumnvillkor är:" -#: sql_help.c:1410 sql_help.c:2377 sql_help.c:2418 sql_help.c:2627 -#: sql_help.c:2959 +#: sql_help.c:1424 sql_help.c:2391 sql_help.c:2432 sql_help.c:2641 +#: sql_help.c:2979 msgid "default_expr" msgstr "default_uttryck" -#: sql_help.c:1411 sql_help.c:2378 sql_help.c:2960 +#: sql_help.c:1425 sql_help.c:2392 sql_help.c:2980 msgid "generation_expr" msgstr "generatoruttryck" -#: sql_help.c:1413 sql_help.c:1414 sql_help.c:1423 sql_help.c:1425 -#: sql_help.c:1429 sql_help.c:2962 sql_help.c:2963 sql_help.c:2972 -#: sql_help.c:2974 sql_help.c:2978 +#: sql_help.c:1427 sql_help.c:1428 sql_help.c:1437 sql_help.c:1439 +#: sql_help.c:1443 sql_help.c:2982 sql_help.c:2983 sql_help.c:2992 +#: sql_help.c:2994 sql_help.c:2998 msgid "index_parameters" msgstr "indexparametrar" -#: sql_help.c:1415 sql_help.c:1432 sql_help.c:2964 sql_help.c:2981 +#: sql_help.c:1429 sql_help.c:1446 sql_help.c:2984 sql_help.c:3001 msgid "reftable" msgstr "reftabell" -#: sql_help.c:1416 sql_help.c:1433 sql_help.c:2965 sql_help.c:2982 +#: sql_help.c:1430 sql_help.c:1447 sql_help.c:2985 sql_help.c:3002 msgid "refcolumn" msgstr "refkolumn" -#: sql_help.c:1417 sql_help.c:1418 sql_help.c:1434 sql_help.c:1435 -#: sql_help.c:2966 sql_help.c:2967 sql_help.c:2983 sql_help.c:2984 +#: sql_help.c:1431 sql_help.c:1432 sql_help.c:1448 sql_help.c:1449 +#: sql_help.c:2986 sql_help.c:2987 sql_help.c:3003 sql_help.c:3004 msgid "referential_action" msgstr "referentiell_aktion" -#: sql_help.c:1419 sql_help.c:2379 sql_help.c:2968 +#: sql_help.c:1433 sql_help.c:2393 sql_help.c:2988 msgid "and table_constraint is:" msgstr "och tabellvillkor är:" -#: sql_help.c:1427 sql_help.c:2976 +#: sql_help.c:1441 sql_help.c:2996 msgid "exclude_element" msgstr "uteslutelement" -#: sql_help.c:1428 sql_help.c:2977 sql_help.c:4604 sql_help.c:4708 -#: sql_help.c:4862 sql_help.c:5038 sql_help.c:5107 +#: sql_help.c:1442 sql_help.c:2997 sql_help.c:4624 sql_help.c:4728 +#: sql_help.c:4882 sql_help.c:5058 sql_help.c:5127 msgid "operator" msgstr "operator" -#: sql_help.c:1430 sql_help.c:2498 sql_help.c:2979 +#: sql_help.c:1444 sql_help.c:2512 sql_help.c:2999 msgid "predicate" msgstr "predikat" -#: sql_help.c:1436 +#: sql_help.c:1450 msgid "and table_constraint_using_index is:" msgstr "och tabellvillkor_för_index är:" -#: sql_help.c:1439 sql_help.c:2992 +#: sql_help.c:1453 sql_help.c:3012 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "indexparametrar i UNIQUE-, PRIMARY KEY- och EXCLUDE-villkor är:" -#: sql_help.c:1444 sql_help.c:2997 +#: sql_help.c:1458 sql_help.c:3017 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "uteslutelement i ett EXCLUDE-villkort är:" -#: sql_help.c:1448 sql_help.c:2491 sql_help.c:2924 sql_help.c:2937 -#: sql_help.c:2951 sql_help.c:3001 sql_help.c:4022 +#: sql_help.c:1462 sql_help.c:2505 sql_help.c:2944 sql_help.c:2957 +#: sql_help.c:2971 sql_help.c:3021 sql_help.c:4042 msgid "opclass" msgstr "op-klass" -#: sql_help.c:1449 sql_help.c:2492 sql_help.c:3002 +#: sql_help.c:1463 sql_help.c:2506 sql_help.c:3022 msgid "opclass_parameter" msgstr "opclass_parameter" -#: sql_help.c:1451 sql_help.c:3004 +#: sql_help.c:1465 sql_help.c:3024 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "referentiell_aktion i ett FOREIGN KEY/REFERENCES-villkor är:" -#: sql_help.c:1469 sql_help.c:1472 sql_help.c:3041 +#: sql_help.c:1483 sql_help.c:1486 sql_help.c:3061 msgid "tablespace_option" msgstr "tabellutrymmesalternativ" -#: sql_help.c:1493 sql_help.c:1496 sql_help.c:1502 sql_help.c:1506 +#: sql_help.c:1507 sql_help.c:1510 sql_help.c:1516 sql_help.c:1520 msgid "token_type" msgstr "symboltyp" -#: sql_help.c:1494 sql_help.c:1497 +#: sql_help.c:1508 sql_help.c:1511 msgid "dictionary_name" msgstr "ordlistnamn" -#: sql_help.c:1499 sql_help.c:1503 +#: sql_help.c:1513 sql_help.c:1517 msgid "old_dictionary" msgstr "gammal_ordlista" -#: sql_help.c:1500 sql_help.c:1504 +#: sql_help.c:1514 sql_help.c:1518 msgid "new_dictionary" msgstr "ny_ordlista" -#: sql_help.c:1599 sql_help.c:1613 sql_help.c:1616 sql_help.c:1617 -#: sql_help.c:3194 +#: sql_help.c:1613 sql_help.c:1627 sql_help.c:1630 sql_help.c:1631 +#: sql_help.c:3214 msgid "attribute_name" msgstr "attributnamn" -#: sql_help.c:1600 +#: sql_help.c:1614 msgid "new_attribute_name" msgstr "nytt_attributnamn" -#: sql_help.c:1604 sql_help.c:1608 +#: sql_help.c:1618 sql_help.c:1622 msgid "new_enum_value" msgstr "nytt_enumvärde" -#: sql_help.c:1605 +#: sql_help.c:1619 msgid "neighbor_enum_value" msgstr "närliggande_enumvärde" -#: sql_help.c:1607 +#: sql_help.c:1621 msgid "existing_enum_value" msgstr "existerande_enumvärde" -#: sql_help.c:1610 +#: sql_help.c:1624 msgid "property" msgstr "egenskap" -#: sql_help.c:1686 sql_help.c:2362 sql_help.c:2371 sql_help.c:2773 -#: sql_help.c:3274 sql_help.c:3725 sql_help.c:3932 sql_help.c:3978 -#: sql_help.c:4395 +#: sql_help.c:1700 sql_help.c:2376 sql_help.c:2385 sql_help.c:2793 +#: sql_help.c:3294 sql_help.c:3745 sql_help.c:3952 sql_help.c:3998 +#: sql_help.c:4415 msgid "server_name" msgstr "servernamn" -#: sql_help.c:1718 sql_help.c:1721 sql_help.c:3289 +#: sql_help.c:1732 sql_help.c:1735 sql_help.c:3309 msgid "view_option_name" msgstr "visningsalternativnamn" -#: sql_help.c:1719 sql_help.c:3290 +#: sql_help.c:1733 sql_help.c:3310 msgid "view_option_value" msgstr "visningsalternativvärde" -#: sql_help.c:1740 sql_help.c:5007 -msgid "table_and_columns" -msgstr "tabell_och_kolumner" - -#: sql_help.c:1741 sql_help.c:1801 sql_help.c:1995 sql_help.c:3774 -#: sql_help.c:4230 sql_help.c:5008 +#: sql_help.c:1755 sql_help.c:1815 sql_help.c:2009 sql_help.c:3794 +#: sql_help.c:4250 sql_help.c:5028 msgid "where option can be one of:" msgstr "där flaggor kan vara en av:" -#: sql_help.c:1742 sql_help.c:1743 sql_help.c:1802 sql_help.c:1997 -#: sql_help.c:2001 sql_help.c:2183 sql_help.c:3775 sql_help.c:3776 -#: sql_help.c:3777 sql_help.c:3778 sql_help.c:3779 sql_help.c:3780 -#: sql_help.c:3781 sql_help.c:3782 sql_help.c:3783 sql_help.c:3784 -#: sql_help.c:4231 sql_help.c:4233 sql_help.c:5009 sql_help.c:5010 -#: sql_help.c:5011 sql_help.c:5012 sql_help.c:5013 sql_help.c:5014 -#: sql_help.c:5015 sql_help.c:5016 sql_help.c:5017 sql_help.c:5019 -#: sql_help.c:5020 +#: sql_help.c:1756 sql_help.c:1757 sql_help.c:1816 sql_help.c:2011 +#: sql_help.c:2015 sql_help.c:2197 sql_help.c:3795 sql_help.c:3796 +#: sql_help.c:3797 sql_help.c:3798 sql_help.c:3799 sql_help.c:3800 +#: sql_help.c:3801 sql_help.c:3802 sql_help.c:3803 sql_help.c:3804 +#: sql_help.c:4251 sql_help.c:4253 sql_help.c:5029 sql_help.c:5030 +#: sql_help.c:5031 sql_help.c:5032 sql_help.c:5033 sql_help.c:5034 +#: sql_help.c:5035 sql_help.c:5036 sql_help.c:5037 sql_help.c:5039 +#: sql_help.c:5040 msgid "boolean" msgstr "boolean" -#: sql_help.c:1744 sql_help.c:5021 +#: sql_help.c:1758 sql_help.c:5041 msgid "size" msgstr "storlek" -#: sql_help.c:1745 sql_help.c:5022 -msgid "and table_and_columns is:" -msgstr "och tabell_och_kolumner är:" - -#: sql_help.c:1761 sql_help.c:4769 sql_help.c:4771 sql_help.c:4795 +#: sql_help.c:1775 sql_help.c:4789 sql_help.c:4791 sql_help.c:4815 msgid "transaction_mode" msgstr "transaktionsläge" -#: sql_help.c:1762 sql_help.c:4772 sql_help.c:4796 +#: sql_help.c:1776 sql_help.c:4792 sql_help.c:4816 msgid "where transaction_mode is one of:" msgstr "där transaktionsläge är en av:" -#: sql_help.c:1771 sql_help.c:4614 sql_help.c:4623 sql_help.c:4627 -#: sql_help.c:4631 sql_help.c:4634 sql_help.c:4872 sql_help.c:4881 -#: sql_help.c:4885 sql_help.c:4889 sql_help.c:4892 sql_help.c:5117 -#: sql_help.c:5126 sql_help.c:5130 sql_help.c:5134 sql_help.c:5137 +#: sql_help.c:1785 sql_help.c:4634 sql_help.c:4643 sql_help.c:4647 +#: sql_help.c:4651 sql_help.c:4654 sql_help.c:4892 sql_help.c:4901 +#: sql_help.c:4905 sql_help.c:4909 sql_help.c:4912 sql_help.c:5137 +#: sql_help.c:5146 sql_help.c:5150 sql_help.c:5154 sql_help.c:5157 msgid "argument" msgstr "argument" -#: sql_help.c:1867 +#: sql_help.c:1881 msgid "relation_name" msgstr "relationsnamn" -#: sql_help.c:1872 sql_help.c:3926 sql_help.c:4389 +#: sql_help.c:1886 sql_help.c:3946 sql_help.c:4409 msgid "domain_name" msgstr "domännamn" -#: sql_help.c:1894 +#: sql_help.c:1908 msgid "policy_name" msgstr "policynamn" -#: sql_help.c:1907 +#: sql_help.c:1921 msgid "rule_name" msgstr "regelnamn" -#: sql_help.c:1926 sql_help.c:4528 +#: sql_help.c:1940 sql_help.c:4548 msgid "string_literal" msgstr "sträng_literal" -#: sql_help.c:1951 sql_help.c:4192 sql_help.c:4442 +#: sql_help.c:1965 sql_help.c:4212 sql_help.c:4462 msgid "transaction_id" msgstr "transaktions-id" -#: sql_help.c:1985 sql_help.c:1992 sql_help.c:4048 +#: sql_help.c:1999 sql_help.c:2006 sql_help.c:4068 msgid "filename" msgstr "filnamn" -#: sql_help.c:1986 sql_help.c:1993 sql_help.c:2712 sql_help.c:2713 -#: sql_help.c:2714 +#: sql_help.c:2000 sql_help.c:2007 sql_help.c:2732 sql_help.c:2733 +#: sql_help.c:2734 msgid "command" msgstr "kommando" -#: sql_help.c:1988 sql_help.c:2711 sql_help.c:3144 sql_help.c:3325 -#: sql_help.c:4032 sql_help.c:4115 sql_help.c:4118 sql_help.c:4121 -#: sql_help.c:4597 sql_help.c:4599 sql_help.c:4701 sql_help.c:4703 -#: sql_help.c:4855 sql_help.c:4857 sql_help.c:4974 sql_help.c:5100 -#: sql_help.c:5102 +#: sql_help.c:2002 sql_help.c:2731 sql_help.c:3164 sql_help.c:3345 +#: sql_help.c:4052 sql_help.c:4135 sql_help.c:4138 sql_help.c:4141 +#: sql_help.c:4617 sql_help.c:4619 sql_help.c:4721 sql_help.c:4723 +#: sql_help.c:4875 sql_help.c:4877 sql_help.c:4994 sql_help.c:5120 +#: sql_help.c:5122 msgid "condition" msgstr "villkor" -#: sql_help.c:1991 sql_help.c:2532 sql_help.c:3027 sql_help.c:3291 -#: sql_help.c:3309 sql_help.c:4013 +#: sql_help.c:2005 sql_help.c:2546 sql_help.c:3047 sql_help.c:3311 +#: sql_help.c:3329 sql_help.c:4033 msgid "query" msgstr "fråga" -#: sql_help.c:1996 +#: sql_help.c:2010 msgid "format_name" msgstr "formatnamn" -#: sql_help.c:1998 +#: sql_help.c:2012 msgid "delimiter_character" msgstr "avdelartecken" -#: sql_help.c:1999 +#: sql_help.c:2013 msgid "null_string" msgstr "null-sträng" -#: sql_help.c:2000 +#: sql_help.c:2014 msgid "default_string" msgstr "standard-sträng" -#: sql_help.c:2002 +#: sql_help.c:2016 msgid "quote_character" msgstr "citattecken" -#: sql_help.c:2003 +#: sql_help.c:2017 msgid "escape_character" msgstr "escape-tecken" -#: sql_help.c:2007 +#: sql_help.c:2021 msgid "error_action" msgstr "fel_aktion" -#: sql_help.c:2008 +#: sql_help.c:2022 msgid "encoding_name" msgstr "kodningsnamn" -#: sql_help.c:2009 +#: sql_help.c:2023 msgid "verbosity" msgstr "verbosity" -#: sql_help.c:2020 +#: sql_help.c:2034 msgid "access_method_type" msgstr "accessmetodtyp" -#: sql_help.c:2091 sql_help.c:2110 sql_help.c:2113 +#: sql_help.c:2105 sql_help.c:2124 sql_help.c:2127 msgid "arg_data_type" msgstr "arg_datatyp" -#: sql_help.c:2092 sql_help.c:2114 sql_help.c:2122 +#: sql_help.c:2106 sql_help.c:2128 sql_help.c:2136 msgid "sfunc" msgstr "sfunc" -#: sql_help.c:2093 sql_help.c:2115 sql_help.c:2123 +#: sql_help.c:2107 sql_help.c:2129 sql_help.c:2137 msgid "state_data_type" msgstr "tillståndsdatatyp" -#: sql_help.c:2094 sql_help.c:2116 sql_help.c:2124 +#: sql_help.c:2108 sql_help.c:2130 sql_help.c:2138 msgid "state_data_size" msgstr "tillståndsdatastorlek" -#: sql_help.c:2095 sql_help.c:2117 sql_help.c:2125 +#: sql_help.c:2109 sql_help.c:2131 sql_help.c:2139 msgid "ffunc" msgstr "ffunc" -#: sql_help.c:2096 sql_help.c:2126 +#: sql_help.c:2110 sql_help.c:2140 msgid "combinefunc" msgstr "kombinerafunk" -#: sql_help.c:2097 sql_help.c:2127 +#: sql_help.c:2111 sql_help.c:2141 msgid "serialfunc" msgstr "serialiseringsfunk" -#: sql_help.c:2098 sql_help.c:2128 +#: sql_help.c:2112 sql_help.c:2142 msgid "deserialfunc" msgstr "deserialiseringsfunk" -#: sql_help.c:2099 sql_help.c:2118 sql_help.c:2129 +#: sql_help.c:2113 sql_help.c:2132 sql_help.c:2143 msgid "initial_condition" msgstr "startvärde" -#: sql_help.c:2100 sql_help.c:2130 +#: sql_help.c:2114 sql_help.c:2144 msgid "msfunc" msgstr "msfunk" -#: sql_help.c:2101 sql_help.c:2131 +#: sql_help.c:2115 sql_help.c:2145 msgid "minvfunc" msgstr "minvfunk" -#: sql_help.c:2102 sql_help.c:2132 +#: sql_help.c:2116 sql_help.c:2146 msgid "mstate_data_type" msgstr "mtillståndsdatatyp" -#: sql_help.c:2103 sql_help.c:2133 +#: sql_help.c:2117 sql_help.c:2147 msgid "mstate_data_size" msgstr "ntillståndsstorlek" -#: sql_help.c:2104 sql_help.c:2134 +#: sql_help.c:2118 sql_help.c:2148 msgid "mffunc" msgstr "mffunk" -#: sql_help.c:2105 sql_help.c:2135 +#: sql_help.c:2119 sql_help.c:2149 msgid "minitial_condition" msgstr "mstartvärde" -#: sql_help.c:2106 sql_help.c:2136 +#: sql_help.c:2120 sql_help.c:2150 msgid "sort_operator" msgstr "sorteringsoperator" -#: sql_help.c:2119 +#: sql_help.c:2133 msgid "or the old syntax" msgstr "eller gamla syntaxen" -#: sql_help.c:2121 +#: sql_help.c:2135 msgid "base_type" msgstr "bastyp" -#: sql_help.c:2179 sql_help.c:2229 +#: sql_help.c:2193 sql_help.c:2243 msgid "locale" msgstr "lokal" -#: sql_help.c:2180 sql_help.c:2230 +#: sql_help.c:2194 sql_help.c:2244 msgid "lc_collate" msgstr "lc_collate" -#: sql_help.c:2181 sql_help.c:2231 +#: sql_help.c:2195 sql_help.c:2245 msgid "lc_ctype" msgstr "lc_ctype" -#: sql_help.c:2182 sql_help.c:4495 +#: sql_help.c:2196 sql_help.c:4515 msgid "provider" msgstr "leverantör" -#: sql_help.c:2184 +#: sql_help.c:2198 msgid "rules" msgstr "regler" -#: sql_help.c:2185 sql_help.c:2292 +#: sql_help.c:2199 sql_help.c:2306 msgid "version" msgstr "version" -#: sql_help.c:2187 +#: sql_help.c:2201 msgid "existing_collation" msgstr "existerande_jämförelse" -#: sql_help.c:2197 +#: sql_help.c:2211 msgid "source_encoding" msgstr "källkodning" -#: sql_help.c:2198 +#: sql_help.c:2212 msgid "dest_encoding" msgstr "målkodning" -#: sql_help.c:2226 sql_help.c:3067 +#: sql_help.c:2240 sql_help.c:3087 msgid "template" msgstr "mall" -#: sql_help.c:2227 +#: sql_help.c:2241 msgid "encoding" msgstr "kodning" -#: sql_help.c:2228 +#: sql_help.c:2242 msgid "strategy" msgstr "strategi" -#: sql_help.c:2232 +#: sql_help.c:2246 msgid "builtin_locale" msgstr "inbyggd_lokal" -#: sql_help.c:2233 +#: sql_help.c:2247 msgid "icu_locale" msgstr "icu_lokal" -#: sql_help.c:2234 +#: sql_help.c:2248 msgid "icu_rules" msgstr "icu_regler" -#: sql_help.c:2235 +#: sql_help.c:2249 msgid "locale_provider" msgstr "lokal_leverantör" -#: sql_help.c:2236 +#: sql_help.c:2250 msgid "collation_version" msgstr "jämförelse_version" -#: sql_help.c:2241 +#: sql_help.c:2255 msgid "oid" msgstr "oid" -#: sql_help.c:2276 sql_help.c:2709 sql_help.c:3140 +#: sql_help.c:2290 sql_help.c:2729 sql_help.c:3160 msgid "event" msgstr "händelse" -#: sql_help.c:2277 +#: sql_help.c:2291 msgid "filter_variable" msgstr "filtervariabel" -#: sql_help.c:2278 +#: sql_help.c:2292 msgid "filter_value" msgstr "filtervärde" -#: sql_help.c:2374 sql_help.c:2956 +#: sql_help.c:2388 sql_help.c:2976 msgid "where column_constraint is:" msgstr "där kolumnvillkor är:" -#: sql_help.c:2419 +#: sql_help.c:2433 msgid "rettype" msgstr "rettyp" -#: sql_help.c:2421 +#: sql_help.c:2435 msgid "column_type" msgstr "kolumntyp" -#: sql_help.c:2430 sql_help.c:2633 +#: sql_help.c:2444 sql_help.c:2647 msgid "definition" msgstr "definition" -#: sql_help.c:2431 sql_help.c:2634 +#: sql_help.c:2445 sql_help.c:2648 msgid "obj_file" msgstr "obj-fil" -#: sql_help.c:2432 sql_help.c:2635 +#: sql_help.c:2446 sql_help.c:2649 msgid "link_symbol" msgstr "linksymbol" -#: sql_help.c:2433 sql_help.c:2636 +#: sql_help.c:2447 sql_help.c:2650 msgid "sql_body" msgstr "sql-kropp" -#: sql_help.c:2471 sql_help.c:2694 sql_help.c:3263 +#: sql_help.c:2485 sql_help.c:2714 sql_help.c:3283 msgid "uid" msgstr "uid" -#: sql_help.c:2487 sql_help.c:2528 sql_help.c:2925 sql_help.c:2938 -#: sql_help.c:2952 sql_help.c:3023 +#: sql_help.c:2501 sql_help.c:2542 sql_help.c:2945 sql_help.c:2958 +#: sql_help.c:2972 sql_help.c:3043 msgid "method" msgstr "metod" -#: sql_help.c:2509 +#: sql_help.c:2523 msgid "call_handler" msgstr "anropshanterare" -#: sql_help.c:2510 +#: sql_help.c:2524 msgid "inline_handler" msgstr "inline-hanterare" -#: sql_help.c:2511 +#: sql_help.c:2525 msgid "valfunction" msgstr "val-funktion" -#: sql_help.c:2569 +#: sql_help.c:2583 msgid "family_name" msgstr "familjenamn" -#: sql_help.c:2580 +#: sql_help.c:2594 msgid "storage_type" msgstr "lagringstyp" -#: sql_help.c:2715 sql_help.c:3147 +#: sql_help.c:2735 sql_help.c:3167 msgid "where event can be one of:" msgstr "där händelse kan vara en av:" -#: sql_help.c:2735 sql_help.c:2737 +#: sql_help.c:2755 sql_help.c:2757 msgid "schema_element" msgstr "schema-element" -#: sql_help.c:2774 +#: sql_help.c:2794 msgid "server_type" msgstr "servertyp" -#: sql_help.c:2775 +#: sql_help.c:2795 msgid "server_version" msgstr "serverversion" -#: sql_help.c:2776 sql_help.c:3929 sql_help.c:4392 +#: sql_help.c:2796 sql_help.c:3949 sql_help.c:4412 msgid "fdw_name" msgstr "fdw-namn" -#: sql_help.c:2793 sql_help.c:2796 +#: sql_help.c:2813 sql_help.c:2816 msgid "statistics_name" msgstr "statistiknamn" -#: sql_help.c:2797 +#: sql_help.c:2817 msgid "statistics_kind" msgstr "statistiksort" -#: sql_help.c:2813 +#: sql_help.c:2833 msgid "subscription_name" msgstr "prenumerationsnamn" -#: sql_help.c:2918 +#: sql_help.c:2938 msgid "source_table" msgstr "källtabell" -#: sql_help.c:2919 +#: sql_help.c:2939 msgid "like_option" msgstr "like_alternativ" -#: sql_help.c:2985 +#: sql_help.c:3005 msgid "and like_option is:" msgstr "och likealternativ är:" -#: sql_help.c:3040 +#: sql_help.c:3060 msgid "directory" msgstr "katalog" -#: sql_help.c:3054 +#: sql_help.c:3074 msgid "parser_name" msgstr "parsernamn" -#: sql_help.c:3055 +#: sql_help.c:3075 msgid "source_config" msgstr "källkonfig" -#: sql_help.c:3084 +#: sql_help.c:3104 msgid "start_function" msgstr "startfunktion" -#: sql_help.c:3085 +#: sql_help.c:3105 msgid "gettoken_function" msgstr "gettoken_funktion" -#: sql_help.c:3086 +#: sql_help.c:3106 msgid "end_function" msgstr "slutfunktion" -#: sql_help.c:3087 +#: sql_help.c:3107 msgid "lextypes_function" msgstr "symboltypfunktion" -#: sql_help.c:3088 +#: sql_help.c:3108 msgid "headline_function" msgstr "rubrikfunktion" -#: sql_help.c:3100 +#: sql_help.c:3120 msgid "init_function" msgstr "init_funktion" -#: sql_help.c:3101 +#: sql_help.c:3121 msgid "lexize_function" msgstr "symboluppdelningsfunktion" -#: sql_help.c:3114 +#: sql_help.c:3134 msgid "from_sql_function_name" msgstr "från_sql_funktionsnamn" -#: sql_help.c:3116 +#: sql_help.c:3136 msgid "to_sql_function_name" msgstr "till_sql_funktionsnamn" -#: sql_help.c:3142 +#: sql_help.c:3162 msgid "referenced_table_name" msgstr "refererat_tabellnamn" -#: sql_help.c:3143 +#: sql_help.c:3163 msgid "transition_relation_name" msgstr "övergångsrelationsnamn" -#: sql_help.c:3146 +#: sql_help.c:3166 msgid "arguments" msgstr "argument" -#: sql_help.c:3198 +#: sql_help.c:3218 msgid "label" msgstr "etikett" -#: sql_help.c:3200 +#: sql_help.c:3220 msgid "subtype" msgstr "subtyp" -#: sql_help.c:3201 +#: sql_help.c:3221 msgid "subtype_operator_class" msgstr "subtypoperatorklass" -#: sql_help.c:3203 +#: sql_help.c:3223 msgid "canonical_function" msgstr "kanonisk_funktion" -#: sql_help.c:3204 +#: sql_help.c:3224 msgid "subtype_diff_function" msgstr "subtyp_diff_funktion" -#: sql_help.c:3205 +#: sql_help.c:3225 msgid "multirange_type_name" msgstr "multirange_typnamn" -#: sql_help.c:3207 +#: sql_help.c:3227 msgid "input_function" msgstr "inmatningsfunktion" -#: sql_help.c:3208 +#: sql_help.c:3228 msgid "output_function" msgstr "utmatningsfunktion" -#: sql_help.c:3209 +#: sql_help.c:3229 msgid "receive_function" msgstr "mottagarfunktion" -#: sql_help.c:3210 +#: sql_help.c:3230 msgid "send_function" msgstr "sändfunktion" -#: sql_help.c:3211 +#: sql_help.c:3231 msgid "type_modifier_input_function" msgstr "typmodifiering_indatafunktion" -#: sql_help.c:3212 +#: sql_help.c:3232 msgid "type_modifier_output_function" msgstr "typmodifiering_utdatafunktion" -#: sql_help.c:3213 +#: sql_help.c:3233 msgid "analyze_function" msgstr "analysfunktion" -#: sql_help.c:3214 +#: sql_help.c:3234 msgid "subscript_function" msgstr "arrayindexfunktion" -#: sql_help.c:3215 +#: sql_help.c:3235 msgid "internallength" msgstr "internlängd" -#: sql_help.c:3216 +#: sql_help.c:3236 msgid "alignment" msgstr "justering" -#: sql_help.c:3217 +#: sql_help.c:3237 msgid "storage" msgstr "lagring" -#: sql_help.c:3218 +#: sql_help.c:3238 msgid "like_type" msgstr "liketyp" -#: sql_help.c:3219 +#: sql_help.c:3239 msgid "category" msgstr "kategori" -#: sql_help.c:3220 +#: sql_help.c:3240 msgid "preferred" msgstr "föredragen" -#: sql_help.c:3221 +#: sql_help.c:3241 msgid "default" msgstr "standard" -#: sql_help.c:3222 +#: sql_help.c:3242 msgid "element" msgstr "element" -#: sql_help.c:3223 +#: sql_help.c:3243 msgid "delimiter" msgstr "avskiljare" -#: sql_help.c:3224 +#: sql_help.c:3244 msgid "collatable" msgstr "sorterbar" -#: sql_help.c:3321 sql_help.c:4008 sql_help.c:4102 sql_help.c:4592 -#: sql_help.c:4695 sql_help.c:4850 sql_help.c:4964 sql_help.c:5095 +#: sql_help.c:3341 sql_help.c:4028 sql_help.c:4122 sql_help.c:4612 +#: sql_help.c:4715 sql_help.c:4870 sql_help.c:4984 sql_help.c:5115 msgid "with_query" msgstr "with_fråga" -#: sql_help.c:3323 sql_help.c:4010 sql_help.c:4611 sql_help.c:4617 -#: sql_help.c:4620 sql_help.c:4624 sql_help.c:4628 sql_help.c:4636 -#: sql_help.c:4869 sql_help.c:4875 sql_help.c:4878 sql_help.c:4882 -#: sql_help.c:4886 sql_help.c:4894 sql_help.c:4966 sql_help.c:5114 -#: sql_help.c:5120 sql_help.c:5123 sql_help.c:5127 sql_help.c:5131 -#: sql_help.c:5139 +#: sql_help.c:3343 sql_help.c:4030 sql_help.c:4631 sql_help.c:4637 +#: sql_help.c:4640 sql_help.c:4644 sql_help.c:4648 sql_help.c:4656 +#: sql_help.c:4889 sql_help.c:4895 sql_help.c:4898 sql_help.c:4902 +#: sql_help.c:4906 sql_help.c:4914 sql_help.c:4986 sql_help.c:5134 +#: sql_help.c:5140 sql_help.c:5143 sql_help.c:5147 sql_help.c:5151 +#: sql_help.c:5159 msgid "alias" msgstr "alias" -#: sql_help.c:3324 sql_help.c:4596 sql_help.c:4638 sql_help.c:4640 -#: sql_help.c:4644 sql_help.c:4646 sql_help.c:4647 sql_help.c:4648 -#: sql_help.c:4700 sql_help.c:4854 sql_help.c:4896 sql_help.c:4898 -#: sql_help.c:4902 sql_help.c:4904 sql_help.c:4905 sql_help.c:4906 -#: sql_help.c:4973 sql_help.c:5099 sql_help.c:5141 sql_help.c:5143 -#: sql_help.c:5147 sql_help.c:5149 sql_help.c:5150 sql_help.c:5151 +#: sql_help.c:3344 sql_help.c:4616 sql_help.c:4658 sql_help.c:4660 +#: sql_help.c:4664 sql_help.c:4666 sql_help.c:4667 sql_help.c:4668 +#: sql_help.c:4720 sql_help.c:4874 sql_help.c:4916 sql_help.c:4918 +#: sql_help.c:4922 sql_help.c:4924 sql_help.c:4925 sql_help.c:4926 +#: sql_help.c:4993 sql_help.c:5119 sql_help.c:5161 sql_help.c:5163 +#: sql_help.c:5167 sql_help.c:5169 sql_help.c:5170 sql_help.c:5171 msgid "from_item" msgstr "frånval" -#: sql_help.c:3326 sql_help.c:3810 sql_help.c:4159 sql_help.c:4975 +#: sql_help.c:3346 sql_help.c:3830 sql_help.c:4179 sql_help.c:4995 msgid "cursor_name" msgstr "markörnamn" -#: sql_help.c:3327 sql_help.c:4016 sql_help.c:4108 sql_help.c:4976 +#: sql_help.c:3347 sql_help.c:4036 sql_help.c:4128 sql_help.c:4996 msgid "output_expression" msgstr "utdatauttryck" -#: sql_help.c:3328 sql_help.c:4017 sql_help.c:4109 sql_help.c:4595 -#: sql_help.c:4698 sql_help.c:4853 sql_help.c:4977 sql_help.c:5098 +#: sql_help.c:3348 sql_help.c:4037 sql_help.c:4129 sql_help.c:4615 +#: sql_help.c:4718 sql_help.c:4873 sql_help.c:4997 sql_help.c:5118 msgid "output_name" msgstr "utdatanamn" -#: sql_help.c:3344 +#: sql_help.c:3364 msgid "code" msgstr "kod" -#: sql_help.c:3749 +#: sql_help.c:3769 msgid "parameter" msgstr "parameter" -#: sql_help.c:3773 sql_help.c:4184 +#: sql_help.c:3793 sql_help.c:4204 msgid "statement" msgstr "sats" -#: sql_help.c:3809 sql_help.c:4158 +#: sql_help.c:3829 sql_help.c:4178 msgid "direction" msgstr "riktning" -#: sql_help.c:3811 sql_help.c:4160 +#: sql_help.c:3831 sql_help.c:4180 msgid "where direction can be one of:" msgstr "där riktning kan vara en av:" -#: sql_help.c:3812 sql_help.c:3813 sql_help.c:3814 sql_help.c:3815 -#: sql_help.c:3816 sql_help.c:4161 sql_help.c:4162 sql_help.c:4163 -#: sql_help.c:4164 sql_help.c:4165 sql_help.c:4605 sql_help.c:4607 -#: sql_help.c:4709 sql_help.c:4711 sql_help.c:4863 sql_help.c:4865 -#: sql_help.c:5039 sql_help.c:5041 sql_help.c:5108 sql_help.c:5110 +#: sql_help.c:3832 sql_help.c:3833 sql_help.c:3834 sql_help.c:3835 +#: sql_help.c:3836 sql_help.c:4181 sql_help.c:4182 sql_help.c:4183 +#: sql_help.c:4184 sql_help.c:4185 sql_help.c:4625 sql_help.c:4627 +#: sql_help.c:4729 sql_help.c:4731 sql_help.c:4883 sql_help.c:4885 +#: sql_help.c:5059 sql_help.c:5061 sql_help.c:5128 sql_help.c:5130 msgid "count" msgstr "antal" -#: sql_help.c:3919 sql_help.c:4382 +#: sql_help.c:3939 sql_help.c:4402 msgid "sequence_name" msgstr "sekvensnamn" -#: sql_help.c:3937 sql_help.c:4400 +#: sql_help.c:3957 sql_help.c:4420 msgid "arg_name" msgstr "arg_namn" -#: sql_help.c:3938 sql_help.c:4401 +#: sql_help.c:3958 sql_help.c:4421 msgid "arg_type" msgstr "arg_typ" -#: sql_help.c:3945 sql_help.c:4408 +#: sql_help.c:3965 sql_help.c:4428 msgid "loid" msgstr "loid" -#: sql_help.c:3976 +#: sql_help.c:3996 msgid "remote_schema" msgstr "externt_schema" -#: sql_help.c:3979 +#: sql_help.c:3999 msgid "local_schema" msgstr "lokalt_schema" -#: sql_help.c:4014 +#: sql_help.c:4034 msgid "conflict_target" msgstr "konfliktmål" -#: sql_help.c:4015 +#: sql_help.c:4035 msgid "conflict_action" msgstr "konfliktaktion" -#: sql_help.c:4018 +#: sql_help.c:4038 msgid "where conflict_target can be one of:" msgstr "där konfliktmål kan vara en av:" -#: sql_help.c:4019 +#: sql_help.c:4039 msgid "index_column_name" msgstr "indexkolumnnamn" -#: sql_help.c:4020 +#: sql_help.c:4040 msgid "index_expression" msgstr "indexuttryck" -#: sql_help.c:4023 +#: sql_help.c:4043 msgid "index_predicate" msgstr "indexpredikat" -#: sql_help.c:4025 +#: sql_help.c:4045 msgid "and conflict_action is one of:" msgstr "och konfliktaktion är en av:" -#: sql_help.c:4031 sql_help.c:4132 sql_help.c:4972 +#: sql_help.c:4051 sql_help.c:4152 sql_help.c:4992 msgid "sub-SELECT" msgstr "sub-SELECT" -#: sql_help.c:4040 sql_help.c:4173 sql_help.c:4948 +#: sql_help.c:4060 sql_help.c:4193 sql_help.c:4968 msgid "channel" msgstr "kanal" -#: sql_help.c:4062 +#: sql_help.c:4082 msgid "lockmode" msgstr "låsläge" -#: sql_help.c:4063 +#: sql_help.c:4083 msgid "where lockmode is one of:" msgstr "där låsläge är en av:" -#: sql_help.c:4103 +#: sql_help.c:4123 msgid "target_table_name" msgstr "måltabellnamn" -#: sql_help.c:4104 +#: sql_help.c:4124 msgid "target_alias" msgstr "målalias" -#: sql_help.c:4105 +#: sql_help.c:4125 msgid "data_source" msgstr "datakälla" -#: sql_help.c:4106 sql_help.c:4641 sql_help.c:4899 sql_help.c:5144 +#: sql_help.c:4126 sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 msgid "join_condition" msgstr "join-villkor" -#: sql_help.c:4107 +#: sql_help.c:4127 msgid "when_clause" msgstr "when_sats" -#: sql_help.c:4110 +#: sql_help.c:4130 msgid "where data_source is:" msgstr "där datakälla är:" -#: sql_help.c:4111 +#: sql_help.c:4131 msgid "source_table_name" msgstr "källtabellnamn" -#: sql_help.c:4112 +#: sql_help.c:4132 msgid "source_query" msgstr "källfråga" -#: sql_help.c:4113 +#: sql_help.c:4133 msgid "source_alias" msgstr "källalias" -#: sql_help.c:4114 +#: sql_help.c:4134 msgid "and when_clause is:" msgstr "och when_sats är:" -#: sql_help.c:4116 sql_help.c:4119 +#: sql_help.c:4136 sql_help.c:4139 msgid "merge_update" msgstr "merge_update" -#: sql_help.c:4117 sql_help.c:4120 +#: sql_help.c:4137 sql_help.c:4140 msgid "merge_delete" msgstr "merge_delete" -#: sql_help.c:4122 +#: sql_help.c:4142 msgid "merge_insert" msgstr "merge_insert" -#: sql_help.c:4123 +#: sql_help.c:4143 msgid "and merge_insert is:" msgstr "och merge_insert är:" -#: sql_help.c:4126 +#: sql_help.c:4146 msgid "and merge_update is:" msgstr "och merge_update är:" -#: sql_help.c:4133 +#: sql_help.c:4153 msgid "and merge_delete is:" msgstr "och merge_delete är:" -#: sql_help.c:4174 +#: sql_help.c:4194 msgid "payload" msgstr "innehåll" -#: sql_help.c:4201 +#: sql_help.c:4221 msgid "old_role" msgstr "gammal_roll" -#: sql_help.c:4202 +#: sql_help.c:4222 msgid "new_role" msgstr "ny_roll" -#: sql_help.c:4241 sql_help.c:4450 sql_help.c:4458 +#: sql_help.c:4261 sql_help.c:4470 sql_help.c:4478 msgid "savepoint_name" msgstr "sparpunktnamn" -#: sql_help.c:4598 sql_help.c:4656 sql_help.c:4856 sql_help.c:4914 -#: sql_help.c:5101 sql_help.c:5159 +#: sql_help.c:4618 sql_help.c:4676 sql_help.c:4876 sql_help.c:4934 +#: sql_help.c:5121 sql_help.c:5179 msgid "grouping_element" msgstr "gruperingselement" -#: sql_help.c:4600 sql_help.c:4704 sql_help.c:4858 sql_help.c:5103 +#: sql_help.c:4620 sql_help.c:4724 sql_help.c:4878 sql_help.c:5123 msgid "window_name" msgstr "fönsternamn" -#: sql_help.c:4601 sql_help.c:4705 sql_help.c:4859 sql_help.c:5104 +#: sql_help.c:4621 sql_help.c:4725 sql_help.c:4879 sql_help.c:5124 msgid "window_definition" msgstr "fönsterdefinition" -#: sql_help.c:4602 sql_help.c:4616 sql_help.c:4660 sql_help.c:4706 -#: sql_help.c:4860 sql_help.c:4874 sql_help.c:4918 sql_help.c:5105 -#: sql_help.c:5119 sql_help.c:5163 +#: sql_help.c:4622 sql_help.c:4636 sql_help.c:4680 sql_help.c:4726 +#: sql_help.c:4880 sql_help.c:4894 sql_help.c:4938 sql_help.c:5125 +#: sql_help.c:5139 sql_help.c:5183 msgid "select" msgstr "select" -#: sql_help.c:4608 sql_help.c:4866 sql_help.c:5111 +#: sql_help.c:4628 sql_help.c:4886 sql_help.c:5131 msgid "from_reference" msgstr "från_referens" -#: sql_help.c:4609 sql_help.c:4867 sql_help.c:5112 +#: sql_help.c:4629 sql_help.c:4887 sql_help.c:5132 msgid "where from_item can be one of:" msgstr "där frånval kan vara en av:" -#: sql_help.c:4612 sql_help.c:4618 sql_help.c:4621 sql_help.c:4625 -#: sql_help.c:4637 sql_help.c:4870 sql_help.c:4876 sql_help.c:4879 -#: sql_help.c:4883 sql_help.c:4895 sql_help.c:5115 sql_help.c:5121 -#: sql_help.c:5124 sql_help.c:5128 sql_help.c:5140 +#: sql_help.c:4632 sql_help.c:4638 sql_help.c:4641 sql_help.c:4645 +#: sql_help.c:4657 sql_help.c:4890 sql_help.c:4896 sql_help.c:4899 +#: sql_help.c:4903 sql_help.c:4915 sql_help.c:5135 sql_help.c:5141 +#: sql_help.c:5144 sql_help.c:5148 sql_help.c:5160 msgid "column_alias" msgstr "kolumnalias" -#: sql_help.c:4613 sql_help.c:4871 sql_help.c:5116 +#: sql_help.c:4633 sql_help.c:4891 sql_help.c:5136 msgid "sampling_method" msgstr "samplingsmetod" -#: sql_help.c:4615 sql_help.c:4873 sql_help.c:5118 +#: sql_help.c:4635 sql_help.c:4893 sql_help.c:5138 msgid "seed" msgstr "frö" -#: sql_help.c:4619 sql_help.c:4658 sql_help.c:4877 sql_help.c:4916 -#: sql_help.c:5122 sql_help.c:5161 +#: sql_help.c:4639 sql_help.c:4678 sql_help.c:4897 sql_help.c:4936 +#: sql_help.c:5142 sql_help.c:5181 msgid "with_query_name" msgstr "with_frågenamn" -#: sql_help.c:4629 sql_help.c:4632 sql_help.c:4635 sql_help.c:4887 -#: sql_help.c:4890 sql_help.c:4893 sql_help.c:5132 sql_help.c:5135 -#: sql_help.c:5138 +#: sql_help.c:4649 sql_help.c:4652 sql_help.c:4655 sql_help.c:4907 +#: sql_help.c:4910 sql_help.c:4913 sql_help.c:5152 sql_help.c:5155 +#: sql_help.c:5158 msgid "column_definition" msgstr "kolumndefinition" -#: sql_help.c:4639 sql_help.c:4645 sql_help.c:4897 sql_help.c:4903 -#: sql_help.c:5142 sql_help.c:5148 +#: sql_help.c:4659 sql_help.c:4665 sql_help.c:4917 sql_help.c:4923 +#: sql_help.c:5162 sql_help.c:5168 msgid "join_type" msgstr "join-typ" -#: sql_help.c:4642 sql_help.c:4900 sql_help.c:5145 +#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 msgid "join_column" msgstr "join-kolumn" -#: sql_help.c:4643 sql_help.c:4901 sql_help.c:5146 +#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 msgid "join_using_alias" msgstr "join_using_alias" -#: sql_help.c:4649 sql_help.c:4907 sql_help.c:5152 +#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 msgid "and grouping_element can be one of:" msgstr "och grupperingselement kan vara en av:" -#: sql_help.c:4657 sql_help.c:4915 sql_help.c:5160 +#: sql_help.c:4677 sql_help.c:4935 sql_help.c:5180 msgid "and with_query is:" msgstr "och with_fråga är:" -#: sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 +#: sql_help.c:4681 sql_help.c:4939 sql_help.c:5184 msgid "values" msgstr "värden" -#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 +#: sql_help.c:4682 sql_help.c:4940 sql_help.c:5185 msgid "insert" msgstr "insert" -#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 +#: sql_help.c:4683 sql_help.c:4941 sql_help.c:5186 msgid "update" msgstr "update" -#: sql_help.c:4664 sql_help.c:4922 sql_help.c:5167 +#: sql_help.c:4684 sql_help.c:4942 sql_help.c:5187 msgid "delete" msgstr "delete" -#: sql_help.c:4665 sql_help.c:4923 sql_help.c:5168 +#: sql_help.c:4685 sql_help.c:4943 sql_help.c:5188 msgid "merge" msgstr "merge" -#: sql_help.c:4667 sql_help.c:4925 sql_help.c:5170 +#: sql_help.c:4687 sql_help.c:4945 sql_help.c:5190 msgid "search_seq_col_name" msgstr "söksekvens_kolumnnamn" -#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 +#: sql_help.c:4689 sql_help.c:4947 sql_help.c:5192 msgid "cycle_mark_col_name" msgstr "cykelmarkering_kolumnnamn" -#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 +#: sql_help.c:4690 sql_help.c:4948 sql_help.c:5193 msgid "cycle_mark_value" msgstr "cykelmarkering_värde" -#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 +#: sql_help.c:4691 sql_help.c:4949 sql_help.c:5194 msgid "cycle_mark_default" msgstr "cykelmarkering_standard" -#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 +#: sql_help.c:4692 sql_help.c:4950 sql_help.c:5195 msgid "cycle_path_col_name" msgstr "cykelväg_kolumnnamn" -#: sql_help.c:4699 +#: sql_help.c:4719 msgid "new_table" msgstr "ny_tabell" -#: sql_help.c:4770 +#: sql_help.c:4790 msgid "snapshot_id" msgstr "snapshot_id" -#: sql_help.c:5037 +#: sql_help.c:5057 msgid "sort_expression" msgstr "sorteringsuttryck" -#: sql_help.c:5182 sql_help.c:6166 +#: sql_help.c:5202 sql_help.c:6186 msgid "abort the current transaction" msgstr "avbryt aktuell transaktion" -#: sql_help.c:5188 +#: sql_help.c:5208 msgid "change the definition of an aggregate function" msgstr "ändra definitionen av en aggregatfunktion" -#: sql_help.c:5194 +#: sql_help.c:5214 msgid "change the definition of a collation" msgstr "ändra definitionen av en jämförelse" -#: sql_help.c:5200 +#: sql_help.c:5220 msgid "change the definition of a conversion" msgstr "ändra definitionen av en konvertering" -#: sql_help.c:5206 +#: sql_help.c:5226 msgid "change a database" msgstr "ändra en databas" -#: sql_help.c:5212 +#: sql_help.c:5232 msgid "define default access privileges" msgstr "definiera standardaccessrättigheter" -#: sql_help.c:5218 +#: sql_help.c:5238 msgid "change the definition of a domain" msgstr "ändra definitionen av en domän" -#: sql_help.c:5224 +#: sql_help.c:5244 msgid "change the definition of an event trigger" msgstr "ändra definitionen av en händelsetrigger" -#: sql_help.c:5230 +#: sql_help.c:5250 msgid "change the definition of an extension" msgstr "ändra definitionen av en utökning" -#: sql_help.c:5236 +#: sql_help.c:5256 msgid "change the definition of a foreign-data wrapper" msgstr "ändra definitionen av en främmande data-omvandlare" -#: sql_help.c:5242 +#: sql_help.c:5262 msgid "change the definition of a foreign table" msgstr "ändra definitionen av en främmande tabell" -#: sql_help.c:5248 +#: sql_help.c:5268 msgid "change the definition of a function" msgstr "ändra definitionen av en funktion" -#: sql_help.c:5254 +#: sql_help.c:5274 msgid "change role name or membership" msgstr "ändra rollnamn eller medlemskap" -#: sql_help.c:5260 +#: sql_help.c:5280 msgid "change the definition of an index" msgstr "ändra definitionen av ett index" -#: sql_help.c:5266 +#: sql_help.c:5286 msgid "change the definition of a procedural language" msgstr "ändra definitionen av ett procedur-språk" -#: sql_help.c:5272 +#: sql_help.c:5292 msgid "change the definition of a large object" msgstr "ändra definitionen av ett stort objekt" -#: sql_help.c:5278 +#: sql_help.c:5298 msgid "change the definition of a materialized view" msgstr "ändra definitionen av en materialiserad vy" -#: sql_help.c:5284 +#: sql_help.c:5304 msgid "change the definition of an operator" msgstr "ändra definitionen av en operator" -#: sql_help.c:5290 +#: sql_help.c:5310 msgid "change the definition of an operator class" msgstr "ändra definitionen av en operatorklass" -#: sql_help.c:5296 +#: sql_help.c:5316 msgid "change the definition of an operator family" msgstr "ändra definitionen av en operatorfamilj" -#: sql_help.c:5302 +#: sql_help.c:5322 msgid "change the definition of a row-level security policy" msgstr "ändra definitionen av en säkerhetspolicy på radnivå" -#: sql_help.c:5308 +#: sql_help.c:5328 msgid "change the definition of a procedure" msgstr "ändra definitionen av en procedur" -#: sql_help.c:5314 +#: sql_help.c:5334 msgid "change the definition of a publication" msgstr "ändra definitionen av en publicering" -#: sql_help.c:5320 sql_help.c:5422 +#: sql_help.c:5340 sql_help.c:5442 msgid "change a database role" msgstr "ändra databasroll" -#: sql_help.c:5326 +#: sql_help.c:5346 msgid "change the definition of a routine" msgstr "ändra definitionen av en rutin" -#: sql_help.c:5332 +#: sql_help.c:5352 msgid "change the definition of a rule" msgstr "ändra definitionen av en regel" -#: sql_help.c:5338 +#: sql_help.c:5358 msgid "change the definition of a schema" msgstr "ändra definitionen av ett schema" -#: sql_help.c:5344 +#: sql_help.c:5364 msgid "change the definition of a sequence generator" msgstr "ändra definitionen av en sekvensgenerator" -#: sql_help.c:5350 +#: sql_help.c:5370 msgid "change the definition of a foreign server" msgstr "ändra definitionen av en främmande server" -#: sql_help.c:5356 +#: sql_help.c:5376 msgid "change the definition of an extended statistics object" msgstr "ändra definitionen av ett utökat statistikobjekt" -#: sql_help.c:5362 +#: sql_help.c:5382 msgid "change the definition of a subscription" msgstr "ändra definitionen av en prenumerering" -#: sql_help.c:5368 +#: sql_help.c:5388 msgid "change a server configuration parameter" msgstr "ändra en servers konfigurationsparameter" -#: sql_help.c:5374 +#: sql_help.c:5394 msgid "change the definition of a table" msgstr "ändra definitionen av en tabell" -#: sql_help.c:5380 +#: sql_help.c:5400 msgid "change the definition of a tablespace" msgstr "ändra definitionen av ett tabellutrymme" -#: sql_help.c:5386 +#: sql_help.c:5406 msgid "change the definition of a text search configuration" msgstr "ändra definitionen av en textsökkonfiguration" -#: sql_help.c:5392 +#: sql_help.c:5412 msgid "change the definition of a text search dictionary" msgstr "ändra definitionen av en textsökordlista" -#: sql_help.c:5398 +#: sql_help.c:5418 msgid "change the definition of a text search parser" msgstr "ändra definitionen av en textsökparser" -#: sql_help.c:5404 +#: sql_help.c:5424 msgid "change the definition of a text search template" msgstr "ändra definitionen av en textsökmall" -#: sql_help.c:5410 +#: sql_help.c:5430 msgid "change the definition of a trigger" msgstr "ändra definitionen av en trigger" -#: sql_help.c:5416 +#: sql_help.c:5436 msgid "change the definition of a type" msgstr "ändra definitionen av en typ" -#: sql_help.c:5428 +#: sql_help.c:5448 msgid "change the definition of a user mapping" msgstr "ändra definitionen av en användarmappning" -#: sql_help.c:5434 +#: sql_help.c:5454 msgid "change the definition of a view" msgstr "ändra definitionen av en vy" -#: sql_help.c:5440 +#: sql_help.c:5460 msgid "collect statistics about a database" msgstr "samla in statistik om en databas" -#: sql_help.c:5446 sql_help.c:6244 +#: sql_help.c:5466 sql_help.c:6264 msgid "start a transaction block" msgstr "starta ett transaktionsblock" -#: sql_help.c:5452 +#: sql_help.c:5472 msgid "invoke a procedure" msgstr "anropa en procedur" -#: sql_help.c:5458 +#: sql_help.c:5478 msgid "force a write-ahead log checkpoint" msgstr "tvinga checkpoint i transaktionsloggen" -#: sql_help.c:5464 +#: sql_help.c:5484 msgid "close a cursor" msgstr "stäng en markör" -#: sql_help.c:5470 +#: sql_help.c:5490 msgid "cluster a table according to an index" msgstr "klustra en tabell efter ett index" -#: sql_help.c:5476 +#: sql_help.c:5496 msgid "define or change the comment of an object" msgstr "definiera eller ändra en kommentar på ett objekt" -#: sql_help.c:5482 sql_help.c:6040 +#: sql_help.c:5502 sql_help.c:6060 msgid "commit the current transaction" msgstr "utför den aktuella transaktionen" -#: sql_help.c:5488 +#: sql_help.c:5508 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "utför commit på en transaktion som tidigare förberetts för två-fas-commit" -#: sql_help.c:5494 +#: sql_help.c:5514 msgid "copy data between a file and a table" msgstr "kopiera data mellan en fil och en tabell" -#: sql_help.c:5500 +#: sql_help.c:5520 msgid "define a new access method" msgstr "definiera en ny accessmetod" -#: sql_help.c:5506 +#: sql_help.c:5526 msgid "define a new aggregate function" msgstr "definiera en ny aggregatfunktion" -#: sql_help.c:5512 +#: sql_help.c:5532 msgid "define a new cast" msgstr "definiera en ny typomvandling" -#: sql_help.c:5518 +#: sql_help.c:5538 msgid "define a new collation" msgstr "definiera en ny jämförelse" -#: sql_help.c:5524 +#: sql_help.c:5544 msgid "define a new encoding conversion" msgstr "definiera en ny teckenkodningskonvertering" -#: sql_help.c:5530 +#: sql_help.c:5550 msgid "create a new database" msgstr "skapa en ny databas" -#: sql_help.c:5536 +#: sql_help.c:5556 msgid "define a new domain" msgstr "definiera en ny domän" -#: sql_help.c:5542 +#: sql_help.c:5562 msgid "define a new event trigger" msgstr "definiera en ny händelsetrigger" -#: sql_help.c:5548 +#: sql_help.c:5568 msgid "install an extension" msgstr "installera en utökning" -#: sql_help.c:5554 +#: sql_help.c:5574 msgid "define a new foreign-data wrapper" msgstr "definiera en ny främmande data-omvandlare" -#: sql_help.c:5560 +#: sql_help.c:5580 msgid "define a new foreign table" msgstr "definiera en ny främmande tabell" -#: sql_help.c:5566 +#: sql_help.c:5586 msgid "define a new function" msgstr "definiera en ny funktion" -#: sql_help.c:5572 sql_help.c:5632 sql_help.c:5734 +#: sql_help.c:5592 sql_help.c:5652 sql_help.c:5754 msgid "define a new database role" msgstr "definiera en ny databasroll" -#: sql_help.c:5578 +#: sql_help.c:5598 msgid "define a new index" msgstr "skapa ett nytt index" -#: sql_help.c:5584 +#: sql_help.c:5604 msgid "define a new procedural language" msgstr "definiera ett nytt procedur-språk" -#: sql_help.c:5590 +#: sql_help.c:5610 msgid "define a new materialized view" msgstr "definiera en ny materialiserad vy" -#: sql_help.c:5596 +#: sql_help.c:5616 msgid "define a new operator" msgstr "definiera en ny operator" -#: sql_help.c:5602 +#: sql_help.c:5622 msgid "define a new operator class" msgstr "definiera en ny operatorklass" -#: sql_help.c:5608 +#: sql_help.c:5628 msgid "define a new operator family" msgstr "definiera en ny operatorfamilj" -#: sql_help.c:5614 +#: sql_help.c:5634 msgid "define a new row-level security policy for a table" msgstr "definiera en ny säkerhetspolicy på radnivå för en tabell" -#: sql_help.c:5620 +#: sql_help.c:5640 msgid "define a new procedure" msgstr "definiera ett ny procedur" -#: sql_help.c:5626 +#: sql_help.c:5646 msgid "define a new publication" msgstr "definiera en ny publicering" -#: sql_help.c:5638 +#: sql_help.c:5658 msgid "define a new rewrite rule" msgstr "definiera en ny omskrivningsregel" -#: sql_help.c:5644 +#: sql_help.c:5664 msgid "define a new schema" msgstr "definiera ett nytt schema" -#: sql_help.c:5650 +#: sql_help.c:5670 msgid "define a new sequence generator" msgstr "definiera en ny sekvensgenerator" -#: sql_help.c:5656 +#: sql_help.c:5676 msgid "define a new foreign server" msgstr "definiera en ny främmande server" -#: sql_help.c:5662 +#: sql_help.c:5682 msgid "define extended statistics" msgstr "definiera utökad statistik" -#: sql_help.c:5668 +#: sql_help.c:5688 msgid "define a new subscription" msgstr "definiera en ny prenumeration" -#: sql_help.c:5674 +#: sql_help.c:5694 msgid "define a new table" msgstr "definiera en ny tabell" -#: sql_help.c:5680 sql_help.c:6202 +#: sql_help.c:5700 sql_help.c:6222 msgid "define a new table from the results of a query" msgstr "definiera en ny tabell utifrån resultatet av en fråga" -#: sql_help.c:5686 +#: sql_help.c:5706 msgid "define a new tablespace" msgstr "definiera ett nytt tabellutrymme" -#: sql_help.c:5692 +#: sql_help.c:5712 msgid "define a new text search configuration" msgstr "definiera en ny textsökkonfiguration" -#: sql_help.c:5698 +#: sql_help.c:5718 msgid "define a new text search dictionary" msgstr "definiera en ny textsökordlista" -#: sql_help.c:5704 +#: sql_help.c:5724 msgid "define a new text search parser" msgstr "definiera en ny textsökparser" -#: sql_help.c:5710 +#: sql_help.c:5730 msgid "define a new text search template" msgstr "definiera en ny textsökmall" -#: sql_help.c:5716 +#: sql_help.c:5736 msgid "define a new transform" msgstr "definiera en ny transform" -#: sql_help.c:5722 +#: sql_help.c:5742 msgid "define a new trigger" msgstr "definiera en ny trigger" -#: sql_help.c:5728 +#: sql_help.c:5748 msgid "define a new data type" msgstr "definiera en ny datatyp" -#: sql_help.c:5740 +#: sql_help.c:5760 msgid "define a new mapping of a user to a foreign server" msgstr "definiera en ny mappning av en användare till en främmande server" -#: sql_help.c:5746 +#: sql_help.c:5766 msgid "define a new view" msgstr "definiera en ny vy" -#: sql_help.c:5752 +#: sql_help.c:5772 msgid "deallocate a prepared statement" msgstr "deallokera en förberedd sats" -#: sql_help.c:5758 +#: sql_help.c:5778 msgid "define a cursor" msgstr "definiera en markör" -#: sql_help.c:5764 +#: sql_help.c:5784 msgid "delete rows of a table" msgstr "radera rader i en tabell" -#: sql_help.c:5770 +#: sql_help.c:5790 msgid "discard session state" msgstr "släng sessionstillstånd" -#: sql_help.c:5776 +#: sql_help.c:5796 msgid "execute an anonymous code block" msgstr "kör ett annonymt kodblock" -#: sql_help.c:5782 +#: sql_help.c:5802 msgid "remove an access method" msgstr "ta bort en accessmetod" -#: sql_help.c:5788 +#: sql_help.c:5808 msgid "remove an aggregate function" msgstr "ta bort en aggregatfunktioner" -#: sql_help.c:5794 +#: sql_help.c:5814 msgid "remove a cast" msgstr "ta bort en typomvandling" -#: sql_help.c:5800 +#: sql_help.c:5820 msgid "remove a collation" msgstr "ta bort en jämförelse" -#: sql_help.c:5806 +#: sql_help.c:5826 msgid "remove a conversion" msgstr "ta bort en konvertering" -#: sql_help.c:5812 +#: sql_help.c:5832 msgid "remove a database" msgstr "ta bort en databas" -#: sql_help.c:5818 +#: sql_help.c:5838 msgid "remove a domain" msgstr "ta bort en domän" -#: sql_help.c:5824 +#: sql_help.c:5844 msgid "remove an event trigger" msgstr "ta bort en händelsetrigger" -#: sql_help.c:5830 +#: sql_help.c:5850 msgid "remove an extension" msgstr "ta bort en utökning" -#: sql_help.c:5836 +#: sql_help.c:5856 msgid "remove a foreign-data wrapper" msgstr "ta bort en frammande data-omvandlare" -#: sql_help.c:5842 +#: sql_help.c:5862 msgid "remove a foreign table" msgstr "ta bort en främmande tabell" -#: sql_help.c:5848 +#: sql_help.c:5868 msgid "remove a function" msgstr "ta bort en funktion" -#: sql_help.c:5854 sql_help.c:5920 sql_help.c:6022 +#: sql_help.c:5874 sql_help.c:5940 sql_help.c:6042 msgid "remove a database role" msgstr "ta bort en databasroll" -#: sql_help.c:5860 +#: sql_help.c:5880 msgid "remove an index" msgstr "ta bort ett index" -#: sql_help.c:5866 +#: sql_help.c:5886 msgid "remove a procedural language" msgstr "ta bort ett procedur-språk" -#: sql_help.c:5872 +#: sql_help.c:5892 msgid "remove a materialized view" msgstr "ta bort en materialiserad vy" -#: sql_help.c:5878 +#: sql_help.c:5898 msgid "remove an operator" msgstr "ta bort en operator" -#: sql_help.c:5884 +#: sql_help.c:5904 msgid "remove an operator class" msgstr "ta bort en operatorklass" -#: sql_help.c:5890 +#: sql_help.c:5910 msgid "remove an operator family" msgstr "ta bort en operatorfamilj" -#: sql_help.c:5896 +#: sql_help.c:5916 msgid "remove database objects owned by a database role" msgstr "ta bort databasobjekt som ägs av databasroll" -#: sql_help.c:5902 +#: sql_help.c:5922 msgid "remove a row-level security policy from a table" msgstr "ta bort en säkerhetspolicy på radnivå från en tabell" -#: sql_help.c:5908 +#: sql_help.c:5928 msgid "remove a procedure" msgstr "ta bort en procedur" -#: sql_help.c:5914 +#: sql_help.c:5934 msgid "remove a publication" msgstr "ta bort en publicering" -#: sql_help.c:5926 +#: sql_help.c:5946 msgid "remove a routine" msgstr "ta bort en rutin" -#: sql_help.c:5932 +#: sql_help.c:5952 msgid "remove a rewrite rule" msgstr "ta bort en omskrivningsregel" -#: sql_help.c:5938 +#: sql_help.c:5958 msgid "remove a schema" msgstr "ta bort ett schema" -#: sql_help.c:5944 +#: sql_help.c:5964 msgid "remove a sequence" msgstr "ta bort en sekvens" -#: sql_help.c:5950 +#: sql_help.c:5970 msgid "remove a foreign server descriptor" msgstr "ta bort en främmande server-deskriptor" -#: sql_help.c:5956 +#: sql_help.c:5976 msgid "remove extended statistics" msgstr "ta bort utökad statistik" -#: sql_help.c:5962 +#: sql_help.c:5982 msgid "remove a subscription" msgstr "ta bort en prenumeration" -#: sql_help.c:5968 +#: sql_help.c:5988 msgid "remove a table" msgstr "ta bort en tabell" -#: sql_help.c:5974 +#: sql_help.c:5994 msgid "remove a tablespace" msgstr "ta bort ett tabellutrymme" -#: sql_help.c:5980 +#: sql_help.c:6000 msgid "remove a text search configuration" msgstr "ta bort en textsökkonfiguration" -#: sql_help.c:5986 +#: sql_help.c:6006 msgid "remove a text search dictionary" msgstr "ta bort en textsökordlista" -#: sql_help.c:5992 +#: sql_help.c:6012 msgid "remove a text search parser" msgstr "ta bort en textsökparser" -#: sql_help.c:5998 +#: sql_help.c:6018 msgid "remove a text search template" msgstr "ta bort en textsökmall" -#: sql_help.c:6004 +#: sql_help.c:6024 msgid "remove a transform" msgstr "ta bort en transform" -#: sql_help.c:6010 +#: sql_help.c:6030 msgid "remove a trigger" msgstr "ta bort en trigger" -#: sql_help.c:6016 +#: sql_help.c:6036 msgid "remove a data type" msgstr "ta bort en datatyp" -#: sql_help.c:6028 +#: sql_help.c:6048 msgid "remove a user mapping for a foreign server" msgstr "ta bort en användarmappning för en främmande server" -#: sql_help.c:6034 +#: sql_help.c:6054 msgid "remove a view" msgstr "ta bort en vy" -#: sql_help.c:6046 +#: sql_help.c:6066 msgid "execute a prepared statement" msgstr "utför en förberedd sats" -#: sql_help.c:6052 +#: sql_help.c:6072 msgid "show the execution plan of a statement" msgstr "visa körningsplanen för en sats" -#: sql_help.c:6058 +#: sql_help.c:6078 msgid "retrieve rows from a query using a cursor" msgstr "hämta rader från en fråga med hjälp av en markör" -#: sql_help.c:6064 +#: sql_help.c:6084 msgid "define access privileges" msgstr "definera åtkomsträttigheter" -#: sql_help.c:6070 +#: sql_help.c:6090 msgid "import table definitions from a foreign server" msgstr "importera tabelldefinitioner från en främmande server" -#: sql_help.c:6076 +#: sql_help.c:6096 msgid "create new rows in a table" msgstr "skapa nya rader i en tabell" -#: sql_help.c:6082 +#: sql_help.c:6102 msgid "listen for a notification" msgstr "lyssna efter notifiering" -#: sql_help.c:6088 +#: sql_help.c:6108 msgid "load a shared library file" msgstr "ladda en delad biblioteksfil (shared library)" -#: sql_help.c:6094 +#: sql_help.c:6114 msgid "lock a table" msgstr "lås en tabell" -#: sql_help.c:6100 +#: sql_help.c:6120 msgid "conditionally insert, update, or delete rows of a table" msgstr "villkorlig insert, updare eller delete av rader i en tabell" -#: sql_help.c:6106 +#: sql_help.c:6126 msgid "position a cursor" msgstr "flytta en markör" -#: sql_help.c:6112 +#: sql_help.c:6132 msgid "generate a notification" msgstr "generera en notifiering" -#: sql_help.c:6118 +#: sql_help.c:6138 msgid "prepare a statement for execution" msgstr "förbered en sats för körning" -#: sql_help.c:6124 +#: sql_help.c:6144 msgid "prepare the current transaction for two-phase commit" msgstr "avbryt aktuell transaktion för två-fas-commit" -#: sql_help.c:6130 +#: sql_help.c:6150 msgid "change the ownership of database objects owned by a database role" msgstr "byt ägare på databasobjekt som ägs av en databasroll" -#: sql_help.c:6136 +#: sql_help.c:6156 msgid "replace the contents of a materialized view" msgstr "ersätt innehållet av en materialiserad vy" -#: sql_help.c:6142 +#: sql_help.c:6162 msgid "rebuild indexes" msgstr "återskapa index" -#: sql_help.c:6148 +#: sql_help.c:6168 msgid "release a previously defined savepoint" msgstr "frigör en tidigare definierad sparpunkt" -#: sql_help.c:6154 +#: sql_help.c:6174 msgid "restore the value of a run-time parameter to the default value" msgstr "återställ värde av körningsparameter till standardvärdet" -#: sql_help.c:6160 +#: sql_help.c:6180 msgid "remove access privileges" msgstr "ta bort åtkomsträttigheter" -#: sql_help.c:6172 +#: sql_help.c:6192 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "avbryt en transaktion som tidigare förberetts för två-fas-commit" -#: sql_help.c:6178 +#: sql_help.c:6198 msgid "roll back to a savepoint" msgstr "rulla tillbaka till sparpunkt" -#: sql_help.c:6184 +#: sql_help.c:6204 msgid "define a new savepoint within the current transaction" msgstr "definera en ny sparpunkt i den aktuella transaktionen" -#: sql_help.c:6190 +#: sql_help.c:6210 msgid "define or change a security label applied to an object" msgstr "definiera eller ändra en säkerhetsetikett på ett objekt" -#: sql_help.c:6196 sql_help.c:6250 sql_help.c:6286 +#: sql_help.c:6216 sql_help.c:6270 sql_help.c:6306 msgid "retrieve rows from a table or view" msgstr "hämta rader från en tabell eller vy" -#: sql_help.c:6208 +#: sql_help.c:6228 msgid "change a run-time parameter" msgstr "ändra en körningsparameter" -#: sql_help.c:6214 +#: sql_help.c:6234 msgid "set constraint check timing for the current transaction" msgstr "sätt integritetsvillkorstiming för nuvarande transaktion" -#: sql_help.c:6220 +#: sql_help.c:6240 msgid "set the current user identifier of the current session" msgstr "sätt användare för den aktiva sessionen" -#: sql_help.c:6226 +#: sql_help.c:6246 msgid "set the session user identifier and the current user identifier of the current session" msgstr "sätt sessionsanvändaridentifierare och nuvarande användaridentifierare för den aktiva sessionen" -#: sql_help.c:6232 +#: sql_help.c:6252 msgid "set the characteristics of the current transaction" msgstr "sätt inställningar för nuvarande transaktionen" -#: sql_help.c:6238 +#: sql_help.c:6258 msgid "show the value of a run-time parameter" msgstr "visa värde på en körningsparameter" -#: sql_help.c:6256 +#: sql_help.c:6276 msgid "empty a table or set of tables" msgstr "töm en eller flera tabeller" -#: sql_help.c:6262 +#: sql_help.c:6282 msgid "stop listening for a notification" msgstr "sluta att lyssna efter notifiering" -#: sql_help.c:6268 +#: sql_help.c:6288 msgid "update rows of a table" msgstr "uppdatera rader i en tabell" -#: sql_help.c:6274 +#: sql_help.c:6294 msgid "garbage-collect and optionally analyze a database" msgstr "skräpsamla och eventuellt analysera en databas" -#: sql_help.c:6280 +#: sql_help.c:6300 msgid "compute a set of rows" msgstr "beräkna en mängd rader" diff -Nru postgresql-17-17.7/src/bin/psql/po/uk.po postgresql-17-17.8/src/bin/psql/po/uk.po --- postgresql-17-17.7/src/bin/psql/po/uk.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/psql/po/uk.po 2026-02-09 21:51:54.000000000 +0000 @@ -2,8 +2,8 @@ msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-03-29 10:37+0000\n" -"PO-Revision-Date: 2025-04-01 13:47\n" +"POT-Creation-Date: 2025-12-31 02:36+0000\n" +"PO-Revision-Date: 2026-01-02 12:56\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -78,7 +78,7 @@ msgstr "%s() помилка: %m" #: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 -#: command.c:1373 command.c:3459 command.c:3508 command.c:3633 input.c:225 +#: command.c:1394 command.c:3549 command.c:3598 command.c:3723 input.c:225 #: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" @@ -100,7 +100,7 @@ msgid "could not look up effective user ID %ld: %s" msgstr "не можу знайти користувача з ефективним ID %ld: %s" -#: ../../common/username.c:45 command.c:616 +#: ../../common/username.c:45 command.c:637 msgid "user does not exist" msgstr "користувача не існує" @@ -206,81 +206,86 @@ msgid "local user with ID %d does not exist" msgstr "локального користувача з ідентифікатором %d не існує" -#: command.c:235 +#: command.c:244 +#, c-format +msgid "backslash commands are restricted; only \\unrestrict is allowed" +msgstr "команди зворотнього слешу обмежені; дозволяється лише \\unstrict" + +#: command.c:252 #, c-format msgid "invalid command \\%s" msgstr "Невірна команда \\%s" -#: command.c:237 +#: command.c:254 #, c-format msgid "Try \\? for help." msgstr "Спробуйте \\? для отримання довідки." -#: command.c:255 +#: command.c:272 #, c-format msgid "\\%s: extra argument \"%s\" ignored" msgstr "\\%s: зайвий аргумент \"%s\" проігноровано" -#: command.c:307 +#: command.c:324 #, c-format msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "\\%s команду проігноровано; скористайтесь \\endif або Ctrl-C, щоб вийти з поточного блоку \\if" -#: command.c:614 +#: command.c:635 #, c-format msgid "could not get home directory for user ID %ld: %s" msgstr "неможливо отримати домашню директорію для користувача ID %ld: %s" -#: command.c:633 +#: command.c:654 #, c-format msgid "\\%s: could not change directory to \"%s\": %m" msgstr "\\%s: неможливо змінити директорію на \"%s\": %m" -#: command.c:657 +#: command.c:678 #, c-format msgid "You are currently not connected to a database.\n" msgstr "На даний момент ви від'єднанні від бази даних.\n" -#: command.c:667 +#: command.c:688 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "Ви під'єднані до бази даних \"%s\" як користувач \"%s\" за аресою \"%s\" на порту \"%s\".\n" -#: command.c:670 +#: command.c:691 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Ви під'єднані до бази даних \"%s\" як користувач \"%s\" через сокет в \"%s\" на порту \"%s\".\n" -#: command.c:676 +#: command.c:697 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Ви під'єднані до бази даних \"%s\" як користувач \"%s\" на хості \"%s\" (за аресою \"%s\") на порту \"%s\".\n" -#: command.c:679 +#: command.c:700 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Ви під'єднані до бази даних \"%s\" як користувач \"%s\" на хості \"%s\" на порту \"%s\".\n" -#: command.c:1069 command.c:1170 command.c:2676 +#: command.c:1090 command.c:1191 command.c:2766 #, c-format msgid "no query buffer" msgstr "немає буферу запитів" -#: command.c:1102 command.c:5779 +#: command.c:1123 command.c:5869 #, c-format msgid "invalid line number: %s" msgstr "невірний номер рядка: %s" -#: command.c:1248 +#: command.c:1269 msgid "No changes" msgstr "Без змін" -#: command.c:1333 +#: command.c:1354 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "%s: невірне ім'я кодування або не знайдено процедуру конверсії" -#: command.c:1369 command.c:2158 command.c:3455 command.c:3653 command.c:5885 +#: command.c:1390 command.c:2179 command.c:3545 command.c:3743 command.c:5975 #: common.c:221 common.c:270 common.c:440 common.c:1142 common.c:1160 #: common.c:1228 common.c:1340 common.c:1378 common.c:1475 common.c:1541 #: copy.c:486 copy.c:722 large_obj.c:157 large_obj.c:192 large_obj.c:254 @@ -289,242 +294,253 @@ msgid "%s" msgstr "%s" -#: command.c:1376 +#: command.c:1397 msgid "There is no previous error." msgstr "Попередня помилка відсутня." -#: command.c:1489 +#: command.c:1510 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: відсутня права дужка" -#: command.c:1573 command.c:1692 command.c:1996 command.c:2010 command.c:2029 -#: command.c:2197 command.c:2438 command.c:2643 command.c:2683 +#: command.c:1594 command.c:1713 command.c:2017 command.c:2031 command.c:2050 +#: command.c:2218 command.c:2377 command.c:2488 command.c:2691 command.c:2733 +#: command.c:2773 #, c-format msgid "\\%s: missing required argument" msgstr "\\%s: не вистачає обов'язкового аргументу" -#: command.c:1823 +#: command.c:1844 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif: не може йти після \\else" -#: command.c:1828 +#: command.c:1849 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif: немає відповідного \\if" -#: command.c:1892 +#: command.c:1913 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else: не може йти після \\else" -#: command.c:1897 +#: command.c:1918 #, c-format msgid "\\else: no matching \\if" msgstr "\\else: немає відповідного \\if" -#: command.c:1937 +#: command.c:1958 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif: немає відповідного \\if" -#: command.c:2093 +#: command.c:2114 msgid "Query buffer is empty." msgstr "Буфер запиту порожній." -#: command.c:2136 +#: command.c:2157 #, c-format msgid "Enter new password for user \"%s\": " msgstr "Введіть новий пароль користувача \"%s\": " -#: command.c:2140 +#: command.c:2161 msgid "Enter it again: " msgstr "Введіть знову: " -#: command.c:2149 +#: command.c:2170 #, c-format msgid "Passwords didn't match." msgstr "Паролі не співпадають." -#: command.c:2232 +#: command.c:2253 #, c-format msgid "\\%s: could not read value for variable" msgstr "\\%s: не вдалося прочитати значення змінної" -#: command.c:2334 +#: command.c:2355 msgid "Query buffer reset (cleared)." msgstr "Буфер запитів скинуто (очищено)." -#: command.c:2356 +#: command.c:2406 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "Історію записано до файлу \"%s\".\n" -#: command.c:2443 +#: command.c:2493 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s: змінна середовища не повинна містити \"=\"" -#: command.c:2491 +#: command.c:2541 #, c-format msgid "function name is required" msgstr "необхідне ім'я функції" -#: command.c:2493 +#: command.c:2543 #, c-format msgid "view name is required" msgstr "необхідне ім'я подання" -#: command.c:2615 +#: command.c:2665 msgid "Timing is on." msgstr "Таймер увімкнено." -#: command.c:2617 +#: command.c:2667 msgid "Timing is off." msgstr "Таймер вимкнено." -#: command.c:2703 command.c:2741 command.c:4166 command.c:4169 command.c:4172 -#: command.c:4178 command.c:4180 command.c:4206 command.c:4216 command.c:4228 -#: command.c:4242 command.c:4269 command.c:4327 common.c:77 copy.c:329 +#: command.c:2697 +#, c-format +msgid "\\%s: not currently in restricted mode" +msgstr "\\%s: наразі не обмежено" + +#: command.c:2707 +#, c-format +msgid "\\%s: wrong key" +msgstr "\\%s: неправильний ключ" + +#: command.c:2793 command.c:2831 command.c:4256 command.c:4259 command.c:4262 +#: command.c:4268 command.c:4270 command.c:4296 command.c:4306 command.c:4318 +#: command.c:4332 command.c:4359 command.c:4417 common.c:77 copy.c:329 #: copy.c:401 psqlscanslash.l:805 psqlscanslash.l:817 psqlscanslash.l:835 #, c-format msgid "%s: %m" msgstr "%s: %m" -#: command.c:2730 copy.c:388 +#: command.c:2820 copy.c:388 #, c-format msgid "%s: %s" msgstr "%s: %s" -#: command.c:2802 command.c:2868 +#: command.c:2892 command.c:2958 #, c-format msgid "\\watch: interval value is specified more than once" msgstr "\\watch: інтервал зазначається неодноразово" -#: command.c:2812 command.c:2878 +#: command.c:2902 command.c:2968 #, c-format msgid "\\watch: incorrect interval value \"%s\"" msgstr "\\watch: неправильне значення інтервалу \"%s\"" -#: command.c:2822 +#: command.c:2912 #, c-format msgid "\\watch: iteration count is specified more than once" msgstr "\\watch: інтервал зазначається неодноразово" -#: command.c:2832 +#: command.c:2922 #, c-format msgid "\\watch: incorrect iteration count \"%s\"" msgstr "\\watch: неправильна кількість ітерацій \"%s\"" -#: command.c:2842 +#: command.c:2932 #, c-format msgid "\\watch: minimum row count specified more than once" msgstr "\\watch: мінімальна кількість рядків вказана більше одного разу" -#: command.c:2852 +#: command.c:2942 #, c-format msgid "\\watch: incorrect minimum row count \"%s\"" msgstr "\\watch: неправильна мінімальна кількість рядків \"%s\"" -#: command.c:2859 +#: command.c:2949 #, c-format msgid "\\watch: unrecognized parameter \"%s\"" msgstr "\\watch: нерозпізнаний параметр \"%s\"" -#: command.c:3256 startup.c:243 startup.c:293 +#: command.c:3346 startup.c:243 startup.c:293 msgid "Password: " msgstr "Пароль: " -#: command.c:3261 startup.c:290 +#: command.c:3351 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "Пароль користувача %s:" -#: command.c:3317 +#: command.c:3407 #, c-format msgid "Do not give user, host, or port separately when using a connection string" msgstr "Не надайте користувачеві, хосту або порту окремо під час використання рядка підключення" -#: command.c:3352 +#: command.c:3442 #, c-format msgid "No database connection exists to re-use parameters from" msgstr "Не існує підключення до бази даних для повторного використання параметрів" -#: command.c:3659 +#: command.c:3749 #, c-format msgid "Previous connection kept" msgstr "Попереднє підключення триває" -#: command.c:3665 +#: command.c:3755 #, c-format msgid "\\connect: %s" msgstr "\\connect: %s" -#: command.c:3721 +#: command.c:3811 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "Ви під'єднані до бази даних \"%s\" як користувач \"%s\" за адресою \"%s\" на порту \"%s\".\n" -#: command.c:3724 +#: command.c:3814 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Ви тепер під'єднані до бази даних \"%s\" як користувач \"%s\" через сокет в \"%s\" на порту \"%s\".\n" -#: command.c:3730 +#: command.c:3820 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Ви під'єднані до бази даних \"%s\" як користувач \"%s\" на хості \"%s\" (за адресою \"%s\") на порту \"%s\".\n" -#: command.c:3733 +#: command.c:3823 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Ви тепер під'єднані до бази даних \"%s\" як користувач \"%s\" на хості \"%s\" на порту \"%s\".\n" -#: command.c:3738 +#: command.c:3828 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "Ви тепер під'єднані до бази даних \"%s\" як користувач \"%s\".\n" -#: command.c:3844 +#: command.c:3934 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s (%s, сервер %s)\n" -#: command.c:3857 +#: command.c:3947 #, c-format msgid "WARNING: %s major version %s, server major version %s.\n" " Some psql features might not work.\n" msgstr "УВАГА: мажорна версія %s %s, мажорна версія сервера %s.\n" " Деякі функції psql можуть не працювати.\n" -#: command.c:3896 +#: command.c:3986 #, c-format msgid "SSL connection (protocol: %s, cipher: %s, compression: %s, ALPN: %s)\n" msgstr "З'єднання SSL (протокол: %s, шифр: %s, компресія: %s, ALPN: %s)\n" -#: command.c:3897 command.c:3898 +#: command.c:3987 command.c:3988 msgid "unknown" msgstr "невідомо" -#: command.c:3899 help.c:42 +#: command.c:3989 help.c:42 msgid "off" msgstr "вимк" -#: command.c:3899 help.c:42 +#: command.c:3989 help.c:42 msgid "on" msgstr "увімк" -#: command.c:3900 +#: command.c:3990 msgid "none" msgstr "нічого" -#: command.c:3914 +#: command.c:4004 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "З'єднання зашифровано GSSAPI\n" -#: command.c:3934 +#: command.c:4024 #, c-format msgid "WARNING: Console code page (%u) differs from Windows code page (%u)\n" " 8-bit characters might not work correctly. See psql reference\n" @@ -533,187 +549,187 @@ " 8-бітові символи можуть працювати неправильно. Детальніше у розділі \n" " \"Нотатки для користувачів Windows\" у документації psql.\n" -#: command.c:4041 +#: command.c:4131 #, c-format msgid "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number" msgstr "змінна середовища PSQL_EDITOR_LINENUMBER_ARG має бути встановлена, щоб вказувати номер рядка" -#: command.c:4071 +#: command.c:4161 #, c-format msgid "could not start editor \"%s\"" msgstr "неможливо запустити редактор \"%s\"" -#: command.c:4073 +#: command.c:4163 #, c-format msgid "could not start /bin/sh" msgstr "неможливо запустити /bin/sh" -#: command.c:4123 +#: command.c:4213 #, c-format msgid "could not locate temporary directory: %s" msgstr "неможливо знайти тимчасову директорію: %s" -#: command.c:4150 +#: command.c:4240 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "неможливо відкрити тимчасовий файл \"%s\": %m" -#: command.c:4486 +#: command.c:4576 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" msgstr "\\pset: неоднозначна абревіатура \"%s\" відповідає обом \"%s\" і \"%s" -#: command.c:4506 +#: command.c:4596 #, c-format msgid "\\pset: allowed formats are aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" msgstr "\\pset: дозволені формати: aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" -#: command.c:4525 +#: command.c:4615 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: дозволені стилі ліній: ascii, old-ascii, unicode" -#: command.c:4540 +#: command.c:4630 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset: дозволені стилі ліній рамок Unicode: single, double" -#: command.c:4555 +#: command.c:4645 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset: дозволені стилі ліній стовпців для Unicode: single, double" -#: command.c:4570 +#: command.c:4660 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset: дозволені стилі ліній заголовків для Unicode: single, double" -#: command.c:4622 +#: command.c:4712 #, c-format msgid "\\pset: allowed xheader_width values are \"%s\" (default), \"%s\", \"%s\", or a number specifying the exact width" msgstr "\\pset: дозволені значення xheader_width є \"%s\" (за замовчуванням), \"%s\", \"%s\" або число, яке визначає точну ширину" -#: command.c:4639 +#: command.c:4729 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: csv_fieldsep повинен бути однобайтовим символом" -#: command.c:4644 +#: command.c:4734 #, c-format msgid "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage return" msgstr "\\pset: csv_fieldsep не може бути подвійною лапкою, новим рядком або поверненням каретки" -#: command.c:4782 command.c:4983 +#: command.c:4872 command.c:5073 #, c-format msgid "\\pset: unknown option: %s" msgstr "\\pset: невідомий параметр: %s" -#: command.c:4802 +#: command.c:4892 #, c-format msgid "Border style is %d.\n" msgstr "Стиль рамки %d.\n" -#: command.c:4808 +#: command.c:4898 #, c-format msgid "Target width is unset.\n" msgstr "Цільова ширина не встановлена.\n" -#: command.c:4810 +#: command.c:4900 #, c-format msgid "Target width is %d.\n" msgstr "Цільова ширина %d.\n" -#: command.c:4817 +#: command.c:4907 #, c-format msgid "Expanded display is on.\n" msgstr "Розширене відображення увімкнуто.\n" -#: command.c:4819 +#: command.c:4909 #, c-format msgid "Expanded display is used automatically.\n" msgstr "Розширене відображення використовується автоматично.\n" -#: command.c:4821 +#: command.c:4911 #, c-format msgid "Expanded display is off.\n" msgstr "Розширене відображення вимкнуто.\n" -#: command.c:4828 command.c:4830 command.c:4832 +#: command.c:4918 command.c:4920 command.c:4922 #, c-format msgid "Expanded header width is \"%s\".\n" msgstr "Розширена ширина заголовка \"%s\".\n" -#: command.c:4834 +#: command.c:4924 #, c-format msgid "Expanded header width is %d.\n" msgstr "Розширена ширина заголовка %d.\n" -#: command.c:4840 +#: command.c:4930 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "Розділювач полів CSV: \"%s\".\n" -#: command.c:4848 command.c:4856 +#: command.c:4938 command.c:4946 #, c-format msgid "Field separator is zero byte.\n" msgstr "Розділювач полів - нульовий байт.\n" -#: command.c:4850 +#: command.c:4940 #, c-format msgid "Field separator is \"%s\".\n" msgstr "Розділювач полів \"%s\".\n" -#: command.c:4863 +#: command.c:4953 #, c-format msgid "Default footer is on.\n" msgstr "Нинжній колонтитул увімкнуто за замовчуванням.\n" -#: command.c:4865 +#: command.c:4955 #, c-format msgid "Default footer is off.\n" msgstr "Нинжній колонтитул вимкнуто за замовчуванням.\n" -#: command.c:4871 +#: command.c:4961 #, c-format msgid "Output format is %s.\n" msgstr "Формат виводу %s.\n" -#: command.c:4877 +#: command.c:4967 #, c-format msgid "Line style is %s.\n" msgstr "Стиль лінії %s.\n" -#: command.c:4884 +#: command.c:4974 #, c-format msgid "Null display is \"%s\".\n" msgstr "Null відображається як \"%s\".\n" -#: command.c:4892 +#: command.c:4982 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "Локалізоване виведення чисел ввімкнено.\n" -#: command.c:4894 +#: command.c:4984 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "Локалізоване виведення чисел вимкнено.\n" -#: command.c:4901 +#: command.c:4991 #, c-format msgid "Pager is used for long output.\n" msgstr "Пейджер використовується для виведення довгого тексту.\n" -#: command.c:4903 +#: command.c:4993 #, c-format msgid "Pager is always used.\n" msgstr "Завжди використовується пейджер.\n" -#: command.c:4905 +#: command.c:4995 #, c-format msgid "Pager usage is off.\n" msgstr "Пейджер не використовується.\n" -#: command.c:4911 +#: command.c:5001 #, c-format msgid "Pager won't be used for less than %d line.\n" msgid_plural "Pager won't be used for less than %d lines.\n" @@ -722,97 +738,97 @@ msgstr[2] "Пейджер не буде використовуватися для менш ніж %d рядків.\n" msgstr[3] "Пейджер не буде використовуватися для менш ніж %d рядка.\n" -#: command.c:4921 command.c:4931 +#: command.c:5011 command.c:5021 #, c-format msgid "Record separator is zero byte.\n" msgstr "Розділювач записів - нульовий байт.\n" -#: command.c:4923 +#: command.c:5013 #, c-format msgid "Record separator is .\n" msgstr "Розділювач записів: .\n" -#: command.c:4925 +#: command.c:5015 #, c-format msgid "Record separator is \"%s\".\n" msgstr "Розділювач записів: \"%s\".\n" -#: command.c:4938 +#: command.c:5028 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "Табличні атрибути \"%s\".\n" -#: command.c:4941 +#: command.c:5031 #, c-format msgid "Table attributes unset.\n" msgstr "Атрибути таблиць не задані.\n" -#: command.c:4948 +#: command.c:5038 #, c-format msgid "Title is \"%s\".\n" msgstr "Заголовок: \"%s\".\n" -#: command.c:4950 +#: command.c:5040 #, c-format msgid "Title is unset.\n" msgstr "Заголовок не встановлено.\n" -#: command.c:4957 +#: command.c:5047 #, c-format msgid "Tuples only is on.\n" msgstr "Увімкнуто тільки кортежі.\n" -#: command.c:4959 +#: command.c:5049 #, c-format msgid "Tuples only is off.\n" msgstr "Вимкнуто тільки кортежі.\n" -#: command.c:4965 +#: command.c:5055 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "Стиль ліній рамки для Unicode: \"%s\".\n" -#: command.c:4971 +#: command.c:5061 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "Стиль ліній стовпців для Unicode: \"%s\".\n" -#: command.c:4977 +#: command.c:5067 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "Стиль ліній заголовків для Unicode: \"%s\".\n" -#: command.c:5226 +#: command.c:5316 #, c-format msgid "\\!: failed" msgstr "\\!: помилка" -#: command.c:5264 +#: command.c:5354 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watch не може бути використано із пустим запитом" -#: command.c:5296 +#: command.c:5386 #, c-format msgid "could not set timer: %m" msgstr "не вдалося встановити таймер: %m" -#: command.c:5365 +#: command.c:5455 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (кожні %g сек)\n" -#: command.c:5368 +#: command.c:5458 #, c-format msgid "%s (every %gs)\n" msgstr "%s (кожні %g сек)\n" -#: command.c:5432 +#: command.c:5522 #, c-format msgid "could not wait for signals: %m" msgstr "не вдалося дочекатися сигналів: %m" -#: command.c:5488 command.c:5495 common.c:632 common.c:639 common.c:1123 +#: command.c:5578 command.c:5585 common.c:632 common.c:639 common.c:1123 #, c-format msgid "/******** QUERY *********/\n" "%s\n" @@ -821,12 +837,12 @@ "%s\n" "/************************/\n\n" -#: command.c:5674 +#: command.c:5764 #, c-format msgid "\"%s.%s\" is not a view" msgstr "\"%s.%s\" не є поданням" -#: command.c:5690 +#: command.c:5780 #, c-format msgid "could not parse reloptions array" msgstr "неможливо розібрати масив reloptions" @@ -2505,7 +2521,7 @@ msgid "psql is the PostgreSQL interactive terminal.\n\n" msgstr "psql - це інтерактивний термінал PostgreSQL.\n\n" -#: help.c:64 help.c:372 help.c:456 help.c:502 +#: help.c:64 help.c:376 help.c:460 help.c:509 msgid "Usage:\n" msgstr "Використання:\n" @@ -2765,6 +2781,18 @@ msgstr " \\q вийти з psql\n" #: help.c:178 +msgid " \\restrict RESTRICT_KEY\n" +" enter restricted mode with provided key\n" +msgstr " \\restrict RESTRICT_KEY\n" +" увійти в обмежений режим з наданим ключем\n" + +#: help.c:180 +msgid " \\unrestrict RESTRICT_KEY\n" +" exit restricted mode if key matches\n" +msgstr " \\unrestrict RESTRICT_KEY\n" +" вийти з обмеженого режиму, якщо ключ збігається\n" + +#: help.c:182 msgid " \\watch [[i=]SEC] [c=N] [m=MIN]\n" " execute query every SEC seconds, up to N times,\n" " stop if less than MIN rows are returned\n" @@ -2772,375 +2800,375 @@ " виконувати запит кожні SEC секунд, до N разів або\n" " зупинитися, якщо повернуто менше ніж MIN рядків\n" -#: help.c:181 help.c:189 help.c:201 help.c:211 help.c:218 help.c:275 help.c:283 -#: help.c:303 help.c:316 help.c:325 +#: help.c:185 help.c:193 help.c:205 help.c:215 help.c:222 help.c:279 help.c:287 +#: help.c:307 help.c:320 help.c:329 msgid "\n" msgstr "\n" -#: help.c:183 +#: help.c:187 msgid "Help\n" msgstr "Довідка\n" -#: help.c:185 +#: help.c:189 msgid " \\? [commands] show help on backslash commands\n" msgstr " \\? [commands] показати довідку по командах з \\\n" -#: help.c:186 +#: help.c:190 msgid " \\? options show help on psql command-line options\n" msgstr " \\? options показати довідку по параметрах командного рядку psql\n" -#: help.c:187 +#: help.c:191 msgid " \\? variables show help on special variables\n" msgstr " \\? variables показати довідку по спеціальних змінних\n" -#: help.c:188 +#: help.c:192 msgid " \\h [NAME] help on syntax of SQL commands, * for all commands\n" msgstr " \\h [NAME] довідка з синтаксису команд SQL, * для всіх команд\n" -#: help.c:191 +#: help.c:195 msgid "Query Buffer\n" msgstr "Буфер запитів\n" -#: help.c:192 +#: help.c:196 msgid " \\e [FILE] [LINE] edit the query buffer (or file) with external editor\n" msgstr " \\e [FILE] [LINE] редагувати буфер запитів (або файл) зовнішнім редактором\n" -#: help.c:193 +#: help.c:197 msgid " \\ef [FUNCNAME [LINE]] edit function definition with external editor\n" msgstr " \\ef [FUNCNAME [LINE]] редагувати визначення функції зовнішнім редактором\n" -#: help.c:194 +#: help.c:198 msgid " \\ev [VIEWNAME [LINE]] edit view definition with external editor\n" msgstr " \\ev [VIEWNAME [LINE]] редагувати визначення подання зовнішнім редактором\n" -#: help.c:195 +#: help.c:199 msgid " \\p show the contents of the query buffer\n" msgstr " \\p показати вміст буфера запитів\n" -#: help.c:196 +#: help.c:200 msgid " \\r reset (clear) the query buffer\n" msgstr " \\r скинути (очистити) буфер запитів\n" -#: help.c:198 +#: help.c:202 msgid " \\s [FILE] display history or save it to file\n" msgstr " \\s [FILE] відобразити історію або зберегти її до файлу\n" -#: help.c:200 +#: help.c:204 msgid " \\w FILE write query buffer to file\n" msgstr " \\w FILE писати буфер запитів до файлу\n" -#: help.c:203 +#: help.c:207 msgid "Input/Output\n" msgstr "Ввід/Вивід\n" -#: help.c:204 +#: help.c:208 msgid " \\copy ... perform SQL COPY with data stream to the client host\n" msgstr " \\copy ... виконати команду SQL COPY з потоком даних на клієнтський хост\n" -#: help.c:205 +#: help.c:209 msgid " \\echo [-n] [STRING] write string to standard output (-n for no newline)\n" msgstr " \\echo [-n] [STRING] записати рядок до стандартного виводу (-n для пропуску нового рядка)\n" -#: help.c:206 +#: help.c:210 msgid " \\i FILE execute commands from file\n" msgstr " \\i FILE виконати команди з файлу\n" -#: help.c:207 +#: help.c:211 msgid " \\ir FILE as \\i, but relative to location of current script\n" msgstr " \\ir ФАЙЛ те саме, що \\i, але відносно розташування поточного сценарію\n" -#: help.c:208 +#: help.c:212 msgid " \\o [FILE] send all query results to file or |pipe\n" msgstr " \\o [FILE] надсилати всі результати запитів до файлу або до каналу |\n" -#: help.c:209 +#: help.c:213 msgid " \\qecho [-n] [STRING] write string to \\o output stream (-n for no newline)\n" msgstr " \\qecho [-n] [STRING] записати рядок до вихідного потоку \\o (-n для пропуску нового рядка)\n" -#: help.c:210 +#: help.c:214 msgid " \\warn [-n] [STRING] write string to standard error (-n for no newline)\n" msgstr " \\warn [-n] [STRING] записати рядок до стандартної помилки (-n для пропуску нового рядка)\n" -#: help.c:213 +#: help.c:217 msgid "Conditional\n" msgstr "Умовний\n" -#: help.c:214 +#: help.c:218 msgid " \\if EXPR begin conditional block\n" msgstr " \\if EXPR початок умовного блоку\n" -#: help.c:215 +#: help.c:219 msgid " \\elif EXPR alternative within current conditional block\n" msgstr " \\elif EXPR альтернатива в рамках поточного блоку\n" -#: help.c:216 +#: help.c:220 msgid " \\else final alternative within current conditional block\n" msgstr " \\else остаточна альтернатива в рамках поточного умовного блоку\n" -#: help.c:217 +#: help.c:221 msgid " \\endif end conditional block\n" msgstr " \\endif кінець умовного блоку\n" -#: help.c:220 +#: help.c:224 msgid "Informational\n" msgstr "Інформаційний\n" -#: help.c:221 +#: help.c:225 msgid " (options: S = show system objects, + = additional detail)\n" msgstr " (параметри: S = показати системні об'єкти, + = додаткові деталі)\n" -#: help.c:222 +#: help.c:226 msgid " \\d[S+] list tables, views, and sequences\n" msgstr " \\d[S+] вивести таблиці, подання і послідовності\n" -#: help.c:223 +#: help.c:227 msgid " \\d[S+] NAME describe table, view, sequence, or index\n" msgstr " \\d[S+] NAME описати таблицю, подання, послідовність або індекс\n" -#: help.c:224 +#: help.c:228 msgid " \\da[S] [PATTERN] list aggregates\n" msgstr " \\da[S] [PATTERN] вивести агрегати\n" -#: help.c:225 +#: help.c:229 msgid " \\dA[+] [PATTERN] list access methods\n" msgstr " \\dA[+] [PATTERN] вивести методи доступу\n" -#: help.c:226 +#: help.c:230 msgid " \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n" msgstr " \\dAc[+] [AMPTRN [TYPEPTRN]] список класів операторів\n" -#: help.c:227 +#: help.c:231 msgid " \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n" msgstr " \\dAf[+] [AMPTRN [TYPEPTRN]] список сімейств операторів\n" -#: help.c:228 +#: help.c:232 msgid " \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n" msgstr " \\dAo[+] [AMPTRN [OPFPTRN]] список операторів сімейств операторів\n" -#: help.c:229 +#: help.c:233 msgid " \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n" msgstr " \\dAp[+] [AMPTRN [OPFPTRN]] список функцій підтримки сімейств операторів\n" -#: help.c:230 +#: help.c:234 msgid " \\db[+] [PATTERN] list tablespaces\n" msgstr " \\db[+] [PATTERN] вивести табличні простори\n" -#: help.c:231 +#: help.c:235 msgid " \\dc[S+] [PATTERN] list conversions\n" msgstr " \\dc[S+] [PATTERN] вивести перетворення\n" -#: help.c:232 +#: help.c:236 msgid " \\dconfig[+] [PATTERN] list configuration parameters\n" msgstr " \\dconfig[+] [PATTERN] вивести параметри конфігурації\n" -#: help.c:233 +#: help.c:237 msgid " \\dC[+] [PATTERN] list casts\n" msgstr " \\dC[+] [PATTERN] вивести приведення типів\n" -#: help.c:234 +#: help.c:238 msgid " \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n" msgstr " \\dd[S] [PATTERN] показати опис об'єкта, що не відображається в іншому місці\n" -#: help.c:235 +#: help.c:239 msgid " \\dD[S+] [PATTERN] list domains\n" msgstr " \\dD[S+] [PATTERN] вивести домени\n" -#: help.c:236 +#: help.c:240 msgid " \\ddp [PATTERN] list default privileges\n" msgstr " \\ddp [PATTERN] вивести привілеї за замовчуванням\n" -#: help.c:237 +#: help.c:241 msgid " \\dE[S+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [PATTERN] вивести зовнішні таблиці\n" -#: help.c:238 +#: help.c:242 msgid " \\des[+] [PATTERN] list foreign servers\n" msgstr " \\des[+] [PATTERN] вивести зовнішні сервери\n" -#: help.c:239 +#: help.c:243 msgid " \\det[+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [PATTERN] вивести зовнішні таблиці\n" -#: help.c:240 +#: help.c:244 msgid " \\deu[+] [PATTERN] list user mappings\n" msgstr " \\deu[+] [PATTERN] вивести користувацькі зіставлення\n" -#: help.c:241 +#: help.c:245 msgid " \\dew[+] [PATTERN] list foreign-data wrappers\n" msgstr " \\dew[+] [PATTERN] список джерел сторонніх даних\n" -#: help.c:242 +#: help.c:246 msgid " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " list [only agg/normal/procedure/trigger/window] functions\n" msgstr " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " список [лише агрегатних/нормальних/процедурних/тригерних/віконних] функцій\n" -#: help.c:244 +#: help.c:248 msgid " \\dF[+] [PATTERN] list text search configurations\n" msgstr " \\dF[+] [PATTERN] вивести конфігурації текстового пошуку\n" -#: help.c:245 +#: help.c:249 msgid " \\dFd[+] [PATTERN] list text search dictionaries\n" msgstr " \\dFd[+] [PATTERN] вивести словники текстового пошуку\n" -#: help.c:246 +#: help.c:250 msgid " \\dFp[+] [PATTERN] list text search parsers\n" msgstr " \\dFp[+] [PATTERN] вивести парсери текстового пошуку\n" -#: help.c:247 +#: help.c:251 msgid " \\dFt[+] [PATTERN] list text search templates\n" msgstr " \\dFt[+] [PATTERN] вивести шаблони текстового пошуку\n" -#: help.c:248 +#: help.c:252 msgid " \\dg[S+] [PATTERN] list roles\n" msgstr " \\dg[S+] [PATTERN] вивести ролі\n" -#: help.c:249 +#: help.c:253 msgid " \\di[S+] [PATTERN] list indexes\n" msgstr " \\di[S+] [PATTERN] вивести індекси\n" -#: help.c:250 +#: help.c:254 msgid " \\dl[+] list large objects, same as \\lo_list\n" msgstr " \\dl[+] вивести великі об'єкти, те саме, що \\lo_list\n" -#: help.c:251 +#: help.c:255 msgid " \\dL[S+] [PATTERN] list procedural languages\n" msgstr " \\dL[S+] [PATTERN] вивести процедурні мови\n" -#: help.c:252 +#: help.c:256 msgid " \\dm[S+] [PATTERN] list materialized views\n" msgstr " \\dm[S+] [PATTERN] вивести матеріалізовані подання\n" -#: help.c:253 +#: help.c:257 msgid " \\dn[S+] [PATTERN] list schemas\n" msgstr " \\dn[S+] [PATTERN] вивести схеми\n" -#: help.c:254 +#: help.c:258 msgid " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " list operators\n" msgstr " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " список операторів\n" -#: help.c:256 +#: help.c:260 msgid " \\dO[S+] [PATTERN] list collations\n" msgstr " \\dO[S+] [PATTERN] вивести правила сортування\n" -#: help.c:257 +#: help.c:261 msgid " \\dp[S] [PATTERN] list table, view, and sequence access privileges\n" msgstr " \\dp[S] [PATTERN] вивести привілеї доступу до таблиць, подань або послідовностей \n" -#: help.c:258 +#: help.c:262 msgid " \\dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested]\n" msgstr " \\dP[itn+] [PATTERN] вивести [тільки індекс/таблицю] секційні відношення [n=вкладені]\n" -#: help.c:259 +#: help.c:263 msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" msgstr " \\drds [ROLEPTRN [DBPTRN]] вивести налаштування ролей побазово\n" -#: help.c:260 +#: help.c:264 msgid " \\drg[S] [PATTERN] list role grants\n" msgstr " \\drg[S] [PATTERN] вивести надані ролі\n" -#: help.c:261 +#: help.c:265 msgid " \\dRp[+] [PATTERN] list replication publications\n" msgstr " \\dRp[+] [PATTERN] вивести реплікаційні публікації\n" -#: help.c:262 +#: help.c:266 msgid " \\dRs[+] [PATTERN] list replication subscriptions\n" msgstr " \\dRs[+] [PATTERN] вивести реплікаційні підписки\n" -#: help.c:263 +#: help.c:267 msgid " \\ds[S+] [PATTERN] list sequences\n" msgstr " \\ds[S+] [PATTERN] вивести послідовності\n" -#: help.c:264 +#: help.c:268 msgid " \\dt[S+] [PATTERN] list tables\n" msgstr " \\dt[S+] [PATTERN] вивести таблиці\n" -#: help.c:265 +#: help.c:269 msgid " \\dT[S+] [PATTERN] list data types\n" msgstr " \\dT[S+] [PATTERN] вивести типи даних\n" -#: help.c:266 +#: help.c:270 msgid " \\du[S+] [PATTERN] list roles\n" msgstr " \\du[S+] [PATTERN] вивести ролі\n" -#: help.c:267 +#: help.c:271 msgid " \\dv[S+] [PATTERN] list views\n" msgstr " \\dv[S+] [PATTERN] вивести подання\n" -#: help.c:268 +#: help.c:272 msgid " \\dx[+] [PATTERN] list extensions\n" msgstr " \\dx[+] [PATTERN] вивести розширення\n" -#: help.c:269 +#: help.c:273 msgid " \\dX [PATTERN] list extended statistics\n" msgstr " \\dX [PATTERN] список розширеної статистики\n" -#: help.c:270 +#: help.c:274 msgid " \\dy[+] [PATTERN] list event triggers\n" msgstr " \\dy[+] [PATTERN] вивести тригери подій\n" -#: help.c:271 +#: help.c:275 msgid " \\l[+] [PATTERN] list databases\n" msgstr " \\l[+] [PATTERN] вивести бази даних\n" -#: help.c:272 +#: help.c:276 msgid " \\sf[+] FUNCNAME show a function's definition\n" msgstr " \\sf[+] FUNCNAME відобразити визначення функції\n" -#: help.c:273 +#: help.c:277 msgid " \\sv[+] VIEWNAME show a view's definition\n" msgstr " \\sv[+] VIEWNAME відобразити визначення подання\n" -#: help.c:274 +#: help.c:278 msgid " \\z[S] [PATTERN] same as \\dp\n" msgstr " \\z[S] [PATTERN] те саме, що \\dp\n" -#: help.c:277 +#: help.c:281 msgid "Large Objects\n" msgstr "Великі об'єкти\n" -#: help.c:278 +#: help.c:282 msgid " \\lo_export LOBOID FILE write large object to file\n" msgstr " \\lo_export LOBOID FILE записати великий об'єкт в файл\n" -#: help.c:279 +#: help.c:283 msgid " \\lo_import FILE [COMMENT]\n" " read large object from file\n" msgstr " \\lo_import FILE [COMMENT]\n" " читати великий об'єкт з файлу\n" -#: help.c:281 +#: help.c:285 msgid " \\lo_list[+] list large objects\n" msgstr " \\lo_list[+] вивести великі об'єкти\n" -#: help.c:282 +#: help.c:286 msgid " \\lo_unlink LOBOID delete a large object\n" msgstr " \\lo_unlink LOBOID видалити великий об’єкт\n" -#: help.c:285 +#: help.c:289 msgid "Formatting\n" msgstr "Форматування\n" -#: help.c:286 +#: help.c:290 msgid " \\a toggle between unaligned and aligned output mode\n" msgstr " \\a перемикання між режимами виводу: unaligned, aligned\n" -#: help.c:287 +#: help.c:291 msgid " \\C [STRING] set table title, or unset if none\n" msgstr " \\C [STRING] встановити заголовок таблиці або прибрати, якщо не задано\n" -#: help.c:288 +#: help.c:292 msgid " \\f [STRING] show or set field separator for unaligned query output\n" msgstr " \\f [STRING] показати або встановити розділювач полів для не вирівняного виводу запиту\n" -#: help.c:289 +#: help.c:293 #, c-format msgid " \\H toggle HTML output mode (currently %s)\n" msgstr " \\H переключити режим виводу HTML (поточний: %s)\n" -#: help.c:291 +#: help.c:295 msgid " \\pset [NAME [VALUE]] set table output option\n" " (border|columns|csv_fieldsep|expanded|fieldsep|\n" " fieldsep_zero|footer|format|linestyle|null|\n" @@ -3156,113 +3184,113 @@ " unicode_border_linestyle|unicode_column_linestyle|\n" " unicode_header_linestyle|xheader_width)\n" -#: help.c:298 +#: help.c:302 #, c-format msgid " \\t [on|off] show only rows (currently %s)\n" msgstr " \\t [on|off] показувати лише рядки (поточно %s)\n" -#: help.c:300 +#: help.c:304 msgid " \\T [STRING] set HTML
tag attributes, or unset if none\n" msgstr " \\T [STRING] встановити атрибути для HTML
або прибрати, якщо не задані\n" -#: help.c:301 +#: help.c:305 #, c-format msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n" msgstr " \\x [on|off|auto] переключити розширений вивід (поточний: %s)\n" -#: help.c:302 +#: help.c:306 msgid "auto" msgstr "авто" -#: help.c:305 +#: help.c:309 msgid "Connection\n" msgstr "Підключення\n" -#: help.c:307 +#: help.c:311 #, c-format msgid " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently \"%s\")\n" msgstr " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo} під'єднатися до нової бази даних (поточно \"%s\")\n" -#: help.c:311 +#: help.c:315 msgid " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently no connection)\n" msgstr " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo} під'єднатися до нової бази даних (зараз з'єднання відсутнє)\n" -#: help.c:313 +#: help.c:317 msgid " \\conninfo display information about current connection\n" msgstr " \\conninfo показати інформацію про поточне з'єднання\n" -#: help.c:314 +#: help.c:318 msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr " \\encoding [ENCODING] показати або встановити кодування клієнта\n" -#: help.c:315 +#: help.c:319 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr " \\password [USERNAME] безпечно змінити пароль користувача \n" -#: help.c:318 +#: help.c:322 msgid "Operating System\n" msgstr "Операційна система\n" -#: help.c:319 +#: help.c:323 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [DIR] змінити поточний робочий каталог\n" -#: help.c:320 +#: help.c:324 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" msgstr " \\getenv PSQLVAR ENVAR отримати змінну середовища\n" -#: help.c:321 +#: help.c:325 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr " \\setenv NAME [VALUE] встановити або скинути змінну середовища\n" -#: help.c:322 +#: help.c:326 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr " \\timing [on|off] переключити таймер команд (поточний: %s)\n" -#: help.c:324 +#: help.c:328 msgid " \\! [COMMAND] execute command in shell or start interactive shell\n" msgstr " \\! [COMMAND] виконати команду в оболонці або запустити інтерактивну оболонку\n" -#: help.c:327 +#: help.c:331 msgid "Variables\n" msgstr "Змінні\n" -#: help.c:328 +#: help.c:332 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr " \\prompt [TEXT] NAME запитати користувача значення внутрішньої змінної\n" -#: help.c:329 +#: help.c:333 msgid " \\set [NAME [VALUE]] set internal variable, or list all if no parameters\n" msgstr " \\set [NAME [VALUE]] встановити внутрішню змінну або вивести всі, якщо не задані параметри\n" -#: help.c:330 +#: help.c:334 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset NAME скинути (видалити) значення внутрішньої змінної\n" -#: help.c:369 +#: help.c:373 msgid "List of specially treated variables\n\n" msgstr "Список спеціальних змінних\n\n" -#: help.c:371 +#: help.c:375 msgid "psql variables:\n" msgstr "змінні psql:\n" -#: help.c:373 +#: help.c:377 msgid " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n\n" msgstr " psql --set=ІМ'Я=ЗНАЧЕННЯ\n" " або \\set ІМ'Я ЗНАЧЕННЯ усередині psql\n\n" -#: help.c:375 +#: help.c:379 msgid " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" msgstr " AUTOCOMMIT\n" " якщо встановлений, успішні SQL-команди підтверджуються автоматично\n" -#: help.c:377 +#: help.c:381 msgid " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" " [lower, upper, preserve-lower, preserve-upper]\n" @@ -3270,18 +3298,18 @@ " визначає регістр для автодоповнення ключових слів SQL\n" " [lower, upper, preserve-lower, preserve-upper]\n" -#: help.c:380 +#: help.c:384 msgid " DBNAME\n" " the currently connected database name\n" msgstr " DBNAME назва під'єднаної бази даних\n" -#: help.c:382 +#: help.c:386 msgid " ECHO\n" " controls what input is written to standard output\n" " [all, errors, none, queries]\n" msgstr " ECHO контролює ввід, що виводиться на стандартний вивід [all, errors, none, queries]\n" -#: help.c:385 +#: help.c:389 msgid " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" " if set to \"noexec\", just show them without execution\n" @@ -3289,67 +3317,67 @@ " якщо ввімкнено, виводить внутрішні запити, виконані за допомогою \"\\\";\n" " якщо встановлено значення \"noexec\", тільки виводяться, але не виконуються\n" -#: help.c:388 +#: help.c:392 msgid " ENCODING\n" " current client character set encoding\n" msgstr " ENCODING\n" " поточне кодування набору символів клієнта\n" -#: help.c:390 +#: help.c:394 msgid " ERROR\n" " \"true\" if last query failed, else \"false\"\n" msgstr " ERROR\n" " \"true\", якщо в останньому запиті є помилка, в іншому разі - \"false\"\n" -#: help.c:392 +#: help.c:396 msgid " FETCH_COUNT\n" " the number of result rows to fetch and display at a time (0 = unlimited)\n" msgstr " FETCH_COUNT\n" " число рядків з результатами для передачі та відображення за один раз (0 = необмежено)\n" -#: help.c:394 +#: help.c:398 msgid " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" msgstr " HIDE_TABLEAM\n" " якщо вказано, методи доступу до таблиць не відображаються\n" -#: help.c:396 +#: help.c:400 msgid " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" msgstr " HIDE_TOAST_COMPRESSION\n" " якщо встановлено, методи стискання не відображаються\n" -#: help.c:398 +#: help.c:402 msgid " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" msgstr " HISTCONTROL контролює історію команд [ignorespace, ignoredups, ignoreboth]\n" -#: help.c:400 +#: help.c:404 msgid " HISTFILE\n" " file name used to store the command history\n" msgstr " HISTFILE ім'я файлу для зберігання історії команд\n" -#: help.c:402 +#: help.c:406 msgid " HISTSIZE\n" " maximum number of commands to store in the command history\n" msgstr " HISTSIZE максимальна кількість команд для зберігання в історії команд\n" -#: help.c:404 +#: help.c:408 msgid " HOST\n" " the currently connected database server host\n" msgstr " HOST поточний підключений хост сервера бази даних\n" -#: help.c:406 +#: help.c:410 msgid " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" msgstr " IGNOREEOF кількість EOF для завершення інтерактивної сесії\n" -#: help.c:408 +#: help.c:412 msgid " LASTOID\n" " value of the last affected OID\n" msgstr " LASTOID значення останнього залученого OID\n" -#: help.c:410 +#: help.c:414 msgid " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" " message and SQLSTATE of last error, or empty string and \"00000\" if none\n" @@ -3357,55 +3385,55 @@ " LAST_ERROR_SQLSTATE\n" " повідомлення та код SQLSTATE останньої помилки, або пустий рядок та \"00000\", якщо помилки не було\n" -#: help.c:413 +#: help.c:417 msgid " ON_ERROR_ROLLBACK\n" " if set, an error doesn't stop a transaction (uses implicit savepoints)\n" msgstr " ON_ERROR_ROLLBACK\n" " якщо встановлено, транзакція не припиняється у разі помилки (використовуються неявні точки збереження)\n" -#: help.c:415 +#: help.c:419 msgid " ON_ERROR_STOP\n" " stop batch execution after error\n" msgstr " ON_ERROR_STOP\n" " зупиняти виконання пакету команд після помилки\n" -#: help.c:417 +#: help.c:421 msgid " PORT\n" " server port of the current connection\n" msgstr " PORT\n" " порт сервера для поточного з'єднання\n" -#: help.c:419 +#: help.c:423 msgid " PROMPT1\n" " specifies the standard psql prompt\n" msgstr " PROMPT1\n" " визначає стандратне запрошення psql \n" -#: help.c:421 +#: help.c:425 msgid " PROMPT2\n" " specifies the prompt used when a statement continues from a previous line\n" msgstr " PROMPT2\n" " визначає запрошення, яке використовується при продовженні команди з попереднього рядка\n" -#: help.c:423 +#: help.c:427 msgid " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" msgstr " PROMPT3\n" " визначає запрошення, яке виконується під час COPY ... FROM STDIN\n" -#: help.c:425 +#: help.c:429 msgid " QUIET\n" " run quietly (same as -q option)\n" msgstr " QUIET\n" " тихий запуск ( як із параметром -q)\n" -#: help.c:427 +#: help.c:431 msgid " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" msgstr " ROW_COUNT\n" " число повернених або оброблених рядків останнім запитом, або 0\n" -#: help.c:429 +#: help.c:433 msgid " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" " server's version (in short string or numeric format)\n" @@ -3413,61 +3441,61 @@ " SERVER_VERSION_NUM\n" " версія серевера (у короткому текстовому або числовому форматі)\n" -#: help.c:432 +#: help.c:436 msgid " SHELL_ERROR\n" " \"true\" if the last shell command failed, \"false\" if it succeeded\n" msgstr " SHELL_ERROR\n" " \"true\", якщо остання команда оболонки завершилася помилкою, \"false\", якщо успішно\n" -#: help.c:434 +#: help.c:438 msgid " SHELL_EXIT_CODE\n" " exit status of the last shell command\n" msgstr " SHEL_EXIT_CODE\n" " статус виконання останньої команди оболонки\n" -#: help.c:436 +#: help.c:440 msgid " SHOW_ALL_RESULTS\n" " show all results of a combined query (\\;) instead of only the last\n" msgstr " SHOW_ALL_RESULTS\n" " показати всі результати комбінованого запиту (\\;) замість тільки останнього\n" -#: help.c:438 +#: help.c:442 msgid " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" msgstr " SHOW_CONTEXT\n" " керує відображенням полів контексту повідомлень [never, errors, always]\n" -#: help.c:440 +#: help.c:444 msgid " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" msgstr " SINGLELINE\n" " якщо встановлено, кінець рядка завершує режим вводу SQL-команди (як з параметром -S)\n" -#: help.c:442 +#: help.c:446 msgid " SINGLESTEP\n" " single-step mode (same as -s option)\n" msgstr " SINGLESTEP\n" " покроковий режим (як з параметром -s)\n" -#: help.c:444 +#: help.c:448 msgid " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" msgstr " SQLSTATE\n" " SQLSTATE останнього запиту, або \"00000\" якщо немає помилок\n" -#: help.c:446 +#: help.c:450 msgid " USER\n" " the currently connected database user\n" msgstr " USER\n" " поточний користувач, підключений до бази даних\n" -#: help.c:448 +#: help.c:452 msgid " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" msgstr " VERBOSITY\n" " контролює докладність звітів про помилку [default, verbose, terse, sqlstate]\n" -#: help.c:450 +#: help.c:454 msgid " VERSION\n" " VERSION_NAME\n" " VERSION_NUM\n" @@ -3477,98 +3505,105 @@ " VERSION_NUM\n" " psql версія (в розгорнутому, в короткому текстовому або числовому форматі)\n" -#: help.c:455 +#: help.c:459 msgid "\n" "Display settings:\n" msgstr "\n" "Налаштування відобреження:\n" -#: help.c:457 +#: help.c:461 msgid " psql --pset=NAME[=VALUE]\n" " or \\pset NAME [VALUE] inside psql\n\n" msgstr " psql --pset=NAME[=VALUE]\n" " або \\pset ІМ'Я [VALUE] всередині psql\n\n" -#: help.c:459 +#: help.c:463 msgid " border\n" " border style (number)\n" msgstr " border\n" " стиль рамки (число)\n" -#: help.c:461 +#: help.c:465 msgid " columns\n" " target width for the wrapped format\n" msgstr " columns\n" " цільова ширина для формату з переносом\n" -#: help.c:463 +#: help.c:467 +#, c-format +msgid " csv_fieldsep\n" +" field separator for CSV output format (default \"%c\")\n" +msgstr " csv_fieldsep\n" +" розділювач полів для виводу CSV (за замовчуванням \"%c\")\n" + +#: help.c:470 msgid " expanded (or x)\n" " expanded output [on, off, auto]\n" msgstr " expanded (or x)\n" " розширений вивід [on, off, auto]\n" -#: help.c:465 +#: help.c:472 #, c-format msgid " fieldsep\n" " field separator for unaligned output (default \"%s\")\n" msgstr " fieldsep\n" " розділювач полів для не вирівняного виводу (за замовчуванням \"%s\")\n" -#: help.c:468 +#: help.c:475 msgid " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" msgstr " fieldsep_zero\n" " встановити розділювач полів для невирівняного виводу на нульовий байт\n" -#: help.c:470 +#: help.c:477 msgid " footer\n" " enable or disable display of the table footer [on, off]\n" msgstr " footer\n" " вмикає або вимикає вивід підписів таблиці [on, off]\n" -#: help.c:472 +#: help.c:479 msgid " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" msgstr " format\n" " встановити формат виводу [unaligned, aligned, wrapped, html, asciidoc, ...]\n" -#: help.c:474 +#: help.c:481 msgid " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" msgstr " linestyle\n" " встановлює стиль малювання ліній рамки [ascii, old-ascii, unicode]\n" -#: help.c:476 +#: help.c:483 msgid " null\n" " set the string to be printed in place of a null value\n" msgstr " null\n" " встановлює рядок, який буде виведено замість значення (null)\n" -#: help.c:478 +#: help.c:485 msgid " numericlocale\n" " enable display of a locale-specific character to separate groups of digits\n" msgstr " numericlocale\n" " вмикає виведення заданого локалью роздільника групи цифр\n" -#: help.c:480 +#: help.c:487 msgid " pager\n" " control when an external pager is used [yes, no, always]\n" msgstr " pager\n" " контролює використання зовнішнього пейджера [yes, no, always]\n" -#: help.c:482 +#: help.c:489 msgid " recordsep\n" " record (line) separator for unaligned output\n" msgstr " recordsep\n" " розділювач записів (рядків) для не вирівняного виводу\n" -#: help.c:484 +#: help.c:491 msgid " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" msgstr " recordsep_zero\n" " встановлює розділювач записів для невирівняного виводу на нульовий байт\n" -#: help.c:486 +#: help.c:493 msgid " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" " column widths for left-aligned data types in latex-longtable format\n" @@ -3576,19 +3611,19 @@ " вказує атрибути для тегу table у html форматі або пропорційні \n" " ширини стовпців для вирівняних вліво даних, у latex-longtable форматі\n" -#: help.c:489 +#: help.c:496 msgid " title\n" " set the table title for subsequently printed tables\n" msgstr " title\n" " задає заголовок таблиці для послідовно друкованих таблиць\n" -#: help.c:491 +#: help.c:498 msgid " tuples_only\n" " if set, only actual table data is shown\n" msgstr " tuples_only\n" " якщо встановлено, виводяться лише фактичні табличні дані\n" -#: help.c:493 +#: help.c:500 msgid " unicode_border_linestyle\n" " unicode_column_linestyle\n" " unicode_header_linestyle\n" @@ -3598,7 +3633,7 @@ " unicode_header_linestyle\n" " задає стиль мальювання ліній (Unicode) [single, double]\n" -#: help.c:497 +#: help.c:504 msgid " xheader_width\n" " set the maximum width of the header for expanded output\n" " [full, column, page, integer value]\n" @@ -3606,19 +3641,19 @@ " встановити максимальну ширину заголовка для розширеного виводу\n" " [full, column, page, integer value]\n" -#: help.c:501 +#: help.c:508 msgid "\n" "Environment variables:\n" msgstr "\n" "Змінні оточення:\n" -#: help.c:505 +#: help.c:512 msgid " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n\n" msgstr " ІМ'Я=ЗНАЧЕННЯ [ІМ'Я=ЗНАЧЕННЯ] psql ...\n" " або \\setenv ІМ'Я [VALUE] всередині psql\n\n" -#: help.c:507 +#: help.c:514 msgid " set NAME=VALUE\n" " psql ...\n" " or \\setenv NAME [VALUE] inside psql\n\n" @@ -3626,107 +3661,107 @@ " psql ...\n" " або \\setenv ІМ'Я [VALUE] всередині psql\n\n" -#: help.c:510 +#: help.c:517 msgid " COLUMNS\n" " number of columns for wrapped format\n" msgstr " COLUMNS\n" " число стовпців для форматування з переносом\n" -#: help.c:512 +#: help.c:519 msgid " PGAPPNAME\n" " same as the application_name connection parameter\n" msgstr " PGAPPNAME\n" " те саме, що параметр підключення application_name\n" -#: help.c:514 +#: help.c:521 msgid " PGDATABASE\n" " same as the dbname connection parameter\n" msgstr " PGDATABASE\n" " те саме, що параметр підключення dbname\n" -#: help.c:516 +#: help.c:523 msgid " PGHOST\n" " same as the host connection parameter\n" msgstr " PGHOST\n" " те саме, що параметр підключення host\n" -#: help.c:518 +#: help.c:525 msgid " PGPASSFILE\n" " password file name\n" msgstr " PGPASSFILE\n" " назва файлу з паролем\n" -#: help.c:520 +#: help.c:527 msgid " PGPASSWORD\n" " connection password (not recommended)\n" msgstr " PGPASSWORD\n" " пароль для підключення (не рекомендується)\n" -#: help.c:522 +#: help.c:529 msgid " PGPORT\n" " same as the port connection parameter\n" msgstr " PGPORT\n" " те саме, що параметр підключення port\n" -#: help.c:524 +#: help.c:531 msgid " PGUSER\n" " same as the user connection parameter\n" msgstr " PGUSER\n" " те саме, що параметр підключення user\n" -#: help.c:526 +#: help.c:533 msgid " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" msgstr " PSQL_EDITOR, EDITOR, VISUAL\n" " редактор для команд \\e, \\ef і \\ev\n" -#: help.c:528 +#: help.c:535 msgid " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" msgstr " PSQL_EDITOR_LINENUMBER_ARG\n" " як вказати номер рядка при виклику редактора\n" -#: help.c:530 +#: help.c:537 msgid " PSQL_HISTORY\n" " alternative location for the command history file\n" msgstr " PSQL_HISTORY\n" " альтернативне розміщення файлу з історією команд\n" -#: help.c:532 +#: help.c:539 msgid " PSQL_PAGER, PAGER\n" " name of external pager program\n" msgstr " PSQL_PAGER, PAGER\n" " ім'я програми зовнішнього пейджеру\n" -#: help.c:535 +#: help.c:542 msgid " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" msgstr " PSQL_WATCH_PAGER\n" " назва зовнішньої програми-пейджера для використання з \\watch\n" -#: help.c:538 +#: help.c:545 msgid " PSQLRC\n" " alternative location for the user's .psqlrc file\n" msgstr " PSQLRC\n" " альтернативне розміщення користувацького файла .psqlrc\n" -#: help.c:540 +#: help.c:547 msgid " SHELL\n" " shell used by the \\! command\n" msgstr " SHELL\n" " оболонка, що використовується командою \\!\n" -#: help.c:542 +#: help.c:549 msgid " TMPDIR\n" " directory for temporary files\n" msgstr " TMPDIR\n" " каталог для тимчасових файлів\n" -#: help.c:602 +#: help.c:609 msgid "Available help:\n" msgstr "Доступна довідка:\n" -#: help.c:697 +#: help.c:704 #, c-format msgid "Command: %s\n" "Description: %s\n" @@ -3739,7 +3774,7 @@ "%s\n\n" "URL: %s\n\n" -#: help.c:720 +#: help.c:727 #, c-format msgid "No help available for \"%s\".\n" "Try \\h with no arguments to see available help.\n" @@ -3865,189 +3900,189 @@ #: sql_help.c:732 sql_help.c:736 sql_help.c:757 sql_help.c:760 sql_help.c:763 #: sql_help.c:792 sql_help.c:804 sql_help.c:812 sql_help.c:815 sql_help.c:818 #: sql_help.c:833 sql_help.c:836 sql_help.c:865 sql_help.c:870 sql_help.c:875 -#: sql_help.c:880 sql_help.c:885 sql_help.c:912 sql_help.c:914 sql_help.c:916 -#: sql_help.c:918 sql_help.c:921 sql_help.c:923 sql_help.c:970 sql_help.c:1015 -#: sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 sql_help.c:1035 -#: sql_help.c:1054 sql_help.c:1065 sql_help.c:1067 sql_help.c:1087 -#: sql_help.c:1097 sql_help.c:1098 sql_help.c:1100 sql_help.c:1102 -#: sql_help.c:1114 sql_help.c:1118 sql_help.c:1120 sql_help.c:1132 -#: sql_help.c:1134 sql_help.c:1136 sql_help.c:1138 sql_help.c:1157 -#: sql_help.c:1159 sql_help.c:1163 sql_help.c:1167 sql_help.c:1171 -#: sql_help.c:1174 sql_help.c:1175 sql_help.c:1176 sql_help.c:1179 -#: sql_help.c:1182 sql_help.c:1184 sql_help.c:1324 sql_help.c:1326 -#: sql_help.c:1329 sql_help.c:1332 sql_help.c:1334 sql_help.c:1336 -#: sql_help.c:1339 sql_help.c:1342 sql_help.c:1464 sql_help.c:1466 -#: sql_help.c:1468 sql_help.c:1471 sql_help.c:1492 sql_help.c:1495 -#: sql_help.c:1498 sql_help.c:1501 sql_help.c:1505 sql_help.c:1507 -#: sql_help.c:1509 sql_help.c:1511 sql_help.c:1525 sql_help.c:1528 -#: sql_help.c:1530 sql_help.c:1532 sql_help.c:1542 sql_help.c:1544 -#: sql_help.c:1554 sql_help.c:1556 sql_help.c:1566 sql_help.c:1569 -#: sql_help.c:1592 sql_help.c:1594 sql_help.c:1596 sql_help.c:1598 -#: sql_help.c:1601 sql_help.c:1603 sql_help.c:1606 sql_help.c:1609 -#: sql_help.c:1660 sql_help.c:1703 sql_help.c:1706 sql_help.c:1708 -#: sql_help.c:1710 sql_help.c:1713 sql_help.c:1715 sql_help.c:1717 -#: sql_help.c:1720 sql_help.c:1770 sql_help.c:1786 sql_help.c:2019 -#: sql_help.c:2088 sql_help.c:2107 sql_help.c:2120 sql_help.c:2178 -#: sql_help.c:2186 sql_help.c:2196 sql_help.c:2224 sql_help.c:2257 -#: sql_help.c:2275 sql_help.c:2303 sql_help.c:2414 sql_help.c:2460 -#: sql_help.c:2485 sql_help.c:2508 sql_help.c:2512 sql_help.c:2546 -#: sql_help.c:2566 sql_help.c:2588 sql_help.c:2602 sql_help.c:2623 -#: sql_help.c:2652 sql_help.c:2685 sql_help.c:2708 sql_help.c:2755 -#: sql_help.c:3053 sql_help.c:3066 sql_help.c:3083 sql_help.c:3099 -#: sql_help.c:3139 sql_help.c:3193 sql_help.c:3197 sql_help.c:3199 -#: sql_help.c:3206 sql_help.c:3225 sql_help.c:3252 sql_help.c:3287 -#: sql_help.c:3299 sql_help.c:3308 sql_help.c:3352 sql_help.c:3366 -#: sql_help.c:3394 sql_help.c:3402 sql_help.c:3414 sql_help.c:3424 -#: sql_help.c:3432 sql_help.c:3440 sql_help.c:3448 sql_help.c:3456 -#: sql_help.c:3465 sql_help.c:3476 sql_help.c:3484 sql_help.c:3492 -#: sql_help.c:3500 sql_help.c:3508 sql_help.c:3518 sql_help.c:3527 -#: sql_help.c:3536 sql_help.c:3544 sql_help.c:3554 sql_help.c:3565 -#: sql_help.c:3573 sql_help.c:3582 sql_help.c:3593 sql_help.c:3602 -#: sql_help.c:3610 sql_help.c:3618 sql_help.c:3626 sql_help.c:3634 -#: sql_help.c:3642 sql_help.c:3650 sql_help.c:3658 sql_help.c:3666 -#: sql_help.c:3674 sql_help.c:3682 sql_help.c:3699 sql_help.c:3708 -#: sql_help.c:3716 sql_help.c:3733 sql_help.c:3748 sql_help.c:4061 -#: sql_help.c:4182 sql_help.c:4211 sql_help.c:4227 sql_help.c:4229 -#: sql_help.c:4733 sql_help.c:4781 sql_help.c:4940 +#: sql_help.c:880 sql_help.c:885 sql_help.c:921 sql_help.c:923 sql_help.c:925 +#: sql_help.c:927 sql_help.c:930 sql_help.c:932 sql_help.c:984 sql_help.c:1029 +#: sql_help.c:1034 sql_help.c:1039 sql_help.c:1044 sql_help.c:1049 +#: sql_help.c:1068 sql_help.c:1079 sql_help.c:1081 sql_help.c:1101 +#: sql_help.c:1111 sql_help.c:1112 sql_help.c:1114 sql_help.c:1116 +#: sql_help.c:1128 sql_help.c:1132 sql_help.c:1134 sql_help.c:1146 +#: sql_help.c:1148 sql_help.c:1150 sql_help.c:1152 sql_help.c:1171 +#: sql_help.c:1173 sql_help.c:1177 sql_help.c:1181 sql_help.c:1185 +#: sql_help.c:1188 sql_help.c:1189 sql_help.c:1190 sql_help.c:1193 +#: sql_help.c:1196 sql_help.c:1198 sql_help.c:1338 sql_help.c:1340 +#: sql_help.c:1343 sql_help.c:1346 sql_help.c:1348 sql_help.c:1350 +#: sql_help.c:1353 sql_help.c:1356 sql_help.c:1478 sql_help.c:1480 +#: sql_help.c:1482 sql_help.c:1485 sql_help.c:1506 sql_help.c:1509 +#: sql_help.c:1512 sql_help.c:1515 sql_help.c:1519 sql_help.c:1521 +#: sql_help.c:1523 sql_help.c:1525 sql_help.c:1539 sql_help.c:1542 +#: sql_help.c:1544 sql_help.c:1546 sql_help.c:1556 sql_help.c:1558 +#: sql_help.c:1568 sql_help.c:1570 sql_help.c:1580 sql_help.c:1583 +#: sql_help.c:1606 sql_help.c:1608 sql_help.c:1610 sql_help.c:1612 +#: sql_help.c:1615 sql_help.c:1617 sql_help.c:1620 sql_help.c:1623 +#: sql_help.c:1674 sql_help.c:1717 sql_help.c:1720 sql_help.c:1722 +#: sql_help.c:1724 sql_help.c:1727 sql_help.c:1729 sql_help.c:1731 +#: sql_help.c:1734 sql_help.c:1784 sql_help.c:1800 sql_help.c:2033 +#: sql_help.c:2102 sql_help.c:2121 sql_help.c:2134 sql_help.c:2192 +#: sql_help.c:2200 sql_help.c:2210 sql_help.c:2238 sql_help.c:2271 +#: sql_help.c:2289 sql_help.c:2317 sql_help.c:2428 sql_help.c:2474 +#: sql_help.c:2499 sql_help.c:2522 sql_help.c:2526 sql_help.c:2560 +#: sql_help.c:2580 sql_help.c:2602 sql_help.c:2616 sql_help.c:2637 +#: sql_help.c:2670 sql_help.c:2705 sql_help.c:2728 sql_help.c:2775 +#: sql_help.c:3073 sql_help.c:3086 sql_help.c:3103 sql_help.c:3119 +#: sql_help.c:3159 sql_help.c:3213 sql_help.c:3217 sql_help.c:3219 +#: sql_help.c:3226 sql_help.c:3245 sql_help.c:3272 sql_help.c:3307 +#: sql_help.c:3319 sql_help.c:3328 sql_help.c:3372 sql_help.c:3386 +#: sql_help.c:3414 sql_help.c:3422 sql_help.c:3434 sql_help.c:3444 +#: sql_help.c:3452 sql_help.c:3460 sql_help.c:3468 sql_help.c:3476 +#: sql_help.c:3485 sql_help.c:3496 sql_help.c:3504 sql_help.c:3512 +#: sql_help.c:3520 sql_help.c:3528 sql_help.c:3538 sql_help.c:3547 +#: sql_help.c:3556 sql_help.c:3564 sql_help.c:3574 sql_help.c:3585 +#: sql_help.c:3593 sql_help.c:3602 sql_help.c:3613 sql_help.c:3622 +#: sql_help.c:3630 sql_help.c:3638 sql_help.c:3646 sql_help.c:3654 +#: sql_help.c:3662 sql_help.c:3670 sql_help.c:3678 sql_help.c:3686 +#: sql_help.c:3694 sql_help.c:3702 sql_help.c:3719 sql_help.c:3728 +#: sql_help.c:3736 sql_help.c:3753 sql_help.c:3768 sql_help.c:4081 +#: sql_help.c:4202 sql_help.c:4231 sql_help.c:4247 sql_help.c:4249 +#: sql_help.c:4753 sql_help.c:4801 sql_help.c:4960 msgid "name" msgstr "назва" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1863 -#: sql_help.c:3367 sql_help.c:4500 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1877 +#: sql_help.c:3387 sql_help.c:4520 msgid "aggregate_signature" msgstr "сигнатура_агр_функції" #: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:260 #: sql_help.c:281 sql_help.c:412 sql_help.c:459 sql_help.c:538 sql_help.c:586 #: sql_help.c:604 sql_help.c:631 sql_help.c:684 sql_help.c:759 sql_help.c:814 -#: sql_help.c:835 sql_help.c:874 sql_help.c:924 sql_help.c:971 sql_help.c:1024 -#: sql_help.c:1056 sql_help.c:1066 sql_help.c:1101 sql_help.c:1121 -#: sql_help.c:1135 sql_help.c:1185 sql_help.c:1333 sql_help.c:1465 -#: sql_help.c:1508 sql_help.c:1529 sql_help.c:1543 sql_help.c:1555 -#: sql_help.c:1568 sql_help.c:1595 sql_help.c:1661 sql_help.c:1714 +#: sql_help.c:835 sql_help.c:874 sql_help.c:933 sql_help.c:985 sql_help.c:1038 +#: sql_help.c:1070 sql_help.c:1080 sql_help.c:1115 sql_help.c:1135 +#: sql_help.c:1149 sql_help.c:1199 sql_help.c:1347 sql_help.c:1479 +#: sql_help.c:1522 sql_help.c:1543 sql_help.c:1557 sql_help.c:1569 +#: sql_help.c:1582 sql_help.c:1609 sql_help.c:1675 sql_help.c:1728 msgid "new_name" msgstr "нова_назва" #: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:258 #: sql_help.c:279 sql_help.c:410 sql_help.c:495 sql_help.c:543 sql_help.c:633 #: sql_help.c:642 sql_help.c:707 sql_help.c:731 sql_help.c:762 sql_help.c:817 -#: sql_help.c:879 sql_help.c:922 sql_help.c:1029 sql_help.c:1068 -#: sql_help.c:1099 sql_help.c:1119 sql_help.c:1133 sql_help.c:1183 -#: sql_help.c:1399 sql_help.c:1467 sql_help.c:1510 sql_help.c:1531 -#: sql_help.c:1593 sql_help.c:1709 sql_help.c:3039 +#: sql_help.c:879 sql_help.c:931 sql_help.c:1043 sql_help.c:1082 +#: sql_help.c:1113 sql_help.c:1133 sql_help.c:1147 sql_help.c:1197 +#: sql_help.c:1413 sql_help.c:1481 sql_help.c:1524 sql_help.c:1545 +#: sql_help.c:1607 sql_help.c:1723 sql_help.c:3059 msgid "new_owner" msgstr "новий_власник" #: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:262 sql_help.c:332 #: sql_help.c:461 sql_help.c:548 sql_help.c:686 sql_help.c:735 sql_help.c:765 -#: sql_help.c:820 sql_help.c:884 sql_help.c:1034 sql_help.c:1103 -#: sql_help.c:1137 sql_help.c:1335 sql_help.c:1512 sql_help.c:1533 -#: sql_help.c:1545 sql_help.c:1557 sql_help.c:1597 sql_help.c:1716 +#: sql_help.c:820 sql_help.c:884 sql_help.c:1048 sql_help.c:1117 +#: sql_help.c:1151 sql_help.c:1349 sql_help.c:1526 sql_help.c:1547 +#: sql_help.c:1559 sql_help.c:1571 sql_help.c:1611 sql_help.c:1730 msgid "new_schema" msgstr "нова_схема" -#: sql_help.c:44 sql_help.c:1927 sql_help.c:3368 sql_help.c:4529 +#: sql_help.c:44 sql_help.c:1941 sql_help.c:3388 sql_help.c:4549 msgid "where aggregate_signature is:" msgstr "де сигнатура_агр_функції:" #: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:350 sql_help.c:363 #: sql_help.c:367 sql_help.c:383 sql_help.c:386 sql_help.c:389 sql_help.c:530 #: sql_help.c:535 sql_help.c:540 sql_help.c:545 sql_help.c:550 sql_help.c:866 -#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1016 -#: sql_help.c:1021 sql_help.c:1026 sql_help.c:1031 sql_help.c:1036 -#: sql_help.c:1881 sql_help.c:1898 sql_help.c:1904 sql_help.c:1928 -#: sql_help.c:1931 sql_help.c:1934 sql_help.c:2089 sql_help.c:2108 -#: sql_help.c:2111 sql_help.c:2415 sql_help.c:2624 sql_help.c:3369 -#: sql_help.c:3372 sql_help.c:3375 sql_help.c:3466 sql_help.c:3555 -#: sql_help.c:3583 sql_help.c:3936 sql_help.c:4399 sql_help.c:4506 -#: sql_help.c:4513 sql_help.c:4519 sql_help.c:4530 sql_help.c:4533 -#: sql_help.c:4536 +#: sql_help.c:871 sql_help.c:876 sql_help.c:881 sql_help.c:886 sql_help.c:1030 +#: sql_help.c:1035 sql_help.c:1040 sql_help.c:1045 sql_help.c:1050 +#: sql_help.c:1895 sql_help.c:1912 sql_help.c:1918 sql_help.c:1942 +#: sql_help.c:1945 sql_help.c:1948 sql_help.c:2103 sql_help.c:2122 +#: sql_help.c:2125 sql_help.c:2429 sql_help.c:2638 sql_help.c:3389 +#: sql_help.c:3392 sql_help.c:3395 sql_help.c:3486 sql_help.c:3575 +#: sql_help.c:3603 sql_help.c:3956 sql_help.c:4419 sql_help.c:4526 +#: sql_help.c:4533 sql_help.c:4539 sql_help.c:4550 sql_help.c:4553 +#: sql_help.c:4556 msgid "argmode" msgstr "режим_аргументу" #: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:351 sql_help.c:364 #: sql_help.c:368 sql_help.c:384 sql_help.c:387 sql_help.c:390 sql_help.c:531 #: sql_help.c:536 sql_help.c:541 sql_help.c:546 sql_help.c:551 sql_help.c:867 -#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1017 -#: sql_help.c:1022 sql_help.c:1027 sql_help.c:1032 sql_help.c:1037 -#: sql_help.c:1882 sql_help.c:1899 sql_help.c:1905 sql_help.c:1929 -#: sql_help.c:1932 sql_help.c:1935 sql_help.c:2090 sql_help.c:2109 -#: sql_help.c:2112 sql_help.c:2416 sql_help.c:2625 sql_help.c:3370 -#: sql_help.c:3373 sql_help.c:3376 sql_help.c:3467 sql_help.c:3556 -#: sql_help.c:3584 sql_help.c:4507 sql_help.c:4514 sql_help.c:4520 -#: sql_help.c:4531 sql_help.c:4534 sql_help.c:4537 +#: sql_help.c:872 sql_help.c:877 sql_help.c:882 sql_help.c:887 sql_help.c:1031 +#: sql_help.c:1036 sql_help.c:1041 sql_help.c:1046 sql_help.c:1051 +#: sql_help.c:1896 sql_help.c:1913 sql_help.c:1919 sql_help.c:1943 +#: sql_help.c:1946 sql_help.c:1949 sql_help.c:2104 sql_help.c:2123 +#: sql_help.c:2126 sql_help.c:2430 sql_help.c:2639 sql_help.c:3390 +#: sql_help.c:3393 sql_help.c:3396 sql_help.c:3487 sql_help.c:3576 +#: sql_help.c:3604 sql_help.c:4527 sql_help.c:4534 sql_help.c:4540 +#: sql_help.c:4551 sql_help.c:4554 sql_help.c:4557 msgid "argname" msgstr "ім'я_аргументу" #: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:352 sql_help.c:365 #: sql_help.c:369 sql_help.c:385 sql_help.c:388 sql_help.c:391 sql_help.c:532 #: sql_help.c:537 sql_help.c:542 sql_help.c:547 sql_help.c:552 sql_help.c:868 -#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1018 -#: sql_help.c:1023 sql_help.c:1028 sql_help.c:1033 sql_help.c:1038 -#: sql_help.c:1883 sql_help.c:1900 sql_help.c:1906 sql_help.c:1930 -#: sql_help.c:1933 sql_help.c:1936 sql_help.c:2417 sql_help.c:2626 -#: sql_help.c:3371 sql_help.c:3374 sql_help.c:3377 sql_help.c:3468 -#: sql_help.c:3557 sql_help.c:3585 sql_help.c:4508 sql_help.c:4515 -#: sql_help.c:4521 sql_help.c:4532 sql_help.c:4535 sql_help.c:4538 +#: sql_help.c:873 sql_help.c:878 sql_help.c:883 sql_help.c:888 sql_help.c:1032 +#: sql_help.c:1037 sql_help.c:1042 sql_help.c:1047 sql_help.c:1052 +#: sql_help.c:1897 sql_help.c:1914 sql_help.c:1920 sql_help.c:1944 +#: sql_help.c:1947 sql_help.c:1950 sql_help.c:2431 sql_help.c:2640 +#: sql_help.c:3391 sql_help.c:3394 sql_help.c:3397 sql_help.c:3488 +#: sql_help.c:3577 sql_help.c:3605 sql_help.c:4528 sql_help.c:4535 +#: sql_help.c:4541 sql_help.c:4552 sql_help.c:4555 sql_help.c:4558 msgid "argtype" msgstr "тип_аргументу" -#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:965 -#: sql_help.c:1116 sql_help.c:1526 sql_help.c:1655 sql_help.c:1687 -#: sql_help.c:1739 sql_help.c:1798 sql_help.c:1987 sql_help.c:1994 -#: sql_help.c:2306 sql_help.c:2356 sql_help.c:2363 sql_help.c:2372 -#: sql_help.c:2461 sql_help.c:2686 sql_help.c:2777 sql_help.c:3068 -#: sql_help.c:3253 sql_help.c:3275 sql_help.c:3415 sql_help.c:3772 -#: sql_help.c:3980 sql_help.c:4226 sql_help.c:4228 sql_help.c:5006 +#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:979 +#: sql_help.c:1130 sql_help.c:1540 sql_help.c:1669 sql_help.c:1701 +#: sql_help.c:1753 sql_help.c:1812 sql_help.c:2001 sql_help.c:2008 +#: sql_help.c:2320 sql_help.c:2370 sql_help.c:2377 sql_help.c:2386 +#: sql_help.c:2475 sql_help.c:2706 sql_help.c:2797 sql_help.c:3088 +#: sql_help.c:3273 sql_help.c:3295 sql_help.c:3435 sql_help.c:3792 +#: sql_help.c:4000 sql_help.c:4246 sql_help.c:4248 sql_help.c:5026 msgid "option" msgstr "параметр" -#: sql_help.c:115 sql_help.c:966 sql_help.c:1656 sql_help.c:2462 -#: sql_help.c:2687 sql_help.c:3254 sql_help.c:3416 +#: sql_help.c:115 sql_help.c:980 sql_help.c:1670 sql_help.c:2476 +#: sql_help.c:2707 sql_help.c:3274 sql_help.c:3436 msgid "where option can be:" msgstr "де параметр може бути:" -#: sql_help.c:116 sql_help.c:2238 +#: sql_help.c:116 sql_help.c:2252 msgid "allowconn" msgstr "дозвол_підкл" -#: sql_help.c:117 sql_help.c:967 sql_help.c:1657 sql_help.c:2239 -#: sql_help.c:2463 sql_help.c:2688 sql_help.c:3255 +#: sql_help.c:117 sql_help.c:981 sql_help.c:1671 sql_help.c:2253 +#: sql_help.c:2477 sql_help.c:2708 sql_help.c:3275 msgid "connlimit" msgstr "ліміт_підключень" -#: sql_help.c:118 sql_help.c:2240 +#: sql_help.c:118 sql_help.c:2254 msgid "istemplate" msgstr "чи_шаблон" -#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1338 -#: sql_help.c:1392 sql_help.c:4232 +#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1352 +#: sql_help.c:1406 sql_help.c:4252 msgid "new_tablespace" msgstr "новий_табл_простір" #: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:558 sql_help.c:560 -#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:974 -#: sql_help.c:978 sql_help.c:981 sql_help.c:1043 sql_help.c:1045 -#: sql_help.c:1046 sql_help.c:1196 sql_help.c:1198 sql_help.c:1664 -#: sql_help.c:1668 sql_help.c:1671 sql_help.c:2427 sql_help.c:2630 -#: sql_help.c:3948 sql_help.c:4250 sql_help.c:4411 sql_help.c:4721 +#: sql_help.c:561 sql_help.c:891 sql_help.c:893 sql_help.c:894 sql_help.c:988 +#: sql_help.c:992 sql_help.c:995 sql_help.c:1057 sql_help.c:1059 +#: sql_help.c:1060 sql_help.c:1210 sql_help.c:1212 sql_help.c:1678 +#: sql_help.c:1682 sql_help.c:1685 sql_help.c:2441 sql_help.c:2644 +#: sql_help.c:3968 sql_help.c:4270 sql_help.c:4431 sql_help.c:4741 msgid "configuration_parameter" msgstr "параметр_конфігурації" #: sql_help.c:128 sql_help.c:408 sql_help.c:479 sql_help.c:485 sql_help.c:497 #: sql_help.c:559 sql_help.c:613 sql_help.c:695 sql_help.c:705 sql_help.c:892 -#: sql_help.c:920 sql_help.c:975 sql_help.c:1044 sql_help.c:1117 -#: sql_help.c:1162 sql_help.c:1166 sql_help.c:1170 sql_help.c:1173 -#: sql_help.c:1178 sql_help.c:1181 sql_help.c:1197 sql_help.c:1371 -#: sql_help.c:1394 sql_help.c:1442 sql_help.c:1450 sql_help.c:1470 -#: sql_help.c:1527 sql_help.c:1611 sql_help.c:1665 sql_help.c:1688 -#: sql_help.c:2307 sql_help.c:2357 sql_help.c:2364 sql_help.c:2373 -#: sql_help.c:2428 sql_help.c:2429 sql_help.c:2493 sql_help.c:2496 -#: sql_help.c:2530 sql_help.c:2631 sql_help.c:2632 sql_help.c:2655 -#: sql_help.c:2778 sql_help.c:2817 sql_help.c:2927 sql_help.c:2940 -#: sql_help.c:2954 sql_help.c:2995 sql_help.c:3003 sql_help.c:3025 -#: sql_help.c:3042 sql_help.c:3069 sql_help.c:3276 sql_help.c:3981 -#: sql_help.c:4722 sql_help.c:4723 sql_help.c:4724 sql_help.c:4725 +#: sql_help.c:929 sql_help.c:989 sql_help.c:1058 sql_help.c:1131 +#: sql_help.c:1176 sql_help.c:1180 sql_help.c:1184 sql_help.c:1187 +#: sql_help.c:1192 sql_help.c:1195 sql_help.c:1211 sql_help.c:1385 +#: sql_help.c:1408 sql_help.c:1456 sql_help.c:1464 sql_help.c:1484 +#: sql_help.c:1541 sql_help.c:1625 sql_help.c:1679 sql_help.c:1702 +#: sql_help.c:2321 sql_help.c:2371 sql_help.c:2378 sql_help.c:2387 +#: sql_help.c:2442 sql_help.c:2443 sql_help.c:2507 sql_help.c:2510 +#: sql_help.c:2544 sql_help.c:2645 sql_help.c:2646 sql_help.c:2673 +#: sql_help.c:2798 sql_help.c:2837 sql_help.c:2947 sql_help.c:2960 +#: sql_help.c:2974 sql_help.c:3015 sql_help.c:3023 sql_help.c:3045 +#: sql_help.c:3062 sql_help.c:3089 sql_help.c:3296 sql_help.c:4001 +#: sql_help.c:4742 sql_help.c:4743 sql_help.c:4744 sql_help.c:4745 msgid "value" msgstr "значення" @@ -4055,10 +4090,10 @@ msgid "target_role" msgstr "цільова_роль" -#: sql_help.c:203 sql_help.c:929 sql_help.c:2291 sql_help.c:2660 -#: sql_help.c:2733 sql_help.c:2738 sql_help.c:3911 sql_help.c:3920 -#: sql_help.c:3939 sql_help.c:3951 sql_help.c:4374 sql_help.c:4383 -#: sql_help.c:4402 sql_help.c:4414 +#: sql_help.c:203 sql_help.c:936 sql_help.c:939 sql_help.c:2305 sql_help.c:2676 +#: sql_help.c:2753 sql_help.c:2758 sql_help.c:3931 sql_help.c:3940 +#: sql_help.c:3959 sql_help.c:3971 sql_help.c:4394 sql_help.c:4403 +#: sql_help.c:4422 sql_help.c:4434 msgid "schema_name" msgstr "ім'я_схеми" @@ -4072,57 +4107,57 @@ #: sql_help.c:206 sql_help.c:207 sql_help.c:208 sql_help.c:209 sql_help.c:210 #: sql_help.c:211 sql_help.c:212 sql_help.c:213 sql_help.c:214 sql_help.c:215 -#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:985 -#: sql_help.c:1337 sql_help.c:1675 sql_help.c:2466 sql_help.c:2467 -#: sql_help.c:2468 sql_help.c:2469 sql_help.c:2470 sql_help.c:2604 -#: sql_help.c:2691 sql_help.c:2692 sql_help.c:2693 sql_help.c:3258 -#: sql_help.c:3259 sql_help.c:3260 sql_help.c:3261 sql_help.c:3262 -#: sql_help.c:3960 sql_help.c:3964 sql_help.c:4423 sql_help.c:4427 -#: sql_help.c:4743 +#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:999 +#: sql_help.c:1351 sql_help.c:1689 sql_help.c:2480 sql_help.c:2481 +#: sql_help.c:2482 sql_help.c:2483 sql_help.c:2484 sql_help.c:2618 +#: sql_help.c:2711 sql_help.c:2712 sql_help.c:2713 sql_help.c:3278 +#: sql_help.c:3279 sql_help.c:3280 sql_help.c:3281 sql_help.c:3282 +#: sql_help.c:3980 sql_help.c:3984 sql_help.c:4443 sql_help.c:4447 +#: sql_help.c:4763 msgid "role_name" msgstr "ім'я_ролі" -#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:928 sql_help.c:1353 -#: sql_help.c:1355 sql_help.c:1359 sql_help.c:1409 sql_help.c:1421 -#: sql_help.c:1446 sql_help.c:1705 sql_help.c:2260 sql_help.c:2264 -#: sql_help.c:2376 sql_help.c:2381 sql_help.c:2489 sql_help.c:2659 -#: sql_help.c:2794 sql_help.c:2799 sql_help.c:2801 sql_help.c:2922 -#: sql_help.c:2935 sql_help.c:2949 sql_help.c:2958 sql_help.c:2970 -#: sql_help.c:2999 sql_help.c:4012 sql_help.c:4027 sql_help.c:4029 -#: sql_help.c:4125 sql_help.c:4128 sql_help.c:4130 sql_help.c:4593 -#: sql_help.c:4594 sql_help.c:4603 sql_help.c:4650 sql_help.c:4651 -#: sql_help.c:4652 sql_help.c:4653 sql_help.c:4654 sql_help.c:4655 -#: sql_help.c:4696 sql_help.c:4697 sql_help.c:4702 sql_help.c:4707 -#: sql_help.c:4851 sql_help.c:4852 sql_help.c:4861 sql_help.c:4908 -#: sql_help.c:4909 sql_help.c:4910 sql_help.c:4911 sql_help.c:4912 -#: sql_help.c:4913 sql_help.c:4968 sql_help.c:4970 sql_help.c:5036 -#: sql_help.c:5096 sql_help.c:5097 sql_help.c:5106 sql_help.c:5153 -#: sql_help.c:5154 sql_help.c:5155 sql_help.c:5156 sql_help.c:5157 -#: sql_help.c:5158 +#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:943 sql_help.c:1367 +#: sql_help.c:1369 sql_help.c:1373 sql_help.c:1423 sql_help.c:1435 +#: sql_help.c:1460 sql_help.c:1719 sql_help.c:2274 sql_help.c:2278 +#: sql_help.c:2390 sql_help.c:2395 sql_help.c:2503 sql_help.c:2680 +#: sql_help.c:2814 sql_help.c:2819 sql_help.c:2821 sql_help.c:2942 +#: sql_help.c:2955 sql_help.c:2969 sql_help.c:2978 sql_help.c:2990 +#: sql_help.c:3019 sql_help.c:4032 sql_help.c:4047 sql_help.c:4049 +#: sql_help.c:4145 sql_help.c:4148 sql_help.c:4150 sql_help.c:4613 +#: sql_help.c:4614 sql_help.c:4623 sql_help.c:4670 sql_help.c:4671 +#: sql_help.c:4672 sql_help.c:4673 sql_help.c:4674 sql_help.c:4675 +#: sql_help.c:4716 sql_help.c:4717 sql_help.c:4722 sql_help.c:4727 +#: sql_help.c:4871 sql_help.c:4872 sql_help.c:4881 sql_help.c:4928 +#: sql_help.c:4929 sql_help.c:4930 sql_help.c:4931 sql_help.c:4932 +#: sql_help.c:4933 sql_help.c:4988 sql_help.c:4990 sql_help.c:5056 +#: sql_help.c:5116 sql_help.c:5117 sql_help.c:5126 sql_help.c:5173 +#: sql_help.c:5174 sql_help.c:5175 sql_help.c:5176 sql_help.c:5177 +#: sql_help.c:5178 msgid "expression" msgstr "вираз" -#: sql_help.c:249 sql_help.c:2261 +#: sql_help.c:249 sql_help.c:2275 msgid "domain_constraint" msgstr "обмеження_домену" #: sql_help.c:251 sql_help.c:253 sql_help.c:256 sql_help.c:264 sql_help.c:487 -#: sql_help.c:488 sql_help.c:1330 sql_help.c:1379 sql_help.c:1380 -#: sql_help.c:1381 sql_help.c:1408 sql_help.c:1420 sql_help.c:1437 -#: sql_help.c:1869 sql_help.c:1871 sql_help.c:2263 sql_help.c:2375 -#: sql_help.c:2380 sql_help.c:2957 sql_help.c:2969 sql_help.c:4024 +#: sql_help.c:488 sql_help.c:1344 sql_help.c:1393 sql_help.c:1394 +#: sql_help.c:1395 sql_help.c:1422 sql_help.c:1434 sql_help.c:1451 +#: sql_help.c:1883 sql_help.c:1885 sql_help.c:2277 sql_help.c:2389 +#: sql_help.c:2394 sql_help.c:2977 sql_help.c:2989 sql_help.c:4044 msgid "constraint_name" msgstr "ім'я_обмеження" -#: sql_help.c:254 sql_help.c:1331 +#: sql_help.c:254 sql_help.c:1345 msgid "new_constraint_name" msgstr "ім'я_нового_обмеження" -#: sql_help.c:263 sql_help.c:2262 +#: sql_help.c:263 sql_help.c:2276 msgid "where domain_constraint is:" msgstr "де обмеження_домену:" -#: sql_help.c:330 sql_help.c:1115 +#: sql_help.c:330 sql_help.c:1129 msgid "new_version" msgstr "нова_версія" @@ -4138,82 +4173,82 @@ #: sql_help.c:347 sql_help.c:348 sql_help.c:353 sql_help.c:357 sql_help.c:359 #: sql_help.c:361 sql_help.c:370 sql_help.c:371 sql_help.c:372 sql_help.c:373 #: sql_help.c:374 sql_help.c:375 sql_help.c:376 sql_help.c:377 sql_help.c:380 -#: sql_help.c:381 sql_help.c:1861 sql_help.c:1866 sql_help.c:1873 -#: sql_help.c:1874 sql_help.c:1875 sql_help.c:1876 sql_help.c:1877 -#: sql_help.c:1878 sql_help.c:1879 sql_help.c:1884 sql_help.c:1886 -#: sql_help.c:1890 sql_help.c:1892 sql_help.c:1896 sql_help.c:1901 -#: sql_help.c:1902 sql_help.c:1909 sql_help.c:1910 sql_help.c:1911 -#: sql_help.c:1912 sql_help.c:1913 sql_help.c:1914 sql_help.c:1915 -#: sql_help.c:1916 sql_help.c:1917 sql_help.c:1918 sql_help.c:1919 -#: sql_help.c:1924 sql_help.c:1925 sql_help.c:4496 sql_help.c:4501 -#: sql_help.c:4502 sql_help.c:4503 sql_help.c:4504 sql_help.c:4510 -#: sql_help.c:4511 sql_help.c:4516 sql_help.c:4517 sql_help.c:4522 -#: sql_help.c:4523 sql_help.c:4524 sql_help.c:4525 sql_help.c:4526 -#: sql_help.c:4527 +#: sql_help.c:381 sql_help.c:1875 sql_help.c:1880 sql_help.c:1887 +#: sql_help.c:1888 sql_help.c:1889 sql_help.c:1890 sql_help.c:1891 +#: sql_help.c:1892 sql_help.c:1893 sql_help.c:1898 sql_help.c:1900 +#: sql_help.c:1904 sql_help.c:1906 sql_help.c:1910 sql_help.c:1915 +#: sql_help.c:1916 sql_help.c:1923 sql_help.c:1924 sql_help.c:1925 +#: sql_help.c:1926 sql_help.c:1927 sql_help.c:1928 sql_help.c:1929 +#: sql_help.c:1930 sql_help.c:1931 sql_help.c:1932 sql_help.c:1933 +#: sql_help.c:1938 sql_help.c:1939 sql_help.c:4516 sql_help.c:4521 +#: sql_help.c:4522 sql_help.c:4523 sql_help.c:4524 sql_help.c:4530 +#: sql_help.c:4531 sql_help.c:4536 sql_help.c:4537 sql_help.c:4542 +#: sql_help.c:4543 sql_help.c:4544 sql_help.c:4545 sql_help.c:4546 +#: sql_help.c:4547 msgid "object_name" msgstr "ім'я_об'єкту" -#: sql_help.c:339 sql_help.c:1862 sql_help.c:4499 +#: sql_help.c:339 sql_help.c:1876 sql_help.c:4519 msgid "aggregate_name" msgstr "ім'я_агр_функції" -#: sql_help.c:341 sql_help.c:1864 sql_help.c:2154 sql_help.c:2158 -#: sql_help.c:2160 sql_help.c:3385 +#: sql_help.c:341 sql_help.c:1878 sql_help.c:2168 sql_help.c:2172 +#: sql_help.c:2174 sql_help.c:3405 msgid "source_type" msgstr "початковий_тип" -#: sql_help.c:342 sql_help.c:1865 sql_help.c:2155 sql_help.c:2159 -#: sql_help.c:2161 sql_help.c:3386 +#: sql_help.c:342 sql_help.c:1879 sql_help.c:2169 sql_help.c:2173 +#: sql_help.c:2175 sql_help.c:3406 msgid "target_type" msgstr "тип_цілі" -#: sql_help.c:349 sql_help.c:802 sql_help.c:1880 sql_help.c:2156 -#: sql_help.c:2199 sql_help.c:2279 sql_help.c:2547 sql_help.c:2578 -#: sql_help.c:3145 sql_help.c:4398 sql_help.c:4505 sql_help.c:4622 -#: sql_help.c:4626 sql_help.c:4630 sql_help.c:4633 sql_help.c:4880 -#: sql_help.c:4884 sql_help.c:4888 sql_help.c:4891 sql_help.c:5125 -#: sql_help.c:5129 sql_help.c:5133 sql_help.c:5136 +#: sql_help.c:349 sql_help.c:802 sql_help.c:1894 sql_help.c:2170 +#: sql_help.c:2213 sql_help.c:2293 sql_help.c:2561 sql_help.c:2592 +#: sql_help.c:3165 sql_help.c:4418 sql_help.c:4525 sql_help.c:4642 +#: sql_help.c:4646 sql_help.c:4650 sql_help.c:4653 sql_help.c:4900 +#: sql_help.c:4904 sql_help.c:4908 sql_help.c:4911 sql_help.c:5145 +#: sql_help.c:5149 sql_help.c:5153 sql_help.c:5156 msgid "function_name" msgstr "ім'я_функції" -#: sql_help.c:354 sql_help.c:795 sql_help.c:1887 sql_help.c:2571 +#: sql_help.c:354 sql_help.c:795 sql_help.c:1901 sql_help.c:2585 msgid "operator_name" msgstr "ім'я_оператора" -#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1888 -#: sql_help.c:2548 sql_help.c:3509 +#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1902 +#: sql_help.c:2562 sql_help.c:3529 msgid "left_type" msgstr "тип_ліворуч" -#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1889 -#: sql_help.c:2549 sql_help.c:3510 +#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1903 +#: sql_help.c:2563 sql_help.c:3530 msgid "right_type" msgstr "тип_праворуч" #: sql_help.c:358 sql_help.c:360 sql_help.c:758 sql_help.c:761 sql_help.c:764 #: sql_help.c:793 sql_help.c:805 sql_help.c:813 sql_help.c:816 sql_help.c:819 -#: sql_help.c:1426 sql_help.c:1891 sql_help.c:1893 sql_help.c:2568 -#: sql_help.c:2589 sql_help.c:2975 sql_help.c:3519 sql_help.c:3528 +#: sql_help.c:1440 sql_help.c:1905 sql_help.c:1907 sql_help.c:2582 +#: sql_help.c:2603 sql_help.c:2995 sql_help.c:3539 sql_help.c:3548 msgid "index_method" msgstr "метод_індексу" -#: sql_help.c:362 sql_help.c:1897 sql_help.c:4512 +#: sql_help.c:362 sql_help.c:1911 sql_help.c:4532 msgid "procedure_name" msgstr "назва_процедури" -#: sql_help.c:366 sql_help.c:1903 sql_help.c:3935 sql_help.c:4518 +#: sql_help.c:366 sql_help.c:1917 sql_help.c:3955 sql_help.c:4538 msgid "routine_name" msgstr "ім'я_підпрограми" -#: sql_help.c:378 sql_help.c:1398 sql_help.c:1920 sql_help.c:2423 -#: sql_help.c:2629 sql_help.c:2930 sql_help.c:3112 sql_help.c:3690 -#: sql_help.c:3957 sql_help.c:4420 +#: sql_help.c:378 sql_help.c:1412 sql_help.c:1934 sql_help.c:2437 +#: sql_help.c:2643 sql_help.c:2950 sql_help.c:3132 sql_help.c:3710 +#: sql_help.c:3977 sql_help.c:4440 msgid "type_name" msgstr "назва_типу" -#: sql_help.c:379 sql_help.c:1921 sql_help.c:2422 sql_help.c:2628 -#: sql_help.c:3113 sql_help.c:3343 sql_help.c:3691 sql_help.c:3942 -#: sql_help.c:4405 +#: sql_help.c:379 sql_help.c:1935 sql_help.c:2436 sql_help.c:2642 +#: sql_help.c:3133 sql_help.c:3363 sql_help.c:3711 sql_help.c:3962 +#: sql_help.c:4425 msgid "lang_name" msgstr "назва_мови" @@ -4221,147 +4256,147 @@ msgid "and aggregate_signature is:" msgstr "і сигнатура_агр_функції:" -#: sql_help.c:405 sql_help.c:2021 sql_help.c:2304 +#: sql_help.c:405 sql_help.c:2035 sql_help.c:2318 msgid "handler_function" msgstr "функція_обробник" -#: sql_help.c:406 sql_help.c:2305 +#: sql_help.c:406 sql_help.c:2319 msgid "validator_function" msgstr "функція_перевірки" -#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1019 -#: sql_help.c:1325 sql_help.c:1602 +#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1033 +#: sql_help.c:1339 sql_help.c:1616 msgid "action" msgstr "дія" #: sql_help.c:456 sql_help.c:463 sql_help.c:467 sql_help.c:468 sql_help.c:471 #: sql_help.c:473 sql_help.c:474 sql_help.c:475 sql_help.c:477 sql_help.c:480 #: sql_help.c:482 sql_help.c:483 sql_help.c:681 sql_help.c:691 sql_help.c:693 -#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:927 sql_help.c:1096 -#: sql_help.c:1327 sql_help.c:1345 sql_help.c:1349 sql_help.c:1350 -#: sql_help.c:1354 sql_help.c:1356 sql_help.c:1357 sql_help.c:1358 -#: sql_help.c:1360 sql_help.c:1361 sql_help.c:1363 sql_help.c:1366 -#: sql_help.c:1367 sql_help.c:1369 sql_help.c:1372 sql_help.c:1374 -#: sql_help.c:1375 sql_help.c:1422 sql_help.c:1424 sql_help.c:1431 -#: sql_help.c:1440 sql_help.c:1445 sql_help.c:1452 sql_help.c:1453 -#: sql_help.c:1704 sql_help.c:1707 sql_help.c:1711 sql_help.c:1747 -#: sql_help.c:1868 sql_help.c:1984 sql_help.c:1990 sql_help.c:2004 -#: sql_help.c:2005 sql_help.c:2006 sql_help.c:2354 sql_help.c:2367 -#: sql_help.c:2420 sql_help.c:2488 sql_help.c:2494 sql_help.c:2527 -#: sql_help.c:2658 sql_help.c:2763 sql_help.c:2798 sql_help.c:2800 -#: sql_help.c:2912 sql_help.c:2921 sql_help.c:2931 sql_help.c:2934 -#: sql_help.c:2944 sql_help.c:2948 sql_help.c:2971 sql_help.c:2973 -#: sql_help.c:2980 sql_help.c:2993 sql_help.c:2998 sql_help.c:3005 -#: sql_help.c:3006 sql_help.c:3022 sql_help.c:3148 sql_help.c:3288 -#: sql_help.c:3914 sql_help.c:3915 sql_help.c:4011 sql_help.c:4026 -#: sql_help.c:4028 sql_help.c:4030 sql_help.c:4124 sql_help.c:4127 -#: sql_help.c:4129 sql_help.c:4131 sql_help.c:4377 sql_help.c:4378 -#: sql_help.c:4498 sql_help.c:4659 sql_help.c:4666 sql_help.c:4668 -#: sql_help.c:4917 sql_help.c:4924 sql_help.c:4926 sql_help.c:4967 -#: sql_help.c:4969 sql_help.c:4971 sql_help.c:5024 sql_help.c:5162 -#: sql_help.c:5169 sql_help.c:5171 +#: sql_help.c:696 sql_help.c:698 sql_help.c:699 sql_help.c:942 sql_help.c:1110 +#: sql_help.c:1341 sql_help.c:1359 sql_help.c:1363 sql_help.c:1364 +#: sql_help.c:1368 sql_help.c:1370 sql_help.c:1371 sql_help.c:1372 +#: sql_help.c:1374 sql_help.c:1375 sql_help.c:1377 sql_help.c:1380 +#: sql_help.c:1381 sql_help.c:1383 sql_help.c:1386 sql_help.c:1388 +#: sql_help.c:1389 sql_help.c:1436 sql_help.c:1438 sql_help.c:1445 +#: sql_help.c:1454 sql_help.c:1459 sql_help.c:1466 sql_help.c:1467 +#: sql_help.c:1718 sql_help.c:1721 sql_help.c:1725 sql_help.c:1761 +#: sql_help.c:1882 sql_help.c:1998 sql_help.c:2004 sql_help.c:2018 +#: sql_help.c:2019 sql_help.c:2020 sql_help.c:2368 sql_help.c:2381 +#: sql_help.c:2434 sql_help.c:2502 sql_help.c:2508 sql_help.c:2541 +#: sql_help.c:2679 sql_help.c:2783 sql_help.c:2818 sql_help.c:2820 +#: sql_help.c:2932 sql_help.c:2941 sql_help.c:2951 sql_help.c:2954 +#: sql_help.c:2964 sql_help.c:2968 sql_help.c:2991 sql_help.c:2993 +#: sql_help.c:3000 sql_help.c:3013 sql_help.c:3018 sql_help.c:3025 +#: sql_help.c:3026 sql_help.c:3042 sql_help.c:3168 sql_help.c:3308 +#: sql_help.c:3934 sql_help.c:3935 sql_help.c:4031 sql_help.c:4046 +#: sql_help.c:4048 sql_help.c:4050 sql_help.c:4144 sql_help.c:4147 +#: sql_help.c:4149 sql_help.c:4151 sql_help.c:4397 sql_help.c:4398 +#: sql_help.c:4518 sql_help.c:4679 sql_help.c:4686 sql_help.c:4688 +#: sql_help.c:4937 sql_help.c:4944 sql_help.c:4946 sql_help.c:4987 +#: sql_help.c:4989 sql_help.c:4991 sql_help.c:5044 sql_help.c:5182 +#: sql_help.c:5189 sql_help.c:5191 msgid "column_name" msgstr "назва_стовпця" -#: sql_help.c:457 sql_help.c:682 sql_help.c:1328 sql_help.c:1712 +#: sql_help.c:457 sql_help.c:682 sql_help.c:1342 sql_help.c:1726 msgid "new_column_name" msgstr "нова_назва_стовпця" -#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1040 -#: sql_help.c:1344 sql_help.c:1612 +#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1054 +#: sql_help.c:1358 sql_help.c:1626 msgid "where action is one of:" msgstr "де допустима дія:" -#: sql_help.c:464 sql_help.c:469 sql_help.c:1088 sql_help.c:1346 -#: sql_help.c:1351 sql_help.c:1614 sql_help.c:1618 sql_help.c:2258 -#: sql_help.c:2355 sql_help.c:2567 sql_help.c:2756 sql_help.c:2913 -#: sql_help.c:3195 sql_help.c:4183 +#: sql_help.c:464 sql_help.c:469 sql_help.c:1102 sql_help.c:1360 +#: sql_help.c:1365 sql_help.c:1628 sql_help.c:1632 sql_help.c:2272 +#: sql_help.c:2369 sql_help.c:2581 sql_help.c:2776 sql_help.c:2933 +#: sql_help.c:3215 sql_help.c:4203 msgid "data_type" msgstr "тип_даних" -#: sql_help.c:465 sql_help.c:470 sql_help.c:1347 sql_help.c:1352 -#: sql_help.c:1447 sql_help.c:1615 sql_help.c:1619 sql_help.c:2259 -#: sql_help.c:2358 sql_help.c:2490 sql_help.c:2915 sql_help.c:2923 -#: sql_help.c:2936 sql_help.c:2950 sql_help.c:3000 sql_help.c:3196 -#: sql_help.c:3202 sql_help.c:4021 +#: sql_help.c:465 sql_help.c:470 sql_help.c:1361 sql_help.c:1366 +#: sql_help.c:1461 sql_help.c:1629 sql_help.c:1633 sql_help.c:2273 +#: sql_help.c:2372 sql_help.c:2504 sql_help.c:2935 sql_help.c:2943 +#: sql_help.c:2956 sql_help.c:2970 sql_help.c:3020 sql_help.c:3216 +#: sql_help.c:3222 sql_help.c:4041 msgid "collation" msgstr "правила_сортування" -#: sql_help.c:466 sql_help.c:1348 sql_help.c:2359 sql_help.c:2368 -#: sql_help.c:2916 sql_help.c:2932 sql_help.c:2945 +#: sql_help.c:466 sql_help.c:1362 sql_help.c:2373 sql_help.c:2382 +#: sql_help.c:2936 sql_help.c:2952 sql_help.c:2965 msgid "column_constraint" msgstr "обмеження_стовпця" -#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1368 sql_help.c:5018 +#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1382 sql_help.c:5038 msgid "integer" msgstr "ціле" -#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1370 -#: sql_help.c:1373 +#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1384 +#: sql_help.c:1387 msgid "attribute_option" msgstr "параметр_атрибуту" -#: sql_help.c:486 sql_help.c:1377 sql_help.c:2360 sql_help.c:2369 -#: sql_help.c:2917 sql_help.c:2933 sql_help.c:2946 +#: sql_help.c:486 sql_help.c:1391 sql_help.c:2374 sql_help.c:2383 +#: sql_help.c:2937 sql_help.c:2953 sql_help.c:2966 msgid "table_constraint" msgstr "обмеження_таблиці" -#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1382 -#: sql_help.c:1383 sql_help.c:1384 sql_help.c:1385 sql_help.c:1922 +#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1396 +#: sql_help.c:1397 sql_help.c:1398 sql_help.c:1399 sql_help.c:1936 msgid "trigger_name" msgstr "ім'я_тригеру" -#: sql_help.c:493 sql_help.c:494 sql_help.c:1396 sql_help.c:1397 -#: sql_help.c:2361 sql_help.c:2366 sql_help.c:2920 sql_help.c:2943 +#: sql_help.c:493 sql_help.c:494 sql_help.c:1410 sql_help.c:1411 +#: sql_help.c:2375 sql_help.c:2380 sql_help.c:2940 sql_help.c:2963 msgid "parent_table" msgstr "батьківська_таблиця" -#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1039 -#: sql_help.c:1571 sql_help.c:2290 +#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1053 +#: sql_help.c:1585 sql_help.c:2304 msgid "extension_name" msgstr "ім'я_розширення" -#: sql_help.c:555 sql_help.c:1041 sql_help.c:2424 +#: sql_help.c:555 sql_help.c:1055 sql_help.c:2438 msgid "execution_cost" msgstr "вартість_виконання" -#: sql_help.c:556 sql_help.c:1042 sql_help.c:2425 +#: sql_help.c:556 sql_help.c:1056 sql_help.c:2439 msgid "result_rows" msgstr "рядки_результату" -#: sql_help.c:557 sql_help.c:2426 +#: sql_help.c:557 sql_help.c:2440 msgid "support_function" msgstr "функція_підтримки" -#: sql_help.c:579 sql_help.c:581 sql_help.c:964 sql_help.c:972 sql_help.c:976 -#: sql_help.c:979 sql_help.c:982 sql_help.c:1654 sql_help.c:1662 -#: sql_help.c:1666 sql_help.c:1669 sql_help.c:1672 sql_help.c:2734 -#: sql_help.c:2736 sql_help.c:2739 sql_help.c:2740 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3917 sql_help.c:3918 sql_help.c:3921 -#: sql_help.c:3922 sql_help.c:3924 sql_help.c:3925 sql_help.c:3927 -#: sql_help.c:3928 sql_help.c:3930 sql_help.c:3931 sql_help.c:3933 -#: sql_help.c:3934 sql_help.c:3940 sql_help.c:3941 sql_help.c:3943 -#: sql_help.c:3944 sql_help.c:3946 sql_help.c:3947 sql_help.c:3949 -#: sql_help.c:3950 sql_help.c:3952 sql_help.c:3953 sql_help.c:3955 -#: sql_help.c:3956 sql_help.c:3958 sql_help.c:3959 sql_help.c:3961 -#: sql_help.c:3962 sql_help.c:4375 sql_help.c:4376 sql_help.c:4380 -#: sql_help.c:4381 sql_help.c:4384 sql_help.c:4385 sql_help.c:4387 -#: sql_help.c:4388 sql_help.c:4390 sql_help.c:4391 sql_help.c:4393 -#: sql_help.c:4394 sql_help.c:4396 sql_help.c:4397 sql_help.c:4403 -#: sql_help.c:4404 sql_help.c:4406 sql_help.c:4407 sql_help.c:4409 -#: sql_help.c:4410 sql_help.c:4412 sql_help.c:4413 sql_help.c:4415 -#: sql_help.c:4416 sql_help.c:4418 sql_help.c:4419 sql_help.c:4421 -#: sql_help.c:4422 sql_help.c:4424 sql_help.c:4425 +#: sql_help.c:579 sql_help.c:581 sql_help.c:978 sql_help.c:986 sql_help.c:990 +#: sql_help.c:993 sql_help.c:996 sql_help.c:1668 sql_help.c:1676 +#: sql_help.c:1680 sql_help.c:1683 sql_help.c:1686 sql_help.c:2754 +#: sql_help.c:2756 sql_help.c:2759 sql_help.c:2760 sql_help.c:3932 +#: sql_help.c:3933 sql_help.c:3937 sql_help.c:3938 sql_help.c:3941 +#: sql_help.c:3942 sql_help.c:3944 sql_help.c:3945 sql_help.c:3947 +#: sql_help.c:3948 sql_help.c:3950 sql_help.c:3951 sql_help.c:3953 +#: sql_help.c:3954 sql_help.c:3960 sql_help.c:3961 sql_help.c:3963 +#: sql_help.c:3964 sql_help.c:3966 sql_help.c:3967 sql_help.c:3969 +#: sql_help.c:3970 sql_help.c:3972 sql_help.c:3973 sql_help.c:3975 +#: sql_help.c:3976 sql_help.c:3978 sql_help.c:3979 sql_help.c:3981 +#: sql_help.c:3982 sql_help.c:4395 sql_help.c:4396 sql_help.c:4400 +#: sql_help.c:4401 sql_help.c:4404 sql_help.c:4405 sql_help.c:4407 +#: sql_help.c:4408 sql_help.c:4410 sql_help.c:4411 sql_help.c:4413 +#: sql_help.c:4414 sql_help.c:4416 sql_help.c:4417 sql_help.c:4423 +#: sql_help.c:4424 sql_help.c:4426 sql_help.c:4427 sql_help.c:4429 +#: sql_help.c:4430 sql_help.c:4432 sql_help.c:4433 sql_help.c:4435 +#: sql_help.c:4436 sql_help.c:4438 sql_help.c:4439 sql_help.c:4441 +#: sql_help.c:4442 sql_help.c:4444 sql_help.c:4445 msgid "role_specification" msgstr "вказання_ролі" -#: sql_help.c:580 sql_help.c:582 sql_help.c:1685 sql_help.c:2225 -#: sql_help.c:2742 sql_help.c:3273 sql_help.c:3724 sql_help.c:4753 +#: sql_help.c:580 sql_help.c:582 sql_help.c:1699 sql_help.c:2239 +#: sql_help.c:2762 sql_help.c:3293 sql_help.c:3744 sql_help.c:4773 msgid "user_name" msgstr "ім'я_користувача" -#: sql_help.c:583 sql_help.c:984 sql_help.c:1674 sql_help.c:2741 -#: sql_help.c:3963 sql_help.c:4426 +#: sql_help.c:583 sql_help.c:998 sql_help.c:1688 sql_help.c:2761 +#: sql_help.c:3983 sql_help.c:4446 msgid "where role_specification can be:" msgstr "де вказання_ролі може бути:" @@ -4369,22 +4404,22 @@ msgid "group_name" msgstr "ім'я_групи" -#: sql_help.c:606 sql_help.c:1443 sql_help.c:2237 sql_help.c:2497 -#: sql_help.c:2531 sql_help.c:2928 sql_help.c:2941 sql_help.c:2955 -#: sql_help.c:2996 sql_help.c:3026 sql_help.c:3038 sql_help.c:3954 -#: sql_help.c:4417 +#: sql_help.c:606 sql_help.c:1457 sql_help.c:2251 sql_help.c:2511 +#: sql_help.c:2545 sql_help.c:2948 sql_help.c:2961 sql_help.c:2975 +#: sql_help.c:3016 sql_help.c:3046 sql_help.c:3058 sql_help.c:3974 +#: sql_help.c:4437 msgid "tablespace_name" msgstr "ім'я_табличного_простору" -#: sql_help.c:608 sql_help.c:701 sql_help.c:1390 sql_help.c:1400 -#: sql_help.c:1438 sql_help.c:1800 +#: sql_help.c:608 sql_help.c:701 sql_help.c:1404 sql_help.c:1414 +#: sql_help.c:1452 sql_help.c:1814 msgid "index_name" msgstr "назва_індексу" -#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1393 -#: sql_help.c:1395 sql_help.c:1441 sql_help.c:2495 sql_help.c:2529 -#: sql_help.c:2926 sql_help.c:2939 sql_help.c:2953 sql_help.c:2994 -#: sql_help.c:3024 +#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1407 +#: sql_help.c:1409 sql_help.c:1455 sql_help.c:2509 sql_help.c:2543 +#: sql_help.c:2946 sql_help.c:2959 sql_help.c:2973 sql_help.c:3014 +#: sql_help.c:3044 msgid "storage_parameter" msgstr "параметр_зберігання" @@ -4392,1907 +4427,1915 @@ msgid "column_number" msgstr "номер_стовпця" -#: sql_help.c:641 sql_help.c:1885 sql_help.c:4509 +#: sql_help.c:641 sql_help.c:1899 sql_help.c:4529 msgid "large_object_oid" msgstr "oid_великого_об'єкта" -#: sql_help.c:700 sql_help.c:1376 sql_help.c:2914 +#: sql_help.c:700 sql_help.c:1390 sql_help.c:2934 msgid "compression_method" msgstr "compression_method" -#: sql_help.c:702 sql_help.c:1391 +#: sql_help.c:702 sql_help.c:1405 msgid "new_access_method" msgstr "новий_метод_доступа" -#: sql_help.c:739 sql_help.c:2552 +#: sql_help.c:739 sql_help.c:2566 msgid "res_proc" msgstr "res_процедура" -#: sql_help.c:740 sql_help.c:2553 +#: sql_help.c:740 sql_help.c:2567 msgid "join_proc" msgstr "процедура_приєднання" -#: sql_help.c:741 sql_help.c:2550 +#: sql_help.c:741 sql_help.c:2564 msgid "com_op" msgstr "комут_оператор" -#: sql_help.c:742 sql_help.c:2551 +#: sql_help.c:742 sql_help.c:2565 msgid "neg_op" msgstr "зворотній_оператор" -#: sql_help.c:794 sql_help.c:806 sql_help.c:2570 +#: sql_help.c:794 sql_help.c:806 sql_help.c:2584 msgid "strategy_number" msgstr "номер_стратегії" #: sql_help.c:796 sql_help.c:797 sql_help.c:800 sql_help.c:801 sql_help.c:807 -#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2572 sql_help.c:2573 -#: sql_help.c:2576 sql_help.c:2577 +#: sql_help.c:808 sql_help.c:810 sql_help.c:811 sql_help.c:2586 sql_help.c:2587 +#: sql_help.c:2590 sql_help.c:2591 msgid "op_type" msgstr "тип_операції" -#: sql_help.c:798 sql_help.c:2574 +#: sql_help.c:798 sql_help.c:2588 msgid "sort_family_name" msgstr "ім'я_родини_сортування" -#: sql_help.c:799 sql_help.c:809 sql_help.c:2575 +#: sql_help.c:799 sql_help.c:809 sql_help.c:2589 msgid "support_number" msgstr "номер_підтримки" -#: sql_help.c:803 sql_help.c:2157 sql_help.c:2579 sql_help.c:3115 -#: sql_help.c:3117 +#: sql_help.c:803 sql_help.c:2171 sql_help.c:2593 sql_help.c:3135 +#: sql_help.c:3137 msgid "argument_type" msgstr "тип_аргументу" -#: sql_help.c:834 sql_help.c:837 sql_help.c:926 sql_help.c:1055 sql_help.c:1095 -#: sql_help.c:1567 sql_help.c:1570 sql_help.c:1746 sql_help.c:1799 -#: sql_help.c:1870 sql_help.c:1895 sql_help.c:1908 sql_help.c:1923 -#: sql_help.c:1983 sql_help.c:1989 sql_help.c:2353 sql_help.c:2365 -#: sql_help.c:2486 sql_help.c:2526 sql_help.c:2603 sql_help.c:2657 -#: sql_help.c:2710 sql_help.c:2762 sql_help.c:2795 sql_help.c:2802 -#: sql_help.c:2911 sql_help.c:2929 sql_help.c:2942 sql_help.c:3021 -#: sql_help.c:3141 sql_help.c:3322 sql_help.c:3545 sql_help.c:3594 -#: sql_help.c:3700 sql_help.c:3910 sql_help.c:3916 sql_help.c:3977 -#: sql_help.c:4009 sql_help.c:4373 sql_help.c:4379 sql_help.c:4497 -#: sql_help.c:4610 sql_help.c:4673 sql_help.c:4712 sql_help.c:4868 -#: sql_help.c:4931 sql_help.c:4965 sql_help.c:5023 sql_help.c:5113 -#: sql_help.c:5176 +#: sql_help.c:834 sql_help.c:837 sql_help.c:938 sql_help.c:941 sql_help.c:1069 +#: sql_help.c:1109 sql_help.c:1581 sql_help.c:1584 sql_help.c:1760 +#: sql_help.c:1813 sql_help.c:1884 sql_help.c:1909 sql_help.c:1922 +#: sql_help.c:1937 sql_help.c:1997 sql_help.c:2003 sql_help.c:2367 +#: sql_help.c:2379 sql_help.c:2500 sql_help.c:2540 sql_help.c:2617 +#: sql_help.c:2678 sql_help.c:2730 sql_help.c:2782 sql_help.c:2815 +#: sql_help.c:2822 sql_help.c:2931 sql_help.c:2949 sql_help.c:2962 +#: sql_help.c:3041 sql_help.c:3161 sql_help.c:3342 sql_help.c:3565 +#: sql_help.c:3614 sql_help.c:3720 sql_help.c:3930 sql_help.c:3936 +#: sql_help.c:3997 sql_help.c:4029 sql_help.c:4393 sql_help.c:4399 +#: sql_help.c:4517 sql_help.c:4630 sql_help.c:4693 sql_help.c:4732 +#: sql_help.c:4888 sql_help.c:4951 sql_help.c:4985 sql_help.c:5043 +#: sql_help.c:5133 sql_help.c:5196 msgid "table_name" msgstr "ім'я_таблиці" -#: sql_help.c:839 sql_help.c:2605 +#: sql_help.c:839 sql_help.c:2619 msgid "using_expression" msgstr "вираз_використання" -#: sql_help.c:840 sql_help.c:2606 +#: sql_help.c:840 sql_help.c:2620 msgid "check_expression" msgstr "вираз_перевірки" -#: sql_help.c:913 sql_help.c:915 sql_help.c:917 sql_help.c:2653 +#: sql_help.c:922 sql_help.c:924 sql_help.c:2671 msgid "publication_object" msgstr "об'єкт_публікація" -#: sql_help.c:919 sql_help.c:2654 +#: sql_help.c:926 +msgid "publication_drop_object" +msgstr "закритий об'єкт в публікації" + +#: sql_help.c:928 sql_help.c:2672 msgid "publication_parameter" msgstr "параметр_публікації" -#: sql_help.c:925 sql_help.c:2656 +#: sql_help.c:934 sql_help.c:2674 msgid "where publication_object is one of:" msgstr "де об'єкт_публікація є одним з:" -#: sql_help.c:968 sql_help.c:1658 sql_help.c:2464 sql_help.c:2689 -#: sql_help.c:3256 +#: sql_help.c:935 sql_help.c:1754 sql_help.c:2675 sql_help.c:5027 +msgid "table_and_columns" +msgstr "таблиця_і_стовпці" + +#: sql_help.c:937 +msgid "and publication_drop_object is one of:" +msgstr "і publication_drop_object є одним з:" + +#: sql_help.c:940 sql_help.c:1759 sql_help.c:2677 sql_help.c:5042 +msgid "and table_and_columns is:" +msgstr "і таблиця_і_стовпці:" + +#: sql_help.c:982 sql_help.c:1672 sql_help.c:2478 sql_help.c:2709 +#: sql_help.c:3276 msgid "password" msgstr "пароль" -#: sql_help.c:969 sql_help.c:1659 sql_help.c:2465 sql_help.c:2690 -#: sql_help.c:3257 +#: sql_help.c:983 sql_help.c:1673 sql_help.c:2479 sql_help.c:2710 +#: sql_help.c:3277 msgid "timestamp" msgstr "мітка часу" -#: sql_help.c:973 sql_help.c:977 sql_help.c:980 sql_help.c:983 sql_help.c:1663 -#: sql_help.c:1667 sql_help.c:1670 sql_help.c:1673 sql_help.c:3923 -#: sql_help.c:4386 +#: sql_help.c:987 sql_help.c:991 sql_help.c:994 sql_help.c:997 sql_help.c:1677 +#: sql_help.c:1681 sql_help.c:1684 sql_help.c:1687 sql_help.c:3943 +#: sql_help.c:4406 msgid "database_name" msgstr "назва_бази_даних" -#: sql_help.c:1089 sql_help.c:2757 +#: sql_help.c:1103 sql_help.c:2777 msgid "increment" msgstr "інкремент" -#: sql_help.c:1090 sql_help.c:2758 +#: sql_help.c:1104 sql_help.c:2778 msgid "minvalue" msgstr "мін_значення" -#: sql_help.c:1091 sql_help.c:2759 +#: sql_help.c:1105 sql_help.c:2779 msgid "maxvalue" msgstr "макс_значення" -#: sql_help.c:1092 sql_help.c:2760 sql_help.c:4606 sql_help.c:4710 -#: sql_help.c:4864 sql_help.c:5040 sql_help.c:5109 +#: sql_help.c:1106 sql_help.c:2780 sql_help.c:4626 sql_help.c:4730 +#: sql_help.c:4884 sql_help.c:5060 sql_help.c:5129 msgid "start" msgstr "початок" -#: sql_help.c:1093 sql_help.c:1365 +#: sql_help.c:1107 sql_help.c:1379 msgid "restart" msgstr "перезапуск" -#: sql_help.c:1094 sql_help.c:2761 +#: sql_help.c:1108 sql_help.c:2781 msgid "cache" msgstr "кеш" -#: sql_help.c:1139 +#: sql_help.c:1153 msgid "new_target" msgstr "нова_ціль" -#: sql_help.c:1158 sql_help.c:2814 +#: sql_help.c:1172 sql_help.c:2834 msgid "conninfo" msgstr "інформація_підключення" -#: sql_help.c:1160 sql_help.c:1164 sql_help.c:1168 sql_help.c:2815 +#: sql_help.c:1174 sql_help.c:1178 sql_help.c:1182 sql_help.c:2835 msgid "publication_name" msgstr "назва_публікації" -#: sql_help.c:1161 sql_help.c:1165 sql_help.c:1169 +#: sql_help.c:1175 sql_help.c:1179 sql_help.c:1183 msgid "publication_option" msgstr "publication_option" -#: sql_help.c:1172 +#: sql_help.c:1186 msgid "refresh_option" msgstr "опція_оновлення" -#: sql_help.c:1177 sql_help.c:2816 +#: sql_help.c:1191 sql_help.c:2836 msgid "subscription_parameter" msgstr "параметр_підписки" -#: sql_help.c:1180 +#: sql_help.c:1194 msgid "skip_option" msgstr "опція_пропуска" -#: sql_help.c:1340 sql_help.c:1343 +#: sql_help.c:1354 sql_help.c:1357 msgid "partition_name" msgstr "ім'я_розділу" -#: sql_help.c:1341 sql_help.c:2370 sql_help.c:2947 +#: sql_help.c:1355 sql_help.c:2384 sql_help.c:2967 msgid "partition_bound_spec" msgstr "специфікація_рамок_розділу" -#: sql_help.c:1362 sql_help.c:1412 sql_help.c:2961 +#: sql_help.c:1376 sql_help.c:1426 sql_help.c:2981 msgid "sequence_options" msgstr "опції_послідовності" -#: sql_help.c:1364 +#: sql_help.c:1378 msgid "sequence_option" msgstr "опція_послідовності" -#: sql_help.c:1378 +#: sql_help.c:1392 msgid "table_constraint_using_index" msgstr "індекс_обмеження_таблиці" -#: sql_help.c:1386 sql_help.c:1387 sql_help.c:1388 sql_help.c:1389 +#: sql_help.c:1400 sql_help.c:1401 sql_help.c:1402 sql_help.c:1403 msgid "rewrite_rule_name" msgstr "ім'я_правила_перезапису" -#: sql_help.c:1401 sql_help.c:2382 sql_help.c:2986 +#: sql_help.c:1415 sql_help.c:2396 sql_help.c:3006 msgid "and partition_bound_spec is:" msgstr "і специфікація_рамок_розділу:" -#: sql_help.c:1402 sql_help.c:1403 sql_help.c:1404 sql_help.c:2383 -#: sql_help.c:2384 sql_help.c:2385 sql_help.c:2987 sql_help.c:2988 -#: sql_help.c:2989 +#: sql_help.c:1416 sql_help.c:1417 sql_help.c:1418 sql_help.c:2397 +#: sql_help.c:2398 sql_help.c:2399 sql_help.c:3007 sql_help.c:3008 +#: sql_help.c:3009 msgid "partition_bound_expr" msgstr "код_секції" -#: sql_help.c:1405 sql_help.c:1406 sql_help.c:2386 sql_help.c:2387 -#: sql_help.c:2990 sql_help.c:2991 +#: sql_help.c:1419 sql_help.c:1420 sql_help.c:2400 sql_help.c:2401 +#: sql_help.c:3010 sql_help.c:3011 msgid "numeric_literal" msgstr "числовий_літерал" -#: sql_help.c:1407 +#: sql_help.c:1421 msgid "and column_constraint is:" msgstr "і обмеження_стовпця:" -#: sql_help.c:1410 sql_help.c:2377 sql_help.c:2418 sql_help.c:2627 -#: sql_help.c:2959 +#: sql_help.c:1424 sql_help.c:2391 sql_help.c:2432 sql_help.c:2641 +#: sql_help.c:2979 msgid "default_expr" msgstr "вираз_за_замовчуванням" -#: sql_help.c:1411 sql_help.c:2378 sql_help.c:2960 +#: sql_help.c:1425 sql_help.c:2392 sql_help.c:2980 msgid "generation_expr" msgstr "код_генерації" -#: sql_help.c:1413 sql_help.c:1414 sql_help.c:1423 sql_help.c:1425 -#: sql_help.c:1429 sql_help.c:2962 sql_help.c:2963 sql_help.c:2972 -#: sql_help.c:2974 sql_help.c:2978 +#: sql_help.c:1427 sql_help.c:1428 sql_help.c:1437 sql_help.c:1439 +#: sql_help.c:1443 sql_help.c:2982 sql_help.c:2983 sql_help.c:2992 +#: sql_help.c:2994 sql_help.c:2998 msgid "index_parameters" msgstr "параметри_індексу" -#: sql_help.c:1415 sql_help.c:1432 sql_help.c:2964 sql_help.c:2981 +#: sql_help.c:1429 sql_help.c:1446 sql_help.c:2984 sql_help.c:3001 msgid "reftable" msgstr "залежна_таблиця" -#: sql_help.c:1416 sql_help.c:1433 sql_help.c:2965 sql_help.c:2982 +#: sql_help.c:1430 sql_help.c:1447 sql_help.c:2985 sql_help.c:3002 msgid "refcolumn" msgstr "залежний_стовпець" -#: sql_help.c:1417 sql_help.c:1418 sql_help.c:1434 sql_help.c:1435 -#: sql_help.c:2966 sql_help.c:2967 sql_help.c:2983 sql_help.c:2984 +#: sql_help.c:1431 sql_help.c:1432 sql_help.c:1448 sql_help.c:1449 +#: sql_help.c:2986 sql_help.c:2987 sql_help.c:3003 sql_help.c:3004 msgid "referential_action" msgstr "дія_посилання" -#: sql_help.c:1419 sql_help.c:2379 sql_help.c:2968 +#: sql_help.c:1433 sql_help.c:2393 sql_help.c:2988 msgid "and table_constraint is:" msgstr "і обмеження_таблиці:" -#: sql_help.c:1427 sql_help.c:2976 +#: sql_help.c:1441 sql_help.c:2996 msgid "exclude_element" msgstr "об'єкт_виключення" -#: sql_help.c:1428 sql_help.c:2977 sql_help.c:4604 sql_help.c:4708 -#: sql_help.c:4862 sql_help.c:5038 sql_help.c:5107 +#: sql_help.c:1442 sql_help.c:2997 sql_help.c:4624 sql_help.c:4728 +#: sql_help.c:4882 sql_help.c:5058 sql_help.c:5127 msgid "operator" msgstr "оператор" -#: sql_help.c:1430 sql_help.c:2498 sql_help.c:2979 +#: sql_help.c:1444 sql_help.c:2512 sql_help.c:2999 msgid "predicate" msgstr "предикат" -#: sql_help.c:1436 +#: sql_help.c:1450 msgid "and table_constraint_using_index is:" msgstr "і індекс_обмеження_таблиці:" -#: sql_help.c:1439 sql_help.c:2992 +#: sql_help.c:1453 sql_help.c:3012 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "параметри_індексу в обмеженнях UNIQUE, PRIMARY KEY, EXCLUDE:" -#: sql_help.c:1444 sql_help.c:2997 +#: sql_help.c:1458 sql_help.c:3017 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "елемент_виключення в обмеженні EXCLUDE:" -#: sql_help.c:1448 sql_help.c:2491 sql_help.c:2924 sql_help.c:2937 -#: sql_help.c:2951 sql_help.c:3001 sql_help.c:4022 +#: sql_help.c:1462 sql_help.c:2505 sql_help.c:2944 sql_help.c:2957 +#: sql_help.c:2971 sql_help.c:3021 sql_help.c:4042 msgid "opclass" msgstr "клас_оператора" -#: sql_help.c:1449 sql_help.c:2492 sql_help.c:3002 +#: sql_help.c:1463 sql_help.c:2506 sql_help.c:3022 msgid "opclass_parameter" msgstr "opclass_parameter" -#: sql_help.c:1451 sql_help.c:3004 +#: sql_help.c:1465 sql_help.c:3024 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "посилання на дію в обмеженні FOREIGN KEY/REFERENCES:" -#: sql_help.c:1469 sql_help.c:1472 sql_help.c:3041 +#: sql_help.c:1483 sql_help.c:1486 sql_help.c:3061 msgid "tablespace_option" msgstr "опція_табличного_простору" -#: sql_help.c:1493 sql_help.c:1496 sql_help.c:1502 sql_help.c:1506 +#: sql_help.c:1507 sql_help.c:1510 sql_help.c:1516 sql_help.c:1520 msgid "token_type" msgstr "тип_токену" -#: sql_help.c:1494 sql_help.c:1497 +#: sql_help.c:1508 sql_help.c:1511 msgid "dictionary_name" msgstr "ім'я_словника" -#: sql_help.c:1499 sql_help.c:1503 +#: sql_help.c:1513 sql_help.c:1517 msgid "old_dictionary" msgstr "старий_словник" -#: sql_help.c:1500 sql_help.c:1504 +#: sql_help.c:1514 sql_help.c:1518 msgid "new_dictionary" msgstr "новий_словник" -#: sql_help.c:1599 sql_help.c:1613 sql_help.c:1616 sql_help.c:1617 -#: sql_help.c:3194 +#: sql_help.c:1613 sql_help.c:1627 sql_help.c:1630 sql_help.c:1631 +#: sql_help.c:3214 msgid "attribute_name" msgstr "ім'я_атрибута" -#: sql_help.c:1600 +#: sql_help.c:1614 msgid "new_attribute_name" msgstr "нове_ім'я_атрибута" -#: sql_help.c:1604 sql_help.c:1608 +#: sql_help.c:1618 sql_help.c:1622 msgid "new_enum_value" msgstr "нове_значення_перерахування" -#: sql_help.c:1605 +#: sql_help.c:1619 msgid "neighbor_enum_value" msgstr "сусіднє_значення_перерахування" -#: sql_help.c:1607 +#: sql_help.c:1621 msgid "existing_enum_value" msgstr "існуюче_значення_перерахування" -#: sql_help.c:1610 +#: sql_help.c:1624 msgid "property" msgstr "властивість" -#: sql_help.c:1686 sql_help.c:2362 sql_help.c:2371 sql_help.c:2773 -#: sql_help.c:3274 sql_help.c:3725 sql_help.c:3932 sql_help.c:3978 -#: sql_help.c:4395 +#: sql_help.c:1700 sql_help.c:2376 sql_help.c:2385 sql_help.c:2793 +#: sql_help.c:3294 sql_help.c:3745 sql_help.c:3952 sql_help.c:3998 +#: sql_help.c:4415 msgid "server_name" msgstr "назва_серверу" -#: sql_help.c:1718 sql_help.c:1721 sql_help.c:3289 +#: sql_help.c:1732 sql_help.c:1735 sql_help.c:3309 msgid "view_option_name" msgstr "ім'я_параметра_представлення" -#: sql_help.c:1719 sql_help.c:3290 +#: sql_help.c:1733 sql_help.c:3310 msgid "view_option_value" msgstr "значення_параметра_представлення" -#: sql_help.c:1740 sql_help.c:5007 -msgid "table_and_columns" -msgstr "таблиця_і_стовпці" - -#: sql_help.c:1741 sql_help.c:1801 sql_help.c:1995 sql_help.c:3774 -#: sql_help.c:4230 sql_help.c:5008 +#: sql_help.c:1755 sql_help.c:1815 sql_help.c:2009 sql_help.c:3794 +#: sql_help.c:4250 sql_help.c:5028 msgid "where option can be one of:" msgstr "де параметр може бути одним із:" -#: sql_help.c:1742 sql_help.c:1743 sql_help.c:1802 sql_help.c:1997 -#: sql_help.c:2001 sql_help.c:2183 sql_help.c:3775 sql_help.c:3776 -#: sql_help.c:3777 sql_help.c:3778 sql_help.c:3779 sql_help.c:3780 -#: sql_help.c:3781 sql_help.c:3782 sql_help.c:3783 sql_help.c:3784 -#: sql_help.c:4231 sql_help.c:4233 sql_help.c:5009 sql_help.c:5010 -#: sql_help.c:5011 sql_help.c:5012 sql_help.c:5013 sql_help.c:5014 -#: sql_help.c:5015 sql_help.c:5016 sql_help.c:5017 sql_help.c:5019 -#: sql_help.c:5020 +#: sql_help.c:1756 sql_help.c:1757 sql_help.c:1816 sql_help.c:2011 +#: sql_help.c:2015 sql_help.c:2197 sql_help.c:3795 sql_help.c:3796 +#: sql_help.c:3797 sql_help.c:3798 sql_help.c:3799 sql_help.c:3800 +#: sql_help.c:3801 sql_help.c:3802 sql_help.c:3803 sql_help.c:3804 +#: sql_help.c:4251 sql_help.c:4253 sql_help.c:5029 sql_help.c:5030 +#: sql_help.c:5031 sql_help.c:5032 sql_help.c:5033 sql_help.c:5034 +#: sql_help.c:5035 sql_help.c:5036 sql_help.c:5037 sql_help.c:5039 +#: sql_help.c:5040 msgid "boolean" msgstr "логічний" -#: sql_help.c:1744 sql_help.c:5021 +#: sql_help.c:1758 sql_help.c:5041 msgid "size" msgstr "розмір" -#: sql_help.c:1745 sql_help.c:5022 -msgid "and table_and_columns is:" -msgstr "і таблиця_і_стовпці:" - -#: sql_help.c:1761 sql_help.c:4769 sql_help.c:4771 sql_help.c:4795 +#: sql_help.c:1775 sql_help.c:4789 sql_help.c:4791 sql_help.c:4815 msgid "transaction_mode" msgstr "режим_транзакції" -#: sql_help.c:1762 sql_help.c:4772 sql_help.c:4796 +#: sql_help.c:1776 sql_help.c:4792 sql_help.c:4816 msgid "where transaction_mode is one of:" msgstr "де режим_транзакції один з:" -#: sql_help.c:1771 sql_help.c:4614 sql_help.c:4623 sql_help.c:4627 -#: sql_help.c:4631 sql_help.c:4634 sql_help.c:4872 sql_help.c:4881 -#: sql_help.c:4885 sql_help.c:4889 sql_help.c:4892 sql_help.c:5117 -#: sql_help.c:5126 sql_help.c:5130 sql_help.c:5134 sql_help.c:5137 +#: sql_help.c:1785 sql_help.c:4634 sql_help.c:4643 sql_help.c:4647 +#: sql_help.c:4651 sql_help.c:4654 sql_help.c:4892 sql_help.c:4901 +#: sql_help.c:4905 sql_help.c:4909 sql_help.c:4912 sql_help.c:5137 +#: sql_help.c:5146 sql_help.c:5150 sql_help.c:5154 sql_help.c:5157 msgid "argument" msgstr "аргумент" -#: sql_help.c:1867 +#: sql_help.c:1881 msgid "relation_name" msgstr "назва_відношення" -#: sql_help.c:1872 sql_help.c:3926 sql_help.c:4389 +#: sql_help.c:1886 sql_help.c:3946 sql_help.c:4409 msgid "domain_name" msgstr "назва_домену" -#: sql_help.c:1894 +#: sql_help.c:1908 msgid "policy_name" msgstr "назва_політики" -#: sql_help.c:1907 +#: sql_help.c:1921 msgid "rule_name" msgstr "назва_правила" -#: sql_help.c:1926 sql_help.c:4528 +#: sql_help.c:1940 sql_help.c:4548 msgid "string_literal" msgstr "рядковий_літерал" -#: sql_help.c:1951 sql_help.c:4192 sql_help.c:4442 +#: sql_help.c:1965 sql_help.c:4212 sql_help.c:4462 msgid "transaction_id" msgstr "ідентифікатор_транзакції" -#: sql_help.c:1985 sql_help.c:1992 sql_help.c:4048 +#: sql_help.c:1999 sql_help.c:2006 sql_help.c:4068 msgid "filename" msgstr "ім'я файлу" -#: sql_help.c:1986 sql_help.c:1993 sql_help.c:2712 sql_help.c:2713 -#: sql_help.c:2714 +#: sql_help.c:2000 sql_help.c:2007 sql_help.c:2732 sql_help.c:2733 +#: sql_help.c:2734 msgid "command" msgstr "команда" -#: sql_help.c:1988 sql_help.c:2711 sql_help.c:3144 sql_help.c:3325 -#: sql_help.c:4032 sql_help.c:4115 sql_help.c:4118 sql_help.c:4121 -#: sql_help.c:4597 sql_help.c:4599 sql_help.c:4701 sql_help.c:4703 -#: sql_help.c:4855 sql_help.c:4857 sql_help.c:4974 sql_help.c:5100 -#: sql_help.c:5102 +#: sql_help.c:2002 sql_help.c:2731 sql_help.c:3164 sql_help.c:3345 +#: sql_help.c:4052 sql_help.c:4135 sql_help.c:4138 sql_help.c:4141 +#: sql_help.c:4617 sql_help.c:4619 sql_help.c:4721 sql_help.c:4723 +#: sql_help.c:4875 sql_help.c:4877 sql_help.c:4994 sql_help.c:5120 +#: sql_help.c:5122 msgid "condition" msgstr "умова" -#: sql_help.c:1991 sql_help.c:2532 sql_help.c:3027 sql_help.c:3291 -#: sql_help.c:3309 sql_help.c:4013 +#: sql_help.c:2005 sql_help.c:2546 sql_help.c:3047 sql_help.c:3311 +#: sql_help.c:3329 sql_help.c:4033 msgid "query" msgstr "запит" -#: sql_help.c:1996 +#: sql_help.c:2010 msgid "format_name" msgstr "назва_формату" -#: sql_help.c:1998 +#: sql_help.c:2012 msgid "delimiter_character" msgstr "символ_роздільник" -#: sql_help.c:1999 +#: sql_help.c:2013 msgid "null_string" msgstr "представлення_NULL" -#: sql_help.c:2000 +#: sql_help.c:2014 msgid "default_string" msgstr "рядок_за_замовчуванням" -#: sql_help.c:2002 +#: sql_help.c:2016 msgid "quote_character" msgstr "символ_лапок" -#: sql_help.c:2003 +#: sql_help.c:2017 msgid "escape_character" msgstr "символ_екранування" -#: sql_help.c:2007 +#: sql_help.c:2021 msgid "error_action" msgstr "error_action" -#: sql_help.c:2008 +#: sql_help.c:2022 msgid "encoding_name" msgstr "ім'я_кодування" -#: sql_help.c:2009 +#: sql_help.c:2023 msgid "verbosity" msgstr "детальність" -#: sql_help.c:2020 +#: sql_help.c:2034 msgid "access_method_type" msgstr "тип_метода_доступа" -#: sql_help.c:2091 sql_help.c:2110 sql_help.c:2113 +#: sql_help.c:2105 sql_help.c:2124 sql_help.c:2127 msgid "arg_data_type" msgstr "тип_даних_аргумента" -#: sql_help.c:2092 sql_help.c:2114 sql_help.c:2122 +#: sql_help.c:2106 sql_help.c:2128 sql_help.c:2136 msgid "sfunc" msgstr "функція_стану" -#: sql_help.c:2093 sql_help.c:2115 sql_help.c:2123 +#: sql_help.c:2107 sql_help.c:2129 sql_help.c:2137 msgid "state_data_type" msgstr "тип_даних_стану" -#: sql_help.c:2094 sql_help.c:2116 sql_help.c:2124 +#: sql_help.c:2108 sql_help.c:2130 sql_help.c:2138 msgid "state_data_size" msgstr "розмір_даних_стану" -#: sql_help.c:2095 sql_help.c:2117 sql_help.c:2125 +#: sql_help.c:2109 sql_help.c:2131 sql_help.c:2139 msgid "ffunc" msgstr "функція_завершення" -#: sql_help.c:2096 sql_help.c:2126 +#: sql_help.c:2110 sql_help.c:2140 msgid "combinefunc" msgstr "комбінуюча_функція" -#: sql_help.c:2097 sql_help.c:2127 +#: sql_help.c:2111 sql_help.c:2141 msgid "serialfunc" msgstr "функція_серіалізації" -#: sql_help.c:2098 sql_help.c:2128 +#: sql_help.c:2112 sql_help.c:2142 msgid "deserialfunc" msgstr "функція_десеріалізації" -#: sql_help.c:2099 sql_help.c:2118 sql_help.c:2129 +#: sql_help.c:2113 sql_help.c:2132 sql_help.c:2143 msgid "initial_condition" msgstr "початкова_умова" -#: sql_help.c:2100 sql_help.c:2130 +#: sql_help.c:2114 sql_help.c:2144 msgid "msfunc" msgstr "функція_стану_рух" -#: sql_help.c:2101 sql_help.c:2131 +#: sql_help.c:2115 sql_help.c:2145 msgid "minvfunc" msgstr "зворотна_функція_рух" -#: sql_help.c:2102 sql_help.c:2132 +#: sql_help.c:2116 sql_help.c:2146 msgid "mstate_data_type" msgstr "тип_даних_стану_рух" -#: sql_help.c:2103 sql_help.c:2133 +#: sql_help.c:2117 sql_help.c:2147 msgid "mstate_data_size" msgstr "розмір_даних_стану_рух" -#: sql_help.c:2104 sql_help.c:2134 +#: sql_help.c:2118 sql_help.c:2148 msgid "mffunc" msgstr "функція_завершення_рух" -#: sql_help.c:2105 sql_help.c:2135 +#: sql_help.c:2119 sql_help.c:2149 msgid "minitial_condition" msgstr "початкова_умова_рух" -#: sql_help.c:2106 sql_help.c:2136 +#: sql_help.c:2120 sql_help.c:2150 msgid "sort_operator" msgstr "оператор_сортування" -#: sql_help.c:2119 +#: sql_help.c:2133 msgid "or the old syntax" msgstr "або старий синтаксис" -#: sql_help.c:2121 +#: sql_help.c:2135 msgid "base_type" msgstr "базовий_тип" -#: sql_help.c:2179 sql_help.c:2229 +#: sql_help.c:2193 sql_help.c:2243 msgid "locale" msgstr "локаль" -#: sql_help.c:2180 sql_help.c:2230 +#: sql_help.c:2194 sql_help.c:2244 msgid "lc_collate" msgstr "код_правила_сортування" -#: sql_help.c:2181 sql_help.c:2231 +#: sql_help.c:2195 sql_help.c:2245 msgid "lc_ctype" msgstr "код_класифікації_символів" -#: sql_help.c:2182 sql_help.c:4495 +#: sql_help.c:2196 sql_help.c:4515 msgid "provider" msgstr "постачальник" -#: sql_help.c:2184 +#: sql_help.c:2198 msgid "rules" msgstr "правила" -#: sql_help.c:2185 sql_help.c:2292 +#: sql_help.c:2199 sql_help.c:2306 msgid "version" msgstr "версія" -#: sql_help.c:2187 +#: sql_help.c:2201 msgid "existing_collation" msgstr "існуюче_правило_сортування" -#: sql_help.c:2197 +#: sql_help.c:2211 msgid "source_encoding" msgstr "початкове_кодування" -#: sql_help.c:2198 +#: sql_help.c:2212 msgid "dest_encoding" msgstr "цільве_кодування" -#: sql_help.c:2226 sql_help.c:3067 +#: sql_help.c:2240 sql_help.c:3087 msgid "template" msgstr "шаблон" -#: sql_help.c:2227 +#: sql_help.c:2241 msgid "encoding" msgstr "кодування" -#: sql_help.c:2228 +#: sql_help.c:2242 msgid "strategy" msgstr "стратегія" -#: sql_help.c:2232 +#: sql_help.c:2246 msgid "builtin_locale" msgstr "вбудована_локаль" -#: sql_help.c:2233 +#: sql_help.c:2247 msgid "icu_locale" msgstr "icu_locale" -#: sql_help.c:2234 +#: sql_help.c:2248 msgid "icu_rules" msgstr "правила_icu" -#: sql_help.c:2235 +#: sql_help.c:2249 msgid "locale_provider" msgstr "локаль_провайдер" -#: sql_help.c:2236 +#: sql_help.c:2250 msgid "collation_version" msgstr "версія_сортування" -#: sql_help.c:2241 +#: sql_help.c:2255 msgid "oid" msgstr "oid" -#: sql_help.c:2276 sql_help.c:2709 sql_help.c:3140 +#: sql_help.c:2290 sql_help.c:2729 sql_help.c:3160 msgid "event" msgstr "подія" -#: sql_help.c:2277 +#: sql_help.c:2291 msgid "filter_variable" msgstr "змінна_фільтру" -#: sql_help.c:2278 +#: sql_help.c:2292 msgid "filter_value" msgstr "значення_фільтру" -#: sql_help.c:2374 sql_help.c:2956 +#: sql_help.c:2388 sql_help.c:2976 msgid "where column_constraint is:" msgstr "де обмеження_стовпців:" -#: sql_help.c:2419 +#: sql_help.c:2433 msgid "rettype" msgstr "тип_результату" -#: sql_help.c:2421 +#: sql_help.c:2435 msgid "column_type" msgstr "тип_стовпця" -#: sql_help.c:2430 sql_help.c:2633 +#: sql_help.c:2444 sql_help.c:2647 msgid "definition" msgstr "визначення" -#: sql_help.c:2431 sql_help.c:2634 +#: sql_help.c:2445 sql_help.c:2648 msgid "obj_file" msgstr "об'єктний_файл" -#: sql_help.c:2432 sql_help.c:2635 +#: sql_help.c:2446 sql_help.c:2649 msgid "link_symbol" msgstr "символ_експорту" -#: sql_help.c:2433 sql_help.c:2636 +#: sql_help.c:2447 sql_help.c:2650 msgid "sql_body" msgstr "sql_body" -#: sql_help.c:2471 sql_help.c:2694 sql_help.c:3263 +#: sql_help.c:2485 sql_help.c:2714 sql_help.c:3283 msgid "uid" msgstr "uid" -#: sql_help.c:2487 sql_help.c:2528 sql_help.c:2925 sql_help.c:2938 -#: sql_help.c:2952 sql_help.c:3023 +#: sql_help.c:2501 sql_help.c:2542 sql_help.c:2945 sql_help.c:2958 +#: sql_help.c:2972 sql_help.c:3043 msgid "method" msgstr "метод" -#: sql_help.c:2509 +#: sql_help.c:2523 msgid "call_handler" msgstr "обробник_виклику" -#: sql_help.c:2510 +#: sql_help.c:2524 msgid "inline_handler" msgstr "обробник_впровадженого_коду" -#: sql_help.c:2511 +#: sql_help.c:2525 msgid "valfunction" msgstr "функція_перевірки" -#: sql_help.c:2569 +#: sql_help.c:2583 msgid "family_name" msgstr "назва_сімейства" -#: sql_help.c:2580 +#: sql_help.c:2594 msgid "storage_type" msgstr "тип_зберігання" -#: sql_help.c:2715 sql_help.c:3147 +#: sql_help.c:2735 sql_help.c:3167 msgid "where event can be one of:" msgstr "де подія може бути однією з:" -#: sql_help.c:2735 sql_help.c:2737 +#: sql_help.c:2755 sql_help.c:2757 msgid "schema_element" msgstr "елемент_схеми" -#: sql_help.c:2774 +#: sql_help.c:2794 msgid "server_type" msgstr "тип_серверу" -#: sql_help.c:2775 +#: sql_help.c:2795 msgid "server_version" msgstr "версія_серверу" -#: sql_help.c:2776 sql_help.c:3929 sql_help.c:4392 +#: sql_help.c:2796 sql_help.c:3949 sql_help.c:4412 msgid "fdw_name" msgstr "назва_fdw" -#: sql_help.c:2793 sql_help.c:2796 +#: sql_help.c:2813 sql_help.c:2816 msgid "statistics_name" msgstr "назва_статистики" -#: sql_help.c:2797 +#: sql_help.c:2817 msgid "statistics_kind" msgstr "вид_статистики" -#: sql_help.c:2813 +#: sql_help.c:2833 msgid "subscription_name" msgstr "назва_підписки" -#: sql_help.c:2918 +#: sql_help.c:2938 msgid "source_table" msgstr "вихідна_таблиця" -#: sql_help.c:2919 +#: sql_help.c:2939 msgid "like_option" msgstr "параметр_породження" -#: sql_help.c:2985 +#: sql_help.c:3005 msgid "and like_option is:" msgstr "і параметр_породження:" -#: sql_help.c:3040 +#: sql_help.c:3060 msgid "directory" msgstr "каталог" -#: sql_help.c:3054 +#: sql_help.c:3074 msgid "parser_name" msgstr "назва_парсера" -#: sql_help.c:3055 +#: sql_help.c:3075 msgid "source_config" msgstr "початкова_конфігурація" -#: sql_help.c:3084 +#: sql_help.c:3104 msgid "start_function" msgstr "функція_початку" -#: sql_help.c:3085 +#: sql_help.c:3105 msgid "gettoken_function" msgstr "функція_видачі_токену" -#: sql_help.c:3086 +#: sql_help.c:3106 msgid "end_function" msgstr "функція_завершення" -#: sql_help.c:3087 +#: sql_help.c:3107 msgid "lextypes_function" msgstr "функція_лекс_типів" -#: sql_help.c:3088 +#: sql_help.c:3108 msgid "headline_function" msgstr "функція_створення_заголовків" -#: sql_help.c:3100 +#: sql_help.c:3120 msgid "init_function" msgstr "функція_ініціалізації" -#: sql_help.c:3101 +#: sql_help.c:3121 msgid "lexize_function" msgstr "функція_виділення_лексем" -#: sql_help.c:3114 +#: sql_help.c:3134 msgid "from_sql_function_name" msgstr "ім'я_функції_з_sql" -#: sql_help.c:3116 +#: sql_help.c:3136 msgid "to_sql_function_name" msgstr "ім'я_функції_в_sql" -#: sql_help.c:3142 +#: sql_help.c:3162 msgid "referenced_table_name" msgstr "ім'я_залежної_таблиці" -#: sql_help.c:3143 +#: sql_help.c:3163 msgid "transition_relation_name" msgstr "ім'я_перехідного_відношення" -#: sql_help.c:3146 +#: sql_help.c:3166 msgid "arguments" msgstr "аргументи" -#: sql_help.c:3198 +#: sql_help.c:3218 msgid "label" msgstr "мітка" -#: sql_help.c:3200 +#: sql_help.c:3220 msgid "subtype" msgstr "підтип" -#: sql_help.c:3201 +#: sql_help.c:3221 msgid "subtype_operator_class" msgstr "клас_оператора_підтипу" -#: sql_help.c:3203 +#: sql_help.c:3223 msgid "canonical_function" msgstr "канонічна_функція" -#: sql_help.c:3204 +#: sql_help.c:3224 msgid "subtype_diff_function" msgstr "функція_розбіжностей_підтипу" -#: sql_help.c:3205 +#: sql_help.c:3225 msgid "multirange_type_name" msgstr "multirange_type_name" -#: sql_help.c:3207 +#: sql_help.c:3227 msgid "input_function" msgstr "функція_вводу" -#: sql_help.c:3208 +#: sql_help.c:3228 msgid "output_function" msgstr "функція_виводу" -#: sql_help.c:3209 +#: sql_help.c:3229 msgid "receive_function" msgstr "функція_отримання" -#: sql_help.c:3210 +#: sql_help.c:3230 msgid "send_function" msgstr "функція_відправки" -#: sql_help.c:3211 +#: sql_help.c:3231 msgid "type_modifier_input_function" msgstr "функція_введення_модифікатора_типу" -#: sql_help.c:3212 +#: sql_help.c:3232 msgid "type_modifier_output_function" msgstr "функція_виводу_модифікатора_типу" -#: sql_help.c:3213 +#: sql_help.c:3233 msgid "analyze_function" msgstr "функція_аналізу" -#: sql_help.c:3214 +#: sql_help.c:3234 msgid "subscript_function" msgstr "subscript_function" -#: sql_help.c:3215 +#: sql_help.c:3235 msgid "internallength" msgstr "внутр_довжина" -#: sql_help.c:3216 +#: sql_help.c:3236 msgid "alignment" msgstr "вирівнювання" -#: sql_help.c:3217 +#: sql_help.c:3237 msgid "storage" msgstr "зберігання" -#: sql_help.c:3218 +#: sql_help.c:3238 msgid "like_type" msgstr "тип_зразок" -#: sql_help.c:3219 +#: sql_help.c:3239 msgid "category" msgstr "категорія" -#: sql_help.c:3220 +#: sql_help.c:3240 msgid "preferred" msgstr "привілейований" -#: sql_help.c:3221 +#: sql_help.c:3241 msgid "default" msgstr "за_замовчуванням" -#: sql_help.c:3222 +#: sql_help.c:3242 msgid "element" msgstr "елемент" -#: sql_help.c:3223 +#: sql_help.c:3243 msgid "delimiter" msgstr "роздільник" -#: sql_help.c:3224 +#: sql_help.c:3244 msgid "collatable" msgstr "сортувальний" -#: sql_help.c:3321 sql_help.c:4008 sql_help.c:4102 sql_help.c:4592 -#: sql_help.c:4695 sql_help.c:4850 sql_help.c:4964 sql_help.c:5095 +#: sql_help.c:3341 sql_help.c:4028 sql_help.c:4122 sql_help.c:4612 +#: sql_help.c:4715 sql_help.c:4870 sql_help.c:4984 sql_help.c:5115 msgid "with_query" msgstr "with_запит" -#: sql_help.c:3323 sql_help.c:4010 sql_help.c:4611 sql_help.c:4617 -#: sql_help.c:4620 sql_help.c:4624 sql_help.c:4628 sql_help.c:4636 -#: sql_help.c:4869 sql_help.c:4875 sql_help.c:4878 sql_help.c:4882 -#: sql_help.c:4886 sql_help.c:4894 sql_help.c:4966 sql_help.c:5114 -#: sql_help.c:5120 sql_help.c:5123 sql_help.c:5127 sql_help.c:5131 -#: sql_help.c:5139 +#: sql_help.c:3343 sql_help.c:4030 sql_help.c:4631 sql_help.c:4637 +#: sql_help.c:4640 sql_help.c:4644 sql_help.c:4648 sql_help.c:4656 +#: sql_help.c:4889 sql_help.c:4895 sql_help.c:4898 sql_help.c:4902 +#: sql_help.c:4906 sql_help.c:4914 sql_help.c:4986 sql_help.c:5134 +#: sql_help.c:5140 sql_help.c:5143 sql_help.c:5147 sql_help.c:5151 +#: sql_help.c:5159 msgid "alias" msgstr "псевдонім" -#: sql_help.c:3324 sql_help.c:4596 sql_help.c:4638 sql_help.c:4640 -#: sql_help.c:4644 sql_help.c:4646 sql_help.c:4647 sql_help.c:4648 -#: sql_help.c:4700 sql_help.c:4854 sql_help.c:4896 sql_help.c:4898 -#: sql_help.c:4902 sql_help.c:4904 sql_help.c:4905 sql_help.c:4906 -#: sql_help.c:4973 sql_help.c:5099 sql_help.c:5141 sql_help.c:5143 -#: sql_help.c:5147 sql_help.c:5149 sql_help.c:5150 sql_help.c:5151 +#: sql_help.c:3344 sql_help.c:4616 sql_help.c:4658 sql_help.c:4660 +#: sql_help.c:4664 sql_help.c:4666 sql_help.c:4667 sql_help.c:4668 +#: sql_help.c:4720 sql_help.c:4874 sql_help.c:4916 sql_help.c:4918 +#: sql_help.c:4922 sql_help.c:4924 sql_help.c:4925 sql_help.c:4926 +#: sql_help.c:4993 sql_help.c:5119 sql_help.c:5161 sql_help.c:5163 +#: sql_help.c:5167 sql_help.c:5169 sql_help.c:5170 sql_help.c:5171 msgid "from_item" msgstr "джерело_даних" -#: sql_help.c:3326 sql_help.c:3810 sql_help.c:4159 sql_help.c:4975 +#: sql_help.c:3346 sql_help.c:3830 sql_help.c:4179 sql_help.c:4995 msgid "cursor_name" msgstr "ім'я_курсору" -#: sql_help.c:3327 sql_help.c:4016 sql_help.c:4108 sql_help.c:4976 +#: sql_help.c:3347 sql_help.c:4036 sql_help.c:4128 sql_help.c:4996 msgid "output_expression" msgstr "вираз_результату" -#: sql_help.c:3328 sql_help.c:4017 sql_help.c:4109 sql_help.c:4595 -#: sql_help.c:4698 sql_help.c:4853 sql_help.c:4977 sql_help.c:5098 +#: sql_help.c:3348 sql_help.c:4037 sql_help.c:4129 sql_help.c:4615 +#: sql_help.c:4718 sql_help.c:4873 sql_help.c:4997 sql_help.c:5118 msgid "output_name" msgstr "ім'я_результату" -#: sql_help.c:3344 +#: sql_help.c:3364 msgid "code" msgstr "код" -#: sql_help.c:3749 +#: sql_help.c:3769 msgid "parameter" msgstr "параметр" -#: sql_help.c:3773 sql_help.c:4184 +#: sql_help.c:3793 sql_help.c:4204 msgid "statement" msgstr "оператор" -#: sql_help.c:3809 sql_help.c:4158 +#: sql_help.c:3829 sql_help.c:4178 msgid "direction" msgstr "напрямок" -#: sql_help.c:3811 sql_help.c:4160 +#: sql_help.c:3831 sql_help.c:4180 msgid "where direction can be one of:" msgstr "де напрямок може бути одним із:" -#: sql_help.c:3812 sql_help.c:3813 sql_help.c:3814 sql_help.c:3815 -#: sql_help.c:3816 sql_help.c:4161 sql_help.c:4162 sql_help.c:4163 -#: sql_help.c:4164 sql_help.c:4165 sql_help.c:4605 sql_help.c:4607 -#: sql_help.c:4709 sql_help.c:4711 sql_help.c:4863 sql_help.c:4865 -#: sql_help.c:5039 sql_help.c:5041 sql_help.c:5108 sql_help.c:5110 +#: sql_help.c:3832 sql_help.c:3833 sql_help.c:3834 sql_help.c:3835 +#: sql_help.c:3836 sql_help.c:4181 sql_help.c:4182 sql_help.c:4183 +#: sql_help.c:4184 sql_help.c:4185 sql_help.c:4625 sql_help.c:4627 +#: sql_help.c:4729 sql_help.c:4731 sql_help.c:4883 sql_help.c:4885 +#: sql_help.c:5059 sql_help.c:5061 sql_help.c:5128 sql_help.c:5130 msgid "count" msgstr "кількість" -#: sql_help.c:3919 sql_help.c:4382 +#: sql_help.c:3939 sql_help.c:4402 msgid "sequence_name" msgstr "ім'я_послідовності" -#: sql_help.c:3937 sql_help.c:4400 +#: sql_help.c:3957 sql_help.c:4420 msgid "arg_name" msgstr "ім'я_аргументу" -#: sql_help.c:3938 sql_help.c:4401 +#: sql_help.c:3958 sql_help.c:4421 msgid "arg_type" msgstr "тип_аргументу" -#: sql_help.c:3945 sql_help.c:4408 +#: sql_help.c:3965 sql_help.c:4428 msgid "loid" msgstr "код_вел_об'єкту" -#: sql_help.c:3976 +#: sql_help.c:3996 msgid "remote_schema" msgstr "віддалена_схема" -#: sql_help.c:3979 +#: sql_help.c:3999 msgid "local_schema" msgstr "локальна_схема" -#: sql_help.c:4014 +#: sql_help.c:4034 msgid "conflict_target" msgstr "ціль_конфлікту" -#: sql_help.c:4015 +#: sql_help.c:4035 msgid "conflict_action" msgstr "дія_при_конфлікті" -#: sql_help.c:4018 +#: sql_help.c:4038 msgid "where conflict_target can be one of:" msgstr "де ціль_конфлікту може бути одним з:" -#: sql_help.c:4019 +#: sql_help.c:4039 msgid "index_column_name" msgstr "ім'я_стовпця_індексу" -#: sql_help.c:4020 +#: sql_help.c:4040 msgid "index_expression" msgstr "вираз_індексу" -#: sql_help.c:4023 +#: sql_help.c:4043 msgid "index_predicate" msgstr "предикат_індексу" -#: sql_help.c:4025 +#: sql_help.c:4045 msgid "and conflict_action is one of:" msgstr "і дія_при_конфлікті одна з:" -#: sql_help.c:4031 sql_help.c:4132 sql_help.c:4972 +#: sql_help.c:4051 sql_help.c:4152 sql_help.c:4992 msgid "sub-SELECT" msgstr "вкладений-SELECT" -#: sql_help.c:4040 sql_help.c:4173 sql_help.c:4948 +#: sql_help.c:4060 sql_help.c:4193 sql_help.c:4968 msgid "channel" msgstr "канал" -#: sql_help.c:4062 +#: sql_help.c:4082 msgid "lockmode" msgstr "режим_блокування" -#: sql_help.c:4063 +#: sql_help.c:4083 msgid "where lockmode is one of:" msgstr "де режим_блокування один з:" -#: sql_help.c:4103 +#: sql_help.c:4123 msgid "target_table_name" msgstr "ім'я_цілі_таблиці" -#: sql_help.c:4104 +#: sql_help.c:4124 msgid "target_alias" msgstr "псевдонім_цілі" -#: sql_help.c:4105 +#: sql_help.c:4125 msgid "data_source" msgstr "джерело_даних" -#: sql_help.c:4106 sql_help.c:4641 sql_help.c:4899 sql_help.c:5144 +#: sql_help.c:4126 sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 msgid "join_condition" msgstr "умова_поєднання" -#: sql_help.c:4107 +#: sql_help.c:4127 msgid "when_clause" msgstr "when_твердження" -#: sql_help.c:4110 +#: sql_help.c:4130 msgid "where data_source is:" msgstr "де джерело_даних:" -#: sql_help.c:4111 +#: sql_help.c:4131 msgid "source_table_name" msgstr "ім'я_початкова_таблиці" -#: sql_help.c:4112 +#: sql_help.c:4132 msgid "source_query" msgstr "джерело_запит" -#: sql_help.c:4113 +#: sql_help.c:4133 msgid "source_alias" msgstr "джерело_псевдоніма" -#: sql_help.c:4114 +#: sql_help.c:4134 msgid "and when_clause is:" msgstr "і when_clause:" -#: sql_help.c:4116 sql_help.c:4119 +#: sql_help.c:4136 sql_help.c:4139 msgid "merge_update" msgstr "merge_update" -#: sql_help.c:4117 sql_help.c:4120 +#: sql_help.c:4137 sql_help.c:4140 msgid "merge_delete" msgstr "merge_delete" -#: sql_help.c:4122 +#: sql_help.c:4142 msgid "merge_insert" msgstr "merge_insert" -#: sql_help.c:4123 +#: sql_help.c:4143 msgid "and merge_insert is:" msgstr "і merge_insert:" -#: sql_help.c:4126 +#: sql_help.c:4146 msgid "and merge_update is:" msgstr "і merge_update:" -#: sql_help.c:4133 +#: sql_help.c:4153 msgid "and merge_delete is:" msgstr "і merge_delete:" -#: sql_help.c:4174 +#: sql_help.c:4194 msgid "payload" msgstr "зміст" -#: sql_help.c:4201 +#: sql_help.c:4221 msgid "old_role" msgstr "стара_роль" -#: sql_help.c:4202 +#: sql_help.c:4222 msgid "new_role" msgstr "нова_роль" -#: sql_help.c:4241 sql_help.c:4450 sql_help.c:4458 +#: sql_help.c:4261 sql_help.c:4470 sql_help.c:4478 msgid "savepoint_name" msgstr "ім'я_точки_збереження" -#: sql_help.c:4598 sql_help.c:4656 sql_help.c:4856 sql_help.c:4914 -#: sql_help.c:5101 sql_help.c:5159 +#: sql_help.c:4618 sql_help.c:4676 sql_help.c:4876 sql_help.c:4934 +#: sql_help.c:5121 sql_help.c:5179 msgid "grouping_element" msgstr "елемент_групування" -#: sql_help.c:4600 sql_help.c:4704 sql_help.c:4858 sql_help.c:5103 +#: sql_help.c:4620 sql_help.c:4724 sql_help.c:4878 sql_help.c:5123 msgid "window_name" msgstr "назва_вікна" -#: sql_help.c:4601 sql_help.c:4705 sql_help.c:4859 sql_help.c:5104 +#: sql_help.c:4621 sql_help.c:4725 sql_help.c:4879 sql_help.c:5124 msgid "window_definition" msgstr "визначення_вікна" -#: sql_help.c:4602 sql_help.c:4616 sql_help.c:4660 sql_help.c:4706 -#: sql_help.c:4860 sql_help.c:4874 sql_help.c:4918 sql_help.c:5105 -#: sql_help.c:5119 sql_help.c:5163 +#: sql_help.c:4622 sql_help.c:4636 sql_help.c:4680 sql_help.c:4726 +#: sql_help.c:4880 sql_help.c:4894 sql_help.c:4938 sql_help.c:5125 +#: sql_help.c:5139 sql_help.c:5183 msgid "select" msgstr "виберіть" -#: sql_help.c:4608 sql_help.c:4866 sql_help.c:5111 +#: sql_help.c:4628 sql_help.c:4886 sql_help.c:5131 msgid "from_reference" msgstr "from_reference" -#: sql_help.c:4609 sql_help.c:4867 sql_help.c:5112 +#: sql_help.c:4629 sql_help.c:4887 sql_help.c:5132 msgid "where from_item can be one of:" msgstr "де джерело_даних може бути одним з:" -#: sql_help.c:4612 sql_help.c:4618 sql_help.c:4621 sql_help.c:4625 -#: sql_help.c:4637 sql_help.c:4870 sql_help.c:4876 sql_help.c:4879 -#: sql_help.c:4883 sql_help.c:4895 sql_help.c:5115 sql_help.c:5121 -#: sql_help.c:5124 sql_help.c:5128 sql_help.c:5140 +#: sql_help.c:4632 sql_help.c:4638 sql_help.c:4641 sql_help.c:4645 +#: sql_help.c:4657 sql_help.c:4890 sql_help.c:4896 sql_help.c:4899 +#: sql_help.c:4903 sql_help.c:4915 sql_help.c:5135 sql_help.c:5141 +#: sql_help.c:5144 sql_help.c:5148 sql_help.c:5160 msgid "column_alias" msgstr "псевдонім_стовпця" -#: sql_help.c:4613 sql_help.c:4871 sql_help.c:5116 +#: sql_help.c:4633 sql_help.c:4891 sql_help.c:5136 msgid "sampling_method" msgstr "метод_вибірки" -#: sql_help.c:4615 sql_help.c:4873 sql_help.c:5118 +#: sql_help.c:4635 sql_help.c:4893 sql_help.c:5138 msgid "seed" msgstr "початкове_число" -#: sql_help.c:4619 sql_help.c:4658 sql_help.c:4877 sql_help.c:4916 -#: sql_help.c:5122 sql_help.c:5161 +#: sql_help.c:4639 sql_help.c:4678 sql_help.c:4897 sql_help.c:4936 +#: sql_help.c:5142 sql_help.c:5181 msgid "with_query_name" msgstr "ім'я_запиту_WITH" -#: sql_help.c:4629 sql_help.c:4632 sql_help.c:4635 sql_help.c:4887 -#: sql_help.c:4890 sql_help.c:4893 sql_help.c:5132 sql_help.c:5135 -#: sql_help.c:5138 +#: sql_help.c:4649 sql_help.c:4652 sql_help.c:4655 sql_help.c:4907 +#: sql_help.c:4910 sql_help.c:4913 sql_help.c:5152 sql_help.c:5155 +#: sql_help.c:5158 msgid "column_definition" msgstr "визначення_стовпця" -#: sql_help.c:4639 sql_help.c:4645 sql_help.c:4897 sql_help.c:4903 -#: sql_help.c:5142 sql_help.c:5148 +#: sql_help.c:4659 sql_help.c:4665 sql_help.c:4917 sql_help.c:4923 +#: sql_help.c:5162 sql_help.c:5168 msgid "join_type" msgstr "тип_поєднання" -#: sql_help.c:4642 sql_help.c:4900 sql_help.c:5145 +#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 msgid "join_column" msgstr "стовпець_поєднання" -#: sql_help.c:4643 sql_help.c:4901 sql_help.c:5146 +#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 msgid "join_using_alias" msgstr "join_using_alias" -#: sql_help.c:4649 sql_help.c:4907 sql_help.c:5152 +#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 msgid "and grouping_element can be one of:" msgstr "і елемент_групування може бути одним з:" -#: sql_help.c:4657 sql_help.c:4915 sql_help.c:5160 +#: sql_help.c:4677 sql_help.c:4935 sql_help.c:5180 msgid "and with_query is:" msgstr "і запит_WITH:" -#: sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 +#: sql_help.c:4681 sql_help.c:4939 sql_help.c:5184 msgid "values" msgstr "значення" -#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 +#: sql_help.c:4682 sql_help.c:4940 sql_help.c:5185 msgid "insert" msgstr "вставка" -#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 +#: sql_help.c:4683 sql_help.c:4941 sql_help.c:5186 msgid "update" msgstr "оновлення" -#: sql_help.c:4664 sql_help.c:4922 sql_help.c:5167 +#: sql_help.c:4684 sql_help.c:4942 sql_help.c:5187 msgid "delete" msgstr "видалення" -#: sql_help.c:4665 sql_help.c:4923 sql_help.c:5168 +#: sql_help.c:4685 sql_help.c:4943 sql_help.c:5188 msgid "merge" msgstr "об’єднати" -#: sql_help.c:4667 sql_help.c:4925 sql_help.c:5170 +#: sql_help.c:4687 sql_help.c:4945 sql_help.c:5190 msgid "search_seq_col_name" msgstr "search_seq_col_name" -#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 +#: sql_help.c:4689 sql_help.c:4947 sql_help.c:5192 msgid "cycle_mark_col_name" msgstr "cycle_mark_col_name" -#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 +#: sql_help.c:4690 sql_help.c:4948 sql_help.c:5193 msgid "cycle_mark_value" msgstr "cycle_mark_value" -#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 +#: sql_help.c:4691 sql_help.c:4949 sql_help.c:5194 msgid "cycle_mark_default" msgstr "cycle_mark_default" -#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 +#: sql_help.c:4692 sql_help.c:4950 sql_help.c:5195 msgid "cycle_path_col_name" msgstr "cycle_path_col_name" -#: sql_help.c:4699 +#: sql_help.c:4719 msgid "new_table" msgstr "нова_таблиця" -#: sql_help.c:4770 +#: sql_help.c:4790 msgid "snapshot_id" msgstr "код_знімку" -#: sql_help.c:5037 +#: sql_help.c:5057 msgid "sort_expression" msgstr "вираз_сортування" -#: sql_help.c:5182 sql_help.c:6166 +#: sql_help.c:5202 sql_help.c:6186 msgid "abort the current transaction" msgstr "перервати поточну транзакцію" -#: sql_help.c:5188 +#: sql_help.c:5208 msgid "change the definition of an aggregate function" msgstr "змінити визначення агрегатної функції" -#: sql_help.c:5194 +#: sql_help.c:5214 msgid "change the definition of a collation" msgstr "змінити визначення правила сортування" -#: sql_help.c:5200 +#: sql_help.c:5220 msgid "change the definition of a conversion" msgstr "змінити визначення перетворення" -#: sql_help.c:5206 +#: sql_help.c:5226 msgid "change a database" msgstr "змінити базу даних" -#: sql_help.c:5212 +#: sql_help.c:5232 msgid "define default access privileges" msgstr "визначити права доступу за замовчуванням" -#: sql_help.c:5218 +#: sql_help.c:5238 msgid "change the definition of a domain" msgstr "змінити визначення домену" -#: sql_help.c:5224 +#: sql_help.c:5244 msgid "change the definition of an event trigger" msgstr "змінити визначення тригеру події" -#: sql_help.c:5230 +#: sql_help.c:5250 msgid "change the definition of an extension" msgstr "змінити визначення розширення" -#: sql_help.c:5236 +#: sql_help.c:5256 msgid "change the definition of a foreign-data wrapper" msgstr "змінити визначення джерела сторонніх даних" -#: sql_help.c:5242 +#: sql_help.c:5262 msgid "change the definition of a foreign table" msgstr "змінити визначення сторонньої таблиці" -#: sql_help.c:5248 +#: sql_help.c:5268 msgid "change the definition of a function" msgstr "змінити визначення функції" -#: sql_help.c:5254 +#: sql_help.c:5274 msgid "change role name or membership" msgstr "змінити назву ролі або членства" -#: sql_help.c:5260 +#: sql_help.c:5280 msgid "change the definition of an index" msgstr "змінити визначення індексу" -#: sql_help.c:5266 +#: sql_help.c:5286 msgid "change the definition of a procedural language" msgstr "змінити визначення процедурної мови" -#: sql_help.c:5272 +#: sql_help.c:5292 msgid "change the definition of a large object" msgstr "змінити визначення великого об'єкту" -#: sql_help.c:5278 +#: sql_help.c:5298 msgid "change the definition of a materialized view" msgstr "змінити визначення матеріалізованого подання" -#: sql_help.c:5284 +#: sql_help.c:5304 msgid "change the definition of an operator" msgstr "змінити визначення оператора" -#: sql_help.c:5290 +#: sql_help.c:5310 msgid "change the definition of an operator class" msgstr "змінити визначення класа операторів" -#: sql_help.c:5296 +#: sql_help.c:5316 msgid "change the definition of an operator family" msgstr "змінити визначення сімейства операторів" -#: sql_help.c:5302 +#: sql_help.c:5322 msgid "change the definition of a row-level security policy" msgstr "змінити визначення політики безпеки на рівні рядків" -#: sql_help.c:5308 +#: sql_help.c:5328 msgid "change the definition of a procedure" msgstr "змінити визначення процедури" -#: sql_help.c:5314 +#: sql_help.c:5334 msgid "change the definition of a publication" msgstr "змінити визначення публікації" -#: sql_help.c:5320 sql_help.c:5422 +#: sql_help.c:5340 sql_help.c:5442 msgid "change a database role" msgstr "змінити роль бази даних" -#: sql_help.c:5326 +#: sql_help.c:5346 msgid "change the definition of a routine" msgstr "змінити визначення підпрограми" -#: sql_help.c:5332 +#: sql_help.c:5352 msgid "change the definition of a rule" msgstr "змінити визначення правила" -#: sql_help.c:5338 +#: sql_help.c:5358 msgid "change the definition of a schema" msgstr "змінити визначення схеми" -#: sql_help.c:5344 +#: sql_help.c:5364 msgid "change the definition of a sequence generator" msgstr "змінити визначення генератору послідовності" -#: sql_help.c:5350 +#: sql_help.c:5370 msgid "change the definition of a foreign server" msgstr "змінити визначення стороннього серверу" -#: sql_help.c:5356 +#: sql_help.c:5376 msgid "change the definition of an extended statistics object" msgstr "змінити визначення об'єкту розширеної статистики" -#: sql_help.c:5362 +#: sql_help.c:5382 msgid "change the definition of a subscription" msgstr "змінити визначення підписки" -#: sql_help.c:5368 +#: sql_help.c:5388 msgid "change a server configuration parameter" msgstr "змінити параметр конфігурації сервера" -#: sql_help.c:5374 +#: sql_help.c:5394 msgid "change the definition of a table" msgstr "змінити визначення таблиці" -#: sql_help.c:5380 +#: sql_help.c:5400 msgid "change the definition of a tablespace" msgstr "змінити визначення табличного простору" -#: sql_help.c:5386 +#: sql_help.c:5406 msgid "change the definition of a text search configuration" msgstr "змінити визначення конфігурації текстового пошуку" -#: sql_help.c:5392 +#: sql_help.c:5412 msgid "change the definition of a text search dictionary" msgstr "змінити визначення словника текстового пошуку" -#: sql_help.c:5398 +#: sql_help.c:5418 msgid "change the definition of a text search parser" msgstr "змінити визначення парсера текстового пошуку" -#: sql_help.c:5404 +#: sql_help.c:5424 msgid "change the definition of a text search template" msgstr "змінити визначення шаблона текстового пошуку" -#: sql_help.c:5410 +#: sql_help.c:5430 msgid "change the definition of a trigger" msgstr "змінити визначення тригеру" -#: sql_help.c:5416 +#: sql_help.c:5436 msgid "change the definition of a type" msgstr "змінити визначення типу" -#: sql_help.c:5428 +#: sql_help.c:5448 msgid "change the definition of a user mapping" msgstr "змінити визначення зіставлень користувачів" -#: sql_help.c:5434 +#: sql_help.c:5454 msgid "change the definition of a view" msgstr "змінити визначення подання" -#: sql_help.c:5440 +#: sql_help.c:5460 msgid "collect statistics about a database" msgstr "зібрати статистику про базу даних" -#: sql_help.c:5446 sql_help.c:6244 +#: sql_help.c:5466 sql_help.c:6264 msgid "start a transaction block" msgstr "розпочати транзакцію" -#: sql_help.c:5452 +#: sql_help.c:5472 msgid "invoke a procedure" msgstr "викликати процедуру" -#: sql_help.c:5458 +#: sql_help.c:5478 msgid "force a write-ahead log checkpoint" msgstr "провести контрольну точку в журналі попереднього запису" -#: sql_help.c:5464 +#: sql_help.c:5484 msgid "close a cursor" msgstr "закрити курсор" -#: sql_help.c:5470 +#: sql_help.c:5490 msgid "cluster a table according to an index" msgstr "перегрупувати таблицю за індексом" -#: sql_help.c:5476 +#: sql_help.c:5496 msgid "define or change the comment of an object" msgstr "задати або змінити коментар об'єкта" -#: sql_help.c:5482 sql_help.c:6040 +#: sql_help.c:5502 sql_help.c:6060 msgid "commit the current transaction" msgstr "затвердити поточну транзакцію" -#: sql_help.c:5488 +#: sql_help.c:5508 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "затвердити транзакцію, раніше підготовлену до двохфазного затвердження" -#: sql_help.c:5494 +#: sql_help.c:5514 msgid "copy data between a file and a table" msgstr "копіювати дані між файлом та таблицею" -#: sql_help.c:5500 +#: sql_help.c:5520 msgid "define a new access method" msgstr "визначити новий метод доступу" -#: sql_help.c:5506 +#: sql_help.c:5526 msgid "define a new aggregate function" msgstr "визначити нову агрегатну функцію" -#: sql_help.c:5512 +#: sql_help.c:5532 msgid "define a new cast" msgstr "визначити приведення типів" -#: sql_help.c:5518 +#: sql_help.c:5538 msgid "define a new collation" msgstr "визначити нове правило сортування" -#: sql_help.c:5524 +#: sql_help.c:5544 msgid "define a new encoding conversion" msgstr "визначити нове перетворення кодування" -#: sql_help.c:5530 +#: sql_help.c:5550 msgid "create a new database" msgstr "створити нову базу даних" -#: sql_help.c:5536 +#: sql_help.c:5556 msgid "define a new domain" msgstr "визначити новий домен" -#: sql_help.c:5542 +#: sql_help.c:5562 msgid "define a new event trigger" msgstr "визначити новий тригер події" -#: sql_help.c:5548 +#: sql_help.c:5568 msgid "install an extension" msgstr "встановити розширення" -#: sql_help.c:5554 +#: sql_help.c:5574 msgid "define a new foreign-data wrapper" msgstr "визначити нове джерело сторонніх даних" -#: sql_help.c:5560 +#: sql_help.c:5580 msgid "define a new foreign table" msgstr "визначити нову сторонню таблицю" -#: sql_help.c:5566 +#: sql_help.c:5586 msgid "define a new function" msgstr "визначити нову функцію" -#: sql_help.c:5572 sql_help.c:5632 sql_help.c:5734 +#: sql_help.c:5592 sql_help.c:5652 sql_help.c:5754 msgid "define a new database role" msgstr "визначити нову роль бази даних" -#: sql_help.c:5578 +#: sql_help.c:5598 msgid "define a new index" msgstr "визначити новий індекс" -#: sql_help.c:5584 +#: sql_help.c:5604 msgid "define a new procedural language" msgstr "визначити нову процедурну мову" -#: sql_help.c:5590 +#: sql_help.c:5610 msgid "define a new materialized view" msgstr "визначити нове матеріалізоване подання" -#: sql_help.c:5596 +#: sql_help.c:5616 msgid "define a new operator" msgstr "визначити новий оператор" -#: sql_help.c:5602 +#: sql_help.c:5622 msgid "define a new operator class" msgstr "визначити новий клас оператора" -#: sql_help.c:5608 +#: sql_help.c:5628 msgid "define a new operator family" msgstr "визначити нове сімейство операторів" -#: sql_help.c:5614 +#: sql_help.c:5634 msgid "define a new row-level security policy for a table" msgstr "визначити нову політику безпеки на рівні рядків для таблиці" -#: sql_help.c:5620 +#: sql_help.c:5640 msgid "define a new procedure" msgstr "визначити нову процедуру" -#: sql_help.c:5626 +#: sql_help.c:5646 msgid "define a new publication" msgstr "визначити нову публікацію" -#: sql_help.c:5638 +#: sql_help.c:5658 msgid "define a new rewrite rule" msgstr "визначити нове правило перезапису" -#: sql_help.c:5644 +#: sql_help.c:5664 msgid "define a new schema" msgstr "визначити нову схему" -#: sql_help.c:5650 +#: sql_help.c:5670 msgid "define a new sequence generator" msgstr "визначити новий генератор послідовностей" -#: sql_help.c:5656 +#: sql_help.c:5676 msgid "define a new foreign server" msgstr "визначити новий сторонній сервер" -#: sql_help.c:5662 +#: sql_help.c:5682 msgid "define extended statistics" msgstr "визначити розширену статистику" -#: sql_help.c:5668 +#: sql_help.c:5688 msgid "define a new subscription" msgstr "визначити нову підписку" -#: sql_help.c:5674 +#: sql_help.c:5694 msgid "define a new table" msgstr "визначити нову таблицю" -#: sql_help.c:5680 sql_help.c:6202 +#: sql_help.c:5700 sql_help.c:6222 msgid "define a new table from the results of a query" msgstr "визначити нову таблицю з результатів запиту" -#: sql_help.c:5686 +#: sql_help.c:5706 msgid "define a new tablespace" msgstr "визначити новий табличний простір" -#: sql_help.c:5692 +#: sql_help.c:5712 msgid "define a new text search configuration" msgstr "визначити нову конфігурацію текстового пошуку" -#: sql_help.c:5698 +#: sql_help.c:5718 msgid "define a new text search dictionary" msgstr "визначити новий словник текстового пошуку" -#: sql_help.c:5704 +#: sql_help.c:5724 msgid "define a new text search parser" msgstr "визначити новий аналізатор текстового пошуку" -#: sql_help.c:5710 +#: sql_help.c:5730 msgid "define a new text search template" msgstr "визначити новий шаблон текстового пошуку" -#: sql_help.c:5716 +#: sql_help.c:5736 msgid "define a new transform" msgstr "визначити нове перетворення" -#: sql_help.c:5722 +#: sql_help.c:5742 msgid "define a new trigger" msgstr "визначити новий тригер" -#: sql_help.c:5728 +#: sql_help.c:5748 msgid "define a new data type" msgstr "визначити новий тип даних" -#: sql_help.c:5740 +#: sql_help.c:5760 msgid "define a new mapping of a user to a foreign server" msgstr "визначити нове зіставлення користувача для стороннього сервера" -#: sql_help.c:5746 +#: sql_help.c:5766 msgid "define a new view" msgstr "визначити нове подання" -#: sql_help.c:5752 +#: sql_help.c:5772 msgid "deallocate a prepared statement" msgstr "звільнити підготовлену команду" -#: sql_help.c:5758 +#: sql_help.c:5778 msgid "define a cursor" msgstr "визначити курсор" -#: sql_help.c:5764 +#: sql_help.c:5784 msgid "delete rows of a table" msgstr "видалити рядки таблиці" -#: sql_help.c:5770 +#: sql_help.c:5790 msgid "discard session state" msgstr "очистити стан сесії" -#: sql_help.c:5776 +#: sql_help.c:5796 msgid "execute an anonymous code block" msgstr "виконати анонімний блок коду" -#: sql_help.c:5782 +#: sql_help.c:5802 msgid "remove an access method" msgstr "видалити метод доступу" -#: sql_help.c:5788 +#: sql_help.c:5808 msgid "remove an aggregate function" msgstr "видалити агрегатну функцію" -#: sql_help.c:5794 +#: sql_help.c:5814 msgid "remove a cast" msgstr "видалити приведення типів" -#: sql_help.c:5800 +#: sql_help.c:5820 msgid "remove a collation" msgstr "видалити правило сортування" -#: sql_help.c:5806 +#: sql_help.c:5826 msgid "remove a conversion" msgstr "видалити перетворення" -#: sql_help.c:5812 +#: sql_help.c:5832 msgid "remove a database" msgstr "видалити базу даних" -#: sql_help.c:5818 +#: sql_help.c:5838 msgid "remove a domain" msgstr "видалити домен" -#: sql_help.c:5824 +#: sql_help.c:5844 msgid "remove an event trigger" msgstr "видалити тригер події" -#: sql_help.c:5830 +#: sql_help.c:5850 msgid "remove an extension" msgstr "видалити розширення" -#: sql_help.c:5836 +#: sql_help.c:5856 msgid "remove a foreign-data wrapper" msgstr "видалити джерело сторонніх даних" -#: sql_help.c:5842 +#: sql_help.c:5862 msgid "remove a foreign table" msgstr "видалити сторонню таблицю" -#: sql_help.c:5848 +#: sql_help.c:5868 msgid "remove a function" msgstr "видалити функцію" -#: sql_help.c:5854 sql_help.c:5920 sql_help.c:6022 +#: sql_help.c:5874 sql_help.c:5940 sql_help.c:6042 msgid "remove a database role" msgstr "видалити роль бази даних" -#: sql_help.c:5860 +#: sql_help.c:5880 msgid "remove an index" msgstr "видалити індекс" -#: sql_help.c:5866 +#: sql_help.c:5886 msgid "remove a procedural language" msgstr "видалити процедурну мову" -#: sql_help.c:5872 +#: sql_help.c:5892 msgid "remove a materialized view" msgstr "видалити матеріалізоване подання" -#: sql_help.c:5878 +#: sql_help.c:5898 msgid "remove an operator" msgstr "видалити оператор" -#: sql_help.c:5884 +#: sql_help.c:5904 msgid "remove an operator class" msgstr "видалити клас операторів" -#: sql_help.c:5890 +#: sql_help.c:5910 msgid "remove an operator family" msgstr "видалити сімейство операторів" -#: sql_help.c:5896 +#: sql_help.c:5916 msgid "remove database objects owned by a database role" msgstr "видалити об'єкти бази даних, що належать ролі" -#: sql_help.c:5902 +#: sql_help.c:5922 msgid "remove a row-level security policy from a table" msgstr "видалити політику безпеки на рівні рядків з таблиці" -#: sql_help.c:5908 +#: sql_help.c:5928 msgid "remove a procedure" msgstr "видалити процедуру" -#: sql_help.c:5914 +#: sql_help.c:5934 msgid "remove a publication" msgstr "видалити публікацію" -#: sql_help.c:5926 +#: sql_help.c:5946 msgid "remove a routine" msgstr "видалити підпрограму" -#: sql_help.c:5932 +#: sql_help.c:5952 msgid "remove a rewrite rule" msgstr "видалити правило перезапису" -#: sql_help.c:5938 +#: sql_help.c:5958 msgid "remove a schema" msgstr "видалити схему" -#: sql_help.c:5944 +#: sql_help.c:5964 msgid "remove a sequence" msgstr "видалити послідовність" -#: sql_help.c:5950 +#: sql_help.c:5970 msgid "remove a foreign server descriptor" msgstr "видалити опис стороннього серверу" -#: sql_help.c:5956 +#: sql_help.c:5976 msgid "remove extended statistics" msgstr "видалити розширену статистику" -#: sql_help.c:5962 +#: sql_help.c:5982 msgid "remove a subscription" msgstr "видалити підписку" -#: sql_help.c:5968 +#: sql_help.c:5988 msgid "remove a table" msgstr "видалити таблицю" -#: sql_help.c:5974 +#: sql_help.c:5994 msgid "remove a tablespace" msgstr "видалити табличний простір" -#: sql_help.c:5980 +#: sql_help.c:6000 msgid "remove a text search configuration" msgstr "видалити конфігурацію тектового пошуку" -#: sql_help.c:5986 +#: sql_help.c:6006 msgid "remove a text search dictionary" msgstr "видалити словник тектового пошуку" -#: sql_help.c:5992 +#: sql_help.c:6012 msgid "remove a text search parser" msgstr "видалити парсер тектового пошуку" -#: sql_help.c:5998 +#: sql_help.c:6018 msgid "remove a text search template" msgstr "видалити шаблон тектового пошуку" -#: sql_help.c:6004 +#: sql_help.c:6024 msgid "remove a transform" msgstr "видалити перетворення" -#: sql_help.c:6010 +#: sql_help.c:6030 msgid "remove a trigger" msgstr "видалити тригер" -#: sql_help.c:6016 +#: sql_help.c:6036 msgid "remove a data type" msgstr "видалити тип даних" -#: sql_help.c:6028 +#: sql_help.c:6048 msgid "remove a user mapping for a foreign server" msgstr "видалити зіставлення користувача для стороннього серверу" -#: sql_help.c:6034 +#: sql_help.c:6054 msgid "remove a view" msgstr "видалити подання" -#: sql_help.c:6046 +#: sql_help.c:6066 msgid "execute a prepared statement" msgstr "виконати підготовлену команду" -#: sql_help.c:6052 +#: sql_help.c:6072 msgid "show the execution plan of a statement" msgstr "показати план виконання команди" -#: sql_help.c:6058 +#: sql_help.c:6078 msgid "retrieve rows from a query using a cursor" msgstr "отримати рядки запиту з курсору" -#: sql_help.c:6064 +#: sql_help.c:6084 msgid "define access privileges" msgstr "визначити права доступу" -#: sql_help.c:6070 +#: sql_help.c:6090 msgid "import table definitions from a foreign server" msgstr "імпортувати визначення таблиць зі стороннього серверу" -#: sql_help.c:6076 +#: sql_help.c:6096 msgid "create new rows in a table" msgstr "створити нові рядки в таблиці" -#: sql_help.c:6082 +#: sql_help.c:6102 msgid "listen for a notification" msgstr "очікувати на повідомлення" -#: sql_help.c:6088 +#: sql_help.c:6108 msgid "load a shared library file" msgstr "завантажити файл спільної бібліотеки" -#: sql_help.c:6094 +#: sql_help.c:6114 msgid "lock a table" msgstr "заблокувати таблицю" -#: sql_help.c:6100 +#: sql_help.c:6120 msgid "conditionally insert, update, or delete rows of a table" msgstr "умовно вставити, оновити або видалити рядки таблиці" -#: sql_help.c:6106 +#: sql_help.c:6126 msgid "position a cursor" msgstr "розташувати курсор" -#: sql_help.c:6112 +#: sql_help.c:6132 msgid "generate a notification" msgstr "згенерувати повідомлення" -#: sql_help.c:6118 +#: sql_help.c:6138 msgid "prepare a statement for execution" msgstr "підготувати команду для виконання" -#: sql_help.c:6124 +#: sql_help.c:6144 msgid "prepare the current transaction for two-phase commit" msgstr "підготувати поточну транзакцію для двохфазного затвердження" -#: sql_help.c:6130 +#: sql_help.c:6150 msgid "change the ownership of database objects owned by a database role" msgstr "змінити власника об'єктів БД, що належать заданій ролі" -#: sql_help.c:6136 +#: sql_help.c:6156 msgid "replace the contents of a materialized view" msgstr "замінити вміст матеріалізованого подання" -#: sql_help.c:6142 +#: sql_help.c:6162 msgid "rebuild indexes" msgstr "перебудувати індекси" -#: sql_help.c:6148 +#: sql_help.c:6168 msgid "release a previously defined savepoint" msgstr "звільнити раніше визначену точку збереження" -#: sql_help.c:6154 +#: sql_help.c:6174 msgid "restore the value of a run-time parameter to the default value" msgstr "відновити початкове значення параметру виконання" -#: sql_help.c:6160 +#: sql_help.c:6180 msgid "remove access privileges" msgstr "видалити права доступу" -#: sql_help.c:6172 +#: sql_help.c:6192 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "скасувати транзакцію, раніше підготовлену до двохфазного затвердження" -#: sql_help.c:6178 +#: sql_help.c:6198 msgid "roll back to a savepoint" msgstr "відкотитися до точки збереження" -#: sql_help.c:6184 +#: sql_help.c:6204 msgid "define a new savepoint within the current transaction" msgstr "визначити нову точку збереження в рамках поточної транзакції" -#: sql_help.c:6190 +#: sql_help.c:6210 msgid "define or change a security label applied to an object" msgstr "визначити або змінити мітку безпеки, застосовану до об'єкта" -#: sql_help.c:6196 sql_help.c:6250 sql_help.c:6286 +#: sql_help.c:6216 sql_help.c:6270 sql_help.c:6306 msgid "retrieve rows from a table or view" msgstr "отримати рядки з таблиці або подання" -#: sql_help.c:6208 +#: sql_help.c:6228 msgid "change a run-time parameter" msgstr "змінити параметр виконання" -#: sql_help.c:6214 +#: sql_help.c:6234 msgid "set constraint check timing for the current transaction" msgstr "встановити час перевірки обмеження для поточної транзакції" -#: sql_help.c:6220 +#: sql_help.c:6240 msgid "set the current user identifier of the current session" msgstr "встановити ідентифікатор поточного користувача в поточній сесії" -#: sql_help.c:6226 +#: sql_help.c:6246 msgid "set the session user identifier and the current user identifier of the current session" msgstr "встановити ідентифікатор користувача сесії й ідентифікатор поточного користувача в поточній сесії" -#: sql_help.c:6232 +#: sql_help.c:6252 msgid "set the characteristics of the current transaction" msgstr "встановити характеристики поточної транзакції" -#: sql_help.c:6238 +#: sql_help.c:6258 msgid "show the value of a run-time parameter" msgstr "показати значення параметра виконання" -#: sql_help.c:6256 +#: sql_help.c:6276 msgid "empty a table or set of tables" msgstr "очистити таблицю або декілька таблиць" -#: sql_help.c:6262 +#: sql_help.c:6282 msgid "stop listening for a notification" msgstr "припинити очікування повідомлень" -#: sql_help.c:6268 +#: sql_help.c:6288 msgid "update rows of a table" msgstr "змінити рядки таблиці" -#: sql_help.c:6274 +#: sql_help.c:6294 msgid "garbage-collect and optionally analyze a database" msgstr "виконати збір сміття і проаналізувати базу даних" -#: sql_help.c:6280 +#: sql_help.c:6300 msgid "compute a set of rows" msgstr "отримати набір рядків" @@ -6331,7 +6374,7 @@ msgid "could not find own program executable" msgstr "не вдалося знайти ехе файл власної програми" -#: tab-complete.c:6216 +#: tab-complete.c:6230 #, c-format msgid "tab completion query failed: %s\n" "Query was:\n" diff -Nru postgresql-17-17.7/src/bin/scripts/po/es.po postgresql-17-17.8/src/bin/scripts/po/es.po --- postgresql-17-17.7/src/bin/scripts/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/bin/scripts/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: pgscripts (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:38+0000\n" +"POT-Creation-Date: 2026-02-06 23:36+0000\n" "PO-Revision-Date: 2024-11-16 14:24+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/common/saslprep.c postgresql-17-17.8/src/common/saslprep.c --- postgresql-17-17.7/src/common/saslprep.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/common/saslprep.c 2026-02-09 21:51:54.000000000 +0000 @@ -1009,15 +1009,17 @@ const unsigned char *p = (const unsigned char *) source; int l; int num_chars = 0; + size_t len = strlen(source); - while (*p) + while (len) { l = pg_utf_mblen(p); - if (!pg_utf8_islegal(p, l)) + if (len < l || !pg_utf8_islegal(p, l)) return -1; p += l; + len -= l; num_chars++; } diff -Nru postgresql-17-17.7/src/common/wchar.c postgresql-17-17.8/src/common/wchar.c --- postgresql-17-17.7/src/common/wchar.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/common/wchar.c 2026-02-09 21:51:54.000000000 +0000 @@ -63,6 +63,9 @@ * subset to the ASCII routines to ensure consistency. */ +/* No error-reporting facility. Ignore incomplete trailing byte sequence. */ +#define MB2CHAR_NEED_AT_LEAST(len, need) if ((len) < (need)) break + /* * SQL/ASCII */ @@ -108,22 +111,24 @@ while (len > 0 && *from) { - if (*from == SS2 && len >= 2) /* JIS X 0201 (so called "1 byte - * KANA") */ + if (*from == SS2) /* JIS X 0201 (so called "1 byte KANA") */ { + MB2CHAR_NEED_AT_LEAST(len, 2); from++; *to = (SS2 << 8) | *from++; len -= 2; } - else if (*from == SS3 && len >= 3) /* JIS X 0212 KANJI */ + else if (*from == SS3) /* JIS X 0212 KANJI */ { + MB2CHAR_NEED_AT_LEAST(len, 3); from++; *to = (SS3 << 16) | (*from++ << 8); *to |= *from++; len -= 3; } - else if (IS_HIGHBIT_SET(*from) && len >= 2) /* JIS X 0208 KANJI */ + else if (IS_HIGHBIT_SET(*from)) /* JIS X 0208 KANJI */ { + MB2CHAR_NEED_AT_LEAST(len, 2); *to = *from++ << 8; *to |= *from++; len -= 2; @@ -235,22 +240,25 @@ while (len > 0 && *from) { - if (*from == SS2 && len >= 3) /* code set 2 (unused?) */ + if (*from == SS2) /* code set 2 (unused?) */ { + MB2CHAR_NEED_AT_LEAST(len, 3); from++; *to = (SS2 << 16) | (*from++ << 8); *to |= *from++; len -= 3; } - else if (*from == SS3 && len >= 3) /* code set 3 (unused ?) */ + else if (*from == SS3) /* code set 3 (unused ?) */ { + MB2CHAR_NEED_AT_LEAST(len, 3); from++; *to = (SS3 << 16) | (*from++ << 8); *to |= *from++; len -= 3; } - else if (IS_HIGHBIT_SET(*from) && len >= 2) /* code set 1 */ + else if (IS_HIGHBIT_SET(*from)) /* code set 1 */ { + MB2CHAR_NEED_AT_LEAST(len, 2); *to = *from++ << 8; *to |= *from++; len -= 2; @@ -267,12 +275,22 @@ return cnt; } +/* + * mbverifychar does not accept SS2 or SS3 (CS2 and CS3 are not defined for + * EUC_CN), but mb2wchar_with_len does. Tell a coherent story for code that + * relies on agreement between mb2wchar_with_len and mblen. Invalid text + * datums (e.g. from shared catalogs) reach this. + */ static int pg_euccn_mblen(const unsigned char *s) { int len; - if (IS_HIGHBIT_SET(*s)) + if (*s == SS2) + len = 3; + else if (*s == SS3) + len = 3; + else if (IS_HIGHBIT_SET(*s)) len = 2; else len = 1; @@ -302,23 +320,26 @@ while (len > 0 && *from) { - if (*from == SS2 && len >= 4) /* code set 2 */ + if (*from == SS2) /* code set 2 */ { + MB2CHAR_NEED_AT_LEAST(len, 4); from++; *to = (((uint32) SS2) << 24) | (*from++ << 16); *to |= *from++ << 8; *to |= *from++; len -= 4; } - else if (*from == SS3 && len >= 3) /* code set 3 (unused?) */ + else if (*from == SS3) /* code set 3 (unused?) */ { + MB2CHAR_NEED_AT_LEAST(len, 3); from++; *to = (SS3 << 16) | (*from++ << 8); *to |= *from++; len -= 3; } - else if (IS_HIGHBIT_SET(*from) && len >= 2) /* code set 2 */ + else if (IS_HIGHBIT_SET(*from)) /* code set 2 */ { + MB2CHAR_NEED_AT_LEAST(len, 2); *to = *from++ << 8; *to |= *from++; len -= 2; @@ -455,8 +476,7 @@ } else if ((*from & 0xe0) == 0xc0) { - if (len < 2) - break; /* drop trailing incomplete char */ + MB2CHAR_NEED_AT_LEAST(len, 2); c1 = *from++ & 0x1f; c2 = *from++ & 0x3f; *to = (c1 << 6) | c2; @@ -464,8 +484,7 @@ } else if ((*from & 0xf0) == 0xe0) { - if (len < 3) - break; /* drop trailing incomplete char */ + MB2CHAR_NEED_AT_LEAST(len, 3); c1 = *from++ & 0x0f; c2 = *from++ & 0x3f; c3 = *from++ & 0x3f; @@ -474,8 +493,7 @@ } else if ((*from & 0xf8) == 0xf0) { - if (len < 4) - break; /* drop trailing incomplete char */ + MB2CHAR_NEED_AT_LEAST(len, 4); c1 = *from++ & 0x07; c2 = *from++ & 0x3f; c3 = *from++ & 0x3f; @@ -677,28 +695,32 @@ while (len > 0 && *from) { - if (IS_LC1(*from) && len >= 2) + if (IS_LC1(*from)) { + MB2CHAR_NEED_AT_LEAST(len, 2); *to = *from++ << 16; *to |= *from++; len -= 2; } - else if (IS_LCPRV1(*from) && len >= 3) + else if (IS_LCPRV1(*from)) { + MB2CHAR_NEED_AT_LEAST(len, 3); from++; *to = *from++ << 16; *to |= *from++; len -= 3; } - else if (IS_LC2(*from) && len >= 3) + else if (IS_LC2(*from)) { + MB2CHAR_NEED_AT_LEAST(len, 3); *to = *from++ << 16; *to |= *from++ << 8; *to |= *from++; len -= 3; } - else if (IS_LCPRV2(*from) && len >= 4) + else if (IS_LCPRV2(*from)) { + MB2CHAR_NEED_AT_LEAST(len, 4); from++; *to = *from++ << 16; *to |= *from++ << 8; @@ -2064,7 +2086,7 @@ const pg_wchar_tbl pg_wchar_table[] = { [PG_SQL_ASCII] = {pg_ascii2wchar_with_len, pg_wchar2single_with_len, pg_ascii_mblen, pg_ascii_dsplen, pg_ascii_verifychar, pg_ascii_verifystr, 1}, [PG_EUC_JP] = {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, - [PG_EUC_CN] = {pg_euccn2wchar_with_len, pg_wchar2euc_with_len, pg_euccn_mblen, pg_euccn_dsplen, pg_euccn_verifychar, pg_euccn_verifystr, 2}, + [PG_EUC_CN] = {pg_euccn2wchar_with_len, pg_wchar2euc_with_len, pg_euccn_mblen, pg_euccn_dsplen, pg_euccn_verifychar, pg_euccn_verifystr, 3}, [PG_EUC_KR] = {pg_euckr2wchar_with_len, pg_wchar2euc_with_len, pg_euckr_mblen, pg_euckr_dsplen, pg_euckr_verifychar, pg_euckr_verifystr, 3}, [PG_EUC_TW] = {pg_euctw2wchar_with_len, pg_wchar2euc_with_len, pg_euctw_mblen, pg_euctw_dsplen, pg_euctw_verifychar, pg_euctw_verifystr, 4}, [PG_EUC_JIS_2004] = {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, diff -Nru postgresql-17-17.7/src/include/Makefile postgresql-17-17.8/src/include/Makefile --- postgresql-17-17.7/src/include/Makefile 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/Makefile 2026-02-09 21:51:54.000000000 +0000 @@ -75,6 +75,7 @@ clean: rm -f utils/fmgroids.h utils/fmgrprotos.h utils/errcodes.h utils/header-stamp + rm -f utils/pgstat_wait_event.c utils/wait_event_funcs_data.c rm -f storage/lwlocknames.h utils/probes.h utils/wait_event_types.h rm -f nodes/nodetags.h nodes/header-stamp $(MAKE) -C catalog clean diff -Nru postgresql-17-17.7/src/include/access/xlog.h postgresql-17-17.8/src/include/access/xlog.h --- postgresql-17-17.7/src/include/access/xlog.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/access/xlog.h 2026-02-09 21:51:54.000000000 +0000 @@ -212,6 +212,7 @@ extern XLogSegNo XLogGetOldestSegno(TimeLineID tli); extern void XLogSetAsyncXactLSN(XLogRecPtr asyncXactLSN); extern void XLogSetReplicationSlotMinimumLSN(XLogRecPtr lsn); +extern XLogRecPtr XLogGetReplicationSlotMinimumLSN(void); extern void xlog_redo(struct XLogReaderState *record); extern void xlog_desc(StringInfo buf, struct XLogReaderState *record); diff -Nru postgresql-17-17.7/src/include/catalog/dependency.h postgresql-17-17.8/src/include/catalog/dependency.h --- postgresql-17-17.7/src/include/catalog/dependency.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/catalog/dependency.h 2026-02-09 21:51:54.000000000 +0000 @@ -175,6 +175,8 @@ extern Oid getExtensionOfObject(Oid classId, Oid objectId); extern List *getAutoExtensionsOfObject(Oid classId, Oid objectId); +extern Oid getExtensionType(Oid extensionOid, const char *typname); + extern bool sequenceIsOwned(Oid seqId, char deptype, Oid *tableId, int32 *colId); extern List *getOwnedSequences(Oid relid); extern Oid getIdentitySequence(Relation rel, AttrNumber attnum, bool missing_ok); diff -Nru postgresql-17-17.7/src/include/catalog/pg_extension.h postgresql-17-17.8/src/include/catalog/pg_extension.h --- postgresql-17-17.7/src/include/catalog/pg_extension.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/catalog/pg_extension.h 2026-02-09 21:51:54.000000000 +0000 @@ -56,4 +56,13 @@ DECLARE_UNIQUE_INDEX_PKEY(pg_extension_oid_index, 3080, ExtensionOidIndexId, pg_extension, btree(oid oid_ops)); DECLARE_UNIQUE_INDEX(pg_extension_name_index, 3081, ExtensionNameIndexId, pg_extension, btree(extname name_ops)); +/* + * genbki.pl always emits syscache IDs in alphabetical order. To add this + * cache post-release without changing existing syscache IDs, add a Z prefix. + */ +MAKE_SYSCACHE(ZEXTENSIONOID, pg_extension_oid_index, 2); + +/* Then use this macro so that hand-written code can match other branches. */ +#define EXTENSIONOID ZEXTENSIONOID + #endif /* PG_EXTENSION_H */ diff -Nru postgresql-17-17.7/src/include/commands/async.h postgresql-17-17.8/src/include/commands/async.h --- postgresql-17-17.7/src/include/commands/async.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/commands/async.h 2026-02-09 21:51:54.000000000 +0000 @@ -46,4 +46,7 @@ /* process interrupts */ extern void ProcessNotifyInterrupt(bool flush); +/* freeze old transaction IDs in notify queue (called by VACUUM) */ +extern void AsyncNotifyFreezeXids(TransactionId newFrozenXid); + #endif /* ASYNC_H */ diff -Nru postgresql-17-17.7/src/include/commands/extension.h postgresql-17-17.8/src/include/commands/extension.h --- postgresql-17-17.7/src/include/commands/extension.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/commands/extension.h 2026-02-09 21:51:54.000000000 +0000 @@ -50,6 +50,8 @@ extern Oid get_extension_schema(Oid ext_oid); extern bool extension_file_exists(const char *extensionName); +extern Oid get_function_sibling_type(Oid funcoid, const char *typname); + extern ObjectAddress AlterExtensionNamespace(const char *extensionName, const char *newschema, Oid *oldschema); diff -Nru postgresql-17-17.7/src/include/commands/trigger.h postgresql-17-17.8/src/include/commands/trigger.h --- postgresql-17-17.7/src/include/commands/trigger.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/commands/trigger.h 2026-02-09 21:51:54.000000000 +0000 @@ -78,7 +78,9 @@ /* * Private data including the tuplestore(s) into which to insert tuples. */ - struct AfterTriggersTableData *tcs_private; + struct AfterTriggersTableData *tcs_insert_private; + struct AfterTriggersTableData *tcs_update_private; + struct AfterTriggersTableData *tcs_delete_private; } TransitionCaptureState; /* diff -Nru postgresql-17-17.7/src/include/mb/pg_wchar.h postgresql-17-17.8/src/include/mb/pg_wchar.h --- postgresql-17-17.7/src/include/mb/pg_wchar.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/mb/pg_wchar.h 2026-02-09 21:51:54.000000000 +0000 @@ -697,7 +697,14 @@ extern int pg_wchar_strncmp(const pg_wchar *s1, const pg_wchar *s2, size_t n); extern int pg_char_and_wchar_strncmp(const char *s1, const pg_wchar *s2, size_t n); extern size_t pg_wchar_strlen(const pg_wchar *str); +extern int pg_mblen_cstr(const char *mbstr); +extern int pg_mblen_range(const char *mbstr, const char *end); +extern int pg_mblen_with_len(const char *mbstr, int limit); +extern int pg_mblen_unbounded(const char *mbstr); + +/* deprecated */ extern int pg_mblen(const char *mbstr); + extern int pg_dsplen(const char *mbstr); extern int pg_mbstrlen(const char *mbstr); extern int pg_mbstrlen_with_len(const char *mbstr, int limit); diff -Nru postgresql-17-17.7/src/include/nodes/pathnodes.h postgresql-17-17.8/src/include/nodes/pathnodes.h --- postgresql-17-17.7/src/include/nodes/pathnodes.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/nodes/pathnodes.h 2026-02-09 21:51:54.000000000 +0000 @@ -1069,9 +1069,10 @@ * IndexOptInfo * Per-index information for planning/optimization * - * indexkeys[], indexcollations[] each have ncolumns entries. - * opfamily[], and opcintype[] each have nkeycolumns entries. They do - * not contain any information about included attributes. + * indexkeys[] and canreturn[] each have ncolumns entries. + * + * indexcollations[], opfamily[], and opcintype[] each have nkeycolumns + * entries. These don't contain any information about INCLUDE columns. * * sortopfamily[], reverse_sort[], and nulls_first[] have * nkeycolumns entries, if the index is ordered; but if it is unordered, diff -Nru postgresql-17-17.7/src/include/port/win32_port.h postgresql-17-17.8/src/include/port/win32_port.h --- postgresql-17-17.7/src/include/port/win32_port.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/port/win32_port.h 2026-02-09 21:51:54.000000000 +0000 @@ -343,18 +343,15 @@ /* * Supplement to . - * This is the same value as _O_NOINHERIT in the MS header file. This is - * to ensure that we don't collide with a future definition. It means - * we cannot use _O_NOINHERIT ourselves. + * + * We borrow bits from the high end when we have to, to avoid colliding with + * the system-defined values. Our open() replacement in src/port/open.c + * converts these to the equivalent CreateFile() flags, along with the ones + * from fcntl.h. */ -#define O_DSYNC 0x0080 - -/* - * Our open() replacement does not create inheritable handles, so it is safe to - * ignore O_CLOEXEC. (If we were using Windows' own open(), it might be - * necessary to convert this to _O_NOINHERIT.) - */ -#define O_CLOEXEC 0 +#define O_CLOEXEC 0x04000000 +#define O_DIRECT 0x80000000 +#define O_DSYNC _O_NOINHERIT /* * Supplement to . diff -Nru postgresql-17-17.7/src/include/port.h postgresql-17-17.8/src/include/port.h --- postgresql-17-17.7/src/include/port.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/port.h 2026-02-09 21:51:54.000000000 +0000 @@ -338,7 +338,6 @@ * open() and fopen() replacements to allow deletion of open files and * passing of other special options. */ -#define O_DIRECT 0x80000000 extern HANDLE pgwin32_open_handle(const char *, int, bool); extern int pgwin32_open(const char *, int,...); extern FILE *pgwin32_fopen(const char *, const char *); diff -Nru postgresql-17-17.7/src/include/storage/bufmgr.h postgresql-17-17.8/src/include/storage/bufmgr.h --- postgresql-17-17.7/src/include/storage/bufmgr.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/storage/bufmgr.h 2026-02-09 21:51:54.000000000 +0000 @@ -255,6 +255,9 @@ extern void InitBufferPoolAccess(void); extern void AtEOXact_Buffers(bool isCommit); +#ifdef USE_ASSERT_CHECKING +extern void AssertBufferLocksPermitCatalogRead(void); +#endif extern char *DebugPrintBufferRefcount(Buffer buffer); extern void CheckPointBuffers(int flags); extern BlockNumber BufferGetBlockNumber(Buffer buffer); diff -Nru postgresql-17-17.7/src/include/storage/fd.h postgresql-17-17.8/src/include/storage/fd.h --- postgresql-17-17.7/src/include/storage/fd.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/storage/fd.h 2026-02-09 21:51:54.000000000 +0000 @@ -55,12 +55,23 @@ #define IO_DIRECT_WAL 0x02 #define IO_DIRECT_WAL_INIT 0x04 +enum FileExtendMethod +{ +#ifdef HAVE_POSIX_FALLOCATE + FILE_EXTEND_METHOD_POSIX_FALLOCATE, +#endif + FILE_EXTEND_METHOD_WRITE_ZEROS, +}; + +/* Default to the first available file_extend_method. */ +#define DEFAULT_FILE_EXTEND_METHOD 0 /* GUC parameter */ extern PGDLLIMPORT int max_files_per_process; extern PGDLLIMPORT bool data_sync_retry; extern PGDLLIMPORT int recovery_init_sync_method; extern PGDLLIMPORT int io_direct_flags; +extern PGDLLIMPORT int file_extend_method; /* * This is private to fd.c, but exported for save/restore_backend_variables() diff -Nru postgresql-17-17.7/src/include/storage/lwlock.h postgresql-17-17.8/src/include/storage/lwlock.h --- postgresql-17-17.7/src/include/storage/lwlock.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/storage/lwlock.h 2026-02-09 21:51:54.000000000 +0000 @@ -129,6 +129,8 @@ extern void LWLockRelease(LWLock *lock); extern void LWLockReleaseClearVar(LWLock *lock, pg_atomic_uint64 *valptr, uint64 val); extern void LWLockReleaseAll(void); +extern void ForEachLWLockHeldByMe(void (*callback) (LWLock *, LWLockMode, void *), + void *context); extern bool LWLockHeldByMe(LWLock *lock); extern bool LWLockAnyHeldByMe(LWLock *lock, int nlocks, size_t stride); extern bool LWLockHeldByMeInMode(LWLock *lock, LWLockMode mode); diff -Nru postgresql-17-17.7/src/include/storage/proc.h postgresql-17-17.8/src/include/storage/proc.h --- postgresql-17-17.7/src/include/storage/proc.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/storage/proc.h 2026-02-09 21:51:54.000000000 +0000 @@ -104,10 +104,10 @@ * is inserted prior to the new redo point, the corresponding data changes will * also be flushed to disk before the checkpoint can complete. (In the * extremely common case where the data being modified is in shared buffers - * and we acquire an exclusive content lock on the relevant buffers before - * writing WAL, this mechanism is not needed, because phase 2 will block - * until we release the content lock and then flush the modified data to - * disk.) + * and we acquire an exclusive content lock and MarkBufferDirty() on the + * relevant buffers before writing WAL, this mechanism is not needed, because + * phase 2 will block until we release the content lock and then flush the + * modified data to disk. See transam/README and SyncOneBuffer().) * * Setting DELAY_CHKPT_COMPLETE prevents the system from moving from phase 2 * to phase 3. This is useful if we are performing a WAL-logged operation that diff -Nru postgresql-17-17.7/src/include/tsearch/ts_locale.h postgresql-17-17.8/src/include/tsearch/ts_locale.h --- postgresql-17-17.7/src/include/tsearch/ts_locale.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/tsearch/ts_locale.h 2026-02-09 21:51:54.000000000 +0000 @@ -37,13 +37,37 @@ /* The second argument of t_iseq() must be a plain ASCII character */ #define t_iseq(x,c) (TOUCHAR(x) == (unsigned char) (c)) -#define COPYCHAR(d,s) memcpy(d, s, pg_mblen(s)) +/* Copy multibyte character of known byte length, return byte length. */ +static inline int +ts_copychar_with_len(void *dest, const void *src, int length) +{ + memcpy(dest, src, length); + return length; +} -extern int t_isdigit(const char *ptr); -extern int t_isspace(const char *ptr); -extern int t_isalpha(const char *ptr); -extern int t_isalnum(const char *ptr); -extern int t_isprint(const char *ptr); +/* Copy multibyte character from null-terminated string, return byte length. */ +static inline int +ts_copychar_cstr(void *dest, const void *src) +{ + return ts_copychar_with_len(dest, src, pg_mblen_cstr((const char *) src)); +} + +/* Historical macro for the above. */ +#define COPYCHAR ts_copychar_cstr + +#define GENERATE_T_ISCLASS_DECL(character_class) \ +extern int t_is##character_class##_with_len(const char *ptr, int len); \ +extern int t_is##character_class##_cstr(const char *ptr); \ +extern int t_is##character_class##_unbounded(const char *ptr); \ +\ +/* deprecated */ \ +extern int t_is##character_class(const char *ptr); + +GENERATE_T_ISCLASS_DECL(alnum); +GENERATE_T_ISCLASS_DECL(alpha); +GENERATE_T_ISCLASS_DECL(digit); +GENERATE_T_ISCLASS_DECL(print); +GENERATE_T_ISCLASS_DECL(space); extern char *lowerstr(const char *str); extern char *lowerstr_with_len(const char *str, int len); diff -Nru postgresql-17-17.7/src/include/tsearch/ts_utils.h postgresql-17-17.8/src/include/tsearch/ts_utils.h --- postgresql-17-17.7/src/include/tsearch/ts_utils.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/tsearch/ts_utils.h 2026-02-09 21:51:54.000000000 +0000 @@ -40,14 +40,12 @@ extern void close_tsvector_parser(TSVectorParseState state); /* phrase operator begins with '<' */ -#define ISOPERATOR(x) \ - ( pg_mblen(x) == 1 && ( *(x) == '!' || \ - *(x) == '&' || \ - *(x) == '|' || \ - *(x) == '(' || \ - *(x) == ')' || \ - *(x) == '<' \ - ) ) +#define ISOPERATOR(x) (*(x) == '!' || \ + *(x) == '&' || \ + *(x) == '|' || \ + *(x) == '(' || \ + *(x) == ')' || \ + *(x) == '<') /* parse_tsquery */ diff -Nru postgresql-17-17.7/src/include/utils/.gitignore postgresql-17-17.8/src/include/utils/.gitignore --- postgresql-17-17.7/src/include/utils/.gitignore 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/utils/.gitignore 2026-02-09 21:51:54.000000000 +0000 @@ -3,4 +3,6 @@ /probes.h /errcodes.h /header-stamp +/pgstat_wait_event.c +/wait_event_funcs_data.c /wait_event_types.h diff -Nru postgresql-17-17.7/src/include/utils/builtins.h postgresql-17-17.8/src/include/utils/builtins.h --- postgresql-17-17.7/src/include/utils/builtins.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/utils/builtins.h 2026-02-09 21:51:54.000000000 +0000 @@ -68,6 +68,7 @@ /* oid.c */ extern oidvector *buildoidvector(const Oid *oids, int n); +extern void check_valid_oidvector(const oidvector *oidArray); extern Oid oidparse(Node *node); extern int oid_cmp(const void *p1, const void *p2); diff -Nru postgresql-17-17.7/src/include/utils/catcache.h postgresql-17-17.8/src/include/utils/catcache.h --- postgresql-17-17.7/src/include/utils/catcache.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/utils/catcache.h 2026-02-09 21:51:54.000000000 +0000 @@ -226,6 +226,7 @@ extern void PrepareToInvalidateCacheTuple(Relation relation, HeapTuple tuple, HeapTuple newtuple, - void (*function) (int, uint32, Oid)); + void (*function) (int, uint32, Oid, void *), + void *context); #endif /* CATCACHE_H */ diff -Nru postgresql-17-17.7/src/include/utils/inval.h postgresql-17-17.8/src/include/utils/inval.h --- postgresql-17-17.7/src/include/utils/inval.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/utils/inval.h 2026-02-09 21:51:54.000000000 +0000 @@ -28,6 +28,10 @@ extern void AtEOXact_Inval(bool isCommit); +extern void PreInplace_Inval(void); +extern void AtInplace_Inval(void); +extern void ForgetInplace_Inval(void); + extern void AtEOSubXact_Inval(bool isCommit); extern void PostPrepare_Inval(void); @@ -37,6 +41,8 @@ extern void CacheInvalidateHeapTuple(Relation relation, HeapTuple tuple, HeapTuple newtuple); +extern void CacheInvalidateHeapTupleInplace(Relation relation, + HeapTuple key_equivalent_tuple); extern void CacheInvalidateCatalog(Oid catalogId); diff -Nru postgresql-17-17.7/src/include/utils/meson.build postgresql-17-17.8/src/include/utils/meson.build --- postgresql-17-17.7/src/include/utils/meson.build 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/utils/meson.build 2026-02-09 21:51:54.000000000 +0000 @@ -72,8 +72,6 @@ # autoconf generates the file there, ensure we get a conflict generated_sources_ac += { - 'src/backend/utils': fmgrtab_output + ['errcodes.h', 'probes.h', 'fmgr-stamp'], + 'src/backend/utils': fmgrtab_output + ['errcodes.h', 'wait_event_types.h', 'probes.h', 'fmgr-stamp'], 'src/include/utils': ['header-stamp'], } - -generated_sources_ac += {'src/backend/utils/activity': ['wait_event_types.h']} diff -Nru postgresql-17-17.7/src/include/utils/relcache.h postgresql-17-17.8/src/include/utils/relcache.h --- postgresql-17-17.7/src/include/utils/relcache.h 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/include/utils/relcache.h 2026-02-09 21:51:54.000000000 +0000 @@ -37,6 +37,14 @@ /* * Routines to open (lookup) and close a relcache entry */ +#ifdef USE_ASSERT_CHECKING +extern void AssertCouldGetRelation(void); +#else +static inline void +AssertCouldGetRelation(void) +{ +} +#endif extern Relation RelationIdGetRelation(Oid relationId); extern void RelationClose(Relation relation); diff -Nru postgresql-17-17.7/src/interfaces/ecpg/ecpglib/po/es.po postgresql-17-17.8/src/interfaces/ecpg/ecpglib/po/es.po --- postgresql-17-17.7/src/interfaces/ecpg/ecpglib/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/ecpg/ecpglib/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: ecpglib (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:27+0000\n" +"POT-Creation-Date: 2026-02-06 23:26+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Emanuel Calvo Franco \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/interfaces/ecpg/preproc/po/es.po postgresql-17-17.8/src/interfaces/ecpg/preproc/po/es.po --- postgresql-17-17.7/src/interfaces/ecpg/preproc/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/ecpg/preproc/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: ecpg (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:28+0000\n" +"POT-Creation-Date: 2026-02-06 23:26+0000\n" "PO-Revision-Date: 2024-11-16 14:23+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/interfaces/ecpg/test/expected/sql-sqlda.c postgresql-17-17.8/src/interfaces/ecpg/test/expected/sql-sqlda.c --- postgresql-17-17.7/src/interfaces/ecpg/test/expected/sql-sqlda.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/ecpg/test/expected/sql-sqlda.c 2026-02-09 21:51:54.000000000 +0000 @@ -155,13 +155,8 @@ printf("name sqlda descriptor: '%s' value %ld\n", sqlda->sqlvar[i].sqlname.data, *(long int *)sqlda->sqlvar[i].sqldata); break; case ECPGt_long_long: - printf( -#ifdef _WIN32 - "name sqlda descriptor: '%s' value %I64d\n", -#else - "name sqlda descriptor: '%s' value %lld\n", -#endif - sqlda->sqlvar[i].sqlname.data, *(long long int *)sqlda->sqlvar[i].sqldata); + printf("name sqlda descriptor: '%s' value %lld\n", + sqlda->sqlvar[i].sqlname.data, *(long long int *)sqlda->sqlvar[i].sqldata); break; case ECPGt_double: printf("name sqlda descriptor: '%s' value %f\n", sqlda->sqlvar[i].sqlname.data, *(double *)sqlda->sqlvar[i].sqldata); @@ -188,19 +183,19 @@ -#line 71 "sqlda.pgc" +#line 66 "sqlda.pgc" char * stmt1 = "SELECT * FROM t1" ; -#line 72 "sqlda.pgc" +#line 67 "sqlda.pgc" char * stmt2 = "SELECT * FROM t1 WHERE id = ?" ; -#line 73 "sqlda.pgc" +#line 68 "sqlda.pgc" int rec ; -#line 74 "sqlda.pgc" +#line 69 "sqlda.pgc" int id ; /* exec sql end declare section */ -#line 75 "sqlda.pgc" +#line 70 "sqlda.pgc" char msg[128]; @@ -209,42 +204,42 @@ strcpy(msg, "connect"); { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , "regress1", 0); -#line 82 "sqlda.pgc" +#line 77 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 82 "sqlda.pgc" +#line 77 "sqlda.pgc" strcpy(msg, "set"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT); -#line 85 "sqlda.pgc" +#line 80 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 85 "sqlda.pgc" +#line 80 "sqlda.pgc" strcpy(msg, "create"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table t1 ( id integer , t text , d1 numeric , d2 float8 , c char ( 10 ) , big bigint )", ECPGt_EOIT, ECPGt_EORT); -#line 95 "sqlda.pgc" +#line 90 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 95 "sqlda.pgc" +#line 90 "sqlda.pgc" strcpy(msg, "insert"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t1 values ( 1 , 'a' , 1.0 , 1 , 'a' , 1111111111111111111 ) , ( 2 , null , null , null , null , null ) , ( 3 , 'c' , 0.0 , 3 , 'c' , 3333333333333333333 ) , ( 4 , 'd' , 'NaN' , 4 , 'd' , 4444444444444444444 ) , ( 5 , 'e' , 0.001234 , 5 , 'e' , 5555555555555555555 )", ECPGt_EOIT, ECPGt_EORT); -#line 103 "sqlda.pgc" +#line 98 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 103 "sqlda.pgc" +#line 98 "sqlda.pgc" strcpy(msg, "commit"); { ECPGtrans(__LINE__, NULL, "commit"); -#line 106 "sqlda.pgc" +#line 101 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 106 "sqlda.pgc" +#line 101 "sqlda.pgc" /* SQLDA test for getting all records from a table */ @@ -253,29 +248,29 @@ strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id1", stmt1); -#line 113 "sqlda.pgc" +#line 108 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 113 "sqlda.pgc" +#line 108 "sqlda.pgc" strcpy(msg, "declare"); /* declare mycur1 cursor for $1 */ -#line 116 "sqlda.pgc" +#line 111 "sqlda.pgc" strcpy(msg, "open"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur1 cursor for $1", ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 119 "sqlda.pgc" +#line 114 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 119 "sqlda.pgc" +#line 114 "sqlda.pgc" /* exec sql whenever not found break ; */ -#line 121 "sqlda.pgc" +#line 116 "sqlda.pgc" rec = 0; @@ -285,13 +280,13 @@ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch 1 from mycur1", ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 127 "sqlda.pgc" +#line 122 "sqlda.pgc" if (sqlca.sqlcode == ECPG_NOT_FOUND) break; -#line 127 "sqlda.pgc" +#line 122 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 127 "sqlda.pgc" +#line 122 "sqlda.pgc" printf("FETCH RECORD %d\n", ++rec); @@ -299,23 +294,23 @@ } /* exec sql whenever not found continue ; */ -#line 133 "sqlda.pgc" +#line 128 "sqlda.pgc" strcpy(msg, "close"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur1", ECPGt_EOIT, ECPGt_EORT); -#line 136 "sqlda.pgc" +#line 131 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 136 "sqlda.pgc" +#line 131 "sqlda.pgc" strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id1"); -#line 139 "sqlda.pgc" +#line 134 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 139 "sqlda.pgc" +#line 134 "sqlda.pgc" free(outp_sqlda); @@ -326,35 +321,35 @@ strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id2", stmt1); -#line 148 "sqlda.pgc" +#line 143 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 148 "sqlda.pgc" +#line 143 "sqlda.pgc" strcpy(msg, "declare"); /* declare mycur2 cursor for $1 */ -#line 151 "sqlda.pgc" +#line 146 "sqlda.pgc" strcpy(msg, "open"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare mycur2 cursor for $1", ECPGt_char_variable,(ECPGprepared_statement(NULL, "st_id2", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 154 "sqlda.pgc" +#line 149 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 154 "sqlda.pgc" +#line 149 "sqlda.pgc" strcpy(msg, "fetch"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch all from mycur2", ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 157 "sqlda.pgc" +#line 152 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 157 "sqlda.pgc" +#line 152 "sqlda.pgc" outp_sqlda1 = outp_sqlda; @@ -372,18 +367,18 @@ strcpy(msg, "close"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "close mycur2", ECPGt_EOIT, ECPGt_EORT); -#line 173 "sqlda.pgc" +#line 168 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 173 "sqlda.pgc" +#line 168 "sqlda.pgc" strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id2"); -#line 176 "sqlda.pgc" +#line 171 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 176 "sqlda.pgc" +#line 171 "sqlda.pgc" /* SQLDA test for getting one record using an input descriptor */ @@ -407,10 +402,10 @@ strcpy(msg, "prepare"); { ECPGprepare(__LINE__, NULL, 0, "st_id3", stmt2); -#line 198 "sqlda.pgc" +#line 193 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 198 "sqlda.pgc" +#line 193 "sqlda.pgc" strcpy(msg, "execute"); @@ -419,20 +414,20 @@ ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 201 "sqlda.pgc" +#line 196 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 201 "sqlda.pgc" +#line 196 "sqlda.pgc" dump_sqlda(outp_sqlda); strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id3"); -#line 206 "sqlda.pgc" +#line 201 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 206 "sqlda.pgc" +#line 201 "sqlda.pgc" free(inp_sqlda); @@ -443,10 +438,10 @@ */ { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , "con2", 0); -#line 215 "sqlda.pgc" +#line 210 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 215 "sqlda.pgc" +#line 210 "sqlda.pgc" /* @@ -468,10 +463,10 @@ strcpy(msg, "prepare"); { ECPGprepare(__LINE__, "con2", 0, "st_id4", stmt2); -#line 235 "sqlda.pgc" +#line 230 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 235 "sqlda.pgc" +#line 230 "sqlda.pgc" strcpy(msg, "execute"); @@ -480,28 +475,28 @@ ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_sqlda, &outp_sqlda, 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 238 "sqlda.pgc" +#line 233 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 238 "sqlda.pgc" +#line 233 "sqlda.pgc" dump_sqlda(outp_sqlda); strcpy(msg, "commit"); { ECPGtrans(__LINE__, "con2", "commit"); -#line 243 "sqlda.pgc" +#line 238 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 243 "sqlda.pgc" +#line 238 "sqlda.pgc" strcpy(msg, "deallocate"); { ECPGdeallocate(__LINE__, 0, NULL, "st_id4"); -#line 246 "sqlda.pgc" +#line 241 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 246 "sqlda.pgc" +#line 241 "sqlda.pgc" free(inp_sqlda); @@ -509,36 +504,36 @@ strcpy(msg, "disconnect"); { ECPGdisconnect(__LINE__, "con2"); -#line 252 "sqlda.pgc" +#line 247 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 252 "sqlda.pgc" +#line 247 "sqlda.pgc" /* End test */ strcpy(msg, "drop"); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT); -#line 257 "sqlda.pgc" +#line 252 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 257 "sqlda.pgc" +#line 252 "sqlda.pgc" strcpy(msg, "commit"); { ECPGtrans(__LINE__, NULL, "commit"); -#line 260 "sqlda.pgc" +#line 255 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 260 "sqlda.pgc" +#line 255 "sqlda.pgc" strcpy(msg, "disconnect"); { ECPGdisconnect(__LINE__, "CURRENT"); -#line 263 "sqlda.pgc" +#line 258 "sqlda.pgc" if (sqlca.sqlcode < 0) exit (1);} -#line 263 "sqlda.pgc" +#line 258 "sqlda.pgc" return 0; diff -Nru postgresql-17-17.7/src/interfaces/ecpg/test/expected/sql-sqlda.stderr postgresql-17-17.8/src/interfaces/ecpg/test/expected/sql-sqlda.stderr --- postgresql-17-17.7/src/interfaces/ecpg/test/expected/sql-sqlda.stderr 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/ecpg/test/expected/sql-sqlda.stderr 2026-02-09 21:51:54.000000000 +0000 @@ -2,459 +2,459 @@ [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ECPGconnect: opening database ecpg1_regression on port [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 85: query: set datestyle to iso; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 80: query: set datestyle to iso; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 85: using PQexec +[NO_PID]: ecpg_execute on line 80: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 85: OK: SET +[NO_PID]: ecpg_process_output on line 80: OK: SET [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 88: query: create table t1 ( id integer , t text , d1 numeric , d2 float8 , c char ( 10 ) , big bigint ); with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 83: query: create table t1 ( id integer , t text , d1 numeric , d2 float8 , c char ( 10 ) , big bigint ); with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 88: using PQexec +[NO_PID]: ecpg_execute on line 83: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 88: OK: CREATE TABLE +[NO_PID]: ecpg_process_output on line 83: OK: CREATE TABLE [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 98: query: insert into t1 values ( 1 , 'a' , 1.0 , 1 , 'a' , 1111111111111111111 ) , ( 2 , null , null , null , null , null ) , ( 3 , 'c' , 0.0 , 3 , 'c' , 3333333333333333333 ) , ( 4 , 'd' , 'NaN' , 4 , 'd' , 4444444444444444444 ) , ( 5 , 'e' , 0.001234 , 5 , 'e' , 5555555555555555555 ); with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 93: query: insert into t1 values ( 1 , 'a' , 1.0 , 1 , 'a' , 1111111111111111111 ) , ( 2 , null , null , null , null , null ) , ( 3 , 'c' , 0.0 , 3 , 'c' , 3333333333333333333 ) , ( 4 , 'd' , 'NaN' , 4 , 'd' , 4444444444444444444 ) , ( 5 , 'e' , 0.001234 , 5 , 'e' , 5555555555555555555 ); with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 98: using PQexec +[NO_PID]: ecpg_execute on line 93: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 98: OK: INSERT 0 5 +[NO_PID]: ecpg_process_output on line 93: OK: INSERT 0 5 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ECPGtrans on line 106: action "commit"; connection "regress1" +[NO_PID]: ECPGtrans on line 101: action "commit"; connection "regress1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: prepare_common on line 113: name st_id1; query: "SELECT * FROM t1" +[NO_PID]: prepare_common on line 108: name st_id1; query: "SELECT * FROM t1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 119: query: declare mycur1 cursor for SELECT * FROM t1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 114: query: declare mycur1 cursor for SELECT * FROM t1; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 119: using PQexec +[NO_PID]: ecpg_execute on line 114: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 119: OK: DECLARE CURSOR +[NO_PID]: ecpg_process_output on line 114: OK: DECLARE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 122: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: using PQexec +[NO_PID]: ecpg_execute on line 122: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: correctly got 1 tuples with 6 fields +[NO_PID]: ecpg_process_output on line 122: correctly got 1 tuples with 6 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 127 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 122 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: new sqlda was built +[NO_PID]: ecpg_process_output on line 122: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 1 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 1 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 1 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 1 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: a offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: a offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 2 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 2 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 3 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 3 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 1 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 1 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 4 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 4 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: a offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: a offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 5 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 5 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 1111111111111111111 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 1111111111111111111 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 122: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 122: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: using PQexec +[NO_PID]: ecpg_execute on line 122: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: correctly got 1 tuples with 6 fields +[NO_PID]: ecpg_process_output on line 122: correctly got 1 tuples with 6 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 127 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 122 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: new sqlda was built +[NO_PID]: ecpg_process_output on line 122: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 2 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 2 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 1 IS NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 1 IS NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 2 IS NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 2 IS NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 3 IS NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 3 IS NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 4 IS NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 4 IS NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 5 IS NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 5 IS NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 122: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 122: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: using PQexec +[NO_PID]: ecpg_execute on line 122: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: correctly got 1 tuples with 6 fields +[NO_PID]: ecpg_process_output on line 122: correctly got 1 tuples with 6 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 127 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 122 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: new sqlda was built +[NO_PID]: ecpg_process_output on line 122: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 3 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 3 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 1 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 1 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: c offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: c offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 2 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 2 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 3 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 3 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 3 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 3 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 4 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 4 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: c offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: c offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 5 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 5 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 3333333333333333333 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 3333333333333333333 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 122: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 122: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: using PQexec +[NO_PID]: ecpg_execute on line 122: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: correctly got 1 tuples with 6 fields +[NO_PID]: ecpg_process_output on line 122: correctly got 1 tuples with 6 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 127 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 122 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: new sqlda was built +[NO_PID]: ecpg_process_output on line 122: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 4 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 1 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 1 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: d offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 2 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 2 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 3 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 3 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 4 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 4 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 4 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: d offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 5 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 5 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 4444444444444444444 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 4444444444444444444 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 122: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 122: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: using PQexec +[NO_PID]: ecpg_execute on line 122: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: correctly got 1 tuples with 6 fields +[NO_PID]: ecpg_process_output on line 122: correctly got 1 tuples with 6 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 127 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 122 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: new sqlda was built +[NO_PID]: ecpg_process_output on line 122: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 5 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 5 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 1 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 1 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: e offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: e offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 2 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 2 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 3 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 3 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 5 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 5 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 4 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 4 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: e offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: e offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 127 row 0 col 5 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 122 row 0 col 5 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 127: RESULT: 5555555555555555555 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 122: RESULT: 5555555555555555555 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 122: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 122: query: fetch 1 from mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 127: using PQexec +[NO_PID]: ecpg_execute on line 122: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 127: correctly got 0 tuples with 6 fields +[NO_PID]: ecpg_process_output on line 122: correctly got 0 tuples with 6 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: raising sqlcode 100 on line 127: no data found on line 127 +[NO_PID]: raising sqlcode 100 on line 122: no data found on line 122 [NO_PID]: sqlca: code: 100, state: 02000 -[NO_PID]: ecpg_execute on line 136: query: close mycur1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 131: query: close mycur1; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 136: using PQexec +[NO_PID]: ecpg_execute on line 131: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 136: OK: CLOSE CURSOR +[NO_PID]: ecpg_process_output on line 131: OK: CLOSE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: deallocate_one on line 139: name st_id1 +[NO_PID]: deallocate_one on line 134: name st_id1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: prepare_common on line 148: name st_id2; query: "SELECT * FROM t1" +[NO_PID]: prepare_common on line 143: name st_id2; query: "SELECT * FROM t1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 154: query: declare mycur2 cursor for SELECT * FROM t1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 149: query: declare mycur2 cursor for SELECT * FROM t1; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 154: using PQexec +[NO_PID]: ecpg_execute on line 149: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 154: OK: DECLARE CURSOR +[NO_PID]: ecpg_process_output on line 149: OK: DECLARE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 157: query: fetch all from mycur2; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 152: query: fetch all from mycur2; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 157: using PQexec +[NO_PID]: ecpg_execute on line 152: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 157: correctly got 5 tuples with 6 fields +[NO_PID]: ecpg_process_output on line 152: correctly got 5 tuples with 6 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 157 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 152 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 157: new sqlda was built +[NO_PID]: ecpg_process_output on line 152: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 4 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 4 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 5 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 5 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 4 col 1 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 4 col 1 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: e offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: e offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 4 col 2 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 4 col 2 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 4 col 3 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 4 col 3 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 5 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 5 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 4 col 4 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 4 col 4 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: e offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: e offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 4 col 5 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 4 col 5 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 5555555555555555555 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 5555555555555555555 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 157: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 152: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 157 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 152 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 157: new sqlda was built +[NO_PID]: ecpg_process_output on line 152: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 3 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 3 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 4 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 3 col 1 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 3 col 1 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: d offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 3 col 2 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 3 col 2 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 3 col 3 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 3 col 3 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 4 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 3 col 4 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 3 col 4 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: d offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 3 col 5 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 3 col 5 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 4444444444444444444 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 4444444444444444444 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 157: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 152: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 157 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 152 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 157: new sqlda was built +[NO_PID]: ecpg_process_output on line 152: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 2 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 2 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 3 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 3 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 2 col 1 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 2 col 1 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: c offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: c offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 2 col 2 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 2 col 2 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 2 col 3 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 2 col 3 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 3 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 3 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 2 col 4 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 2 col 4 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: c offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: c offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 2 col 5 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 2 col 5 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 3333333333333333333 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 3333333333333333333 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 157: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 152: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 157 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 152 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 157: new sqlda was built +[NO_PID]: ecpg_process_output on line 152: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 1 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 1 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 2 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 2 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 1 col 1 IS NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 1 col 1 IS NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 1 col 2 IS NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 1 col 2 IS NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 1 col 3 IS NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 1 col 3 IS NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 1 col 4 IS NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 1 col 4 IS NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 1 col 5 IS NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 1 col 5 IS NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 157: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 152: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 157 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 152 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 157: new sqlda was built +[NO_PID]: ecpg_process_output on line 152: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 0 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 0 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 1 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 1 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 0 col 1 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 0 col 1 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: a offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: a offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 0 col 2 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 0 col 2 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 0 col 3 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 0 col 3 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 1 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 1 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 0 col 4 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 0 col 4 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: a offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: a offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 157 row 0 col 5 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 152 row 0 col 5 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 157: RESULT: 1111111111111111111 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 152: RESULT: 1111111111111111111 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 157: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 152: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 173: query: close mycur2; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 168: query: close mycur2; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 173: using PQexec +[NO_PID]: ecpg_execute on line 168: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 173: OK: CLOSE CURSOR +[NO_PID]: ecpg_process_output on line 168: OK: CLOSE CURSOR [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: deallocate_one on line 176: name st_id2 +[NO_PID]: deallocate_one on line 171: name st_id2 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: prepare_common on line 198: name st_id3; query: "SELECT * FROM t1 WHERE id = $1" +[NO_PID]: prepare_common on line 193: name st_id3; query: "SELECT * FROM t1 WHERE id = $1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 201: query: SELECT * FROM t1 WHERE id = $1; with 1 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 196: query: SELECT * FROM t1 WHERE id = $1; with 1 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 201: using PQexecPrepared for "SELECT * FROM t1 WHERE id = $1" +[NO_PID]: ecpg_execute on line 196: using PQexecPrepared for "SELECT * FROM t1 WHERE id = $1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_free_params on line 201: parameter 1 = 4 +[NO_PID]: ecpg_free_params on line 196: parameter 1 = 4 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 201: correctly got 1 tuples with 6 fields +[NO_PID]: ecpg_process_output on line 196: correctly got 1 tuples with 6 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 201 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 196 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 201: new sqlda was built +[NO_PID]: ecpg_process_output on line 196: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 201 row 0 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 196 row 0 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 201: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 196: RESULT: 4 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 201 row 0 col 1 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 196 row 0 col 1 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 201: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_get_data on line 196: RESULT: d offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 201 row 0 col 2 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 196 row 0 col 2 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 201 row 0 col 3 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 196 row 0 col 3 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 201: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 196: RESULT: 4 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 201 row 0 col 4 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 196 row 0 col 4 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 201: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_get_data on line 196: RESULT: d offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 201 row 0 col 5 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 196 row 0 col 5 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 201: RESULT: 4444444444444444444 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 196: RESULT: 4444444444444444444 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 201: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 196: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: deallocate_one on line 206: name st_id3 +[NO_PID]: deallocate_one on line 201: name st_id3 [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ECPGconnect: opening database ecpg1_regression on port [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: prepare_common on line 235: name st_id4; query: "SELECT * FROM t1 WHERE id = $1" +[NO_PID]: prepare_common on line 230: name st_id4; query: "SELECT * FROM t1 WHERE id = $1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 238: query: SELECT * FROM t1 WHERE id = $1; with 1 parameter(s) on connection con2 +[NO_PID]: ecpg_execute on line 233: query: SELECT * FROM t1 WHERE id = $1; with 1 parameter(s) on connection con2 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 238: using PQexecPrepared for "SELECT * FROM t1 WHERE id = $1" +[NO_PID]: ecpg_execute on line 233: using PQexecPrepared for "SELECT * FROM t1 WHERE id = $1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_free_params on line 238: parameter 1 = 4 +[NO_PID]: ecpg_free_params on line 233: parameter 1 = 4 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 238: correctly got 1 tuples with 6 fields +[NO_PID]: ecpg_process_output on line 233: correctly got 1 tuples with 6 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_build_native_sqlda on line 238 sqld = 6 +[NO_PID]: ecpg_build_native_sqlda on line 233 sqld = 6 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 238: new sqlda was built +[NO_PID]: ecpg_process_output on line 233: new sqlda was built [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 238 row 0 col 0 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 233 row 0 col 0 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 238: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 233: RESULT: 4 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 238 row 0 col 1 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 233 row 0 col 1 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 238: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_get_data on line 233: RESULT: d offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 238 row 0 col 2 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 233 row 0 col 2 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 238 row 0 col 3 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 233 row 0 col 3 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 238: RESULT: 4 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 233: RESULT: 4 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 238 row 0 col 4 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 233 row 0 col 4 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 238: RESULT: d offset: -1; array: no +[NO_PID]: ecpg_get_data on line 233: RESULT: d offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_set_native_sqlda on line 238 row 0 col 5 IS NOT NULL +[NO_PID]: ecpg_set_native_sqlda on line 233 row 0 col 5 IS NOT NULL [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 238: RESULT: 4444444444444444444 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 233: RESULT: 4444444444444444444 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 238: putting result (1 tuple 6 fields) into sqlda descriptor +[NO_PID]: ecpg_process_output on line 233: putting result (1 tuple 6 fields) into sqlda descriptor [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ECPGtrans on line 243: action "commit"; connection "con2" +[NO_PID]: ECPGtrans on line 238: action "commit"; connection "con2" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: deallocate_one on line 246: name st_id4 +[NO_PID]: deallocate_one on line 241: name st_id4 [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_finish: connection con2 closed [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 257: query: drop table t1; with 0 parameter(s) on connection regress1 +[NO_PID]: ecpg_execute on line 252: query: drop table t1; with 0 parameter(s) on connection regress1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 257: using PQexec +[NO_PID]: ecpg_execute on line 252: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 257: OK: DROP TABLE +[NO_PID]: ecpg_process_output on line 252: OK: DROP TABLE [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ECPGtrans on line 260: action "commit"; connection "regress1" +[NO_PID]: ECPGtrans on line 255: action "commit"; connection "regress1" [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_finish: connection regress1 closed [NO_PID]: sqlca: code: 0, state: 00000 diff -Nru postgresql-17-17.7/src/interfaces/ecpg/test/sql/sqlda.pgc postgresql-17-17.8/src/interfaces/ecpg/test/sql/sqlda.pgc --- postgresql-17-17.7/src/interfaces/ecpg/test/sql/sqlda.pgc 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/ecpg/test/sql/sqlda.pgc 2026-02-09 21:51:54.000000000 +0000 @@ -40,13 +40,8 @@ printf("name sqlda descriptor: '%s' value %ld\n", sqlda->sqlvar[i].sqlname.data, *(long int *)sqlda->sqlvar[i].sqldata); break; case ECPGt_long_long: - printf( -#ifdef _WIN32 - "name sqlda descriptor: '%s' value %I64d\n", -#else - "name sqlda descriptor: '%s' value %lld\n", -#endif - sqlda->sqlvar[i].sqlname.data, *(long long int *)sqlda->sqlvar[i].sqldata); + printf("name sqlda descriptor: '%s' value %lld\n", + sqlda->sqlvar[i].sqlname.data, *(long long int *)sqlda->sqlvar[i].sqldata); break; case ECPGt_double: printf("name sqlda descriptor: '%s' value %f\n", sqlda->sqlvar[i].sqlname.data, *(double *)sqlda->sqlvar[i].sqldata); diff -Nru postgresql-17-17.7/src/interfaces/libpq/po/de.po postgresql-17-17.8/src/interfaces/libpq/po/de.po --- postgresql-17-17.7/src/interfaces/libpq/po/de.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/libpq/po/de.po 2026-02-09 21:51:54.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-03-07 03:59+0000\n" +"POT-Creation-Date: 2026-02-07 08:28+0000\n" "PO-Revision-Date: 2025-03-07 11:34+0100\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" @@ -71,18 +71,18 @@ #: fe-auth-scram.c:614 fe-auth-scram.c:638 fe-auth-scram.c:652 #: fe-auth-scram.c:698 fe-auth-scram.c:734 fe-auth-scram.c:908 fe-auth.c:296 #: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:727 fe-auth.c:1200 -#: fe-auth.c:1363 fe-cancel.c:159 fe-connect.c:936 fe-connect.c:976 -#: fe-connect.c:1860 fe-connect.c:2022 fe-connect.c:3430 fe-connect.c:4761 -#: fe-connect.c:5073 fe-connect.c:5328 fe-connect.c:5446 fe-connect.c:5693 -#: fe-connect.c:5773 fe-connect.c:5871 fe-connect.c:6122 fe-connect.c:6149 -#: fe-connect.c:6225 fe-connect.c:6248 fe-connect.c:6272 fe-connect.c:6307 -#: fe-connect.c:6393 fe-connect.c:6401 fe-connect.c:6758 fe-connect.c:6908 -#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4291 fe-exec.c:4457 -#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:209 fe-protocol3.c:232 -#: fe-protocol3.c:255 fe-protocol3.c:272 fe-protocol3.c:293 fe-protocol3.c:369 -#: fe-protocol3.c:737 fe-protocol3.c:976 fe-protocol3.c:1787 -#: fe-protocol3.c:2187 fe-secure-common.c:110 fe-secure-gssapi.c:496 -#: fe-secure-openssl.c:427 fe-secure-openssl.c:1277 +#: fe-auth.c:1363 fe-cancel.c:160 fe-connect.c:937 fe-connect.c:977 +#: fe-connect.c:1861 fe-connect.c:2023 fe-connect.c:3431 fe-connect.c:4762 +#: fe-connect.c:5074 fe-connect.c:5343 fe-connect.c:5461 fe-connect.c:5708 +#: fe-connect.c:5788 fe-connect.c:5886 fe-connect.c:6137 fe-connect.c:6164 +#: fe-connect.c:6240 fe-connect.c:6263 fe-connect.c:6287 fe-connect.c:6322 +#: fe-connect.c:6408 fe-connect.c:6416 fe-connect.c:6773 fe-connect.c:6923 +#: fe-exec.c:530 fe-exec.c:1320 fe-exec.c:3259 fe-exec.c:4330 fe-exec.c:4523 +#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:210 fe-protocol3.c:233 +#: fe-protocol3.c:256 fe-protocol3.c:273 fe-protocol3.c:294 fe-protocol3.c:370 +#: fe-protocol3.c:738 fe-protocol3.c:977 fe-protocol3.c:1801 +#: fe-protocol3.c:2201 fe-secure-common.c:110 fe-secure-gssapi.c:508 +#: fe-secure-gssapi.c:699 fe-secure-openssl.c:427 fe-secure-openssl.c:1277 #, c-format msgid "out of memory" msgstr "Speicher aufgebraucht" @@ -337,654 +337,669 @@ msgid "connection pointer is NULL" msgstr "Verbindung ist ein NULL-Zeiger" -#: fe-cancel.c:82 fe-misc.c:572 +#: fe-cancel.c:82 fe-misc.c:598 #, c-format msgid "connection not open" msgstr "Verbindung nicht offen" -#: fe-cancel.c:193 +#: fe-cancel.c:194 #, c-format msgid "cancel request is already being sent on this connection" msgstr "Stornierungsanfrage wird auf dieser Verbindung bereits gesendet" -#: fe-cancel.c:263 +#: fe-cancel.c:264 #, c-format msgid "unexpected response from server" msgstr "unerwartete Antwort vom Server" -#: fe-connect.c:1182 +#: fe-connect.c:1183 #, c-format msgid "could not match %d host names to %d hostaddr values" msgstr "fehlerhafte Angabe: %d Hostnamen und %d hostaddr-Angaben" -#: fe-connect.c:1262 +#: fe-connect.c:1263 #, c-format msgid "could not match %d port numbers to %d hosts" msgstr "fehlerhafte Angabe: %d Portnummern und %d Hosts" -#: fe-connect.c:1387 +#: fe-connect.c:1388 #, c-format msgid "negative require_auth method \"%s\" cannot be mixed with non-negative methods" msgstr "negative require_auth-Methode »%s« kann nicht mit nicht-negativen Methoden vermischt werden" -#: fe-connect.c:1400 +#: fe-connect.c:1401 #, c-format msgid "require_auth method \"%s\" cannot be mixed with negative methods" msgstr "require_auth-Methode »%s« kann nicht mit negativen Methoden vermischt werden" -#: fe-connect.c:1460 fe-connect.c:1511 fe-connect.c:1553 fe-connect.c:1596 -#: fe-connect.c:1699 fe-connect.c:1745 fe-connect.c:1785 fe-connect.c:1806 +#: fe-connect.c:1461 fe-connect.c:1512 fe-connect.c:1554 fe-connect.c:1597 +#: fe-connect.c:1700 fe-connect.c:1746 fe-connect.c:1786 fe-connect.c:1807 #, c-format msgid "invalid %s value: \"%s\"" msgstr "ungültiger %s-Wert: »%s«" -#: fe-connect.c:1493 +#: fe-connect.c:1494 #, c-format msgid "require_auth method \"%s\" is specified more than once" msgstr "require_auth-Methode »%s« ist mehrmals angegeben" -#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707 +#: fe-connect.c:1535 fe-connect.c:1574 fe-connect.c:1606 fe-connect.c:1708 #, c-format msgid "%s value \"%s\" invalid when SSL support is not compiled in" msgstr "%s-Wert »%s« ist ungültig, wenn SSL-Unterstützung nicht einkompiliert worden ist" -#: fe-connect.c:1625 +#: fe-connect.c:1626 #, c-format msgid "weak sslmode \"%s\" may not be used with sslnegotiation=direct (use \"require\", \"verify-ca\", or \"verify-full\")" msgstr "schwacher sslmode »%s« darf nicht mit sslnegotiation=direct verwendet werden (»require«, »verify-ca« oder »verify-full« verwenden)" -#: fe-connect.c:1647 +#: fe-connect.c:1648 #, c-format msgid "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-full\")" msgstr "schwacher sslmode »%s« darf nicht mit sslrootcert=system verwendet werden (»verify-full« verwenden)" -#: fe-connect.c:1660 fe-connect.c:1668 +#: fe-connect.c:1661 fe-connect.c:1669 #, c-format msgid "invalid \"%s\" value: \"%s\"" msgstr "ungültiger »%s«-Wert: »%s«" -#: fe-connect.c:1685 +#: fe-connect.c:1686 #, c-format msgid "invalid SSL protocol version range" msgstr "ungültiges SSL-Protokollsintervall" -#: fe-connect.c:1722 +#: fe-connect.c:1723 #, c-format msgid "%s value \"%s\" is not supported (check OpenSSL version)" msgstr "%s-Wert »%s« wird nicht unterstützt (OpenSSL-Version prüfen)" -#: fe-connect.c:1752 +#: fe-connect.c:1753 #, c-format msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" msgstr "gssencmode-Wert »%s« ist ungültig, wenn GSSAPI-Unterstützung nicht einkompiliert worden ist" -#: fe-connect.c:2045 +#: fe-connect.c:2046 #, c-format msgid "could not set socket to TCP no delay mode: %s" msgstr "konnte Socket nicht auf TCP »No Delay«-Modus umstellen: %s" -#: fe-connect.c:2104 +#: fe-connect.c:2105 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "Verbindung zum Server auf Socket »%s« fehlgeschlagen: " -#: fe-connect.c:2130 +#: fe-connect.c:2131 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "Verbindung zum Server auf »%s« (%s), Port %s fehlgeschlagen: " -#: fe-connect.c:2135 +#: fe-connect.c:2136 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "Verbindung zum Server auf »%s«, Port %s fehlgeschlagen: " -#: fe-connect.c:2158 +#: fe-connect.c:2159 #, c-format msgid "\tIs the server running locally and accepting connections on that socket?" msgstr "\tLäuft der Server lokal und akzeptiert er Verbindungen auf diesem Socket?" -#: fe-connect.c:2160 +#: fe-connect.c:2161 #, c-format msgid "\tIs the server running on that host and accepting TCP/IP connections?" msgstr "\tLäuft der Server auf diesem Host und akzeptiert er TCP/IP-Verbindungen?" -#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373 -#: fe-connect.c:3098 +#: fe-connect.c:2207 fe-connect.c:2241 fe-connect.c:2276 fe-connect.c:2374 +#: fe-connect.c:3099 #, c-format msgid "%s(%s) failed: %s" msgstr "%s(%s) fehlgeschlagen: %s" -#: fe-connect.c:2339 +#: fe-connect.c:2340 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) fehlgeschlagen: Fehlercode %d" -#: fe-connect.c:2650 +#: fe-connect.c:2651 #, c-format msgid "invalid connection state, probably indicative of memory corruption" msgstr "ungültiger Verbindungszustand, möglicherweise ein Speicherproblem" -#: fe-connect.c:2733 +#: fe-connect.c:2734 #, c-format msgid "invalid port number: \"%s\"" msgstr "ungültige Portnummer: »%s«" -#: fe-connect.c:2747 +#: fe-connect.c:2748 #, c-format msgid "could not translate host name \"%s\" to address: %s" msgstr "konnte Hostnamen »%s« nicht in Adresse übersetzen: %s" -#: fe-connect.c:2759 +#: fe-connect.c:2760 #, c-format msgid "could not parse network address \"%s\": %s" msgstr "konnte Netzwerkadresse »%s« nicht interpretieren: %s" -#: fe-connect.c:2770 +#: fe-connect.c:2771 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Unix-Domain-Socket-Pfad »%s« ist zu lang (maximal %d Bytes)" -#: fe-connect.c:2784 +#: fe-connect.c:2785 #, c-format msgid "could not translate Unix-domain socket path \"%s\" to address: %s" msgstr "konnte Unix-Domain-Socket-Pfad »%s« nicht in Adresse übersetzen: %s" -#: fe-connect.c:2950 fe-connect.c:4305 +#: fe-connect.c:2951 fe-connect.c:4306 #, c-format msgid "GSSAPI encryption required but it is not supported over a local socket" msgstr "GSSAPI-Verschlüsselung war gefordert aber wird über lokales Socket nicht unterstützt" -#: fe-connect.c:2958 fe-connect.c:4434 +#: fe-connect.c:2959 fe-connect.c:4435 #, c-format msgid "GSSAPI encryption required but no credential cache" msgstr "GSSAPI-Verschlüsselung war gefordert aber kein Credential-Cache" -#: fe-connect.c:3026 +#: fe-connect.c:3027 #, c-format msgid "could not create socket: %s" msgstr "konnte Socket nicht erzeugen: %s" -#: fe-connect.c:3057 +#: fe-connect.c:3058 #, c-format msgid "could not set socket to nonblocking mode: %s" msgstr "konnte Socket nicht auf nicht-blockierenden Modus umstellen: %s" -#: fe-connect.c:3068 +#: fe-connect.c:3069 #, c-format msgid "could not set socket to close-on-exec mode: %s" msgstr "konnte Socket nicht auf »Close on exec«-Modus umstellen: %s" -#: fe-connect.c:3225 +#: fe-connect.c:3226 #, c-format msgid "could not get socket error status: %s" msgstr "konnte Socket-Fehlerstatus nicht ermitteln: %s" -#: fe-connect.c:3252 +#: fe-connect.c:3253 #, c-format msgid "could not get client address from socket: %s" msgstr "konnte Client-Adresse vom Socket nicht ermitteln: %s" -#: fe-connect.c:3278 +#: fe-connect.c:3279 #, c-format msgid "requirepeer parameter is not supported on this platform" msgstr "Parameter »requirepeer« wird auf dieser Plattform nicht unterstützt" -#: fe-connect.c:3280 +#: fe-connect.c:3281 #, c-format msgid "could not get peer credentials: %s" msgstr "konnte Credentials von Gegenstelle nicht ermitteln: %s" -#: fe-connect.c:3293 +#: fe-connect.c:3294 #, c-format msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" msgstr "requirepeer gibt »%s« an, aber tatsächlicher Benutzername der Gegenstelle ist »%s«" -#: fe-connect.c:3331 +#: fe-connect.c:3332 #, c-format msgid "could not send GSSAPI negotiation packet: %s" msgstr "konnte Paket zur GSSAPI-Verhandlung nicht senden: %s" -#: fe-connect.c:3380 +#: fe-connect.c:3381 #, c-format msgid "could not send SSL negotiation packet: %s" msgstr "konnte Paket zur SSL-Verhandlung nicht senden: %s" -#: fe-connect.c:3412 +#: fe-connect.c:3413 #, c-format msgid "could not send cancel packet: %s" msgstr "konnte Cancel-Paket nicht senden: %s" -#: fe-connect.c:3442 +#: fe-connect.c:3443 #, c-format msgid "could not send startup packet: %s" msgstr "konnte Startpaket nicht senden: %s" -#: fe-connect.c:3509 +#: fe-connect.c:3510 msgid "server does not support SSL, but SSL was required" msgstr "Server unterstützt kein SSL, aber SSL wurde verlangt" -#: fe-connect.c:3519 +#: fe-connect.c:3520 #, c-format msgid "server sent an error response during SSL exchange" msgstr "Server hat während des SSL-Austauschs eine Fehlermeldung gesendet" -#: fe-connect.c:3524 +#: fe-connect.c:3525 #, c-format msgid "received invalid response to SSL negotiation: %c" msgstr "ungültige Antwort auf SSL-Verhandlungspaket empfangen: %c" -#: fe-connect.c:3552 +#: fe-connect.c:3553 #, c-format msgid "received unencrypted data after SSL response" msgstr "unverschlüsselte Daten nach SSL-Antwort empfangen" -#: fe-connect.c:3615 +#: fe-connect.c:3616 #, c-format msgid "server sent an error response during GSS encryption exchange" msgstr "Server hat während des GSS-Verschlüsselungsaustauschs eine Fehlermeldung gesendet" -#: fe-connect.c:3629 +#: fe-connect.c:3630 msgid "server doesn't support GSSAPI encryption, but it was required" msgstr "Server unterstützt keine GSSAPI-Verschlüsselung, sie wurde aber verlangt" -#: fe-connect.c:3633 +#: fe-connect.c:3634 #, c-format msgid "received invalid response to GSSAPI negotiation: %c" msgstr "ungültige Antwort auf GSSAPI-Verhandlungspaket empfangen: %c" -#: fe-connect.c:3651 +#: fe-connect.c:3652 #, c-format msgid "received unencrypted data after GSSAPI encryption response" msgstr "unverschlüsselte Daten nach GSSAPI-Verschlüsselungsantwort empfangen" -#: fe-connect.c:3711 +#: fe-connect.c:3712 #, c-format msgid "expected authentication request from server, but received %c" msgstr "Authentifizierungsanfrage wurde vom Server erwartet, aber %c wurde empfangen" -#: fe-connect.c:3739 fe-connect.c:3862 +#: fe-connect.c:3740 fe-connect.c:3863 #, c-format msgid "received invalid authentication request" msgstr "ungültige Authentifizierungsanforderung empfangen" -#: fe-connect.c:3745 fe-connect.c:3847 +#: fe-connect.c:3746 fe-connect.c:3848 #, c-format msgid "received invalid protocol negotiation message" msgstr "ungültige Protokollverhandlungsnachricht empfangen" -#: fe-connect.c:3764 fe-connect.c:3818 +#: fe-connect.c:3765 fe-connect.c:3819 #, c-format msgid "received invalid error message" msgstr "ungültige Fehlermeldung empfangen" -#: fe-connect.c:3933 +#: fe-connect.c:3934 #, c-format msgid "unexpected message from server during startup" msgstr "unerwartete Nachricht vom Server beim Start" -#: fe-connect.c:4024 +#: fe-connect.c:4025 #, c-format msgid "session is read-only" msgstr "Sitzung ist read-only" -#: fe-connect.c:4026 +#: fe-connect.c:4027 #, c-format msgid "session is not read-only" msgstr "Sitzung ist nicht read-only" -#: fe-connect.c:4079 +#: fe-connect.c:4080 #, c-format msgid "server is in hot standby mode" msgstr "Server ist im Hot-Standby-Modus" -#: fe-connect.c:4081 +#: fe-connect.c:4082 #, c-format msgid "server is not in hot standby mode" msgstr "Server ist nicht im Hot-Standby-Modus" -#: fe-connect.c:4203 fe-connect.c:4253 +#: fe-connect.c:4204 fe-connect.c:4254 #, c-format msgid "\"%s\" failed" msgstr "»%s« fehlgeschlagen" -#: fe-connect.c:4267 +#: fe-connect.c:4268 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption" msgstr "ungültiger Verbindungszustand %d, möglicherweise ein Speicherproblem" -#: fe-connect.c:5086 +#: fe-connect.c:5087 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://" msgstr "ungültige LDAP-URL »%s«: Schema muss ldap:// sein" -#: fe-connect.c:5101 +#: fe-connect.c:5102 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "ungültige LDAP-URL »%s«: Distinguished Name fehlt" -#: fe-connect.c:5113 fe-connect.c:5171 +#: fe-connect.c:5114 fe-connect.c:5172 #, c-format msgid "invalid LDAP URL \"%s\": must have exactly one attribute" msgstr "ungültige LDAP-URL »%s«: muss genau ein Attribut haben" -#: fe-connect.c:5125 fe-connect.c:5187 +#: fe-connect.c:5126 fe-connect.c:5188 #, c-format msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" msgstr "ungültige LDAP-URL »%s«: Suchbereich fehlt (base/one/sub)" -#: fe-connect.c:5137 +#: fe-connect.c:5138 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "ungültige LDAP-URL »%s«: kein Filter" -#: fe-connect.c:5159 +#: fe-connect.c:5160 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number" msgstr "ungültige LDAP-URL »%s«: ungültige Portnummer" -#: fe-connect.c:5196 +#: fe-connect.c:5197 #, c-format msgid "could not create LDAP structure" msgstr "konnte LDAP-Struktur nicht erzeugen" -#: fe-connect.c:5271 +#: fe-connect.c:5272 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "Suche auf LDAP-Server fehlgeschlagen: %s" -#: fe-connect.c:5281 +#: fe-connect.c:5282 #, c-format msgid "more than one entry found on LDAP lookup" msgstr "LDAP-Suche ergab mehr als einen Eintrag" -#: fe-connect.c:5283 fe-connect.c:5294 +#: fe-connect.c:5284 fe-connect.c:5295 #, c-format msgid "no entry found on LDAP lookup" msgstr "kein Eintrag gefunden bei LDAP-Suche" -#: fe-connect.c:5304 fe-connect.c:5316 +#: fe-connect.c:5305 fe-connect.c:5317 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "Attribut hat keine Werte bei LDAP-Suche" -#: fe-connect.c:5367 fe-connect.c:5386 fe-connect.c:5910 +#: fe-connect.c:5331 +#, c-format +msgid "connection info string size exceeds the maximum allowed (%d)" +msgstr "Größe der Verbindungsinfo-Zeichenkette überschreitet erlaubtes Maximum (%d)" + +#: fe-connect.c:5382 fe-connect.c:5401 fe-connect.c:5925 #, c-format msgid "missing \"=\" after \"%s\" in connection info string" msgstr "fehlendes »=« nach »%s« in der Zeichenkette der Verbindungsdaten" -#: fe-connect.c:5457 fe-connect.c:6093 fe-connect.c:6891 +#: fe-connect.c:5472 fe-connect.c:6108 fe-connect.c:6906 #, c-format msgid "invalid connection option \"%s\"" msgstr "ungültige Verbindungsoption »%s«" -#: fe-connect.c:5472 fe-connect.c:5958 +#: fe-connect.c:5487 fe-connect.c:5973 #, c-format msgid "unterminated quoted string in connection info string" msgstr "fehlendes schließendes Anführungszeichen (\") in der Zeichenkette der Verbindungsdaten" -#: fe-connect.c:5552 +#: fe-connect.c:5567 #, c-format msgid "definition of service \"%s\" not found" msgstr "Definition von Service »%s« nicht gefunden" -#: fe-connect.c:5578 +#: fe-connect.c:5593 #, c-format msgid "service file \"%s\" not found" msgstr "Servicedatei »%s« nicht gefunden" -#: fe-connect.c:5591 +#: fe-connect.c:5606 #, c-format msgid "line %d too long in service file \"%s\"" msgstr "Zeile %d zu lang in Servicedatei »%s«" -#: fe-connect.c:5662 fe-connect.c:5705 +#: fe-connect.c:5677 fe-connect.c:5720 #, c-format msgid "syntax error in service file \"%s\", line %d" msgstr "Syntaxfehler in Servicedatei »%s«, Zeile %d" -#: fe-connect.c:5673 +#: fe-connect.c:5688 #, c-format msgid "nested service specifications not supported in service file \"%s\", line %d" msgstr "geschachtelte »service«-Definitionen werden nicht unterstützt in Servicedatei »%s«, Zeile %d" -#: fe-connect.c:6412 +#: fe-connect.c:6427 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"" msgstr "ungültige URI an interne Parserroutine weitergeleitet: »%s«" -#: fe-connect.c:6489 +#: fe-connect.c:6504 #, c-format msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\"" msgstr "Ende der Eingabezeichenkette gefunden beim Suchen nach passendem »]« in IPv6-Hostadresse in URI: »%s«" -#: fe-connect.c:6496 +#: fe-connect.c:6511 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"" msgstr "IPv6-Hostadresse darf nicht leer sein in URI: »%s«" -#: fe-connect.c:6511 +#: fe-connect.c:6526 #, c-format msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\"" msgstr "unerwartetes Zeichen »%c« an Position %d in URI (»:« oder »/« erwartet): »%s«" -#: fe-connect.c:6640 +#: fe-connect.c:6655 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "zusätzliches Schlüssel/Wert-Trennzeichen »=« in URI-Query-Parameter: »%s«" -#: fe-connect.c:6660 +#: fe-connect.c:6675 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "fehlendes Schlüssel/Wert-Trennzeichen »=« in URI-Query-Parameter: »%s«" -#: fe-connect.c:6712 +#: fe-connect.c:6727 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "ungültiger URI-Query-Parameter: »%s«" -#: fe-connect.c:6786 +#: fe-connect.c:6801 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "ungültiges Prozent-kodiertes Token: »%s«" -#: fe-connect.c:6796 +#: fe-connect.c:6811 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"" msgstr "verbotener Wert %%00 in Prozent-kodiertem Wert: »%s«" -#: fe-connect.c:7160 +#: fe-connect.c:7177 msgid "connection pointer is NULL\n" msgstr "Verbindung ist ein NULL-Zeiger\n" -#: fe-connect.c:7168 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 -#: fe-protocol3.c:991 fe-protocol3.c:1024 +#: fe-connect.c:7185 fe-exec.c:718 fe-exec.c:980 fe-exec.c:3464 +#: fe-protocol3.c:992 fe-protocol3.c:1025 msgid "out of memory\n" msgstr "Speicher aufgebraucht\n" -#: fe-connect.c:7459 +#: fe-connect.c:7476 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "WARNUNG: Passwortdatei »%s« ist keine normale Datei\n" -#: fe-connect.c:7468 +#: fe-connect.c:7485 #, c-format msgid "WARNING: password file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n" msgstr "WARNUNG: Passwortdatei »%s« erlaubt Lesezugriff für Gruppe oder Andere; Rechte sollten u=rw (0600) oder weniger sein\n" -#: fe-connect.c:7575 +#: fe-connect.c:7592 #, c-format msgid "password retrieved from file \"%s\"" msgstr "Passwort wurde aus Datei »%s« gelesen" -#: fe-connect.c:7727 +#: fe-connect.c:7744 #, c-format msgid "invalid integer value \"%s\" for connection option \"%s\"" msgstr "ungültiger Zahlenwert »%s« für Verbindungsoption »%s«" -#: fe-exec.c:469 fe-exec.c:3533 +#: fe-exec.c:469 fe-exec.c:3538 #, c-format msgid "row number %d is out of range 0..%d" msgstr "Zeilennummer %d ist außerhalb des zulässigen Bereichs 0..%d" -#: fe-exec.c:531 fe-protocol3.c:1993 +#: fe-exec.c:531 fe-protocol3.c:2007 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:834 +#: fe-exec.c:839 #, c-format msgid "write to server failed" msgstr "Schreiben zum Server fehlgeschlagen" -#: fe-exec.c:874 +#: fe-exec.c:879 #, c-format msgid "no error text available" msgstr "kein Fehlertext verfügbar" -#: fe-exec.c:963 +#: fe-exec.c:968 msgid "NOTICE" msgstr "HINWEIS" -#: fe-exec.c:1021 +#: fe-exec.c:1026 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult kann nicht mehr als INT_MAX Tupel enthalten" -#: fe-exec.c:1033 +#: fe-exec.c:1038 msgid "size_t overflow" msgstr "Überlauf von size_t" -#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553 +#: fe-exec.c:1443 fe-exec.c:1512 fe-exec.c:1558 #, c-format msgid "command string is a null pointer" msgstr "Befehlszeichenkette ist ein NULL-Zeiger" -#: fe-exec.c:1444 fe-exec.c:3003 +#: fe-exec.c:1449 fe-exec.c:3008 #, c-format msgid "%s not allowed in pipeline mode" msgstr "%s im Pipeline-Modus nicht erlaubt" -#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652 +#: fe-exec.c:1517 fe-exec.c:1563 fe-exec.c:1657 #, c-format msgid "number of parameters must be between 0 and %d" msgstr "Anzahl der Parameter muss zwischen 0 und %d sein" -#: fe-exec.c:1548 fe-exec.c:1647 +#: fe-exec.c:1553 fe-exec.c:1652 #, c-format msgid "statement name is a null pointer" msgstr "Anweisungsname ist ein NULL-Zeiger" -#: fe-exec.c:1689 fe-exec.c:3379 +#: fe-exec.c:1694 fe-exec.c:3384 #, c-format msgid "no connection to the server" msgstr "keine Verbindung mit dem Server" -#: fe-exec.c:1697 fe-exec.c:3387 +#: fe-exec.c:1702 fe-exec.c:3392 #, c-format msgid "another command is already in progress" msgstr "ein anderer Befehl ist bereits in Ausführung" -#: fe-exec.c:1727 +#: fe-exec.c:1732 #, c-format msgid "cannot queue commands during COPY" msgstr "während COPY können keine Befehle aufgereiht werden" -#: fe-exec.c:1846 +#: fe-exec.c:1851 #, c-format msgid "length must be given for binary parameter" msgstr "für binäre Parameter muss eine Länge angegeben werden" -#: fe-exec.c:2205 +#: fe-exec.c:2210 #, c-format msgid "unexpected asyncStatus: %d" msgstr "unerwarteter asyncStatus: %d" -#: fe-exec.c:2361 +#: fe-exec.c:2366 #, c-format msgid "synchronous command execution functions are not allowed in pipeline mode" msgstr "synchrone Befehlsausführungsfunktionen sind im Pipeline-Modus nicht erlaubt" -#: fe-exec.c:2378 +#: fe-exec.c:2383 msgid "COPY terminated by new PQexec" msgstr "COPY von neuem PQexec beendet" -#: fe-exec.c:2394 +#: fe-exec.c:2399 #, c-format msgid "PQexec not allowed during COPY BOTH" msgstr "PQexec ist während COPY BOTH nicht erlaubt" -#: fe-exec.c:2630 +#: fe-exec.c:2635 #, c-format msgid "unrecognized message type \"%c\"" msgstr "unbekannter Message-Typ »%c«" -#: fe-exec.c:2702 fe-exec.c:2756 fe-exec.c:2824 fe-protocol3.c:1924 +#: fe-exec.c:2707 fe-exec.c:2761 fe-exec.c:2829 fe-protocol3.c:1938 #, c-format msgid "no COPY in progress" msgstr "keine COPY in Ausführung" -#: fe-exec.c:3010 +#: fe-exec.c:3015 #, c-format msgid "connection in wrong state" msgstr "Verbindung im falschen Zustand" -#: fe-exec.c:3053 +#: fe-exec.c:3058 #, c-format msgid "cannot enter pipeline mode, connection not idle" msgstr "kann Pipeline-Modus nicht einschalten, Verbindung ist nicht inaktiv" -#: fe-exec.c:3089 fe-exec.c:3110 +#: fe-exec.c:3094 fe-exec.c:3115 #, c-format msgid "cannot exit pipeline mode with uncollected results" msgstr "kann Pipeline-Modus nicht beenden, wegen nicht eingesammelter Ergebnisse" -#: fe-exec.c:3093 +#: fe-exec.c:3098 #, c-format msgid "cannot exit pipeline mode while busy" msgstr "kann Pipeline-Modus nicht beenden während die Verbindung beschäftigt ist" -#: fe-exec.c:3104 +#: fe-exec.c:3109 #, c-format msgid "cannot exit pipeline mode while in COPY" msgstr "kann Pipeline-Modus nicht beenden während COPY aktiv ist" -#: fe-exec.c:3303 +#: fe-exec.c:3308 #, c-format msgid "cannot send pipeline when not in pipeline mode" msgstr "Pipeline kann nicht gesendet werden, wenn der Pipeline-Modus aus ist" -#: fe-exec.c:3422 +#: fe-exec.c:3427 msgid "invalid ExecStatusType code" msgstr "ungültiger ExecStatusType-Kode" -#: fe-exec.c:3449 +#: fe-exec.c:3454 msgid "PGresult is not an error result\n" msgstr "PGresult ist kein Fehlerresultat\n" -#: fe-exec.c:3517 fe-exec.c:3540 +#: fe-exec.c:3522 fe-exec.c:3545 #, c-format msgid "column number %d is out of range 0..%d" msgstr "Spaltennummer %d ist außerhalb des zulässigen Bereichs 0..%d" -#: fe-exec.c:3555 +#: fe-exec.c:3560 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "Parameternummer %d ist außerhalb des zulässigen Bereichs 0..%d" -#: fe-exec.c:3866 +#: fe-exec.c:3871 #, c-format msgid "could not interpret result from server: %s" msgstr "konnte Ergebnis vom Server nicht interpretieren: %s" -#: fe-exec.c:4140 fe-exec.c:4253 +#: fe-exec.c:4146 fe-exec.c:4281 #, c-format msgid "incomplete multibyte character" msgstr "unvollständiges Mehrbyte-Zeichen" -#: fe-exec.c:4142 fe-exec.c:4272 +#: fe-exec.c:4148 fe-exec.c:4300 #, c-format msgid "invalid multibyte character" msgstr "ungültiges Mehrbytezeichen" +#: fe-exec.c:4402 +#, c-format +msgid "escaped string size exceeds the maximum allowed (%zu)" +msgstr "Größe der escapten Zeichenkette überschreitet erlaubtes Maximum (%zu)" + +#: fe-exec.c:4579 +#, c-format +msgid "escaped bytea size exceeds the maximum allowed (%zu)" +msgstr "Größe des escapten bytea-Wertes überschreitet erlaubtes Maximum (%zu)" + #: fe-gssapi-common.c:122 msgid "GSSAPI name import error" msgstr "GSSAPI-Namensimportfehler" @@ -1041,7 +1056,7 @@ msgid "integer of size %lu not supported by pqPutInt" msgstr "Integer der Größe %lu wird von pqPutInt nicht unterstützt" -#: fe-misc.c:750 fe-secure-openssl.c:203 fe-secure-openssl.c:309 +#: fe-misc.c:776 fe-secure-openssl.c:203 fe-secure-openssl.c:309 #: fe-secure.c:237 fe-secure.c:404 #, c-format msgid "" @@ -1053,172 +1068,172 @@ "\tDas heißt wahrscheinlich, dass der Server abnormal beendete\n" "\tbevor oder während die Anweisung bearbeitet wurde." -#: fe-misc.c:817 +#: fe-misc.c:843 msgid "connection not open\n" msgstr "Verbindung nicht offen\n" -#: fe-misc.c:1005 +#: fe-misc.c:1031 #, c-format msgid "timeout expired" msgstr "Timeout abgelaufen" -#: fe-misc.c:1049 +#: fe-misc.c:1075 #, c-format msgid "invalid socket" msgstr "ungültiges Socket" -#: fe-misc.c:1071 +#: fe-misc.c:1097 #, c-format msgid "%s() failed: %s" msgstr "%s() fehlgeschlagen: %s" -#: fe-protocol3.c:187 +#: fe-protocol3.c:188 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "Nachricht vom Typ 0x%02x kam vom Server im Ruhezustand" -#: fe-protocol3.c:402 +#: fe-protocol3.c:403 #, c-format msgid "server sent data (\"D\" message) without prior row description (\"T\" message)" msgstr "Server sendete Daten (»D«-Nachricht) ohne vorherige Zeilenbeschreibung (»T«-Nachricht)" -#: fe-protocol3.c:444 +#: fe-protocol3.c:445 #, c-format msgid "unexpected response from server; first received character was \"%c\"" msgstr "unerwartete Antwort vom Server; erstes empfangenes Zeichen war »%c«" -#: fe-protocol3.c:467 +#: fe-protocol3.c:468 #, c-format msgid "message contents do not agree with length in message type \"%c\"" msgstr "Nachrichteninhalt stimmt nicht mit Länge in Nachrichtentyp »%c« überein" -#: fe-protocol3.c:485 +#: fe-protocol3.c:486 #, c-format msgid "lost synchronization with server: got message type \"%c\", length %d" msgstr "Synchronisation mit Server verloren: Nachrichtentyp »%c« empfangen, Länge %d" -#: fe-protocol3.c:537 fe-protocol3.c:577 +#: fe-protocol3.c:538 fe-protocol3.c:578 msgid "insufficient data in \"T\" message" msgstr "nicht genug Daten in »T«-Nachricht" -#: fe-protocol3.c:648 fe-protocol3.c:854 +#: fe-protocol3.c:649 fe-protocol3.c:855 msgid "out of memory for query result" msgstr "Speicher für Anfrageergebnis aufgebraucht" -#: fe-protocol3.c:717 +#: fe-protocol3.c:718 msgid "insufficient data in \"t\" message" msgstr "nicht genug Daten in »t«-Nachricht" -#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826 +#: fe-protocol3.c:777 fe-protocol3.c:809 fe-protocol3.c:827 msgid "insufficient data in \"D\" message" msgstr "nicht genug Daten in »D«-Nachricht" -#: fe-protocol3.c:782 +#: fe-protocol3.c:783 msgid "unexpected field count in \"D\" message" msgstr "unerwartete Feldzahl in »D«-Nachricht" -#: fe-protocol3.c:1037 +#: fe-protocol3.c:1038 msgid "no error message available\n" msgstr "keine Fehlermeldung verfügbar\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1085 fe-protocol3.c:1104 +#: fe-protocol3.c:1086 fe-protocol3.c:1105 #, c-format msgid " at character %s" msgstr " bei Zeichen %s" -#: fe-protocol3.c:1117 +#: fe-protocol3.c:1118 #, c-format msgid "DETAIL: %s\n" msgstr "DETAIL: %s\n" -#: fe-protocol3.c:1120 +#: fe-protocol3.c:1121 #, c-format msgid "HINT: %s\n" msgstr "TIP: %s\n" -#: fe-protocol3.c:1123 +#: fe-protocol3.c:1124 #, c-format msgid "QUERY: %s\n" msgstr "ANFRAGE: %s\n" -#: fe-protocol3.c:1130 +#: fe-protocol3.c:1131 #, c-format msgid "CONTEXT: %s\n" msgstr "KONTEXT: %s\n" -#: fe-protocol3.c:1139 +#: fe-protocol3.c:1140 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "SCHEMANAME: %s\n" -#: fe-protocol3.c:1143 +#: fe-protocol3.c:1144 #, c-format msgid "TABLE NAME: %s\n" msgstr "TABELLENNAME: %s\n" -#: fe-protocol3.c:1147 +#: fe-protocol3.c:1148 #, c-format msgid "COLUMN NAME: %s\n" msgstr "SPALTENNAME: %s\n" -#: fe-protocol3.c:1151 +#: fe-protocol3.c:1152 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "DATENTYPNAME: %s\n" -#: fe-protocol3.c:1155 +#: fe-protocol3.c:1156 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "CONSTRAINT-NAME: %s\n" -#: fe-protocol3.c:1167 +#: fe-protocol3.c:1168 msgid "LOCATION: " msgstr "ORT: " -#: fe-protocol3.c:1169 +#: fe-protocol3.c:1170 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1171 +#: fe-protocol3.c:1172 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1366 +#: fe-protocol3.c:1380 #, c-format msgid "LINE %d: " msgstr "ZEILE %d: " -#: fe-protocol3.c:1440 +#: fe-protocol3.c:1454 #, c-format msgid "protocol version not supported by server: client uses %u.%u, server supports up to %u.%u" msgstr "Protokollversion nicht vom Server unterstützt: Client verwendet %u.%u, Server unterstützt bis %u.%u" -#: fe-protocol3.c:1446 +#: fe-protocol3.c:1460 #, c-format msgid "protocol extension not supported by server: %s" msgid_plural "protocol extensions not supported by server: %s" msgstr[0] "Protokollerweiterung nicht vom Server unterstützt: %s" msgstr[1] "Protokollerweiterungen nicht vom Server unterstützt: %s" -#: fe-protocol3.c:1454 +#: fe-protocol3.c:1468 #, c-format msgid "invalid %s message" msgstr "ungültige %s-Nachricht" -#: fe-protocol3.c:1819 +#: fe-protocol3.c:1833 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline: Text COPY OUT nicht ausgeführt" -#: fe-protocol3.c:2193 +#: fe-protocol3.c:2207 #, c-format msgid "protocol error: no function result" msgstr "Protokollfehler: kein Funktionsergebnis" -#: fe-protocol3.c:2204 +#: fe-protocol3.c:2218 #, c-format msgid "protocol error: id=0x%x" msgstr "Protokollfehler: id=0x%x" @@ -1260,46 +1275,42 @@ msgid "could not get server's host name from server certificate" msgstr "konnte Hostnamen des Servers nicht aus dem Serverzertifikat ermitteln" -#: fe-secure-gssapi.c:194 +#: fe-secure-gssapi.c:201 msgid "GSSAPI wrap error" msgstr "GSSAPI-Wrap-Fehler" -#: fe-secure-gssapi.c:201 +#: fe-secure-gssapi.c:208 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" msgstr "ausgehende GSSAPI-Nachricht würde keine Vertraulichkeit verwenden" -#: fe-secure-gssapi.c:208 +#: fe-secure-gssapi.c:215 fe-secure-gssapi.c:726 #, c-format msgid "client tried to send oversize GSSAPI packet (%zu > %zu)" msgstr "Client versuchte übergroßes GSSAPI-Paket zu senden (%zu > %zu)" -#: fe-secure-gssapi.c:347 fe-secure-gssapi.c:589 +#: fe-secure-gssapi.c:354 fe-secure-gssapi.c:602 #, c-format msgid "oversize GSSAPI packet sent by the server (%zu > %zu)" msgstr "übergroßes GSSAPI-Paket vom Server gesendet (%zu > %zu)" -#: fe-secure-gssapi.c:386 +#: fe-secure-gssapi.c:393 msgid "GSSAPI unwrap error" msgstr "GSSAPI-Unwrap-Fehler" -#: fe-secure-gssapi.c:395 +#: fe-secure-gssapi.c:402 #, c-format msgid "incoming GSSAPI message did not use confidentiality" msgstr "eingehende GSSAPI-Nachricht verwendete keine Vertraulichkeit" -#: fe-secure-gssapi.c:652 +#: fe-secure-gssapi.c:665 msgid "could not initiate GSSAPI security context" msgstr "konnte GSSAPI-Sicherheitskontext nicht initiieren" -#: fe-secure-gssapi.c:681 +#: fe-secure-gssapi.c:715 msgid "GSSAPI size check error" msgstr "GSSAPI-Fehler bei der Größenprüfung" -#: fe-secure-gssapi.c:692 -msgid "GSSAPI context establishment error" -msgstr "GSSAPI-Fehler beim Einrichten des Kontexts" - #: fe-secure-openssl.c:207 fe-secure-openssl.c:313 fe-secure-openssl.c:1524 #, c-format msgid "SSL SYSCALL error: %s" diff -Nru postgresql-17-17.7/src/interfaces/libpq/po/es.po postgresql-17-17.8/src/interfaces/libpq/po/es.po --- postgresql-17-17.7/src/interfaces/libpq/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/libpq/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: libpq (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:28+0000\n" +"POT-Creation-Date: 2026-02-06 23:26+0000\n" "PO-Revision-Date: 2025-02-17 15:15+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -77,17 +77,17 @@ #: fe-auth-scram.c:614 fe-auth-scram.c:638 fe-auth-scram.c:652 #: fe-auth-scram.c:698 fe-auth-scram.c:734 fe-auth-scram.c:908 fe-auth.c:296 #: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:727 fe-auth.c:1200 -#: fe-auth.c:1363 fe-cancel.c:160 fe-connect.c:936 fe-connect.c:976 -#: fe-connect.c:1860 fe-connect.c:2022 fe-connect.c:3430 fe-connect.c:4761 -#: fe-connect.c:5073 fe-connect.c:5328 fe-connect.c:5446 fe-connect.c:5693 -#: fe-connect.c:5773 fe-connect.c:5871 fe-connect.c:6122 fe-connect.c:6149 -#: fe-connect.c:6225 fe-connect.c:6248 fe-connect.c:6272 fe-connect.c:6307 -#: fe-connect.c:6393 fe-connect.c:6401 fe-connect.c:6758 fe-connect.c:6908 -#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4293 fe-exec.c:4459 -#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:209 fe-protocol3.c:232 -#: fe-protocol3.c:255 fe-protocol3.c:272 fe-protocol3.c:293 fe-protocol3.c:369 -#: fe-protocol3.c:737 fe-protocol3.c:976 fe-protocol3.c:1787 -#: fe-protocol3.c:2187 fe-secure-common.c:110 fe-secure-gssapi.c:508 +#: fe-auth.c:1363 fe-cancel.c:160 fe-connect.c:937 fe-connect.c:977 +#: fe-connect.c:1861 fe-connect.c:2023 fe-connect.c:3431 fe-connect.c:4762 +#: fe-connect.c:5074 fe-connect.c:5343 fe-connect.c:5461 fe-connect.c:5708 +#: fe-connect.c:5788 fe-connect.c:5886 fe-connect.c:6137 fe-connect.c:6164 +#: fe-connect.c:6240 fe-connect.c:6263 fe-connect.c:6287 fe-connect.c:6322 +#: fe-connect.c:6408 fe-connect.c:6416 fe-connect.c:6773 fe-connect.c:6923 +#: fe-exec.c:530 fe-exec.c:1320 fe-exec.c:3259 fe-exec.c:4330 fe-exec.c:4523 +#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:210 fe-protocol3.c:233 +#: fe-protocol3.c:256 fe-protocol3.c:273 fe-protocol3.c:294 fe-protocol3.c:370 +#: fe-protocol3.c:738 fe-protocol3.c:977 fe-protocol3.c:1801 +#: fe-protocol3.c:2201 fe-secure-common.c:110 fe-secure-gssapi.c:508 #: fe-secure-gssapi.c:699 fe-secure-openssl.c:427 fe-secure-openssl.c:1277 #, c-format msgid "out of memory" @@ -358,639 +358,654 @@ msgid "unexpected response from server" msgstr "respuesta inesperada del servidor" -#: fe-connect.c:1182 +#: fe-connect.c:1183 #, c-format msgid "could not match %d host names to %d hostaddr values" msgstr "no se pudo emparejar %d nombres de host a %d direcciones de host" -#: fe-connect.c:1262 +#: fe-connect.c:1263 #, c-format msgid "could not match %d port numbers to %d hosts" msgstr "no se pudo emparejar %d números de puertos a %d hosts" -#: fe-connect.c:1387 +#: fe-connect.c:1388 #, c-format msgid "negative require_auth method \"%s\" cannot be mixed with non-negative methods" msgstr "el método negativo require_auth «%s» no puede mezclarse con métodos no negativos" -#: fe-connect.c:1400 +#: fe-connect.c:1401 #, c-format msgid "require_auth method \"%s\" cannot be mixed with negative methods" msgstr "el método require_auth «%s» no puede mezclarse con métodos negativos" -#: fe-connect.c:1460 fe-connect.c:1511 fe-connect.c:1553 fe-connect.c:1596 -#: fe-connect.c:1699 fe-connect.c:1745 fe-connect.c:1785 fe-connect.c:1806 +#: fe-connect.c:1461 fe-connect.c:1512 fe-connect.c:1554 fe-connect.c:1597 +#: fe-connect.c:1700 fe-connect.c:1746 fe-connect.c:1786 fe-connect.c:1807 #, c-format msgid "invalid %s value: \"%s\"" msgstr "valor %s no válido: «%s»" -#: fe-connect.c:1493 +#: fe-connect.c:1494 #, c-format msgid "require_auth method \"%s\" is specified more than once" msgstr "el método “require_auth” «%s» se especifica más de una vez" -#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707 +#: fe-connect.c:1535 fe-connect.c:1574 fe-connect.c:1606 fe-connect.c:1708 #, c-format msgid "%s value \"%s\" invalid when SSL support is not compiled in" msgstr "el valor «%2$s» de %1$s no es válido cuando el soporte SSL no está compilado" -#: fe-connect.c:1625 +#: fe-connect.c:1626 #, c-format msgid "weak sslmode \"%s\" may not be used with sslnegotiation=direct (use \"require\", \"verify-ca\", or \"verify-full\")" msgstr "el sslmode «%s» débil no puede usarse con sslnegotiation=direct (use «require», «verify-ca» o «verify-full»)" -#: fe-connect.c:1647 +#: fe-connect.c:1648 #, c-format msgid "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-full\")" msgstr "el sslmode «%s» débil no puede usarse con sslrootcert=system (use «verify-full»)" -#: fe-connect.c:1660 fe-connect.c:1668 +#: fe-connect.c:1661 fe-connect.c:1669 #, c-format msgid "invalid \"%s\" value: \"%s\"" msgstr "valor «%s» no válido: «%s»" -#: fe-connect.c:1685 +#: fe-connect.c:1686 #, c-format msgid "invalid SSL protocol version range" msgstr "rango de versión de protocolo SSL no válido " -#: fe-connect.c:1722 +#: fe-connect.c:1723 #, c-format msgid "%s value \"%s\" is not supported (check OpenSSL version)" msgstr "el valor «%s» de %s no está soportado (verifique la versión de OpenSSL)" -#: fe-connect.c:1752 +#: fe-connect.c:1753 #, c-format msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" msgstr "el valor gssencmode «%s» no es válido cuando no se ha compilado con soporte GSSAPI" -#: fe-connect.c:2045 +#: fe-connect.c:2046 #, c-format msgid "could not set socket to TCP no delay mode: %s" msgstr "no se pudo establecer el socket en modo TCP sin retardo: %s" -#: fe-connect.c:2104 +#: fe-connect.c:2105 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "falló la conexión al servidor en el socket «%s»: " -#: fe-connect.c:2130 +#: fe-connect.c:2131 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "falló la conexión al servidor en «%s» (%s), puerto %s: " -#: fe-connect.c:2135 +#: fe-connect.c:2136 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "falló la conexión al servidor en «%s», puerto %s: " -#: fe-connect.c:2158 +#: fe-connect.c:2159 #, c-format msgid "\tIs the server running locally and accepting connections on that socket?" msgstr "\t¿Está el servidor en ejecución localmente y aceptando conexiones en ese socket?" -#: fe-connect.c:2160 +#: fe-connect.c:2161 #, c-format msgid "\tIs the server running on that host and accepting TCP/IP connections?" msgstr "\t¿Está el servidor en ejecución en ese host y aceptando conexiones TCP/IP?" -#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373 -#: fe-connect.c:3098 +#: fe-connect.c:2207 fe-connect.c:2241 fe-connect.c:2276 fe-connect.c:2374 +#: fe-connect.c:3099 #, c-format msgid "%s(%s) failed: %s" msgstr "%s(%s) falló: %s" -#: fe-connect.c:2339 +#: fe-connect.c:2340 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) falló: código de error %d" -#: fe-connect.c:2650 +#: fe-connect.c:2651 #, c-format msgid "invalid connection state, probably indicative of memory corruption" msgstr "el estado de conexión no es válido, probablemente por corrupción de memoria" -#: fe-connect.c:2733 +#: fe-connect.c:2734 #, c-format msgid "invalid port number: \"%s\"" msgstr "número de puerto no válido: «%s»" -#: fe-connect.c:2747 +#: fe-connect.c:2748 #, c-format msgid "could not translate host name \"%s\" to address: %s" msgstr "no se pudo traducir el nombre «%s» a una dirección: %s" -#: fe-connect.c:2759 +#: fe-connect.c:2760 #, c-format msgid "could not parse network address \"%s\": %s" msgstr "no se pudo interpretar la dirección de red «%s»: %s" -#: fe-connect.c:2770 +#: fe-connect.c:2771 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "la ruta al socket de dominio Unix «%s» es demasiado larga (máximo %d bytes)" -#: fe-connect.c:2784 +#: fe-connect.c:2785 #, c-format msgid "could not translate Unix-domain socket path \"%s\" to address: %s" msgstr "no se pudo traducir la ruta del socket Unix «%s» a una dirección: %s" -#: fe-connect.c:2950 fe-connect.c:4305 +#: fe-connect.c:2951 fe-connect.c:4306 #, c-format msgid "GSSAPI encryption required but it is not supported over a local socket" msgstr "cifrado GSSAPI requerido pero no está soportado en un socket local" -#: fe-connect.c:2958 fe-connect.c:4434 +#: fe-connect.c:2959 fe-connect.c:4435 #, c-format msgid "GSSAPI encryption required but no credential cache" msgstr "cifrado GSSAPI requerido pero no hay caché de credenciales" -#: fe-connect.c:3026 +#: fe-connect.c:3027 #, c-format msgid "could not create socket: %s" msgstr "no se pudo crear el socket: %s" -#: fe-connect.c:3057 +#: fe-connect.c:3058 #, c-format msgid "could not set socket to nonblocking mode: %s" msgstr "no se pudo establecer el socket en modo no bloqueante: %s" -#: fe-connect.c:3068 +#: fe-connect.c:3069 #, c-format msgid "could not set socket to close-on-exec mode: %s" msgstr "no se pudo poner el socket en modo close-on-exec: %s" -#: fe-connect.c:3225 +#: fe-connect.c:3226 #, c-format msgid "could not get socket error status: %s" msgstr "no se pudo determinar el estado de error del socket: %s" -#: fe-connect.c:3252 +#: fe-connect.c:3253 #, c-format msgid "could not get client address from socket: %s" msgstr "no se pudo obtener la dirección del cliente desde el socket: %s" -#: fe-connect.c:3278 +#: fe-connect.c:3279 #, c-format msgid "requirepeer parameter is not supported on this platform" msgstr "el parámetro requirepeer no está soportado en esta plataforma" -#: fe-connect.c:3280 +#: fe-connect.c:3281 #, c-format msgid "could not get peer credentials: %s" msgstr "no se pudo obtener credenciales de la contraparte: %s" -#: fe-connect.c:3293 +#: fe-connect.c:3294 #, c-format msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" msgstr "requirepeer especifica «%s», pero el nombre de usuario de la contraparte es «%s»" -#: fe-connect.c:3331 +#: fe-connect.c:3332 #, c-format msgid "could not send GSSAPI negotiation packet: %s" msgstr "no se pudo enviar el paquete de negociación GSSAPI: %s" -#: fe-connect.c:3380 +#: fe-connect.c:3381 #, c-format msgid "could not send SSL negotiation packet: %s" msgstr "no se pudo enviar el paquete de negociación SSL: %s" -#: fe-connect.c:3412 +#: fe-connect.c:3413 #, c-format msgid "could not send cancel packet: %s" msgstr "no se pudo enviar el paquete de cancelación: %s" -#: fe-connect.c:3442 +#: fe-connect.c:3443 #, c-format msgid "could not send startup packet: %s" msgstr "no se pudo enviar el paquete de inicio: %s" -#: fe-connect.c:3509 +#: fe-connect.c:3510 msgid "server does not support SSL, but SSL was required" msgstr "el servidor no soporta SSL, pero SSL es requerida" -#: fe-connect.c:3519 +#: fe-connect.c:3520 #, c-format msgid "server sent an error response during SSL exchange" msgstr "el servidor envió una respuesta de error durante el intercambio SSL" -#: fe-connect.c:3524 +#: fe-connect.c:3525 #, c-format msgid "received invalid response to SSL negotiation: %c" msgstr "se ha recibido una respuesta no válida en la negociación SSL: %c" -#: fe-connect.c:3552 +#: fe-connect.c:3553 #, c-format msgid "received unencrypted data after SSL response" msgstr "se recibieron datos no cifrados después de la respuesta SSL" -#: fe-connect.c:3615 +#: fe-connect.c:3616 #, c-format msgid "server sent an error response during GSS encryption exchange" msgstr "el servidor envió una respuesta de error durante un intercambio de cifrado GSS" -#: fe-connect.c:3629 +#: fe-connect.c:3630 msgid "server doesn't support GSSAPI encryption, but it was required" msgstr "el servidor no soporta cifrado GSSAPI, pero es requerida" -#: fe-connect.c:3633 +#: fe-connect.c:3634 #, c-format msgid "received invalid response to GSSAPI negotiation: %c" msgstr "se ha recibido una respuesta no válida en la negociación GSSAPI: %c" -#: fe-connect.c:3651 +#: fe-connect.c:3652 #, c-format msgid "received unencrypted data after GSSAPI encryption response" msgstr "se recibieron datos no cifrados después de la respuesta de cifrado GSSAPI" -#: fe-connect.c:3711 +#: fe-connect.c:3712 #, c-format msgid "expected authentication request from server, but received %c" msgstr "se esperaba una petición de autentificación desde el servidor, pero se ha recibido %c" -#: fe-connect.c:3739 fe-connect.c:3862 +#: fe-connect.c:3740 fe-connect.c:3863 #, c-format msgid "received invalid authentication request" msgstr "se recibió una solicitud de autentificación no válida" -#: fe-connect.c:3745 fe-connect.c:3847 +#: fe-connect.c:3746 fe-connect.c:3848 #, c-format msgid "received invalid protocol negotiation message" msgstr "se recibió un mensaje de negociación de protocolo no válido" -#: fe-connect.c:3764 fe-connect.c:3818 +#: fe-connect.c:3765 fe-connect.c:3819 #, c-format msgid "received invalid error message" msgstr "se recibió un mensaje de error no válido" -#: fe-connect.c:3933 +#: fe-connect.c:3934 #, c-format msgid "unexpected message from server during startup" msgstr "se ha recibido un mensaje inesperado del servidor durante el inicio" -#: fe-connect.c:4024 +#: fe-connect.c:4025 #, c-format msgid "session is read-only" msgstr "la sesión es de solo lectura" -#: fe-connect.c:4026 +#: fe-connect.c:4027 #, c-format msgid "session is not read-only" msgstr "la sesión no es de solo lectura" -#: fe-connect.c:4079 +#: fe-connect.c:4080 #, c-format msgid "server is in hot standby mode" msgstr "el servidor está en modo hot standby" -#: fe-connect.c:4081 +#: fe-connect.c:4082 #, c-format msgid "server is not in hot standby mode" msgstr "el servidor no está en modo hot standby" -#: fe-connect.c:4203 fe-connect.c:4253 +#: fe-connect.c:4204 fe-connect.c:4254 #, c-format msgid "\"%s\" failed" msgstr "«%s» falló" -#: fe-connect.c:4267 +#: fe-connect.c:4268 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption" msgstr "estado de conexión no válido %d, probablemente por corrupción de memoria" -#: fe-connect.c:5086 +#: fe-connect.c:5087 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://" msgstr "URL LDAP no válida «%s»: el esquema debe ser ldap://" -#: fe-connect.c:5101 +#: fe-connect.c:5102 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "URL LDAP no válida «%s»: distinguished name faltante" -#: fe-connect.c:5113 fe-connect.c:5171 +#: fe-connect.c:5114 fe-connect.c:5172 #, c-format msgid "invalid LDAP URL \"%s\": must have exactly one attribute" msgstr "URL LDAP no válida «%s»: debe tener exactamente un atributo" -#: fe-connect.c:5125 fe-connect.c:5187 +#: fe-connect.c:5126 fe-connect.c:5188 #, c-format msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" msgstr "URL LDAP no válida «%s»: debe tener ámbito de búsqueda (base/one/sub)" -#: fe-connect.c:5137 +#: fe-connect.c:5138 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "URL LDAP no válida «%s»: no tiene filtro" -#: fe-connect.c:5159 +#: fe-connect.c:5160 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number" msgstr "URL LDAP no válida «%s»: número de puerto no válido" -#: fe-connect.c:5196 +#: fe-connect.c:5197 #, c-format msgid "could not create LDAP structure" msgstr "no se pudo crear estructura LDAP" -#: fe-connect.c:5271 +#: fe-connect.c:5272 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "búsqueda en servidor LDAP falló: %s" -#: fe-connect.c:5281 +#: fe-connect.c:5282 #, c-format msgid "more than one entry found on LDAP lookup" msgstr "se encontro más de una entrada en búsqueda LDAP" -#: fe-connect.c:5283 fe-connect.c:5294 +#: fe-connect.c:5284 fe-connect.c:5295 #, c-format msgid "no entry found on LDAP lookup" msgstr "no se encontró ninguna entrada en búsqueda LDAP" -#: fe-connect.c:5304 fe-connect.c:5316 +#: fe-connect.c:5305 fe-connect.c:5317 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "la búsqueda LDAP entregó atributo sin valores" -#: fe-connect.c:5367 fe-connect.c:5386 fe-connect.c:5910 +#: fe-connect.c:5331 +#, c-format +msgid "connection info string size exceeds the maximum allowed (%d)" +msgstr "el tamaño de la cadena de conexión excede el máximo permitido (%d)" + +#: fe-connect.c:5382 fe-connect.c:5401 fe-connect.c:5925 #, c-format msgid "missing \"=\" after \"%s\" in connection info string" msgstr "falta «=» después de «%s» en la cadena de información de la conexión" -#: fe-connect.c:5457 fe-connect.c:6093 fe-connect.c:6891 +#: fe-connect.c:5472 fe-connect.c:6108 fe-connect.c:6906 #, c-format msgid "invalid connection option \"%s\"" msgstr "opción de conexión no válida «%s»" -#: fe-connect.c:5472 fe-connect.c:5958 +#: fe-connect.c:5487 fe-connect.c:5973 #, c-format msgid "unterminated quoted string in connection info string" msgstr "cadena de caracteres entre comillas sin terminar en la cadena de información de conexión" -#: fe-connect.c:5552 +#: fe-connect.c:5567 #, c-format msgid "definition of service \"%s\" not found" msgstr "la definición de servicio «%s» no fue encontrada" -#: fe-connect.c:5578 +#: fe-connect.c:5593 #, c-format msgid "service file \"%s\" not found" msgstr "el archivo de servicio «%s» no fue encontrado" -#: fe-connect.c:5591 +#: fe-connect.c:5606 #, c-format msgid "line %d too long in service file \"%s\"" msgstr "la línea %d es demasiado larga en archivo de servicio «%s»" -#: fe-connect.c:5662 fe-connect.c:5705 +#: fe-connect.c:5677 fe-connect.c:5720 #, c-format msgid "syntax error in service file \"%s\", line %d" msgstr "error de sintaxis en archivo de servicio «%s», línea %d" -#: fe-connect.c:5673 +#: fe-connect.c:5688 #, c-format msgid "nested service specifications not supported in service file \"%s\", line %d" msgstr "especificaciones de servicio anidadas no soportadas en archivo de servicio «%s», línea %d" -#: fe-connect.c:6412 +#: fe-connect.c:6427 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"" msgstr "URI no válida propagada a rutina interna de procesamiento: «%s»" -#: fe-connect.c:6489 +#: fe-connect.c:6504 #, c-format msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\"" msgstr "se encontró el fin de la cadena mientras se buscaba el «]» correspondiente en dirección IPv6 en URI: «%s»" -#: fe-connect.c:6496 +#: fe-connect.c:6511 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"" msgstr "la dirección IPv6 no puede ser vacía en la URI: «%s»" -#: fe-connect.c:6511 +#: fe-connect.c:6526 #, c-format msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\"" msgstr "carácter «%c» inesperado en la posición %d en URI (se esperaba «:» o «/»): «%s»" -#: fe-connect.c:6640 +#: fe-connect.c:6655 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "separador llave/valor «=» extra en parámetro de la URI: «%s»" -#: fe-connect.c:6660 +#: fe-connect.c:6675 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "separador llave/valor «=» faltante en parámetro de la URI: «%s»" -#: fe-connect.c:6712 +#: fe-connect.c:6727 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "parámetro de URI no válido: «%s»" -#: fe-connect.c:6786 +#: fe-connect.c:6801 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "elemento escapado con %% no válido: «%s»" -#: fe-connect.c:6796 +#: fe-connect.c:6811 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"" msgstr "valor no permitido %%00 en valor escapado con %%: «%s»" -#: fe-connect.c:7162 +#: fe-connect.c:7177 msgid "connection pointer is NULL\n" msgstr "el puntero de conexión es NULL\n" -#: fe-connect.c:7170 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 -#: fe-protocol3.c:991 fe-protocol3.c:1024 +#: fe-connect.c:7185 fe-exec.c:718 fe-exec.c:980 fe-exec.c:3464 +#: fe-protocol3.c:992 fe-protocol3.c:1025 msgid "out of memory\n" msgstr "memoria agotada\n" -#: fe-connect.c:7461 +#: fe-connect.c:7476 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "ADVERTENCIA: El archivo de claves «%s» no es un archivo plano\n" -#: fe-connect.c:7470 +#: fe-connect.c:7485 #, c-format msgid "WARNING: password file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n" msgstr "ADVERTENCIA: El archivo de claves «%s» tiene permiso de lectura para el grupo u otros; los permisos deberían ser u=rw (0600) o menos\n" -#: fe-connect.c:7577 +#: fe-connect.c:7592 #, c-format msgid "password retrieved from file \"%s\"" msgstr "contraseña obtenida desde el archivo «%s»" -#: fe-connect.c:7729 +#: fe-connect.c:7744 #, c-format msgid "invalid integer value \"%s\" for connection option \"%s\"" msgstr "valor entero «%s» no válido para la opción de conexión «%s»" -#: fe-exec.c:469 fe-exec.c:3533 +#: fe-exec.c:469 fe-exec.c:3538 #, c-format msgid "row number %d is out of range 0..%d" msgstr "el número de fila %d está fuera del rango 0..%d" -#: fe-exec.c:531 fe-protocol3.c:1993 +#: fe-exec.c:531 fe-protocol3.c:2007 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:834 +#: fe-exec.c:839 #, c-format msgid "write to server failed" msgstr "falló escritura al servidor" -#: fe-exec.c:874 +#: fe-exec.c:879 #, c-format msgid "no error text available" msgstr "no hay mensaje de error disponible" -#: fe-exec.c:963 +#: fe-exec.c:968 msgid "NOTICE" msgstr "AVISO" -#: fe-exec.c:1021 +#: fe-exec.c:1026 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult no puede soportar un número de tuplas mayor que INT_MAX" -#: fe-exec.c:1033 +#: fe-exec.c:1038 msgid "size_t overflow" msgstr "desbordamiento de size_t" -#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553 +#: fe-exec.c:1443 fe-exec.c:1512 fe-exec.c:1558 #, c-format msgid "command string is a null pointer" msgstr "la cadena de orden es un puntero nulo" -#: fe-exec.c:1444 fe-exec.c:3003 +#: fe-exec.c:1449 fe-exec.c:3008 #, c-format msgid "%s not allowed in pipeline mode" msgstr "no se permite %s en modo pipeline" -#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652 +#: fe-exec.c:1517 fe-exec.c:1563 fe-exec.c:1657 #, c-format msgid "number of parameters must be between 0 and %d" msgstr "el número de parámetros debe estar entre 0 y %d" -#: fe-exec.c:1548 fe-exec.c:1647 +#: fe-exec.c:1553 fe-exec.c:1652 #, c-format msgid "statement name is a null pointer" msgstr "el nombre de sentencia es un puntero nulo" -#: fe-exec.c:1689 fe-exec.c:3379 +#: fe-exec.c:1694 fe-exec.c:3384 #, c-format msgid "no connection to the server" msgstr "no hay conexión con el servidor" -#: fe-exec.c:1697 fe-exec.c:3387 +#: fe-exec.c:1702 fe-exec.c:3392 #, c-format msgid "another command is already in progress" msgstr "hay otra orden en ejecución" -#: fe-exec.c:1727 +#: fe-exec.c:1732 #, c-format msgid "cannot queue commands during COPY" msgstr "no se puede agregar órdenes a la cola mientras se hace COPY" -#: fe-exec.c:1846 +#: fe-exec.c:1851 #, c-format msgid "length must be given for binary parameter" msgstr "el largo debe ser especificado para un parámetro binario" -#: fe-exec.c:2205 +#: fe-exec.c:2210 #, c-format msgid "unexpected asyncStatus: %d" msgstr "asyncStatus no esperado: %d" -#: fe-exec.c:2361 +#: fe-exec.c:2366 #, c-format msgid "synchronous command execution functions are not allowed in pipeline mode" msgstr "no se permiten funciones que ejecuten órdenes sincrónicas en modo pipeline" -#: fe-exec.c:2378 +#: fe-exec.c:2383 msgid "COPY terminated by new PQexec" msgstr "COPY terminado por un nuevo PQexec" -#: fe-exec.c:2394 +#: fe-exec.c:2399 #, c-format msgid "PQexec not allowed during COPY BOTH" msgstr "PQexec no está permitido durante COPY BOTH" -#: fe-exec.c:2630 +#: fe-exec.c:2635 #, c-format msgid "unrecognized message type \"%c\"" msgstr "tipo de mensaje «%c» no reconocido" -#: fe-exec.c:2702 fe-exec.c:2756 fe-exec.c:2824 fe-protocol3.c:1924 +#: fe-exec.c:2707 fe-exec.c:2761 fe-exec.c:2829 fe-protocol3.c:1938 #, c-format msgid "no COPY in progress" msgstr "no hay COPY alguno en ejecución" -#: fe-exec.c:3010 +#: fe-exec.c:3015 #, c-format msgid "connection in wrong state" msgstr "la conexión está en un estado incorrecto" -#: fe-exec.c:3053 +#: fe-exec.c:3058 #, c-format msgid "cannot enter pipeline mode, connection not idle" msgstr "no se puede entrar en modo pipeline, la conexión no está inactiva" -#: fe-exec.c:3089 fe-exec.c:3110 +#: fe-exec.c:3094 fe-exec.c:3115 #, c-format msgid "cannot exit pipeline mode with uncollected results" msgstr "no se puede salir de modo pipeline al tener resultados sin recolectar" -#: fe-exec.c:3093 +#: fe-exec.c:3098 #, c-format msgid "cannot exit pipeline mode while busy" msgstr "no se puede salir de modo pipeline mientras haya actividad" -#: fe-exec.c:3104 +#: fe-exec.c:3109 #, c-format msgid "cannot exit pipeline mode while in COPY" msgstr "no se puede salir de modo pipeline mientras se está en COPY" -#: fe-exec.c:3303 +#: fe-exec.c:3308 #, c-format msgid "cannot send pipeline when not in pipeline mode" msgstr "no se puede enviar pipeline cuando no se está en modo pipeline" -#: fe-exec.c:3422 +#: fe-exec.c:3427 msgid "invalid ExecStatusType code" msgstr "el código de ExecStatusType no es válido" -#: fe-exec.c:3449 +#: fe-exec.c:3454 msgid "PGresult is not an error result\n" msgstr "PGresult no es un resultado de error\n" -#: fe-exec.c:3517 fe-exec.c:3540 +#: fe-exec.c:3522 fe-exec.c:3545 #, c-format msgid "column number %d is out of range 0..%d" msgstr "el número de columna %d está fuera del rango 0..%d" -#: fe-exec.c:3555 +#: fe-exec.c:3560 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "el número de parámetro %d está fuera del rango 0..%d" -#: fe-exec.c:3866 +#: fe-exec.c:3871 #, c-format msgid "could not interpret result from server: %s" msgstr "no se pudo interpretar el resultado del servidor: %s" -#: fe-exec.c:4141 fe-exec.c:4255 +#: fe-exec.c:4146 fe-exec.c:4281 #, c-format msgid "incomplete multibyte character" msgstr "carácter multibyte incompleto" -#: fe-exec.c:4143 fe-exec.c:4274 +#: fe-exec.c:4148 fe-exec.c:4300 #, c-format msgid "invalid multibyte character" msgstr "carácter multibyte no válido" +#: fe-exec.c:4402 +#, c-format +msgid "escaped string size exceeds the maximum allowed (%zu)" +msgstr "el tamaño de la cadena escapada excede el máximo permitido (%zu)" + +#: fe-exec.c:4579 +#, c-format +msgid "escaped bytea size exceeds the maximum allowed (%zu)" +msgstr "el tamaño del bytea escapado excede el máximo permitido (%zu)" + #: fe-gssapi-common.c:122 msgid "GSSAPI name import error" msgstr "error de importación de nombre de GSSAPI" @@ -1078,153 +1093,153 @@ msgid "%s() failed: %s" msgstr "%s() falló: %s" -#: fe-protocol3.c:187 +#: fe-protocol3.c:188 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "un mensaje de tipo 0x%02x llegó del servidor estando inactivo" -#: fe-protocol3.c:402 +#: fe-protocol3.c:403 #, c-format msgid "server sent data (\"D\" message) without prior row description (\"T\" message)" msgstr "el servidor envió datos (mensaje «D») sin precederlos con una descripción de fila (mensaje «T»)" -#: fe-protocol3.c:444 +#: fe-protocol3.c:445 #, c-format msgid "unexpected response from server; first received character was \"%c\"" msgstr "se ha recibido una respuesta inesperada del servidor; el primer carácter recibido fue «%c»" -#: fe-protocol3.c:467 +#: fe-protocol3.c:468 #, c-format msgid "message contents do not agree with length in message type \"%c\"" msgstr "el contenido del mensaje no concuerda con el largo, en el mensaje tipo «%c»" -#: fe-protocol3.c:485 +#: fe-protocol3.c:486 #, c-format msgid "lost synchronization with server: got message type \"%c\", length %d" msgstr "se perdió la sincronía con el servidor: se recibió un mensaje de tipo «%c», largo %d" -#: fe-protocol3.c:537 fe-protocol3.c:577 +#: fe-protocol3.c:538 fe-protocol3.c:578 msgid "insufficient data in \"T\" message" msgstr "datos insuficientes en el mensaje «T»" -#: fe-protocol3.c:648 fe-protocol3.c:854 +#: fe-protocol3.c:649 fe-protocol3.c:855 msgid "out of memory for query result" msgstr "no hay suficiente memoria para el resultado de la consulta" -#: fe-protocol3.c:717 +#: fe-protocol3.c:718 msgid "insufficient data in \"t\" message" msgstr "datos insuficientes en el mensaje «t»" -#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826 +#: fe-protocol3.c:777 fe-protocol3.c:809 fe-protocol3.c:827 msgid "insufficient data in \"D\" message" msgstr "datos insuficientes en el mensaje «D»" -#: fe-protocol3.c:782 +#: fe-protocol3.c:783 msgid "unexpected field count in \"D\" message" msgstr "cantidad de campos inesperada en mensaje «D»" -#: fe-protocol3.c:1037 +#: fe-protocol3.c:1038 msgid "no error message available\n" msgstr "no hay mensaje de error disponible\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1085 fe-protocol3.c:1104 +#: fe-protocol3.c:1086 fe-protocol3.c:1105 #, c-format msgid " at character %s" msgstr " en el carácter %s" -#: fe-protocol3.c:1117 +#: fe-protocol3.c:1118 #, c-format msgid "DETAIL: %s\n" msgstr "DETALLE: %s\n" -#: fe-protocol3.c:1120 +#: fe-protocol3.c:1121 #, c-format msgid "HINT: %s\n" msgstr "SUGERENCIA: %s\n" -#: fe-protocol3.c:1123 +#: fe-protocol3.c:1124 #, c-format msgid "QUERY: %s\n" msgstr "CONSULTA: %s\n" -#: fe-protocol3.c:1130 +#: fe-protocol3.c:1131 #, c-format msgid "CONTEXT: %s\n" msgstr "CONTEXTO: %s\n" -#: fe-protocol3.c:1139 +#: fe-protocol3.c:1140 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "NOMBRE DE ESQUEMA: %s\n" -#: fe-protocol3.c:1143 +#: fe-protocol3.c:1144 #, c-format msgid "TABLE NAME: %s\n" msgstr "NOMBRE DE TABLA: %s\n" -#: fe-protocol3.c:1147 +#: fe-protocol3.c:1148 #, c-format msgid "COLUMN NAME: %s\n" msgstr "NOMBRE DE COLUMNA: %s\n" -#: fe-protocol3.c:1151 +#: fe-protocol3.c:1152 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "NOMBRE TIPO DE DATO: %s\n" -#: fe-protocol3.c:1155 +#: fe-protocol3.c:1156 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "NOMBRE DE RESTRICCIÓN: %s\n" -#: fe-protocol3.c:1167 +#: fe-protocol3.c:1168 msgid "LOCATION: " msgstr "UBICACIÓN: " -#: fe-protocol3.c:1169 +#: fe-protocol3.c:1170 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1171 +#: fe-protocol3.c:1172 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1366 +#: fe-protocol3.c:1380 #, c-format msgid "LINE %d: " msgstr "LÍNEA %d: " -#: fe-protocol3.c:1440 +#: fe-protocol3.c:1454 #, c-format msgid "protocol version not supported by server: client uses %u.%u, server supports up to %u.%u" msgstr "versión de protocolo no soportada por el servidor: cliente usa %u.%u, servidor soporta hasta %u.%u" -#: fe-protocol3.c:1446 +#: fe-protocol3.c:1460 #, c-format msgid "protocol extension not supported by server: %s" msgid_plural "protocol extensions not supported by server: %s" msgstr[0] "extensión del protocolo no soportada por el servidor: %s" msgstr[1] "extensiones del protocolo no soportadas por el servidor: %s" -#: fe-protocol3.c:1454 +#: fe-protocol3.c:1468 #, c-format msgid "invalid %s message" msgstr "mensaje %s no válido" -#: fe-protocol3.c:1819 +#: fe-protocol3.c:1833 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline: no se está haciendo COPY OUT de texto" -#: fe-protocol3.c:2193 +#: fe-protocol3.c:2207 #, c-format msgid "protocol error: no function result" msgstr "error de protocolo: no hay resultado de función" -#: fe-protocol3.c:2204 +#: fe-protocol3.c:2218 #, c-format msgid "protocol error: id=0x%x" msgstr "error de protocolo: id=0x%x" diff -Nru postgresql-17-17.7/src/interfaces/libpq/po/fr.po postgresql-17-17.8/src/interfaces/libpq/po/fr.po --- postgresql-17-17.7/src/interfaces/libpq/po/fr.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/libpq/po/fr.po 2026-02-09 21:51:54.000000000 +0000 @@ -1331,7 +1331,7 @@ #: fe-secure-openssl.c:237 fe-secure-openssl.c:343 #, c-format msgid "SSL connection has been closed unexpectedly" -msgstr "la connexion SSL a été fermée de façon inattendu" +msgstr "la connexion SSL a été fermée de façon inattendue" #: fe-secure-openssl.c:242 fe-secure-openssl.c:348 fe-secure-openssl.c:1582 #, c-format diff -Nru postgresql-17-17.7/src/interfaces/libpq/po/ja.po postgresql-17-17.8/src/interfaces/libpq/po/ja.po --- postgresql-17-17.7/src/interfaces/libpq/po/ja.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/libpq/po/ja.po 2026-02-09 21:51:54.000000000 +0000 @@ -9,8 +9,8 @@ msgstr "" "Project-Id-Version: libpq (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-02-12 11:26+0900\n" -"PO-Revision-Date: 2025-02-12 14:58+0900\n" +"POT-Creation-Date: 2025-11-11 13:58+0900\n" +"PO-Revision-Date: 2025-11-11 15:40+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -20,322 +20,317 @@ "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.13\n" -#: fe-auth-scram.c:228 +#: ../../port/user.c:43 ../../port/user.c:79 +#, c-format +msgid "could not look up local user ID %d: %s" +msgstr "ローカルユーザーID %dの参照に失敗しました: %s" + +#: ../../port/user.c:48 ../../port/user.c:84 +#, c-format +msgid "local user with ID %d does not exist" +msgstr "ID %d を持つローカルユーザーは存在しません" + +#: fe-auth-scram.c:223 #, c-format msgid "malformed SCRAM message (empty message)" msgstr "SCRAMメッセージのフォーマット異常 (空のメッセージ)" -#: fe-auth-scram.c:233 +#: fe-auth-scram.c:228 #, c-format msgid "malformed SCRAM message (length mismatch)" msgstr "SCRAMメッセージのフォーマット異常 (長さの不整合)" -#: fe-auth-scram.c:277 +#: fe-auth-scram.c:272 #, c-format msgid "could not verify server signature: %s" msgstr "サーバー署名を検証できませんでした: %s" -#: fe-auth-scram.c:283 +#: fe-auth-scram.c:278 #, c-format msgid "incorrect server signature" msgstr "正しくないサーバー署名" -#: fe-auth-scram.c:292 +#: fe-auth-scram.c:287 #, c-format msgid "invalid SCRAM exchange state" msgstr "不正なSCRAM交換状態" -#: fe-auth-scram.c:316 +#: fe-auth-scram.c:311 #, c-format msgid "malformed SCRAM message (attribute \"%c\" expected)" msgstr "SCRAMメッセージのフォーマット異常 (属性 \"%c\" が必要)" -#: fe-auth-scram.c:325 +#: fe-auth-scram.c:320 #, c-format msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")" msgstr "SCRAMメッセージのフォーマット異常 (属性 \"%c\" に文字 \"=\" が必要)" -#: fe-auth-scram.c:365 +#: fe-auth-scram.c:360 #, c-format msgid "could not generate nonce" msgstr "nonce を生成できませんでした" -#: fe-auth-scram.c:374 fe-auth-scram.c:447 fe-auth-scram.c:599 -#: fe-auth-scram.c:619 fe-auth-scram.c:643 fe-auth-scram.c:657 -#: fe-auth-scram.c:703 fe-auth-scram.c:739 fe-auth-scram.c:931 fe-auth.c:306 -#: fe-auth.c:380 fe-auth.c:414 fe-auth.c:692 fe-auth.c:825 fe-auth.c:1328 -#: fe-auth.c:1491 fe-cancel.c:159 fe-connect.c:964 fe-connect.c:1004 -#: fe-connect.c:2082 fe-connect.c:2244 fe-connect.c:3643 fe-connect.c:5061 -#: fe-connect.c:5373 fe-connect.c:5628 fe-connect.c:5746 fe-connect.c:5993 -#: fe-connect.c:6073 fe-connect.c:6171 fe-connect.c:6422 fe-connect.c:6449 -#: fe-connect.c:6525 fe-connect.c:6548 fe-connect.c:6572 fe-connect.c:6607 -#: fe-connect.c:6693 fe-connect.c:6701 fe-connect.c:7058 fe-connect.c:7240 -#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4298 fe-exec.c:4464 -#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:209 fe-protocol3.c:232 -#: fe-protocol3.c:255 fe-protocol3.c:272 fe-protocol3.c:293 fe-protocol3.c:369 -#: fe-protocol3.c:733 fe-protocol3.c:972 fe-protocol3.c:1779 -#: fe-protocol3.c:2180 fe-secure-common.c:110 fe-secure-gssapi.c:496 -#: fe-secure-openssl.c:404 fe-secure-openssl.c:1073 +#: fe-auth-scram.c:369 fe-auth-scram.c:442 fe-auth-scram.c:594 +#: fe-auth-scram.c:614 fe-auth-scram.c:638 fe-auth-scram.c:652 +#: fe-auth-scram.c:698 fe-auth-scram.c:734 fe-auth-scram.c:908 fe-auth.c:296 +#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:727 fe-auth.c:1200 +#: fe-auth.c:1363 fe-cancel.c:160 fe-connect.c:937 fe-connect.c:977 +#: fe-connect.c:1861 fe-connect.c:2023 fe-connect.c:3431 fe-connect.c:4762 +#: fe-connect.c:5074 fe-connect.c:5343 fe-connect.c:5461 fe-connect.c:5708 +#: fe-connect.c:5788 fe-connect.c:5886 fe-connect.c:6137 fe-connect.c:6164 +#: fe-connect.c:6240 fe-connect.c:6263 fe-connect.c:6287 fe-connect.c:6322 +#: fe-connect.c:6408 fe-connect.c:6416 fe-connect.c:6773 fe-connect.c:6923 +#: fe-exec.c:530 fe-exec.c:1320 fe-exec.c:3259 fe-exec.c:4330 fe-exec.c:4523 +#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:210 fe-protocol3.c:233 +#: fe-protocol3.c:256 fe-protocol3.c:273 fe-protocol3.c:294 fe-protocol3.c:370 +#: fe-protocol3.c:738 fe-protocol3.c:977 fe-protocol3.c:1801 +#: fe-protocol3.c:2201 fe-secure-common.c:110 fe-secure-gssapi.c:508 +#: fe-secure-gssapi.c:699 fe-secure-openssl.c:427 fe-secure-openssl.c:1277 #, c-format msgid "out of memory" msgstr "メモリ不足です" -#: fe-auth-scram.c:381 +#: fe-auth-scram.c:376 #, c-format msgid "could not encode nonce" msgstr "nonceをエンコードできませんでした" -#: fe-auth-scram.c:569 +#: fe-auth-scram.c:564 #, c-format msgid "could not calculate client proof: %s" msgstr "クライアント証明の算出に失敗しました: %s" -#: fe-auth-scram.c:584 +#: fe-auth-scram.c:579 #, c-format msgid "could not encode client proof" msgstr "クライアントの証明のエンコードに失敗しました" -#: fe-auth-scram.c:636 +#: fe-auth-scram.c:631 #, c-format msgid "invalid SCRAM response (nonce mismatch)" msgstr "不正なSCRAM応答 (nonce の不一致)" -#: fe-auth-scram.c:666 +#: fe-auth-scram.c:661 #, c-format msgid "malformed SCRAM message (invalid salt)" msgstr "SCRAMメッセージのフォーマット異常 (不正なソルト)" -#: fe-auth-scram.c:679 +#: fe-auth-scram.c:674 #, c-format msgid "malformed SCRAM message (invalid iteration count)" msgstr "SCRAMメッセージのフォーマット異常 (不正な繰り返し回数)" -#: fe-auth-scram.c:684 +#: fe-auth-scram.c:679 #, c-format msgid "malformed SCRAM message (garbage at end of server-first-message)" msgstr "SCRAMメッセージのフォーマット異常 (server-first-message 終端の余分なデータ)" -#: fe-auth-scram.c:718 +#: fe-auth-scram.c:713 #, c-format msgid "error received from server in SCRAM exchange: %s" msgstr "SCRAM交換中にサーバーからのエラーを受信しました: %s" -#: fe-auth-scram.c:733 +#: fe-auth-scram.c:728 #, c-format msgid "malformed SCRAM message (garbage at end of server-final-message)" msgstr "SCRAMメッセージのフォーマット異常 (server-final-message 終端の余分なデータ)" -#: fe-auth-scram.c:750 +#: fe-auth-scram.c:745 #, c-format msgid "malformed SCRAM message (invalid server signature)" msgstr "SCRAMメッセージのフォーマット異常 (不正なサーバー署名)" -#: fe-auth-scram.c:940 +#: fe-auth-scram.c:917 msgid "could not generate random salt" msgstr "乱数ソルトを生成できませんでした" -#: fe-auth.c:78 +#: fe-auth.c:77 #, c-format msgid "out of memory allocating GSSAPI buffer (%d)" msgstr "GSSAPIバッファの割り当ての際のメモリ不足(%d)" -#: fe-auth.c:144 +#: fe-auth.c:138 msgid "GSSAPI continuation error" msgstr "GSSAI続行エラー" -#: fe-auth.c:174 fe-auth.c:408 fe-gssapi-common.c:97 fe-secure-common.c:99 +#: fe-auth.c:168 fe-auth.c:397 fe-gssapi-common.c:97 fe-secure-common.c:99 #: fe-secure-common.c:173 #, c-format msgid "host name must be specified" msgstr "ホスト名を指定しなければなりません" -#: fe-auth.c:180 +#: fe-auth.c:174 #, c-format msgid "duplicate GSS authentication request" msgstr "重複するGSS認証要求" -#: fe-auth.c:244 +#: fe-auth.c:238 #, c-format msgid "out of memory allocating SSPI buffer (%d)" msgstr "SSPIバッファの割り当ての際のメモリ不足(%d)" -#: fe-auth.c:295 +#: fe-auth.c:285 msgid "SSPI continuation error" msgstr "SSPI続行エラー" -#: fe-auth.c:370 +#: fe-auth.c:359 #, c-format msgid "duplicate SSPI authentication request" msgstr "重複したSSPI認証要求" -#: fe-auth.c:395 +#: fe-auth.c:384 msgid "could not acquire SSPI credentials" msgstr "SSPI資格を入手できませんでした" -#: fe-auth.c:447 +#: fe-auth.c:436 #, c-format msgid "channel binding required, but SSL not in use" msgstr "チャネルバインディングが要求されていますが、SSLが使用されていません" -#: fe-auth.c:453 +#: fe-auth.c:442 #, c-format msgid "duplicate SASL authentication request" msgstr "重複するSASL認証要求" -#: fe-auth.c:511 +#: fe-auth.c:500 #, c-format msgid "channel binding is required, but client does not support it" msgstr "チャネルバインディングが要求されていますが、クライアントがサポートしていません" -#: fe-auth.c:527 +#: fe-auth.c:516 #, c-format msgid "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection" msgstr "サーバーが非SSL接続上で SCRAM-SHA-256-PLUS 認証を提示してきました" -#: fe-auth.c:542 +#: fe-auth.c:531 #, c-format msgid "none of the server's SASL authentication mechanisms are supported" msgstr "サーバー側のいずれのSASL認証機構もサポートされていません" -#: fe-auth.c:569 -#, c-format -msgid "authentication method requirement \"%s\" failed: server requested %s authentication" -msgstr "必須の認証方式\"%s\"を満たせませんでした: サーバーは %s 認証を要求しました" - -#: fe-auth.c:578 +#: fe-auth.c:538 #, c-format msgid "channel binding is required, but server did not offer an authentication method that supports channel binding" msgstr "チャネルバインディングが要求されていますが、サーバーがチャネルバインディングをサポートする認証方式を提供しませんでした" -#: fe-auth.c:714 +#: fe-auth.c:640 #, c-format msgid "out of memory allocating SASL buffer (%d)" msgstr "SASLバッファの割り当ての際のメモリ不足(%d)" -#: fe-auth.c:756 +#: fe-auth.c:663 #, c-format msgid "AuthenticationSASLFinal received from server, but SASL authentication was not completed" msgstr "サーバーからAuthenticationSASLFinalを受信しました、しかしSASL認証は完了していません" -#: fe-auth.c:766 +#: fe-auth.c:673 #, c-format msgid "no client response found after SASL exchange success" msgstr "SASL交換の成功後にクライアントからの応答がありません" -#: fe-auth.c:834 fe-auth.c:841 fe-auth.c:1474 fe-auth.c:1485 +#: fe-auth.c:736 fe-auth.c:743 fe-auth.c:1346 fe-auth.c:1357 #, c-format msgid "could not encrypt password: %s" msgstr "パスワードを暗号化できませんでした: %s" -#: fe-auth.c:871 +#: fe-auth.c:772 msgid "server requested a cleartext password" msgstr "サーバーが平文パスワードを要求してきました" -#: fe-auth.c:873 +#: fe-auth.c:774 msgid "server requested a hashed password" msgstr "サーバーがハッシュ化パスワードを要求してきました" -#: fe-auth.c:876 +#: fe-auth.c:777 msgid "server requested GSSAPI authentication" msgstr "サーバーがGSSAPI認証を要求してきました" -#: fe-auth.c:878 +#: fe-auth.c:779 msgid "server requested SSPI authentication" msgstr "サーバーがSSPI認証を要求してきました" -#: fe-auth.c:882 +#: fe-auth.c:783 msgid "server requested SASL authentication" msgstr "サーバーがSASL認証を要求してきました" -#: fe-auth.c:885 +#: fe-auth.c:786 msgid "server requested an unknown authentication type" msgstr "サーバーが不明な認証タイプを要求してきました" -#: fe-auth.c:918 +#: fe-auth.c:819 #, c-format msgid "server did not request an SSL certificate" msgstr "サーバーがSSL証明書を要求してきませんでした" -#: fe-auth.c:923 +#: fe-auth.c:824 #, c-format msgid "server accepted connection without a valid SSL certificate" msgstr "サーバーは有効なSSL証明書なしで接続を受け付けました" -#: fe-auth.c:977 +#: fe-auth.c:878 msgid "server did not complete authentication" msgstr "サーバーが認証を完了しませんでした" -#: fe-auth.c:1011 +#: fe-auth.c:912 #, c-format msgid "authentication method requirement \"%s\" failed: %s" msgstr "必須の認証方式\"%s\"が失敗しました: %s" -#: fe-auth.c:1034 +#: fe-auth.c:935 #, c-format msgid "channel binding required, but server authenticated client without channel binding" msgstr "チャネルバインディングが要求されていますが、サーバーはチャネルバインディングを使用せずに認証を行いました" -#: fe-auth.c:1039 +#: fe-auth.c:940 #, c-format msgid "channel binding required but not supported by server's authentication request" msgstr "チャネルバインディングが要求されていますが、サーバーの認証要求ではサポートされていません" -#: fe-auth.c:1079 +#: fe-auth.c:974 #, c-format msgid "Kerberos 4 authentication not supported" msgstr "Kerberos 4認証はサポートされていません" -#: fe-auth.c:1083 +#: fe-auth.c:978 #, c-format msgid "Kerberos 5 authentication not supported" msgstr "Kerberos 5認証はサポートされていません" -#: fe-auth.c:1153 +#: fe-auth.c:1048 #, c-format msgid "GSSAPI authentication not supported" msgstr "GSSAPI認証はサポートされていません" -#: fe-auth.c:1184 +#: fe-auth.c:1079 #, c-format msgid "SSPI authentication not supported" msgstr "SSPI認証はサポートされていません" -#: fe-auth.c:1191 +#: fe-auth.c:1086 #, c-format msgid "Crypt authentication not supported" msgstr "Crypt認証はサポートされていません" -#: fe-auth.c:1265 +#: fe-auth.c:1150 #, c-format msgid "authentication method %u not supported" msgstr "認証方式%uはサポートされていません" -#: fe-auth.c:1305 +#: fe-auth.c:1187 #, c-format msgid "user name lookup failure: error code %lu" msgstr "ユーザー名の参照に失敗: エラーコード %lu" -#: fe-auth.c:1313 -#, c-format -msgid "could not look up local user ID %ld: %m" -msgstr "ローカルユーザーID %ldの参照に失敗しました: %m" - -#: fe-auth.c:1318 -#, c-format -msgid "local user with ID %ld does not exist" -msgstr "ID %ld を持つローカルユーザーは存在しません" - -#: fe-auth.c:1437 +#: fe-auth.c:1309 #, c-format msgid "unexpected shape of result set returned for SHOW" msgstr "SHOW に対する予期しない形のリザルトセット" -#: fe-auth.c:1445 +#: fe-auth.c:1317 #, c-format msgid "\"password_encryption\" value too long" msgstr "\"password_encryption\"の値が長すぎます" -#: fe-auth.c:1495 +#: fe-auth.c:1367 #, c-format msgid "unrecognized password encryption algorithm \"%s\"" msgstr "認識できないパスワード暗号化アルゴリズム \"%s\"" @@ -345,699 +340,669 @@ msgid "connection pointer is NULL" msgstr "接続ポインタはNULLです" -#: fe-cancel.c:82 fe-misc.c:587 +#: fe-cancel.c:82 fe-misc.c:598 #, c-format msgid "connection not open" msgstr "接続はオープンされていません" -#: fe-cancel.c:193 +#: fe-cancel.c:194 #, c-format msgid "cancel request is already being sent on this connection" msgstr "このセッションではすでにキャンセル要求を送出済みです" -#: fe-cancel.c:263 +#: fe-cancel.c:264 #, c-format msgid "unexpected response from server" msgstr "サーバーからの想定外の応答" -#: fe-connect.c:1261 +#: fe-connect.c:1183 #, c-format msgid "could not match %d host names to %d hostaddr values" msgstr "%d個のホスト名と%d個のhostaddrの値との突き合せはできません" -#: fe-connect.c:1341 +#: fe-connect.c:1263 #, c-format msgid "could not match %d port numbers to %d hosts" msgstr "%d個のポート番号と%d個のホストとの突き合せはできません" -#: fe-connect.c:1469 +#: fe-connect.c:1388 #, c-format msgid "negative require_auth method \"%s\" cannot be mixed with non-negative methods" msgstr "require_authの方式否定\"%s\"は方式要求と同時に指定することはできません" -#: fe-connect.c:1482 +#: fe-connect.c:1401 #, c-format msgid "require_auth method \"%s\" cannot be mixed with negative methods" msgstr "require_authの方式要求\"%s\"は方式否定と同時に指定することはできません" -#: fe-connect.c:1554 fe-connect.c:1683 fe-connect.c:1725 fe-connect.c:1768 -#: fe-connect.c:1871 fe-connect.c:1917 fe-connect.c:1957 fe-connect.c:2028 +#: fe-connect.c:1461 fe-connect.c:1512 fe-connect.c:1554 fe-connect.c:1597 +#: fe-connect.c:1700 fe-connect.c:1746 fe-connect.c:1786 fe-connect.c:1807 #, c-format msgid "invalid %s value: \"%s\"" msgstr "%s の値が不正: \"%s\"" -#: fe-connect.c:1596 -#, c-format -msgid "internal error: no space in allowed_sasl_mechs" -msgstr "内部エラー: allowed_sasl_mechs に空きがありません" - -#: fe-connect.c:1635 +#: fe-connect.c:1494 #, c-format msgid "require_auth method \"%s\" is specified more than once" msgstr "require_authで方式\"%s\"が複数回指定されました" -#: fe-connect.c:1706 fe-connect.c:1745 fe-connect.c:1777 fe-connect.c:1879 +#: fe-connect.c:1535 fe-connect.c:1574 fe-connect.c:1606 fe-connect.c:1708 #, c-format msgid "%s value \"%s\" invalid when SSL support is not compiled in" msgstr "%s 値\"%s\"はSSLサポートがコンパイルされていない場合は無効です" -#: fe-connect.c:1797 +#: fe-connect.c:1626 #, c-format msgid "weak sslmode \"%s\" may not be used with sslnegotiation=direct (use \"require\", \"verify-ca\", or \"verify-full\")" msgstr "弱いsslmode\"%s\"はsslnegotiation=direct とともには使用できません( \"require\", \"verify-ca\"または\"verify-full\"を使用してください)" -#: fe-connect.c:1819 +#: fe-connect.c:1648 #, c-format msgid "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-full\")" msgstr "弱いsslmode\"%s\"はsslrootcert=systemとともには使用できません(\"verify-full\"を使用してください)" -#: fe-connect.c:1832 fe-connect.c:1840 +#: fe-connect.c:1661 fe-connect.c:1669 #, c-format msgid "invalid \"%s\" value: \"%s\"" msgstr "\"%s\"の値が不正: \"%s\"" -#: fe-connect.c:1857 +#: fe-connect.c:1686 #, c-format msgid "invalid SSL protocol version range" msgstr "不正なSSLプロトコルバージョン範囲" -#: fe-connect.c:1894 +#: fe-connect.c:1723 #, c-format msgid "%s value \"%s\" is not supported (check OpenSSL version)" msgstr "%s 値\"%s\"はサポートされていません(OpenSSLのバージョンを確認してください)" -#: fe-connect.c:1924 +#: fe-connect.c:1753 #, c-format msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" msgstr "gssencmodeの値\"%s\"はGSSAPIサポートがコンパイルされていない場合は不正" -#: fe-connect.c:1978 -#, c-format -msgid "invalid SCRAM client key" -msgstr "不正なSCRAMクライアントキー" - -#: fe-connect.c:1984 -#, c-format -msgid "invalid SCRAM client key length: %d" -msgstr "不正なSCRAMクライアントキー長: %d" - -#: fe-connect.c:2003 -#, c-format -msgid "invalid SCRAM server key" -msgstr "不正なSCRAMサーバーキー" - -#: fe-connect.c:2009 -#, c-format -msgid "invalid SCRAM server key length: %d" -msgstr "不正なSCRAMサーバーキー長: %d" - -#: fe-connect.c:2267 +#: fe-connect.c:2046 #, c-format msgid "could not set socket to TCP no delay mode: %s" msgstr "TCPソケットを非遅延モードに設定できませんでした: %s" -#: fe-connect.c:2326 +#: fe-connect.c:2105 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "ソケット\"%s\"のサーバーへの接続に失敗しました: " -#: fe-connect.c:2352 +#: fe-connect.c:2131 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "\"%s\"(%s)、ポート%sのサーバーへの接続に失敗しました: " -#: fe-connect.c:2357 +#: fe-connect.c:2136 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "\"%s\"、ポート%sのサーバーへの接続に失敗しました: " -#: fe-connect.c:2380 +#: fe-connect.c:2159 #, c-format msgid "\tIs the server running locally and accepting connections on that socket?" msgstr "\tサーバーはローカルで稼働していてそのソケットで接続を受け付けていますか?" -#: fe-connect.c:2382 +#: fe-connect.c:2161 #, c-format msgid "\tIs the server running on that host and accepting TCP/IP connections?" msgstr "\tサーバーはそのホスト上で稼働していてTCP/IP接続を受け付けていますか?" -#: fe-connect.c:2428 fe-connect.c:2462 fe-connect.c:2497 fe-connect.c:2595 -#: fe-connect.c:3321 +#: fe-connect.c:2207 fe-connect.c:2241 fe-connect.c:2276 fe-connect.c:2374 +#: fe-connect.c:3099 #, c-format msgid "%s(%s) failed: %s" msgstr "%s(%s)が失敗しました: %s" -#: fe-connect.c:2561 +#: fe-connect.c:2340 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s)が失敗しました: エラーコード %d" -#: fe-connect.c:2873 +#: fe-connect.c:2651 #, c-format msgid "invalid connection state, probably indicative of memory corruption" msgstr "接続状態が不正です。メモリ障害の可能性があります" -#: fe-connect.c:2956 +#: fe-connect.c:2734 #, c-format msgid "invalid port number: \"%s\"" msgstr "不正なポート番号です: \"%s\"" -#: fe-connect.c:2970 +#: fe-connect.c:2748 #, c-format msgid "could not translate host name \"%s\" to address: %s" msgstr "ホスト名\"%s\"をアドレスに変換できませんでした: %s" -#: fe-connect.c:2982 +#: fe-connect.c:2760 #, c-format msgid "could not parse network address \"%s\": %s" msgstr "ネットワークアドレス\"%s\"をパースできませんでした: %s" -#: fe-connect.c:2993 +#: fe-connect.c:2771 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Unixドメインソケットのパス\"%s\"が長すぎます(最大 %d バイト)" -#: fe-connect.c:3007 +#: fe-connect.c:2785 #, c-format msgid "could not translate Unix-domain socket path \"%s\" to address: %s" msgstr "Unixドメインソケットのパス\"%s\"をアドレスに変換できませんでした: %s" -#: fe-connect.c:3173 fe-connect.c:4602 +#: fe-connect.c:2951 fe-connect.c:4306 #, c-format msgid "GSSAPI encryption required but it is not supported over a local socket" msgstr "GSSAPI暗号化が要求されていますが、ローカルソケットではサポートされません" -#: fe-connect.c:3181 fe-connect.c:4731 +#: fe-connect.c:2959 fe-connect.c:4435 #, c-format msgid "GSSAPI encryption required but no credential cache" msgstr "GSSAPI暗号化が要求されましたが、資格証明キャッシュがありません" -#: fe-connect.c:3249 +#: fe-connect.c:3027 #, c-format msgid "could not create socket: %s" msgstr "ソケットを作成できませんでした: %s" -#: fe-connect.c:3280 +#: fe-connect.c:3058 #, c-format msgid "could not set socket to nonblocking mode: %s" msgstr "ソケットを非ブロッキングモードに設定できませんでした: %s\\" -#: fe-connect.c:3291 +#: fe-connect.c:3069 #, c-format msgid "could not set socket to close-on-exec mode: %s" msgstr "ソケットをclose-on-execモードに設定できませんでした: %s" -#: fe-connect.c:3448 +#: fe-connect.c:3226 #, c-format msgid "could not get socket error status: %s" msgstr "ソケットのエラー状態を取得できませんでした: %s" -#: fe-connect.c:3475 +#: fe-connect.c:3253 #, c-format msgid "could not get client address from socket: %s" msgstr "ソケットからクライアントアドレスを取得できませんでした: %s" -#: fe-connect.c:3501 +#: fe-connect.c:3279 #, c-format msgid "requirepeer parameter is not supported on this platform" msgstr "このプラットフォームでは requirepeer パラメータはサポートされていません" -#: fe-connect.c:3503 +#: fe-connect.c:3281 #, c-format msgid "could not get peer credentials: %s" msgstr "接続先の資格証明を取得できませんでした: %s" -#: fe-connect.c:3516 +#: fe-connect.c:3294 #, c-format msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" msgstr "requirepeerは\"%s\"を指定していますが、実際の接続先名は\"%s\"です" -#: fe-connect.c:3554 +#: fe-connect.c:3332 #, c-format msgid "could not send GSSAPI negotiation packet: %s" msgstr "GSSAPIネゴシエーションパケットを送信できませんでした: %s" -#: fe-connect.c:3593 +#: fe-connect.c:3381 #, c-format msgid "could not send SSL negotiation packet: %s" msgstr "SSLネゴシエーションパケットを送信できませんでした: %s" -#: fe-connect.c:3625 +#: fe-connect.c:3413 #, c-format msgid "could not send cancel packet: %s" msgstr "キャンセルパケットを送信できませんでした: %s" -#: fe-connect.c:3655 +#: fe-connect.c:3443 #, c-format msgid "could not send startup packet: %s" msgstr "開始パケットを送信できませんでした: %s" -#: fe-connect.c:3728 +#: fe-connect.c:3510 msgid "server does not support SSL, but SSL was required" msgstr "サーバーはSSLをサポートしていませんが、要求されています" -#: fe-connect.c:3738 +#: fe-connect.c:3520 #, c-format msgid "server sent an error response during SSL exchange" msgstr "SSLハンドシェイク中にサーバーからエラー応答が返されました" -#: fe-connect.c:3743 +#: fe-connect.c:3525 #, c-format msgid "received invalid response to SSL negotiation: %c" msgstr "SSLネゴシエーションに対して不正な応答を受信しました: %c" -#: fe-connect.c:3763 +#: fe-connect.c:3553 #, c-format msgid "received unencrypted data after SSL response" msgstr "SSL応答の後に非暗号化データを受信しました" -#: fe-connect.c:3826 +#: fe-connect.c:3616 #, c-format msgid "server sent an error response during GSS encryption exchange" msgstr "GSS暗号化ハンドシェイク中にサーバーからエラー応答が返されました" -#: fe-connect.c:3844 +#: fe-connect.c:3630 msgid "server doesn't support GSSAPI encryption, but it was required" msgstr "サーバーがGSSAPI暗号化サポートしていませんが、要求されてます" -#: fe-connect.c:3848 +#: fe-connect.c:3634 #, c-format msgid "received invalid response to GSSAPI negotiation: %c" msgstr "GSSAPIネゴシエーションに対して不正な応答を受信しました: %c" -#: fe-connect.c:3870 +#: fe-connect.c:3652 #, c-format msgid "received unencrypted data after GSSAPI encryption response" msgstr "GSSAPI暗号化応答の後に非暗号化データを受信しました" -#: fe-connect.c:3931 +#: fe-connect.c:3712 #, c-format msgid "expected authentication request from server, but received %c" msgstr "サーバーからの認証要求を想定していましたが、%cを受信しました" -#: fe-connect.c:3959 fe-connect.c:4082 +#: fe-connect.c:3740 fe-connect.c:3863 #, c-format msgid "received invalid authentication request" msgstr "不正な認証要求を受信しました" -#: fe-connect.c:3965 fe-connect.c:4067 +#: fe-connect.c:3746 fe-connect.c:3848 #, c-format msgid "received invalid protocol negotiation message" msgstr "不正なプロトコルネゴシエーションメッセージを受信しました" -#: fe-connect.c:3984 fe-connect.c:4038 +#: fe-connect.c:3765 fe-connect.c:3819 #, c-format msgid "received invalid error message" msgstr "不正なエラーメッセージを受信しました" -#: fe-connect.c:4149 -#, c-format -msgid "internal error: async authentication has no handler" -msgstr "内部エラー: 非同期認証のハンドラーがありません" - -#: fe-connect.c:4174 -#, c-format -msgid "internal error: async cleanup did not release polling socket" -msgstr "内部エラー: 非同期クリーンアップがポーリング中のソケットを解放しませんでした" - -#: fe-connect.c:4197 -#, c-format -msgid "internal error: async authentication did not set a socket for polling" -msgstr "内部エラー: 非同期認証がポーリング対象のソケットを設定しませんでした" - -#: fe-connect.c:4230 +#: fe-connect.c:3934 #, c-format msgid "unexpected message from server during startup" msgstr "起動中にサーバーから想定外のメッセージがありました" -#: fe-connect.c:4321 +#: fe-connect.c:4025 #, c-format msgid "session is read-only" msgstr "セッションは読み取り専用です" -#: fe-connect.c:4323 +#: fe-connect.c:4027 #, c-format msgid "session is not read-only" msgstr "セッションは読み取り専用ではありません" -#: fe-connect.c:4376 +#: fe-connect.c:4080 #, c-format msgid "server is in hot standby mode" msgstr "サーバーはホットスタンバイモードです" -#: fe-connect.c:4378 +#: fe-connect.c:4082 #, c-format msgid "server is not in hot standby mode" msgstr "サーバーはスタンバイモードではありません" -#: fe-connect.c:4500 fe-connect.c:4550 +#: fe-connect.c:4204 fe-connect.c:4254 #, c-format msgid "\"%s\" failed" msgstr "\"%s\"が失敗しました" -#: fe-connect.c:4564 +#: fe-connect.c:4268 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption" msgstr "接続状態%dは不正です。メモリ障害の可能性があります" -#: fe-connect.c:5386 +#: fe-connect.c:5087 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://" msgstr "不正なLDAP URL\"%s\":スキームはldap://でなければなりません" -#: fe-connect.c:5401 +#: fe-connect.c:5102 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "不正なLDAP URL \"%s\": 識別名がありません" -#: fe-connect.c:5413 fe-connect.c:5471 +#: fe-connect.c:5114 fe-connect.c:5172 #, c-format msgid "invalid LDAP URL \"%s\": must have exactly one attribute" msgstr "不正なLDAP URL \"%s\": ちょうど1つの属性を持たなければなりません" -#: fe-connect.c:5425 fe-connect.c:5487 +#: fe-connect.c:5126 fe-connect.c:5188 #, c-format msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" msgstr "不正なLDAP URL \"%s\": 検索スコープ(base/one/sub)を持たなければなりません" -#: fe-connect.c:5437 +#: fe-connect.c:5138 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "不正なLDAP URL \"%s\": フィルタがありません" -#: fe-connect.c:5459 +#: fe-connect.c:5160 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number" msgstr "不正なLDAP URL \"%s\": ポート番号が不正です" -#: fe-connect.c:5496 +#: fe-connect.c:5197 #, c-format msgid "could not create LDAP structure" msgstr "LDAP構造体を作成できませんでした" -#: fe-connect.c:5571 +#: fe-connect.c:5272 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "LDAPサーバーで検索に失敗しました: %s" -#: fe-connect.c:5581 +#: fe-connect.c:5282 #, c-format msgid "more than one entry found on LDAP lookup" msgstr "LDAP参照で複数のエントリが見つかりました" -#: fe-connect.c:5583 fe-connect.c:5594 +#: fe-connect.c:5284 fe-connect.c:5295 #, c-format msgid "no entry found on LDAP lookup" msgstr "LDAP参照でエントリが見つかりません" -#: fe-connect.c:5604 fe-connect.c:5616 +#: fe-connect.c:5305 fe-connect.c:5317 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "LDAP参照で属性に値がありません" -#: fe-connect.c:5667 fe-connect.c:5686 fe-connect.c:6210 +#: fe-connect.c:5331 +#, c-format +msgid "connection info string size exceeds the maximum allowed (%d)" +msgstr "接続情報文字列の長さが上限値(%d)を超えています" + +#: fe-connect.c:5382 fe-connect.c:5401 fe-connect.c:5925 #, c-format msgid "missing \"=\" after \"%s\" in connection info string" msgstr "接続情報文字列において\"%s\"の後に\"=\"がありませんでした" -#: fe-connect.c:5757 fe-connect.c:6393 fe-connect.c:7223 +#: fe-connect.c:5472 fe-connect.c:6108 fe-connect.c:6906 #, c-format msgid "invalid connection option \"%s\"" msgstr "不正な接続オプション\"%s\"" -#: fe-connect.c:5772 fe-connect.c:6258 +#: fe-connect.c:5487 fe-connect.c:5973 #, c-format msgid "unterminated quoted string in connection info string" msgstr "接続情報文字列内の閉じていない引用符" -#: fe-connect.c:5852 +#: fe-connect.c:5567 #, c-format msgid "definition of service \"%s\" not found" msgstr "サービス定義\"%s\"がみつかりません" -#: fe-connect.c:5878 +#: fe-connect.c:5593 #, c-format msgid "service file \"%s\" not found" msgstr "サービスファイル\"%s\"がみつかりません" -#: fe-connect.c:5891 +#: fe-connect.c:5606 #, c-format msgid "line %d too long in service file \"%s\"" msgstr "サービスファイル\"%2$s\"の行%1$dが長すぎます" -#: fe-connect.c:5962 fe-connect.c:6005 +#: fe-connect.c:5677 fe-connect.c:5720 #, c-format msgid "syntax error in service file \"%s\", line %d" msgstr "サービスファイル\"%s\"の行%dで構文エラー" -#: fe-connect.c:5973 +#: fe-connect.c:5688 #, c-format msgid "nested service specifications not supported in service file \"%s\", line %d" msgstr "サービスファイル\"%s\"、行%dでのネストしたサービス指定はサポートされていません" -#: fe-connect.c:6712 +#: fe-connect.c:6427 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"" msgstr "内部パーサ処理へ伝播した不正なURI: \"%s\"" -#: fe-connect.c:6789 +#: fe-connect.c:6504 #, c-format msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\"" msgstr "URI \"%s\"内のIPv6ホストアドレスにおいて対応する\"]\"を探している間に文字列が終わりました" -#: fe-connect.c:6796 +#: fe-connect.c:6511 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"" msgstr "URI内ではIPv6ホストアドレスは空であってはなりません: \"%s\"" -#: fe-connect.c:6811 +#: fe-connect.c:6526 #, c-format msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\"" msgstr "URI内の位置%2$dに想定外の文字\"%1$c\"があります(\":\"または\"/\"を期待していました): \"%3$s\"" -#: fe-connect.c:6940 +#: fe-connect.c:6655 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "URI問い合わせパラメータ内にキーと値を分ける\"=\"が余分にあります: \"%s\"" -#: fe-connect.c:6960 +#: fe-connect.c:6675 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "URI問い合わせパラメータ内にキーと値を分ける\\\"=\\\"がありません: \"%s\"" -#: fe-connect.c:7012 +#: fe-connect.c:6727 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "不正なURI問い合わせパラメータ:\"%s\"" -#: fe-connect.c:7096 +#: fe-connect.c:6801 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "不正なパーセント符号化トークン: \"%s\"" -#: fe-connect.c:7106 +#: fe-connect.c:6811 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"" msgstr "パーセント符号化された値では値%%00は許されません: \"%s\"" -#: fe-connect.c:7128 -#, c-format -msgid "unexpected spaces found in \"%s\", use percent-encoded spaces (%%20) instead" -msgstr "\"%s\"に予期しない空白文字があります、代わりにパーセントエンコードされた空白文字(%%20)を使用してください" - -#: fe-connect.c:7510 +#: fe-connect.c:7177 msgid "connection pointer is NULL\n" msgstr "接続ポインタはNULLです\n" -#: fe-connect.c:7518 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 -#: fe-protocol3.c:987 fe-protocol3.c:1020 +#: fe-connect.c:7185 fe-exec.c:718 fe-exec.c:980 fe-exec.c:3464 +#: fe-protocol3.c:992 fe-protocol3.c:1025 msgid "out of memory\n" msgstr "メモリ不足\n" -#: fe-connect.c:7820 +#: fe-connect.c:7476 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "WARNING: パスワードファイル\"%s\"がテキストファイルではありません\n" -#: fe-connect.c:7830 +#: fe-connect.c:7485 #, c-format msgid "WARNING: password file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n" msgstr "警告: パスワードファイル \"%s\" がグループメンバもしくは他のユーザーから読める状態になっています。この権限はu=rw (0600)以下にすべきです\n" -#: fe-connect.c:7934 +#: fe-connect.c:7592 #, c-format msgid "password retrieved from file \"%s\"" msgstr "パスワードはファイル\"%s\"から取り出しました" -#: fe-connect.c:8100 +#: fe-connect.c:7744 #, c-format msgid "invalid integer value \"%s\" for connection option \"%s\"" msgstr "接続オプション\"%2$s\"に対する不正な整数値\"%1$s\"" -#: fe-exec.c:469 fe-exec.c:3533 +#: fe-exec.c:469 fe-exec.c:3538 #, c-format msgid "row number %d is out of range 0..%d" msgstr "行番号%dは0..%dの範囲を超えています" -#: fe-exec.c:531 fe-protocol3.c:1985 +#: fe-exec.c:531 fe-protocol3.c:2007 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:834 +#: fe-exec.c:839 #, c-format msgid "write to server failed" msgstr "サーバーへの書き込みに失敗" -#: fe-exec.c:874 +#: fe-exec.c:879 #, c-format msgid "no error text available" msgstr "エラー文字列がありません" -#: fe-exec.c:963 +#: fe-exec.c:968 msgid "NOTICE" msgstr "注意" -#: fe-exec.c:1021 +#: fe-exec.c:1026 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresultはINT_MAX個以上のタプルを扱えません" -#: fe-exec.c:1033 +#: fe-exec.c:1038 msgid "size_t overflow" msgstr "size_t オーバーフロー" -#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553 +#: fe-exec.c:1443 fe-exec.c:1512 fe-exec.c:1558 #, c-format msgid "command string is a null pointer" msgstr "コマンド文字列がヌルポインタです" -#: fe-exec.c:1444 fe-exec.c:3003 +#: fe-exec.c:1449 fe-exec.c:3008 #, c-format msgid "%s not allowed in pipeline mode" msgstr "%sはパイプラインモードでは使用できません" -#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652 +#: fe-exec.c:1517 fe-exec.c:1563 fe-exec.c:1657 #, c-format msgid "number of parameters must be between 0 and %d" msgstr "パラメータ数は0から%dまでの間でなければなりません" -#: fe-exec.c:1548 fe-exec.c:1647 +#: fe-exec.c:1553 fe-exec.c:1652 #, c-format msgid "statement name is a null pointer" msgstr "文の名前がヌルポインタです" -#: fe-exec.c:1689 fe-exec.c:3379 +#: fe-exec.c:1694 fe-exec.c:3384 #, c-format msgid "no connection to the server" msgstr "サーバーへの接続がありません" -#: fe-exec.c:1697 fe-exec.c:3387 +#: fe-exec.c:1702 fe-exec.c:3392 #, c-format msgid "another command is already in progress" msgstr "他のコマンドがすでに処理中です" -#: fe-exec.c:1727 +#: fe-exec.c:1732 #, c-format msgid "cannot queue commands during COPY" msgstr "COPY中はコマンドのキューイングはできません" -#: fe-exec.c:1846 +#: fe-exec.c:1851 #, c-format msgid "length must be given for binary parameter" msgstr "バイナリパラメータには長さを指定する必要があります" -#: fe-exec.c:2205 +#: fe-exec.c:2210 #, c-format msgid "unexpected asyncStatus: %d" msgstr "想定外のasyncStatus: %d" -#: fe-exec.c:2361 +#: fe-exec.c:2366 #, c-format msgid "synchronous command execution functions are not allowed in pipeline mode" msgstr "同期的にコマンドを実行する関数はパイプラインモード中は実行できません" -#: fe-exec.c:2378 +#: fe-exec.c:2383 msgid "COPY terminated by new PQexec" msgstr "新たなPQexec\"によりCOPYが終了しました" -#: fe-exec.c:2394 +#: fe-exec.c:2399 #, c-format msgid "PQexec not allowed during COPY BOTH" msgstr "COPY BOTH 実行中の PQexec は許可されていません" -#: fe-exec.c:2630 +#: fe-exec.c:2635 #, c-format msgid "unrecognized message type \"%c\"" msgstr "認識できないメッセージタイプ\"%c\"" -#: fe-exec.c:2702 fe-exec.c:2756 fe-exec.c:2824 fe-protocol3.c:1916 +#: fe-exec.c:2707 fe-exec.c:2761 fe-exec.c:2829 fe-protocol3.c:1938 #, c-format msgid "no COPY in progress" msgstr "実行中のCOPYはありません" -#: fe-exec.c:3010 +#: fe-exec.c:3015 #, c-format msgid "connection in wrong state" msgstr "接続状態が異常です" -#: fe-exec.c:3053 +#: fe-exec.c:3058 #, c-format msgid "cannot enter pipeline mode, connection not idle" msgstr "パイプラインモードに入れません、接続がアイドル状態ではありません" -#: fe-exec.c:3089 fe-exec.c:3110 +#: fe-exec.c:3094 fe-exec.c:3115 #, c-format msgid "cannot exit pipeline mode with uncollected results" msgstr "未回収の結果が残っている状態でパイプラインモードを抜けることはできません" -#: fe-exec.c:3093 +#: fe-exec.c:3098 #, c-format msgid "cannot exit pipeline mode while busy" msgstr "ビジー状態でパイプラインモードを抜けることはできません" -#: fe-exec.c:3104 +#: fe-exec.c:3109 #, c-format msgid "cannot exit pipeline mode while in COPY" msgstr "COPY実行中にパイプラインモードを抜けることはできません" -#: fe-exec.c:3303 +#: fe-exec.c:3308 #, c-format msgid "cannot send pipeline when not in pipeline mode" msgstr "パイプラインモード外でパイプライン送出はできません" -#: fe-exec.c:3422 +#: fe-exec.c:3427 msgid "invalid ExecStatusType code" msgstr "ExecStatusTypeコードが不正です" -#: fe-exec.c:3449 +#: fe-exec.c:3454 msgid "PGresult is not an error result\n" msgstr "PGresutがエラー結果ではありません\n" -#: fe-exec.c:3517 fe-exec.c:3540 +#: fe-exec.c:3522 fe-exec.c:3545 #, c-format msgid "column number %d is out of range 0..%d" msgstr "列番号%dは0..%dの範囲を超えています" -#: fe-exec.c:3555 +#: fe-exec.c:3560 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "パラメータ%dは0..%dの範囲を超えています" -#: fe-exec.c:3866 +#: fe-exec.c:3871 #, c-format msgid "could not interpret result from server: %s" msgstr "サーバーからの結果を解釈できませんでした: %s" -#: fe-exec.c:4126 fe-exec.c:4260 +#: fe-exec.c:4146 fe-exec.c:4281 #, c-format msgid "incomplete multibyte character" msgstr "不完全なマルチバイト文字" -#: fe-exec.c:4153 fe-exec.c:4279 +#: fe-exec.c:4148 fe-exec.c:4300 #, c-format msgid "invalid multibyte character" msgstr "不正なマルチバイト文字" +#: fe-exec.c:4402 +#, c-format +msgid "escaped string size exceeds the maximum allowed (%zu)" +msgstr "エスケープされた文字列のサイズが上限(%zu)を超えています" + +#: fe-exec.c:4579 +#, c-format +msgid "escaped bytea size exceeds the maximum allowed (%zu)" +msgstr "エスケープされたbyteaのサイズが上限(%zu)を超えています" + #: fe-gssapi-common.c:122 msgid "GSSAPI name import error" msgstr "GSSAPI名のインポートエラー" @@ -1094,8 +1059,8 @@ msgid "integer of size %lu not supported by pqPutInt" msgstr "サイズ%luの整数はpqPutIntでサポートされていません" -#: fe-misc.c:765 fe-secure-openssl.c:180 fe-secure-openssl.c:286 -#: fe-secure.c:222 fe-secure.c:389 +#: fe-misc.c:776 fe-secure-openssl.c:203 fe-secure-openssl.c:309 +#: fe-secure.c:237 fe-secure.c:404 #, c-format msgid "" "server closed the connection unexpectedly\n" @@ -1106,171 +1071,171 @@ " おそらく要求の処理前または処理中にサーバーが異常終了\n" " したことを意味しています。" -#: fe-misc.c:832 +#: fe-misc.c:843 msgid "connection not open\n" msgstr "接続はオープンされていません\n" -#: fe-misc.c:1020 +#: fe-misc.c:1031 #, c-format msgid "timeout expired" msgstr "タイムアウト期間が過ぎました" -#: fe-misc.c:1072 +#: fe-misc.c:1075 #, c-format msgid "invalid socket" msgstr "不正なソケットです" -#: fe-misc.c:1095 +#: fe-misc.c:1097 #, c-format msgid "%s() failed: %s" msgstr "%s() が失敗しました: %s" -#: fe-protocol3.c:187 +#: fe-protocol3.c:188 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "待機中にサーバーからメッセージ種類0x%02xが届きました" -#: fe-protocol3.c:402 +#: fe-protocol3.c:403 #, c-format msgid "server sent data (\"D\" message) without prior row description (\"T\" message)" msgstr "サーバーが先行の行記述(\"T\"メッセージ)なしでデータ(\"D\"メッセージ)を送信しました" -#: fe-protocol3.c:444 +#: fe-protocol3.c:445 #, c-format msgid "unexpected response from server; first received character was \"%c\"" msgstr "サーバーから想定外の応答がありました。受け付けた先頭文字は\"%c\"です" -#: fe-protocol3.c:463 +#: fe-protocol3.c:468 #, c-format msgid "message contents do not agree with length in message type \"%c\"" msgstr "メッセージの内容がメッセージタイプ\"%c\"での長さと合っていません" -#: fe-protocol3.c:481 +#: fe-protocol3.c:486 #, c-format msgid "lost synchronization with server: got message type \"%c\", length %d" msgstr "サーバーとの同期が失われました。受信したメッセージタイプは\"%c\"、長さは%d" -#: fe-protocol3.c:533 fe-protocol3.c:573 +#: fe-protocol3.c:538 fe-protocol3.c:578 msgid "insufficient data in \"T\" message" msgstr "\"T\"メッセージ内のデータが不十分です" -#: fe-protocol3.c:644 fe-protocol3.c:850 +#: fe-protocol3.c:649 fe-protocol3.c:855 msgid "out of memory for query result" msgstr "問い合わせ結果用のメモリが不足しています" -#: fe-protocol3.c:713 +#: fe-protocol3.c:718 msgid "insufficient data in \"t\" message" msgstr "\"t\"メッセージ内のデータが足りません" -#: fe-protocol3.c:772 fe-protocol3.c:804 fe-protocol3.c:822 +#: fe-protocol3.c:777 fe-protocol3.c:809 fe-protocol3.c:827 msgid "insufficient data in \"D\" message" msgstr "\"D\"\"メッセージ内のデータが不十分です" -#: fe-protocol3.c:778 +#: fe-protocol3.c:783 msgid "unexpected field count in \"D\" message" msgstr "\"D\"メッセージ内のフィールド数が想定外です。" -#: fe-protocol3.c:1033 +#: fe-protocol3.c:1038 msgid "no error message available\n" msgstr "エラーメッセージがありません\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1081 fe-protocol3.c:1100 +#: fe-protocol3.c:1086 fe-protocol3.c:1105 #, c-format msgid " at character %s" msgstr "(文字位置: %s)" -#: fe-protocol3.c:1113 +#: fe-protocol3.c:1118 #, c-format msgid "DETAIL: %s\n" msgstr "DETAIL: %s\n" -#: fe-protocol3.c:1116 +#: fe-protocol3.c:1121 #, c-format msgid "HINT: %s\n" msgstr "HINT: %s\n" -#: fe-protocol3.c:1119 +#: fe-protocol3.c:1124 #, c-format msgid "QUERY: %s\n" msgstr "QUERY: %s\n" -#: fe-protocol3.c:1126 +#: fe-protocol3.c:1131 #, c-format msgid "CONTEXT: %s\n" msgstr "CONTEXT: %s\n" -#: fe-protocol3.c:1135 +#: fe-protocol3.c:1140 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "SCHEMA NAME: %s\n" -#: fe-protocol3.c:1139 +#: fe-protocol3.c:1144 #, c-format msgid "TABLE NAME: %s\n" msgstr "TABLE NAME: %s\n" -#: fe-protocol3.c:1143 +#: fe-protocol3.c:1148 #, c-format msgid "COLUMN NAME: %s\n" msgstr "COLUMN NAME: %s\n" -#: fe-protocol3.c:1147 +#: fe-protocol3.c:1152 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "DATATYPE NAME: %s\n" -#: fe-protocol3.c:1151 +#: fe-protocol3.c:1156 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "CONSTRAINT NAME: %s\n" -#: fe-protocol3.c:1163 +#: fe-protocol3.c:1168 msgid "LOCATION: " msgstr "LOCATION: " -#: fe-protocol3.c:1165 +#: fe-protocol3.c:1170 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1167 +#: fe-protocol3.c:1172 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1362 +#: fe-protocol3.c:1380 #, c-format msgid "LINE %d: " msgstr "行 %d: " -#: fe-protocol3.c:1436 +#: fe-protocol3.c:1454 #, c-format msgid "protocol version not supported by server: client uses %u.%u, server supports up to %u.%u" msgstr "サーバーはこのプロトコルバージョンをサポートしていません。クライアントは%u.%uを使用、 サーバーは%u.%uまでをサポートします" -#: fe-protocol3.c:1442 +#: fe-protocol3.c:1460 #, c-format msgid "protocol extension not supported by server: %s" msgid_plural "protocol extensions not supported by server: %s" msgstr[0] "サーバーでサポートされていないプロトコル拡張: %s" -#: fe-protocol3.c:1450 +#: fe-protocol3.c:1468 #, c-format msgid "invalid %s message" msgstr "不正な%sメッセージ" -#: fe-protocol3.c:1811 +#: fe-protocol3.c:1833 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline: テキストのCOPY OUTを行っていません" -#: fe-protocol3.c:2186 +#: fe-protocol3.c:2207 #, c-format msgid "protocol error: no function result" msgstr "プロトコルエラー: 関数の結果がありません" -#: fe-protocol3.c:2198 +#: fe-protocol3.c:2218 #, c-format msgid "protocol error: id=0x%x" msgstr "プロトコルエラー: id=0x%x" @@ -1311,132 +1276,128 @@ msgid "could not get server's host name from server certificate" msgstr "サーバー証明書からサーバーのホスト名を取得できませんでした" -#: fe-secure-gssapi.c:194 +#: fe-secure-gssapi.c:201 msgid "GSSAPI wrap error" msgstr "GSSAPI名ラップエラー" -#: fe-secure-gssapi.c:201 +#: fe-secure-gssapi.c:208 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" msgstr "送出されるGSSAPIメッセージに機密性が適用されません" -#: fe-secure-gssapi.c:208 +#: fe-secure-gssapi.c:215 fe-secure-gssapi.c:726 #, c-format msgid "client tried to send oversize GSSAPI packet (%zu > %zu)" msgstr "クライアントは過大なGSSAPIパケットを送信しようとしました: (%zu > %zu)" -#: fe-secure-gssapi.c:347 fe-secure-gssapi.c:589 +#: fe-secure-gssapi.c:354 fe-secure-gssapi.c:602 #, c-format msgid "oversize GSSAPI packet sent by the server (%zu > %zu)" msgstr "過大なGSSAPIパケットがサーバーから送出されました: (%zu > %zu)" -#: fe-secure-gssapi.c:386 +#: fe-secure-gssapi.c:393 msgid "GSSAPI unwrap error" msgstr "GSSAPIアンラップエラー" -#: fe-secure-gssapi.c:395 +#: fe-secure-gssapi.c:402 #, c-format msgid "incoming GSSAPI message did not use confidentiality" msgstr "到着したGSSAPIメッセージには機密性が適用されていません" -#: fe-secure-gssapi.c:652 +#: fe-secure-gssapi.c:665 msgid "could not initiate GSSAPI security context" msgstr "GSSAPIセキュリティコンテキストを開始できませんでした" -#: fe-secure-gssapi.c:681 +#: fe-secure-gssapi.c:715 msgid "GSSAPI size check error" msgstr "GSSAPIサイズチェックエラー" -#: fe-secure-gssapi.c:692 -msgid "GSSAPI context establishment error" -msgstr "GSSAPIコンテクスト確立エラー" - -#: fe-secure-openssl.c:184 fe-secure-openssl.c:290 fe-secure-openssl.c:1320 +#: fe-secure-openssl.c:207 fe-secure-openssl.c:313 fe-secure-openssl.c:1524 #, c-format msgid "SSL SYSCALL error: %s" msgstr "SSL SYSCALLエラー: %s" -#: fe-secure-openssl.c:190 fe-secure-openssl.c:296 fe-secure-openssl.c:1323 +#: fe-secure-openssl.c:213 fe-secure-openssl.c:319 fe-secure-openssl.c:1527 #, c-format msgid "SSL SYSCALL error: EOF detected" msgstr "SSL SYSCALLエラー: EOFを検出" -#: fe-secure-openssl.c:200 fe-secure-openssl.c:306 fe-secure-openssl.c:1331 +#: fe-secure-openssl.c:223 fe-secure-openssl.c:329 fe-secure-openssl.c:1535 #, c-format msgid "SSL error: %s" msgstr "SSLエラー: %s" -#: fe-secure-openssl.c:214 fe-secure-openssl.c:320 +#: fe-secure-openssl.c:237 fe-secure-openssl.c:343 #, c-format msgid "SSL connection has been closed unexpectedly" msgstr "SSL接続が意図せずにクローズされました" -#: fe-secure-openssl.c:219 fe-secure-openssl.c:325 fe-secure-openssl.c:1378 +#: fe-secure-openssl.c:242 fe-secure-openssl.c:348 fe-secure-openssl.c:1582 #, c-format msgid "unrecognized SSL error code: %d" msgstr "認識できないSSLエラーコード: %d" -#: fe-secure-openssl.c:367 +#: fe-secure-openssl.c:390 #, c-format msgid "could not determine server certificate signature algorithm" msgstr "サーバー証明書の署名アルゴリズムを特定できませんでした" -#: fe-secure-openssl.c:387 +#: fe-secure-openssl.c:410 #, c-format msgid "could not find digest for NID %s" msgstr "NID %sのダイジェストが見つかりませんでした" -#: fe-secure-openssl.c:396 +#: fe-secure-openssl.c:419 #, c-format msgid "could not generate peer certificate hash" msgstr "接続先の証明書ハッシュの生成に失敗しました" -#: fe-secure-openssl.c:478 +#: fe-secure-openssl.c:501 #, c-format msgid "SSL certificate's name entry is missing" msgstr "SSL証明書に名前のエントリがありません" -#: fe-secure-openssl.c:508 +#: fe-secure-openssl.c:535 #, c-format msgid "SSL certificate's address entry is missing" msgstr "SSL証明書のアドレスのエントリがありません" -#: fe-secure-openssl.c:731 +#: fe-secure-openssl.c:935 #, c-format msgid "could not create SSL context: %s" msgstr "SSLコンテキストを作成できませんでした: %s" -#: fe-secure-openssl.c:773 +#: fe-secure-openssl.c:977 #, c-format msgid "invalid value \"%s\" for minimum SSL protocol version" msgstr "SSLプロトコル最小バージョンに対する不正な値\"%s\"" -#: fe-secure-openssl.c:783 +#: fe-secure-openssl.c:987 #, c-format msgid "could not set minimum SSL protocol version: %s" msgstr "SSLプロトコル最小バージョンを設定できませんでした: %s" -#: fe-secure-openssl.c:799 +#: fe-secure-openssl.c:1003 #, c-format msgid "invalid value \"%s\" for maximum SSL protocol version" msgstr "SSLプロトコル最大バージョンに対する不正な値\"%s\"" -#: fe-secure-openssl.c:809 +#: fe-secure-openssl.c:1013 #, c-format msgid "could not set maximum SSL protocol version: %s" msgstr "SSLプロトコル最大バージョンを設定できませんでした: %s" -#: fe-secure-openssl.c:847 +#: fe-secure-openssl.c:1051 #, c-format msgid "could not load system root certificate paths: %s" msgstr "システムルート証明書パスをロードできませんでした: %s" -#: fe-secure-openssl.c:864 +#: fe-secure-openssl.c:1068 #, c-format msgid "could not read root certificate file \"%s\": %s" msgstr "ルート証明書ファイル\"%s\"を読み取れませんでした: %s" -#: fe-secure-openssl.c:916 +#: fe-secure-openssl.c:1120 #, c-format msgid "" "could not get home directory to locate root certificate file\n" @@ -1445,7 +1406,7 @@ "ルート証明書ファイルを特定するためのホームディレクトリが取得できませんでした\n" "ファイルを用意する、 sslrootcert=systemでシステムの信頼済みルート証明書を使用する、または sslmode を変更してサーバー証明書の検証を無効にしてください。" -#: fe-secure-openssl.c:919 +#: fe-secure-openssl.c:1123 #, c-format msgid "" "root certificate file \"%s\" does not exist\n" @@ -1454,127 +1415,127 @@ "ルート証明書ファイル\"%s\"が存在しません\n" "ファイルを用意する、sslrootcert=systemでシステムの信頼済みルート証明書を使用する、またはsslmodeを変更してサーバー証明書の検証を無効にしてください。" -#: fe-secure-openssl.c:954 +#: fe-secure-openssl.c:1158 #, c-format msgid "could not open certificate file \"%s\": %s" msgstr "証明書ファイル\"%s\"をオープンできませんでした: %s" -#: fe-secure-openssl.c:972 +#: fe-secure-openssl.c:1176 #, c-format msgid "could not read certificate file \"%s\": %s" msgstr "証明書ファイル\"%s\"を読み込めませんでした: %s" -#: fe-secure-openssl.c:996 +#: fe-secure-openssl.c:1200 #, c-format msgid "could not establish SSL connection: %s" msgstr "SSL接続を確立できませんでした: %s" -#: fe-secure-openssl.c:1028 +#: fe-secure-openssl.c:1232 #, c-format msgid "could not set SSL Server Name Indication (SNI): %s" msgstr "SSLサーバー名表示(SNI)を設定できませんでした: %s" -#: fe-secure-openssl.c:1045 +#: fe-secure-openssl.c:1249 #, c-format msgid "could not set SSL ALPN extension: %s" msgstr "SSL ALPN拡張を設定できませんでした: %s" -#: fe-secure-openssl.c:1088 +#: fe-secure-openssl.c:1292 #, c-format msgid "could not load SSL engine \"%s\": %s" msgstr "SSLエンジン\"%s\"を読み込みできませんでした: %s" -#: fe-secure-openssl.c:1099 +#: fe-secure-openssl.c:1303 #, c-format msgid "could not initialize SSL engine \"%s\": %s" msgstr "SSLエンジン\"%s\"を初期化できませんでした: %s" -#: fe-secure-openssl.c:1114 +#: fe-secure-openssl.c:1318 #, c-format msgid "could not read private SSL key \"%s\" from engine \"%s\": %s" msgstr "SSL秘密鍵\"%s\"をエンジン\"%s\"から読み取れませんでした: %s" -#: fe-secure-openssl.c:1127 +#: fe-secure-openssl.c:1331 #, c-format msgid "could not load private SSL key \"%s\" from engine \"%s\": %s" msgstr "SSL秘密鍵\"%s\"をエンジン\"%s\"から読み取れませんでした: %s" -#: fe-secure-openssl.c:1164 +#: fe-secure-openssl.c:1368 #, c-format msgid "certificate present, but not private key file \"%s\"" msgstr "証明書はありますが、秘密鍵ファイル\"%s\"はありません" -#: fe-secure-openssl.c:1167 +#: fe-secure-openssl.c:1371 #, c-format msgid "could not stat private key file \"%s\": %m" msgstr "秘密鍵ファイル\"%s\"をstatできませんでした: %m" -#: fe-secure-openssl.c:1175 +#: fe-secure-openssl.c:1379 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "秘密鍵ファイル\"%s\"は通常のファイルではありません" -#: fe-secure-openssl.c:1208 +#: fe-secure-openssl.c:1412 #, c-format msgid "private key file \"%s\" has group or world access; file must have permissions u=rw (0600) or less if owned by the current user, or permissions u=rw,g=r (0640) or less if owned by root" msgstr "秘密鍵ファイル\"%s\"はグループに対して、もしくは無制限にアクセスを許可しています; ファイルのパーミッションは u=rw (0600) かそれよりも狭い必要があります、rootが所有している場合は u=rw,g=r (0640) かそれよりも狭い必要があります" -#: fe-secure-openssl.c:1232 +#: fe-secure-openssl.c:1436 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "秘密鍵ファイル\"%s\"をロードできませんでした: %s" -#: fe-secure-openssl.c:1248 +#: fe-secure-openssl.c:1452 #, c-format msgid "certificate does not match private key file \"%s\": %s" msgstr "証明書と秘密鍵ファイル\"%s\"が一致しません: %s" -#: fe-secure-openssl.c:1317 +#: fe-secure-openssl.c:1521 #, c-format msgid "SSL error: certificate verify failed: %s" msgstr "SSLエラー: 証明書の検証に失敗しました: %s" -#: fe-secure-openssl.c:1362 +#: fe-secure-openssl.c:1566 #, c-format msgid "This may indicate that the server does not support any SSL protocol version between %s and %s." msgstr "このことは、クライアントがSSLプロトコルのバージョン%sから%sの間のいずれもサポートしていないことを示唆しているかもしれません。" -#: fe-secure-openssl.c:1394 +#: fe-secure-openssl.c:1598 #, c-format msgid "direct SSL connection was established without ALPN protocol negotiation extension" msgstr "直接SSL接続がALPNプロトコルネゴシエーション拡張なしで確立されました" -#: fe-secure-openssl.c:1406 +#: fe-secure-openssl.c:1610 #, c-format msgid "SSL connection was established with unexpected ALPN protocol" msgstr "SSL接続が想定外のALPNプロトコルで確立されました" -#: fe-secure-openssl.c:1423 +#: fe-secure-openssl.c:1627 #, c-format msgid "certificate could not be obtained: %s" msgstr "証明書を取得できませんでした: %s" -#: fe-secure-openssl.c:1502 +#: fe-secure-openssl.c:1734 #, c-format msgid "no SSL error reported" msgstr "SSLエラーはありませんでした" -#: fe-secure-openssl.c:1545 +#: fe-secure-openssl.c:1777 #, c-format msgid "SSL error code %lu" msgstr "SSLエラーコード: %lu" -#: fe-secure-openssl.c:1847 +#: fe-secure-openssl.c:2076 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "警告: sslpasswordが切り詰められました\n" -#: fe-secure.c:233 +#: fe-secure.c:248 #, c-format msgid "could not receive data from server: %s" msgstr "サーバーからデータを受信できませんでした: %s" -#: fe-secure.c:404 +#: fe-secure.c:419 #, c-format msgid "could not send data to server: %s" msgstr "サーバーにデータを送信できませんでした: %s" @@ -1584,8 +1545,47 @@ msgid "unrecognized socket error: 0x%08X/%d" msgstr "不明なソケットエラー 0x%08X/%d" +#~ msgid "GSSAPI context establishment error" +#~ msgstr "GSSAPIコンテクスト確立エラー" + +#~ msgid "authentication method requirement \"%s\" failed: server requested %s authentication" +#~ msgstr "必須の認証方式\"%s\"を満たせませんでした: サーバーは %s 認証を要求しました" + +#~ msgid "could not look up local user ID %ld: %m" +#~ msgstr "ローカルユーザーID %ldの参照に失敗しました: %m" + +#~ msgid "internal error: async authentication did not set a socket for polling" +#~ msgstr "内部エラー: 非同期認証がポーリング対象のソケットを設定しませんでした" + +#~ msgid "internal error: async authentication has no handler" +#~ msgstr "内部エラー: 非同期認証のハンドラーがありません" + +#~ msgid "internal error: async cleanup did not release polling socket" +#~ msgstr "内部エラー: 非同期クリーンアップがポーリング中のソケットを解放しませんでした" + +#~ msgid "internal error: no space in allowed_sasl_mechs" +#~ msgstr "内部エラー: allowed_sasl_mechs に空きがありません" + +#~ msgid "invalid SCRAM client key" +#~ msgstr "不正なSCRAMクライアントキー" + +#~ msgid "invalid SCRAM client key length: %d" +#~ msgstr "不正なSCRAMクライアントキー長: %d" + +#~ msgid "invalid SCRAM server key" +#~ msgstr "不正なSCRAMサーバーキー" + +#~ msgid "invalid SCRAM server key length: %d" +#~ msgstr "不正なSCRAMサーバーキー長: %d" + #~ msgid "keepalives parameter must be an integer" #~ msgstr "keepaliveのパラメータは整数でなければなりません" +#~ msgid "local user with ID %ld does not exist" +#~ msgstr "ID %ld を持つローカルユーザーは存在しません" + #~ msgid "trailing data found: \"%s\"" #~ msgstr "後続のデータがあります: \"%s\"" + +#~ msgid "unexpected spaces found in \"%s\", use percent-encoded spaces (%%20) instead" +#~ msgstr "\"%s\"に予期しない空白文字があります、代わりにパーセントエンコードされた空白文字(%%20)を使用してください" diff -Nru postgresql-17-17.7/src/interfaces/libpq/po/ru.po postgresql-17-17.8/src/interfaces/libpq/po/ru.po --- postgresql-17-17.7/src/interfaces/libpq/po/ru.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/libpq/po/ru.po 2026-02-09 21:51:54.000000000 +0000 @@ -4,14 +4,14 @@ # Serguei A. Mokhov , 2001-2004. # Oleg Bartunov , 2005. # Andrey Sudnik , 2010. -# SPDX-FileCopyrightText: 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 Alexander Lakhin +# SPDX-FileCopyrightText: 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026 Alexander Lakhin # Maxim Yablokov , 2021. msgid "" msgstr "" "Project-Id-Version: libpq (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-09 06:28+0200\n" -"PO-Revision-Date: 2025-05-03 16:34+0300\n" +"POT-Creation-Date: 2026-02-07 11:39+0200\n" +"PO-Revision-Date: 2026-02-07 10:48+0200\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -76,17 +76,17 @@ #: fe-auth-scram.c:614 fe-auth-scram.c:638 fe-auth-scram.c:652 #: fe-auth-scram.c:698 fe-auth-scram.c:734 fe-auth-scram.c:908 fe-auth.c:296 #: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:727 fe-auth.c:1200 -#: fe-auth.c:1363 fe-cancel.c:160 fe-connect.c:936 fe-connect.c:976 -#: fe-connect.c:1860 fe-connect.c:2022 fe-connect.c:3430 fe-connect.c:4761 -#: fe-connect.c:5073 fe-connect.c:5328 fe-connect.c:5446 fe-connect.c:5693 -#: fe-connect.c:5773 fe-connect.c:5871 fe-connect.c:6122 fe-connect.c:6149 -#: fe-connect.c:6225 fe-connect.c:6248 fe-connect.c:6272 fe-connect.c:6307 -#: fe-connect.c:6393 fe-connect.c:6401 fe-connect.c:6758 fe-connect.c:6908 -#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4293 fe-exec.c:4459 -#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:209 fe-protocol3.c:232 -#: fe-protocol3.c:255 fe-protocol3.c:272 fe-protocol3.c:293 fe-protocol3.c:369 -#: fe-protocol3.c:737 fe-protocol3.c:976 fe-protocol3.c:1787 -#: fe-protocol3.c:2187 fe-secure-common.c:110 fe-secure-gssapi.c:508 +#: fe-auth.c:1363 fe-cancel.c:160 fe-connect.c:937 fe-connect.c:977 +#: fe-connect.c:1861 fe-connect.c:2023 fe-connect.c:3431 fe-connect.c:4762 +#: fe-connect.c:5074 fe-connect.c:5343 fe-connect.c:5461 fe-connect.c:5708 +#: fe-connect.c:5788 fe-connect.c:5886 fe-connect.c:6137 fe-connect.c:6164 +#: fe-connect.c:6240 fe-connect.c:6263 fe-connect.c:6287 fe-connect.c:6322 +#: fe-connect.c:6408 fe-connect.c:6416 fe-connect.c:6773 fe-connect.c:6923 +#: fe-exec.c:530 fe-exec.c:1320 fe-exec.c:3259 fe-exec.c:4330 fe-exec.c:4523 +#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:210 fe-protocol3.c:233 +#: fe-protocol3.c:256 fe-protocol3.c:273 fe-protocol3.c:294 fe-protocol3.c:370 +#: fe-protocol3.c:738 fe-protocol3.c:977 fe-protocol3.c:1801 +#: fe-protocol3.c:2201 fe-secure-common.c:110 fe-secure-gssapi.c:508 #: fe-secure-gssapi.c:699 fe-secure-openssl.c:427 fe-secure-openssl.c:1277 #, c-format msgid "out of memory" @@ -375,17 +375,17 @@ msgid "unexpected response from server" msgstr "неожиданный ответ сервера" -#: fe-connect.c:1182 +#: fe-connect.c:1183 #, c-format msgid "could not match %d host names to %d hostaddr values" msgstr "не удалось сопоставить имена узлов (%d) со значениями hostaddr (%d)" -#: fe-connect.c:1262 +#: fe-connect.c:1263 #, c-format msgid "could not match %d port numbers to %d hosts" msgstr "не удалось сопоставить номера портов (%d) с узлами (%d)" -#: fe-connect.c:1387 +#: fe-connect.c:1388 #, c-format msgid "" "negative require_auth method \"%s\" cannot be mixed with non-negative methods" @@ -393,29 +393,29 @@ "отрицательный метод require_auth \"%s\" не может совмещаться с " "неотрицательными методами" -#: fe-connect.c:1400 +#: fe-connect.c:1401 #, c-format msgid "require_auth method \"%s\" cannot be mixed with negative methods" msgstr "" "метод require_auth \"%s\" не может совмещаться с отрицательными методами" -#: fe-connect.c:1460 fe-connect.c:1511 fe-connect.c:1553 fe-connect.c:1596 -#: fe-connect.c:1699 fe-connect.c:1745 fe-connect.c:1785 fe-connect.c:1806 +#: fe-connect.c:1461 fe-connect.c:1512 fe-connect.c:1554 fe-connect.c:1597 +#: fe-connect.c:1700 fe-connect.c:1746 fe-connect.c:1786 fe-connect.c:1807 #, c-format msgid "invalid %s value: \"%s\"" msgstr "неверное значение %s: \"%s\"" -#: fe-connect.c:1493 +#: fe-connect.c:1494 #, c-format msgid "require_auth method \"%s\" is specified more than once" msgstr "метод require_auth \"%s\" указан неоднократно" -#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707 +#: fe-connect.c:1535 fe-connect.c:1574 fe-connect.c:1606 fe-connect.c:1708 #, c-format msgid "%s value \"%s\" invalid when SSL support is not compiled in" msgstr "значение %s \"%s\" недопустимо для сборки без поддержки SSL" -#: fe-connect.c:1625 +#: fe-connect.c:1626 #, c-format msgid "" "weak sslmode \"%s\" may not be used with sslnegotiation=direct (use " @@ -424,7 +424,7 @@ "слабый режим sslmode \"%s\" не может использоваться с sslnegotiation=direct " "(используйте режим \"require\", \"verify-ca\" или \"verify-full\")" -#: fe-connect.c:1647 +#: fe-connect.c:1648 #, c-format msgid "" "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-" @@ -433,47 +433,47 @@ "слабый режим sslmode \"%s\" не может использоваться с sslrootcert=system " "(используйте режим \"verify-full\")" -#: fe-connect.c:1660 fe-connect.c:1668 +#: fe-connect.c:1661 fe-connect.c:1669 #, c-format msgid "invalid \"%s\" value: \"%s\"" msgstr "неверное значение \"%s\": \"%s\"" -#: fe-connect.c:1685 +#: fe-connect.c:1686 #, c-format msgid "invalid SSL protocol version range" msgstr "неверный диапазон версий протокола SSL" -#: fe-connect.c:1722 +#: fe-connect.c:1723 #, c-format msgid "%s value \"%s\" is not supported (check OpenSSL version)" msgstr "значение %s \"%s\" не поддерживается (проверьте версию OpenSSL)" -#: fe-connect.c:1752 +#: fe-connect.c:1753 #, c-format msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" msgstr "значение gssencmode \"%s\" недопустимо для сборки без поддержки GSSAPI" -#: fe-connect.c:2045 +#: fe-connect.c:2046 #, c-format msgid "could not set socket to TCP no delay mode: %s" msgstr "не удалось перевести сокет в режим TCP-передачи без задержки: %s" -#: fe-connect.c:2104 +#: fe-connect.c:2105 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "подключиться к серверу через сокет \"%s\" не удалось: " -#: fe-connect.c:2130 +#: fe-connect.c:2131 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "подключиться к серверу \"%s\" (%s), порту %s не удалось: " -#: fe-connect.c:2135 +#: fe-connect.c:2136 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "подключиться к серверу \"%s\", порту %s не удалось: " -#: fe-connect.c:2158 +#: fe-connect.c:2159 #, c-format msgid "" "\tIs the server running locally and accepting connections on that socket?" @@ -481,314 +481,321 @@ "\tСервер действительно работает локально и принимает подключения через этот " "сокет?" -#: fe-connect.c:2160 +#: fe-connect.c:2161 #, c-format msgid "\tIs the server running on that host and accepting TCP/IP connections?" msgstr "" "\tСервер действительно работает по данному адресу и принимает TCP-соединения?" -#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373 -#: fe-connect.c:3098 +#: fe-connect.c:2207 fe-connect.c:2241 fe-connect.c:2276 fe-connect.c:2374 +#: fe-connect.c:3099 #, c-format msgid "%s(%s) failed: %s" msgstr "ошибка в %s(%s): %s" -#: fe-connect.c:2339 +#: fe-connect.c:2340 #, c-format msgid "%s(%s) failed: error code %d" msgstr "ошибка в %s(%s): код ошибки %d" -#: fe-connect.c:2650 +#: fe-connect.c:2651 #, c-format msgid "invalid connection state, probably indicative of memory corruption" msgstr "неверное состояние соединения - возможно разрушение памяти" -#: fe-connect.c:2733 +#: fe-connect.c:2734 #, c-format msgid "invalid port number: \"%s\"" msgstr "неверный номер порта: \"%s\"" -#: fe-connect.c:2747 +#: fe-connect.c:2748 #, c-format msgid "could not translate host name \"%s\" to address: %s" msgstr "преобразовать имя \"%s\" в адрес не удалось: %s" -#: fe-connect.c:2759 +#: fe-connect.c:2760 #, c-format msgid "could not parse network address \"%s\": %s" msgstr "не удалось разобрать сетевой адрес \"%s\": %s" -#: fe-connect.c:2770 +#: fe-connect.c:2771 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "длина пути Unix-сокета \"%s\" превышает предел (%d байт)" -#: fe-connect.c:2784 +#: fe-connect.c:2785 #, c-format msgid "could not translate Unix-domain socket path \"%s\" to address: %s" msgstr "преобразовать путь Unix-сокета \"%s\" в адрес не удалось: %s" -#: fe-connect.c:2950 fe-connect.c:4305 +#: fe-connect.c:2951 fe-connect.c:4306 #, c-format msgid "GSSAPI encryption required but it is not supported over a local socket" msgstr "" "затребовано шифрование GSSAPI, но оно не поддерживается для локального сокета" -#: fe-connect.c:2958 fe-connect.c:4434 +#: fe-connect.c:2959 fe-connect.c:4435 #, c-format msgid "GSSAPI encryption required but no credential cache" msgstr "шифрование GSSAPI затребовано в отсутствие кеша учётных данных" -#: fe-connect.c:3026 +#: fe-connect.c:3027 #, c-format msgid "could not create socket: %s" msgstr "не удалось создать сокет: %s" -#: fe-connect.c:3057 +#: fe-connect.c:3058 #, c-format msgid "could not set socket to nonblocking mode: %s" msgstr "не удалось перевести сокет в неблокирующий режим: %s" -#: fe-connect.c:3068 +#: fe-connect.c:3069 #, c-format msgid "could not set socket to close-on-exec mode: %s" msgstr "" "не удалось перевести сокет в режим закрытия при выполнении (close-on-exec): " "%s" -#: fe-connect.c:3225 +#: fe-connect.c:3226 #, c-format msgid "could not get socket error status: %s" msgstr "не удалось получить статус ошибки сокета: %s" -#: fe-connect.c:3252 +#: fe-connect.c:3253 #, c-format msgid "could not get client address from socket: %s" msgstr "не удалось получить адрес клиента из сокета: %s" -#: fe-connect.c:3278 +#: fe-connect.c:3279 #, c-format msgid "requirepeer parameter is not supported on this platform" msgstr "параметр requirepeer не поддерживается в этой ОС" -#: fe-connect.c:3280 +#: fe-connect.c:3281 #, c-format msgid "could not get peer credentials: %s" msgstr "не удалось получить учётные данные сервера: %s" -#: fe-connect.c:3293 +#: fe-connect.c:3294 #, c-format msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" msgstr "" "requirepeer допускает подключение только к \"%s\", но сервер работает под " "именем \"%s\"" -#: fe-connect.c:3331 +#: fe-connect.c:3332 #, c-format msgid "could not send GSSAPI negotiation packet: %s" msgstr "не удалось отправить пакет согласования GSSAPI: %s" -#: fe-connect.c:3380 +#: fe-connect.c:3381 #, c-format msgid "could not send SSL negotiation packet: %s" msgstr "не удалось отправить пакет согласования SSL: %s" -#: fe-connect.c:3412 +#: fe-connect.c:3413 #, c-format msgid "could not send cancel packet: %s" msgstr "не удалось отправить пакет отмены: %s" -#: fe-connect.c:3442 +#: fe-connect.c:3443 #, c-format msgid "could not send startup packet: %s" msgstr "не удалось отправить стартовый пакет: %s" -#: fe-connect.c:3509 +#: fe-connect.c:3510 msgid "server does not support SSL, but SSL was required" msgstr "затребовано подключение через SSL, но сервер не поддерживает SSL" -#: fe-connect.c:3519 +#: fe-connect.c:3520 #, c-format msgid "server sent an error response during SSL exchange" msgstr "сервер передал ошибочный ответ во время обмена сообщениями SSL" -#: fe-connect.c:3524 +#: fe-connect.c:3525 #, c-format msgid "received invalid response to SSL negotiation: %c" msgstr "получен неверный ответ при согласовании SSL: %c" -#: fe-connect.c:3552 +#: fe-connect.c:3553 #, c-format msgid "received unencrypted data after SSL response" msgstr "после ответа SSL получены незашифрованные данные" -#: fe-connect.c:3615 +#: fe-connect.c:3616 #, c-format msgid "server sent an error response during GSS encryption exchange" msgstr "сервер передал ошибочный ответ во время шифрования GSS" -#: fe-connect.c:3629 +#: fe-connect.c:3630 msgid "server doesn't support GSSAPI encryption, but it was required" msgstr "затребовано шифрование GSSAPI, но сервер его не поддерживает" -#: fe-connect.c:3633 +#: fe-connect.c:3634 #, c-format msgid "received invalid response to GSSAPI negotiation: %c" msgstr "получен неверный ответ при согласовании GSSAPI: %c" -#: fe-connect.c:3651 +#: fe-connect.c:3652 #, c-format msgid "received unencrypted data after GSSAPI encryption response" msgstr "" "после ответа на запрос шифрования GSSAPI получены незашифрованные данные" -#: fe-connect.c:3711 +#: fe-connect.c:3712 #, c-format msgid "expected authentication request from server, but received %c" msgstr "ожидался запрос аутентификации от сервера, но получено: %c" -#: fe-connect.c:3739 fe-connect.c:3862 +#: fe-connect.c:3740 fe-connect.c:3863 #, c-format msgid "received invalid authentication request" msgstr "получен некорректный запрос аутентификации" -#: fe-connect.c:3745 fe-connect.c:3847 +#: fe-connect.c:3746 fe-connect.c:3848 #, c-format msgid "received invalid protocol negotiation message" msgstr "получено некорректное сообщение согласования протокола" -#: fe-connect.c:3764 fe-connect.c:3818 +#: fe-connect.c:3765 fe-connect.c:3819 #, c-format msgid "received invalid error message" msgstr "получено некорректное сообщение об ошибке" -#: fe-connect.c:3933 +#: fe-connect.c:3934 #, c-format msgid "unexpected message from server during startup" msgstr "неожиданное сообщение от сервера в начале работы" -#: fe-connect.c:4024 +#: fe-connect.c:4025 #, c-format msgid "session is read-only" msgstr "сеанс не допускает запись" -#: fe-connect.c:4026 +#: fe-connect.c:4027 #, c-format msgid "session is not read-only" msgstr "сеанс допускает запись" -#: fe-connect.c:4079 +#: fe-connect.c:4080 #, c-format msgid "server is in hot standby mode" msgstr "сервер работает в режиме горячего резерва" -#: fe-connect.c:4081 +#: fe-connect.c:4082 #, c-format msgid "server is not in hot standby mode" msgstr "сервер работает не в режиме горячего резерва" -#: fe-connect.c:4203 fe-connect.c:4253 +#: fe-connect.c:4204 fe-connect.c:4254 #, c-format msgid "\"%s\" failed" msgstr "выполнить \"%s\" не удалось" -#: fe-connect.c:4267 +#: fe-connect.c:4268 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption" msgstr "неверное состояние соединения %d - возможно разрушение памяти" -#: fe-connect.c:5086 +#: fe-connect.c:5087 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://" msgstr "некорректный адрес LDAP \"%s\": схема должна быть ldap://" -#: fe-connect.c:5101 +#: fe-connect.c:5102 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "некорректный адрес LDAP \"%s\": отсутствует уникальное имя" -#: fe-connect.c:5113 fe-connect.c:5171 +#: fe-connect.c:5114 fe-connect.c:5172 #, c-format msgid "invalid LDAP URL \"%s\": must have exactly one attribute" msgstr "некорректный адрес LDAP \"%s\": должен быть только один атрибут" -#: fe-connect.c:5125 fe-connect.c:5187 +#: fe-connect.c:5126 fe-connect.c:5188 #, c-format msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" msgstr "" "некорректный адрес LDAP \"%s\": не указана область поиска (base/one/sub)" -#: fe-connect.c:5137 +#: fe-connect.c:5138 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "некорректный адрес LDAP \"%s\": нет фильтра" -#: fe-connect.c:5159 +#: fe-connect.c:5160 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number" msgstr "некорректный адрес LDAP \"%s\": неверный номер порта" -#: fe-connect.c:5196 +#: fe-connect.c:5197 #, c-format msgid "could not create LDAP structure" msgstr "не удалось создать структуру LDAP" -#: fe-connect.c:5271 +#: fe-connect.c:5272 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "ошибка поиска на сервере LDAP: %s" -#: fe-connect.c:5281 +#: fe-connect.c:5282 #, c-format msgid "more than one entry found on LDAP lookup" msgstr "при поиске LDAP найдено более одного вхождения" -#: fe-connect.c:5283 fe-connect.c:5294 +#: fe-connect.c:5284 fe-connect.c:5295 #, c-format msgid "no entry found on LDAP lookup" msgstr "при поиске LDAP ничего не найдено" -#: fe-connect.c:5304 fe-connect.c:5316 +#: fe-connect.c:5305 fe-connect.c:5317 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "атрибут не содержит значений при поиске LDAP" -#: fe-connect.c:5367 fe-connect.c:5386 fe-connect.c:5910 +#: fe-connect.c:5331 +#, c-format +msgid "connection info string size exceeds the maximum allowed (%d)" +msgstr "" +"размер строки с информацией о подключении превышает максимально допустимый " +"(%d)" + +#: fe-connect.c:5382 fe-connect.c:5401 fe-connect.c:5925 #, c-format msgid "missing \"=\" after \"%s\" in connection info string" msgstr "в строке соединения нет \"=\" после \"%s\"" -#: fe-connect.c:5457 fe-connect.c:6093 fe-connect.c:6891 +#: fe-connect.c:5472 fe-connect.c:6108 fe-connect.c:6906 #, c-format msgid "invalid connection option \"%s\"" msgstr "неверный параметр соединения \"%s\"" -#: fe-connect.c:5472 fe-connect.c:5958 +#: fe-connect.c:5487 fe-connect.c:5973 #, c-format msgid "unterminated quoted string in connection info string" msgstr "в строке соединения не хватает закрывающей кавычки" -#: fe-connect.c:5552 +#: fe-connect.c:5567 #, c-format msgid "definition of service \"%s\" not found" msgstr "определение службы \"%s\" не найдено" -#: fe-connect.c:5578 +#: fe-connect.c:5593 #, c-format msgid "service file \"%s\" not found" msgstr "файл определений служб \"%s\" не найден" -#: fe-connect.c:5591 +#: fe-connect.c:5606 #, c-format msgid "line %d too long in service file \"%s\"" msgstr "слишком длинная строка (%d) в файле определений служб \"%s\"" -#: fe-connect.c:5662 fe-connect.c:5705 +#: fe-connect.c:5677 fe-connect.c:5720 #, c-format msgid "syntax error in service file \"%s\", line %d" msgstr "синтаксическая ошибка в файле определения служб \"%s\" (строка %d)" -#: fe-connect.c:5673 +#: fe-connect.c:5688 #, c-format msgid "" "nested service specifications not supported in service file \"%s\", line %d" @@ -796,24 +803,24 @@ "рекурсивные определения служб не поддерживаются (файл определения служб " "\"%s\", строка %d)" -#: fe-connect.c:6412 +#: fe-connect.c:6427 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"" msgstr "во внутреннюю процедуру разбора строки передан ошибочный URI: \"%s\"" -#: fe-connect.c:6489 +#: fe-connect.c:6504 #, c-format msgid "" "end of string reached when looking for matching \"]\" in IPv6 host address " "in URI: \"%s\"" msgstr "URI не содержит символ \"]\" после адреса IPv6: \"%s\"" -#: fe-connect.c:6496 +#: fe-connect.c:6511 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"" msgstr "IPv6, содержащийся в URI, не может быть пустым: \"%s\"" -#: fe-connect.c:6511 +#: fe-connect.c:6526 #, c-format msgid "" "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): " @@ -822,46 +829,46 @@ "неожиданный символ \"%c\" в позиции %d в URI (ожидалось \":\" или \"/\"): " "\"%s\"" -#: fe-connect.c:6640 +#: fe-connect.c:6655 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "лишний разделитель ключа/значения \"=\" в параметрах URI: \"%s\"" -#: fe-connect.c:6660 +#: fe-connect.c:6675 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "в параметрах URI не хватает разделителя ключа/значения \"=\": \"%s\"" -#: fe-connect.c:6712 +#: fe-connect.c:6727 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "неверный параметр в URI: \"%s\"" -#: fe-connect.c:6786 +#: fe-connect.c:6801 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "неверный символ, закодированный с %%: \"%s\"" -#: fe-connect.c:6796 +#: fe-connect.c:6811 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"" msgstr "недопустимое значение %%00 для символа, закодированного с %%: \"%s\"" -#: fe-connect.c:7162 +#: fe-connect.c:7177 msgid "connection pointer is NULL\n" msgstr "нулевой указатель соединения\n" -#: fe-connect.c:7170 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 -#: fe-protocol3.c:991 fe-protocol3.c:1024 +#: fe-connect.c:7185 fe-exec.c:718 fe-exec.c:980 fe-exec.c:3464 +#: fe-protocol3.c:992 fe-protocol3.c:1025 msgid "out of memory\n" msgstr "нехватка памяти\n" -#: fe-connect.c:7461 +#: fe-connect.c:7476 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "ПРЕДУПРЕЖДЕНИЕ: файл паролей \"%s\" - не обычный файл\n" -#: fe-connect.c:7470 +#: fe-connect.c:7485 #, c-format msgid "" "WARNING: password file \"%s\" has group or world access; permissions should " @@ -870,182 +877,193 @@ "ПРЕДУПРЕЖДЕНИЕ: к файлу паролей \"%s\" имеют доступ все или группа; права " "должны быть u=rw (0600) или более ограниченные\n" -#: fe-connect.c:7577 +#: fe-connect.c:7592 #, c-format msgid "password retrieved from file \"%s\"" msgstr "пароль получен из файла \"%s\"" -#: fe-connect.c:7729 +#: fe-connect.c:7744 #, c-format msgid "invalid integer value \"%s\" for connection option \"%s\"" msgstr "неверное целочисленное значение \"%s\" для параметра соединения \"%s\"" -#: fe-exec.c:469 fe-exec.c:3533 +#: fe-exec.c:469 fe-exec.c:3538 #, c-format msgid "row number %d is out of range 0..%d" msgstr "номер записи %d вне диапазона 0..%d" -#: fe-exec.c:531 fe-protocol3.c:1993 +#: fe-exec.c:531 fe-protocol3.c:2007 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:834 +#: fe-exec.c:839 #, c-format msgid "write to server failed" msgstr "ошибка при передаче данных серверу" -#: fe-exec.c:874 +#: fe-exec.c:879 #, c-format msgid "no error text available" msgstr "текст ошибки отсутствует" -#: fe-exec.c:963 +#: fe-exec.c:968 msgid "NOTICE" msgstr "ЗАМЕЧАНИЕ" -#: fe-exec.c:1021 +#: fe-exec.c:1026 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult не может вместить больше чем INT_MAX кортежей" -#: fe-exec.c:1033 +#: fe-exec.c:1038 msgid "size_t overflow" msgstr "переполнение size_t" -#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553 +#: fe-exec.c:1443 fe-exec.c:1512 fe-exec.c:1558 #, c-format msgid "command string is a null pointer" msgstr "указатель на командную строку нулевой" -#: fe-exec.c:1444 fe-exec.c:3003 +#: fe-exec.c:1449 fe-exec.c:3008 #, c-format msgid "%s not allowed in pipeline mode" msgstr "%s не допускается в конвейерном режиме" -#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652 +#: fe-exec.c:1517 fe-exec.c:1563 fe-exec.c:1657 #, c-format msgid "number of parameters must be between 0 and %d" msgstr "число параметров должно быть от 0 до %d" -#: fe-exec.c:1548 fe-exec.c:1647 +#: fe-exec.c:1553 fe-exec.c:1652 #, c-format msgid "statement name is a null pointer" msgstr "указатель на имя оператора нулевой" -#: fe-exec.c:1689 fe-exec.c:3379 +#: fe-exec.c:1694 fe-exec.c:3384 #, c-format msgid "no connection to the server" msgstr "нет соединения с сервером" -#: fe-exec.c:1697 fe-exec.c:3387 +#: fe-exec.c:1702 fe-exec.c:3392 #, c-format msgid "another command is already in progress" msgstr "уже выполняется другая команда" -#: fe-exec.c:1727 +#: fe-exec.c:1732 #, c-format msgid "cannot queue commands during COPY" msgstr "во время COPY нельзя добавлять команды в очередь" -#: fe-exec.c:1846 +#: fe-exec.c:1851 #, c-format msgid "length must be given for binary parameter" msgstr "для двоичного параметра должна быть указана длина" -#: fe-exec.c:2205 +#: fe-exec.c:2210 #, c-format msgid "unexpected asyncStatus: %d" msgstr "неожиданный asyncStatus: %d" -#: fe-exec.c:2361 +#: fe-exec.c:2366 #, c-format msgid "" "synchronous command execution functions are not allowed in pipeline mode" msgstr "" "функции синхронного выполнения команд не допускаются в конвейерном режиме" -#: fe-exec.c:2378 +#: fe-exec.c:2383 msgid "COPY terminated by new PQexec" msgstr "операция COPY прервана вызовом PQexec" -#: fe-exec.c:2394 +#: fe-exec.c:2399 #, c-format msgid "PQexec not allowed during COPY BOTH" msgstr "вызов PQexec не допускается в процессе COPY BOTH" -#: fe-exec.c:2630 +#: fe-exec.c:2635 #, c-format msgid "unrecognized message type \"%c\"" msgstr "нераспознанный тип сообщения \"%c\"" -#: fe-exec.c:2702 fe-exec.c:2756 fe-exec.c:2824 fe-protocol3.c:1924 +#: fe-exec.c:2707 fe-exec.c:2761 fe-exec.c:2829 fe-protocol3.c:1938 #, c-format msgid "no COPY in progress" msgstr "операция COPY не выполняется" -#: fe-exec.c:3010 +#: fe-exec.c:3015 #, c-format msgid "connection in wrong state" msgstr "соединение в неправильном состоянии" -#: fe-exec.c:3053 +#: fe-exec.c:3058 #, c-format msgid "cannot enter pipeline mode, connection not idle" msgstr "перейти в конвейерный режиме нельзя, соединение не простаивает" -#: fe-exec.c:3089 fe-exec.c:3110 +#: fe-exec.c:3094 fe-exec.c:3115 #, c-format msgid "cannot exit pipeline mode with uncollected results" msgstr "выйти из конвейерного режима нельзя, не собрав все результаты" -#: fe-exec.c:3093 +#: fe-exec.c:3098 #, c-format msgid "cannot exit pipeline mode while busy" msgstr "выйти из конвейерного режима в занятом состоянии нельзя" -#: fe-exec.c:3104 +#: fe-exec.c:3109 #, c-format msgid "cannot exit pipeline mode while in COPY" msgstr "выйти из конвейерного режима во время COPY нельзя" -#: fe-exec.c:3303 +#: fe-exec.c:3308 #, c-format msgid "cannot send pipeline when not in pipeline mode" msgstr "отправить конвейер, не перейдя в конвейерный режим, нельзя" -#: fe-exec.c:3422 +#: fe-exec.c:3427 msgid "invalid ExecStatusType code" msgstr "неверный код ExecStatusType" -#: fe-exec.c:3449 +#: fe-exec.c:3454 msgid "PGresult is not an error result\n" msgstr "В PGresult не передан результат ошибки\n" -#: fe-exec.c:3517 fe-exec.c:3540 +#: fe-exec.c:3522 fe-exec.c:3545 #, c-format msgid "column number %d is out of range 0..%d" msgstr "номер столбца %d вне диапазона 0..%d" -#: fe-exec.c:3555 +#: fe-exec.c:3560 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "номер параметра %d вне диапазона 0..%d" -#: fe-exec.c:3866 +#: fe-exec.c:3871 #, c-format msgid "could not interpret result from server: %s" msgstr "не удалось интерпретировать ответ сервера: %s" -#: fe-exec.c:4141 fe-exec.c:4255 +#: fe-exec.c:4146 fe-exec.c:4281 #, c-format msgid "incomplete multibyte character" msgstr "неполный многобайтный символ" -#: fe-exec.c:4143 fe-exec.c:4274 +#: fe-exec.c:4148 fe-exec.c:4300 #, c-format msgid "invalid multibyte character" msgstr "неверный многобайтный символ" +#: fe-exec.c:4402 +#, c-format +msgid "escaped string size exceeds the maximum allowed (%zu)" +msgstr "размер строки с экранированием превышает максимально допустимый (%zu)" + +#: fe-exec.c:4579 +#, c-format +msgid "escaped bytea size exceeds the maximum allowed (%zu)" +msgstr "" +"размер значения bytea с экранированием превышает максимально допустимый (%zu)" + #: fe-gssapi-common.c:122 msgid "GSSAPI name import error" msgstr "ошибка импорта имени в GSSAPI" @@ -1133,12 +1151,12 @@ msgid "%s() failed: %s" msgstr "ошибка в %s(): %s" -#: fe-protocol3.c:187 +#: fe-protocol3.c:188 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "от сервера во время простоя получено сообщение типа 0x%02x" -#: fe-protocol3.c:402 +#: fe-protocol3.c:403 #, c-format msgid "" "server sent data (\"D\" message) without prior row description (\"T\" " @@ -1147,117 +1165,117 @@ "сервер отправил данные (сообщение \"D\") без предварительного описания " "строки (сообщение \"T\")" -#: fe-protocol3.c:444 +#: fe-protocol3.c:445 #, c-format msgid "unexpected response from server; first received character was \"%c\"" msgstr "неожиданный ответ сервера; первый полученный символ: \"%c\"" -#: fe-protocol3.c:467 +#: fe-protocol3.c:468 #, c-format msgid "message contents do not agree with length in message type \"%c\"" msgstr "содержимое не соответствует длине в сообщении типа \"%c\"" -#: fe-protocol3.c:485 +#: fe-protocol3.c:486 #, c-format msgid "lost synchronization with server: got message type \"%c\", length %d" msgstr "" "потеряна синхронизация с сервером: получено сообщение типа \"%c\", длина %d" -#: fe-protocol3.c:537 fe-protocol3.c:577 +#: fe-protocol3.c:538 fe-protocol3.c:578 msgid "insufficient data in \"T\" message" msgstr "недостаточно данных в сообщении \"T\"" -#: fe-protocol3.c:648 fe-protocol3.c:854 +#: fe-protocol3.c:649 fe-protocol3.c:855 msgid "out of memory for query result" msgstr "недостаточно памяти для результата запроса" -#: fe-protocol3.c:717 +#: fe-protocol3.c:718 msgid "insufficient data in \"t\" message" msgstr "недостаточно данных в сообщении \"t\"" -#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826 +#: fe-protocol3.c:777 fe-protocol3.c:809 fe-protocol3.c:827 msgid "insufficient data in \"D\" message" msgstr "недостаточно данных в сообщении \"D\"" -#: fe-protocol3.c:782 +#: fe-protocol3.c:783 msgid "unexpected field count in \"D\" message" msgstr "неверное число полей в сообщении \"D\"" -#: fe-protocol3.c:1037 +#: fe-protocol3.c:1038 msgid "no error message available\n" msgstr "нет сообщения об ошибке\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1085 fe-protocol3.c:1104 +#: fe-protocol3.c:1086 fe-protocol3.c:1105 #, c-format msgid " at character %s" msgstr " символ %s" -#: fe-protocol3.c:1117 +#: fe-protocol3.c:1118 #, c-format msgid "DETAIL: %s\n" msgstr "ПОДРОБНОСТИ: %s\n" -#: fe-protocol3.c:1120 +#: fe-protocol3.c:1121 #, c-format msgid "HINT: %s\n" msgstr "ПОДСКАЗКА: %s\n" -#: fe-protocol3.c:1123 +#: fe-protocol3.c:1124 #, c-format msgid "QUERY: %s\n" msgstr "ЗАПРОС: %s\n" -#: fe-protocol3.c:1130 +#: fe-protocol3.c:1131 #, c-format msgid "CONTEXT: %s\n" msgstr "КОНТЕКСТ: %s\n" -#: fe-protocol3.c:1139 +#: fe-protocol3.c:1140 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "СХЕМА: %s\n" -#: fe-protocol3.c:1143 +#: fe-protocol3.c:1144 #, c-format msgid "TABLE NAME: %s\n" msgstr "ТАБЛИЦА: %s\n" -#: fe-protocol3.c:1147 +#: fe-protocol3.c:1148 #, c-format msgid "COLUMN NAME: %s\n" msgstr "СТОЛБЕЦ: %s\n" -#: fe-protocol3.c:1151 +#: fe-protocol3.c:1152 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "ТИП ДАННЫХ: %s\n" -#: fe-protocol3.c:1155 +#: fe-protocol3.c:1156 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "ОГРАНИЧЕНИЕ: %s\n" -#: fe-protocol3.c:1167 +#: fe-protocol3.c:1168 msgid "LOCATION: " msgstr "ПОЛОЖЕНИЕ: " -#: fe-protocol3.c:1169 +#: fe-protocol3.c:1170 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1171 +#: fe-protocol3.c:1172 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1366 +#: fe-protocol3.c:1380 #, c-format msgid "LINE %d: " msgstr "СТРОКА %d: " -#: fe-protocol3.c:1440 +#: fe-protocol3.c:1454 #, c-format msgid "" "protocol version not supported by server: client uses %u.%u, server supports " @@ -1266,7 +1284,7 @@ "сервер не поддерживает нужную версию протокола: клиент использует %u.%u, " "сервер поддерживает версии до %u.%u" -#: fe-protocol3.c:1446 +#: fe-protocol3.c:1460 #, c-format msgid "protocol extension not supported by server: %s" msgid_plural "protocol extensions not supported by server: %s" @@ -1274,22 +1292,22 @@ msgstr[1] "сервер не поддерживает эти расширения протокола: %s" msgstr[2] "сервер не поддерживает эти расширения протокола: %s" -#: fe-protocol3.c:1454 +#: fe-protocol3.c:1468 #, c-format msgid "invalid %s message" msgstr "неверное сообщение %s" -#: fe-protocol3.c:1819 +#: fe-protocol3.c:1833 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline можно вызывать только во время COPY OUT с текстом" -#: fe-protocol3.c:2193 +#: fe-protocol3.c:2207 #, c-format msgid "protocol error: no function result" msgstr "ошибка протокола: нет результата функции" -#: fe-protocol3.c:2204 +#: fe-protocol3.c:2218 #, c-format msgid "protocol error: id=0x%x" msgstr "ошибка протокола: id=0x%x" diff -Nru postgresql-17-17.7/src/interfaces/libpq/po/sv.po postgresql-17-17.8/src/interfaces/libpq/po/sv.po --- postgresql-17-17.7/src/interfaces/libpq/po/sv.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/libpq/po/sv.po 2026-02-09 21:51:54.000000000 +0000 @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-02-12 13:40+0000\n" -"PO-Revision-Date: 2025-02-12 20:36+0100\n" +"POT-Creation-Date: 2026-02-02 01:58+0000\n" +"PO-Revision-Date: 2026-02-02 23:24+0100\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -72,18 +72,18 @@ #: fe-auth-scram.c:614 fe-auth-scram.c:638 fe-auth-scram.c:652 #: fe-auth-scram.c:698 fe-auth-scram.c:734 fe-auth-scram.c:908 fe-auth.c:296 #: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:727 fe-auth.c:1200 -#: fe-auth.c:1363 fe-cancel.c:159 fe-connect.c:936 fe-connect.c:976 -#: fe-connect.c:1860 fe-connect.c:2022 fe-connect.c:3430 fe-connect.c:4761 -#: fe-connect.c:5073 fe-connect.c:5328 fe-connect.c:5446 fe-connect.c:5693 -#: fe-connect.c:5773 fe-connect.c:5871 fe-connect.c:6122 fe-connect.c:6149 -#: fe-connect.c:6225 fe-connect.c:6248 fe-connect.c:6272 fe-connect.c:6307 -#: fe-connect.c:6393 fe-connect.c:6401 fe-connect.c:6758 fe-connect.c:6908 -#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4298 fe-exec.c:4464 -#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:209 fe-protocol3.c:232 -#: fe-protocol3.c:255 fe-protocol3.c:272 fe-protocol3.c:293 fe-protocol3.c:369 -#: fe-protocol3.c:737 fe-protocol3.c:976 fe-protocol3.c:1787 -#: fe-protocol3.c:2187 fe-secure-common.c:110 fe-secure-gssapi.c:496 -#: fe-secure-openssl.c:427 fe-secure-openssl.c:1277 +#: fe-auth.c:1363 fe-cancel.c:160 fe-connect.c:937 fe-connect.c:977 +#: fe-connect.c:1861 fe-connect.c:2023 fe-connect.c:3431 fe-connect.c:4762 +#: fe-connect.c:5074 fe-connect.c:5343 fe-connect.c:5461 fe-connect.c:5708 +#: fe-connect.c:5788 fe-connect.c:5886 fe-connect.c:6137 fe-connect.c:6164 +#: fe-connect.c:6240 fe-connect.c:6263 fe-connect.c:6287 fe-connect.c:6322 +#: fe-connect.c:6408 fe-connect.c:6416 fe-connect.c:6773 fe-connect.c:6923 +#: fe-exec.c:530 fe-exec.c:1320 fe-exec.c:3259 fe-exec.c:4330 fe-exec.c:4523 +#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:210 fe-protocol3.c:233 +#: fe-protocol3.c:256 fe-protocol3.c:273 fe-protocol3.c:294 fe-protocol3.c:370 +#: fe-protocol3.c:738 fe-protocol3.c:977 fe-protocol3.c:1801 +#: fe-protocol3.c:2201 fe-secure-common.c:110 fe-secure-gssapi.c:508 +#: fe-secure-gssapi.c:699 fe-secure-openssl.c:427 fe-secure-openssl.c:1277 #, c-format msgid "out of memory" msgstr "slut på minne" @@ -338,654 +338,669 @@ msgid "connection pointer is NULL" msgstr "anslutningspekare är NULL" -#: fe-cancel.c:82 fe-misc.c:572 +#: fe-cancel.c:82 fe-misc.c:598 #, c-format msgid "connection not open" msgstr "anslutningen är inte öppen" -#: fe-cancel.c:193 +#: fe-cancel.c:194 #, c-format msgid "cancel request is already being sent on this connection" -msgstr "förfrågan för att avbryta har redan skickats på denna uppkoppling" +msgstr "förfrågan för att avbryta har redan skickats på denna anslutning" -#: fe-cancel.c:263 +#: fe-cancel.c:264 #, c-format msgid "unexpected response from server" msgstr "oväntad resultat från servern" -#: fe-connect.c:1182 +#: fe-connect.c:1183 #, c-format msgid "could not match %d host names to %d hostaddr values" msgstr "kunde inte matcha %d värdnamn till %d värdadresser" -#: fe-connect.c:1262 +#: fe-connect.c:1263 #, c-format msgid "could not match %d port numbers to %d hosts" msgstr "kunde inte matcha %d portnummer med %d värdar" -#: fe-connect.c:1387 +#: fe-connect.c:1388 #, c-format msgid "negative require_auth method \"%s\" cannot be mixed with non-negative methods" msgstr "negativ require_auth-metod \"%s\" kan inte blandas med icke-negativa metoder" -#: fe-connect.c:1400 +#: fe-connect.c:1401 #, c-format msgid "require_auth method \"%s\" cannot be mixed with negative methods" msgstr "require_auth-metod \"%s\" kan inte blandas med negativa metoder" -#: fe-connect.c:1460 fe-connect.c:1511 fe-connect.c:1553 fe-connect.c:1596 -#: fe-connect.c:1699 fe-connect.c:1745 fe-connect.c:1785 fe-connect.c:1806 +#: fe-connect.c:1461 fe-connect.c:1512 fe-connect.c:1554 fe-connect.c:1597 +#: fe-connect.c:1700 fe-connect.c:1746 fe-connect.c:1786 fe-connect.c:1807 #, c-format msgid "invalid %s value: \"%s\"" msgstr "ogiltigt %s-värde: \"%s\"" -#: fe-connect.c:1493 +#: fe-connect.c:1494 #, c-format msgid "require_auth method \"%s\" is specified more than once" msgstr "require_auth-metod \"%s\" angiven mer än en gång" -#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707 +#: fe-connect.c:1535 fe-connect.c:1574 fe-connect.c:1606 fe-connect.c:1708 #, c-format msgid "%s value \"%s\" invalid when SSL support is not compiled in" msgstr "%s värde \"%s\", är ogiltigt när SSL-stöd inte kompilerats in" -#: fe-connect.c:1625 +#: fe-connect.c:1626 #, c-format msgid "weak sslmode \"%s\" may not be used with sslnegotiation=direct (use \"require\", \"verify-ca\", or \"verify-full\")" msgstr "svagt ssl-läge \"%s\" kan inte användas med sslnegotiation=direct (använd \"require\", \"verify-ca\" eller \"verify-full\")" -#: fe-connect.c:1647 +#: fe-connect.c:1648 #, c-format msgid "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-full\")" msgstr "svagt ssl-läge \"%s\" kan inte användas med sslrootcert=system (använd \"verify-full\")" -#: fe-connect.c:1660 fe-connect.c:1668 +#: fe-connect.c:1661 fe-connect.c:1669 #, c-format msgid "invalid \"%s\" value: \"%s\"" msgstr "ogiltigt \"%s\"-värde: \"%s\"" -#: fe-connect.c:1685 +#: fe-connect.c:1686 #, c-format msgid "invalid SSL protocol version range" msgstr "ogiltigt intervall för SSL-protokollversion" -#: fe-connect.c:1722 +#: fe-connect.c:1723 #, c-format msgid "%s value \"%s\" is not supported (check OpenSSL version)" msgstr "%s-värde \"%s\" stöds inte (kontrollera OpenSSL-versionen)" -#: fe-connect.c:1752 +#: fe-connect.c:1753 #, c-format msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" msgstr "värde för gssenc-läge, \"%s\", är ogiltigt när GSSAPI-stöd inte kompilerats in" -#: fe-connect.c:2045 +#: fe-connect.c:2046 #, c-format msgid "could not set socket to TCP no delay mode: %s" msgstr "kunde inte sätta socket till läget TCP-ingen-fördröjning: %s" -#: fe-connect.c:2104 +#: fe-connect.c:2105 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "anslutning till server på socket \"%s\" misslyckades: " -#: fe-connect.c:2130 +#: fe-connect.c:2131 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "anslutning til server på \"%s\" (%s), port %s misslyckades: " -#: fe-connect.c:2135 +#: fe-connect.c:2136 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "anslutning till server på \"%s\", port %s misslyckades: " -#: fe-connect.c:2158 +#: fe-connect.c:2159 #, c-format msgid "\tIs the server running locally and accepting connections on that socket?" msgstr "\tKör servern lokalt och accepterar den anslutningar till denna socket?" -#: fe-connect.c:2160 +#: fe-connect.c:2161 #, c-format msgid "\tIs the server running on that host and accepting TCP/IP connections?" msgstr "\tKör servern på den värden och accepterar den TCP/IP-anslutningar?" -#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373 -#: fe-connect.c:3098 +#: fe-connect.c:2207 fe-connect.c:2241 fe-connect.c:2276 fe-connect.c:2374 +#: fe-connect.c:3099 #, c-format msgid "%s(%s) failed: %s" msgstr "%s(%s) misslyckades: %s" -#: fe-connect.c:2339 +#: fe-connect.c:2340 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) misslyckades: felkod %d" -#: fe-connect.c:2650 +#: fe-connect.c:2651 #, c-format msgid "invalid connection state, probably indicative of memory corruption" msgstr "ogiltigt tillstånd i anslutning, antagligen korrupt minne" -#: fe-connect.c:2733 +#: fe-connect.c:2734 #, c-format msgid "invalid port number: \"%s\"" msgstr "ogiltigt portnummer \"%s\"" -#: fe-connect.c:2747 +#: fe-connect.c:2748 #, c-format msgid "could not translate host name \"%s\" to address: %s" msgstr "kunde inte översätta värdnamn \"%s\" till adress: %s" -#: fe-connect.c:2759 +#: fe-connect.c:2760 #, c-format msgid "could not parse network address \"%s\": %s" msgstr "kunde inte parsa nätverksadress \"%s\": %s" -#: fe-connect.c:2770 +#: fe-connect.c:2771 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Sökväg till unix-socket \"%s\" är för lång (maximalt %d byte)" -#: fe-connect.c:2784 +#: fe-connect.c:2785 #, c-format msgid "could not translate Unix-domain socket path \"%s\" to address: %s" msgstr "kunde inte översätta sökväg till Unix-socket \"%s\" till adress: %s" -#: fe-connect.c:2950 fe-connect.c:4305 +#: fe-connect.c:2951 fe-connect.c:4306 #, c-format msgid "GSSAPI encryption required but it is not supported over a local socket" msgstr "GSSAPI-kryptering krävdes men stöds inte över en lokal socket" -#: fe-connect.c:2958 fe-connect.c:4434 +#: fe-connect.c:2959 fe-connect.c:4435 #, c-format msgid "GSSAPI encryption required but no credential cache" msgstr "GSSAPI-kryptering krävdes men det finns ingen credential-cache" -#: fe-connect.c:3026 +#: fe-connect.c:3027 #, c-format msgid "could not create socket: %s" msgstr "kan inte skapa socket: %s" -#: fe-connect.c:3057 +#: fe-connect.c:3058 #, c-format msgid "could not set socket to nonblocking mode: %s" msgstr "kunde inte sätta socket till ickeblockerande läge: %s" -#: fe-connect.c:3068 +#: fe-connect.c:3069 #, c-format msgid "could not set socket to close-on-exec mode: %s" msgstr "kunde inte ställa in socket i \"close-on-exec\"-läge: %s" -#: fe-connect.c:3225 +#: fe-connect.c:3226 #, c-format msgid "could not get socket error status: %s" msgstr "kunde inte hämta felstatus för socket: %s" -#: fe-connect.c:3252 +#: fe-connect.c:3253 #, c-format msgid "could not get client address from socket: %s" msgstr "kunde inte få klientadressen från socket: %s" -#: fe-connect.c:3278 +#: fe-connect.c:3279 #, c-format msgid "requirepeer parameter is not supported on this platform" msgstr "requirepeer-parameter stöds inte på denna plattform" -#: fe-connect.c:3280 +#: fe-connect.c:3281 #, c-format msgid "could not get peer credentials: %s" msgstr "kunde inte hämta andra sidans autentiseringsuppgifter: %s" -#: fe-connect.c:3293 +#: fe-connect.c:3294 #, c-format msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" msgstr "requirepeer anger \"%s\", men andra sidans användarnamn är \"%s\"" -#: fe-connect.c:3331 +#: fe-connect.c:3332 #, c-format msgid "could not send GSSAPI negotiation packet: %s" msgstr "kunde inte skicka GSSAPI-paket för anslutningsförhandling: %s" -#: fe-connect.c:3380 +#: fe-connect.c:3381 #, c-format msgid "could not send SSL negotiation packet: %s" msgstr "kunde inte skicka SSL-paket för anslutningsförhandling: %s" -#: fe-connect.c:3412 +#: fe-connect.c:3413 #, c-format msgid "could not send cancel packet: %s" msgstr "kunde inte skicka avbrottspaket: %s" -#: fe-connect.c:3442 +#: fe-connect.c:3443 #, c-format msgid "could not send startup packet: %s" msgstr "kan inte skicka startpaketet: %s" -#: fe-connect.c:3509 +#: fe-connect.c:3510 msgid "server does not support SSL, but SSL was required" msgstr "SSL stöds inte av servern, men SSL krävdes" -#: fe-connect.c:3519 +#: fe-connect.c:3520 #, c-format msgid "server sent an error response during SSL exchange" msgstr "servern skickade ett felmeddelande vid SSL-utbyte" -#: fe-connect.c:3524 +#: fe-connect.c:3525 #, c-format msgid "received invalid response to SSL negotiation: %c" msgstr "tog emot ogiltigt svar till SSL-anslutningsförhandling: %c" -#: fe-connect.c:3552 +#: fe-connect.c:3553 #, c-format msgid "received unencrypted data after SSL response" msgstr "tog emot okrypterad data efter SSL-svar" -#: fe-connect.c:3615 +#: fe-connect.c:3616 #, c-format msgid "server sent an error response during GSS encryption exchange" msgstr "servern skickade ett felmeddelande vid GSS-krypteringsutbyte" -#: fe-connect.c:3629 +#: fe-connect.c:3630 msgid "server doesn't support GSSAPI encryption, but it was required" msgstr "GSSAPI-kryptering stöds inte av servern, men det krävdes" -#: fe-connect.c:3633 +#: fe-connect.c:3634 #, c-format msgid "received invalid response to GSSAPI negotiation: %c" msgstr "tog emot ogiltigt svar till GSSAPI-anslutningsförhandling: %c" -#: fe-connect.c:3651 +#: fe-connect.c:3652 #, c-format msgid "received unencrypted data after GSSAPI encryption response" msgstr "tog emot okrypterad data efter GSSAPI-krypteringssvar" -#: fe-connect.c:3711 +#: fe-connect.c:3712 #, c-format msgid "expected authentication request from server, but received %c" msgstr "förväntade autentiseringsförfrågan från servern, men fick %c" -#: fe-connect.c:3739 fe-connect.c:3862 +#: fe-connect.c:3740 fe-connect.c:3863 #, c-format msgid "received invalid authentication request" msgstr "tog emot ogiltig autentiseringsförfrågan" -#: fe-connect.c:3745 fe-connect.c:3847 +#: fe-connect.c:3746 fe-connect.c:3848 #, c-format msgid "received invalid protocol negotiation message" msgstr "tog emot ogiltigt meddelande för protokollets anslutningsförhandling" -#: fe-connect.c:3764 fe-connect.c:3818 +#: fe-connect.c:3765 fe-connect.c:3819 #, c-format msgid "received invalid error message" msgstr "tog emot ogiltigt felmeddelande" -#: fe-connect.c:3933 +#: fe-connect.c:3934 #, c-format msgid "unexpected message from server during startup" msgstr "oväntat meddelande från servern under uppstarten" -#: fe-connect.c:4024 +#: fe-connect.c:4025 #, c-format msgid "session is read-only" msgstr "sessionen är i readonly-läge" -#: fe-connect.c:4026 +#: fe-connect.c:4027 #, c-format msgid "session is not read-only" msgstr "sessionen är inte i readonly-läge" -#: fe-connect.c:4079 +#: fe-connect.c:4080 #, c-format msgid "server is in hot standby mode" msgstr "servern är i \"hot standby\"-läge" -#: fe-connect.c:4081 +#: fe-connect.c:4082 #, c-format msgid "server is not in hot standby mode" msgstr "servern är inte i \"hot standby\"-läge" -#: fe-connect.c:4203 fe-connect.c:4253 +#: fe-connect.c:4204 fe-connect.c:4254 #, c-format msgid "\"%s\" failed" msgstr "\"%s\" misslyckades" -#: fe-connect.c:4267 +#: fe-connect.c:4268 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption" msgstr "ogiltigt tillstånd %d i anslutning, antagligen korrupt minne" -#: fe-connect.c:5086 +#: fe-connect.c:5087 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://" msgstr "ogiltig LDAP URL \"%s\": schemat måste vara ldap://" -#: fe-connect.c:5101 +#: fe-connect.c:5102 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "ogiltig LDAP URL \"%s\": saknar \"distinguished name\"" -#: fe-connect.c:5113 fe-connect.c:5171 +#: fe-connect.c:5114 fe-connect.c:5172 #, c-format msgid "invalid LDAP URL \"%s\": must have exactly one attribute" msgstr "ogiltig LDAP URL \"%s\": måste finnas exakt ett attribut" -#: fe-connect.c:5125 fe-connect.c:5187 +#: fe-connect.c:5126 fe-connect.c:5188 #, c-format msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" msgstr "ogiltig LDAP URL \"%s\": måste ha sök-scope (base/one/sub)" -#: fe-connect.c:5137 +#: fe-connect.c:5138 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "ogiltigt LDAP URL \"%s\": inget filter" -#: fe-connect.c:5159 +#: fe-connect.c:5160 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number" msgstr "ogiltig LDAP URL \"%s\": ogiltigt portnummer" -#: fe-connect.c:5196 +#: fe-connect.c:5197 #, c-format msgid "could not create LDAP structure" msgstr "kunde inte skapa LDAP-struktur" -#: fe-connect.c:5271 +#: fe-connect.c:5272 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "uppslagning av LDAP-server misslyckades: %s" -#: fe-connect.c:5281 +#: fe-connect.c:5282 #, c-format msgid "more than one entry found on LDAP lookup" msgstr "mer än en post hittad i LDAP-uppslagning" -#: fe-connect.c:5283 fe-connect.c:5294 +#: fe-connect.c:5284 fe-connect.c:5295 #, c-format msgid "no entry found on LDAP lookup" msgstr "ingen post hittad i LDAP-uppslagning" -#: fe-connect.c:5304 fe-connect.c:5316 +#: fe-connect.c:5305 fe-connect.c:5317 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "attributet har inga värden i LDAP-uppslagning" -#: fe-connect.c:5367 fe-connect.c:5386 fe-connect.c:5910 +#: fe-connect.c:5331 +#, c-format +msgid "connection info string size exceeds the maximum allowed (%d)" +msgstr "anslutningssträng överskrider det maximalt tillåtna (%d)" + +#: fe-connect.c:5382 fe-connect.c:5401 fe-connect.c:5925 #, c-format msgid "missing \"=\" after \"%s\" in connection info string" msgstr "\"=\" efter \"%s\" saknas i anslutningssträng" -#: fe-connect.c:5457 fe-connect.c:6093 fe-connect.c:6891 +#: fe-connect.c:5472 fe-connect.c:6108 fe-connect.c:6906 #, c-format msgid "invalid connection option \"%s\"" msgstr "ogiltig anslutningsparameter \"%s\"" -#: fe-connect.c:5472 fe-connect.c:5958 +#: fe-connect.c:5487 fe-connect.c:5973 #, c-format msgid "unterminated quoted string in connection info string" -msgstr "icke terminerad sträng i uppkopplingsinformationen" +msgstr "icke terminerad sträng i anslutningsinformationen" -#: fe-connect.c:5552 +#: fe-connect.c:5567 #, c-format msgid "definition of service \"%s\" not found" msgstr "definition av service \"%s\" hittades inte" -#: fe-connect.c:5578 +#: fe-connect.c:5593 #, c-format msgid "service file \"%s\" not found" msgstr "servicefil \"%s\" hittades inte" -#: fe-connect.c:5591 +#: fe-connect.c:5606 #, c-format msgid "line %d too long in service file \"%s\"" msgstr "rad %d för lång i servicefil \"%s\"" -#: fe-connect.c:5662 fe-connect.c:5705 +#: fe-connect.c:5677 fe-connect.c:5720 #, c-format msgid "syntax error in service file \"%s\", line %d" msgstr "syntaxfel i servicefel \"%s\", rad %d" -#: fe-connect.c:5673 +#: fe-connect.c:5688 #, c-format msgid "nested service specifications not supported in service file \"%s\", line %d" msgstr "nästlade servicespecifikationer stöds inte i servicefil \"%s\", rad %d" -#: fe-connect.c:6412 +#: fe-connect.c:6427 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"" msgstr "ogiltig URI propagerad till intern parsningsrutin: \"%s\"" -#: fe-connect.c:6489 +#: fe-connect.c:6504 #, c-format msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\"" msgstr "nådde slutet på strängen när vi letade efter matchande \"]\" i IPv6-värdadress i URI: \"%s\"" -#: fe-connect.c:6496 +#: fe-connect.c:6511 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"" msgstr "IPv6-värdadress får ej vara tom i URI: \"%s\"" -#: fe-connect.c:6511 +#: fe-connect.c:6526 #, c-format msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\"" msgstr "oväntat tecken \"%c\" vid position %d i URI (förväntade \":\" eller \"/\"): \"%s\"" -#: fe-connect.c:6640 +#: fe-connect.c:6655 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "extra nyckel/värde-separator \"=\" i URI-frågeparameter: \"%s\"" -#: fe-connect.c:6660 +#: fe-connect.c:6675 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "saknar nyckel/värde-separator \"=\" i URI-frågeparameter: \"%s\"" -#: fe-connect.c:6712 +#: fe-connect.c:6727 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "ogiltig URI-frågeparameter: \"%s\"" -#: fe-connect.c:6786 +#: fe-connect.c:6801 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "ogiltigt procent-kodad symbol: \"%s\"" -#: fe-connect.c:6796 +#: fe-connect.c:6811 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"" msgstr "förbjudet värde %%00 i procentkodat värde: \"%s\"" -#: fe-connect.c:7160 +#: fe-connect.c:7177 msgid "connection pointer is NULL\n" msgstr "anslutningspekare är NULL\n" -#: fe-connect.c:7168 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 -#: fe-protocol3.c:991 fe-protocol3.c:1024 +#: fe-connect.c:7185 fe-exec.c:718 fe-exec.c:980 fe-exec.c:3464 +#: fe-protocol3.c:992 fe-protocol3.c:1025 msgid "out of memory\n" msgstr "slut på minne\n" -#: fe-connect.c:7459 +#: fe-connect.c:7476 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "FEL: lösenordsfil \"%s\" är inte en vanlig fil\n" -#: fe-connect.c:7468 +#: fe-connect.c:7485 #, c-format msgid "WARNING: password file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n" msgstr "VARNING: lösenordsfilen \"%s\" har läsrättigheter för gruppen eller världen; rättigheten skall vara u=rw (0600) eller mindre\n" -#: fe-connect.c:7575 +#: fe-connect.c:7592 #, c-format msgid "password retrieved from file \"%s\"" msgstr "lösenord hämtat från fil \"%s\"" -#: fe-connect.c:7727 +#: fe-connect.c:7744 #, c-format msgid "invalid integer value \"%s\" for connection option \"%s\"" msgstr "ogiltigt heltalsvärde \"%s\" för anslutningsflagga \"%s\"" -#: fe-exec.c:469 fe-exec.c:3533 +#: fe-exec.c:469 fe-exec.c:3538 #, c-format msgid "row number %d is out of range 0..%d" msgstr "radnummer %d är utanför giltigt intervall 0..%d" -#: fe-exec.c:531 fe-protocol3.c:1993 +#: fe-exec.c:531 fe-protocol3.c:2007 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:834 +#: fe-exec.c:839 #, c-format msgid "write to server failed" msgstr "skrivning till servern misslyckades" -#: fe-exec.c:874 +#: fe-exec.c:879 #, c-format msgid "no error text available" msgstr "inget feltext finns tillgänglig" -#: fe-exec.c:963 +#: fe-exec.c:968 msgid "NOTICE" msgstr "NOTIS" -#: fe-exec.c:1021 +#: fe-exec.c:1026 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult stöder inte mer än INT_MAX tupler" -#: fe-exec.c:1033 +#: fe-exec.c:1038 msgid "size_t overflow" msgstr "size_t-överspill" -#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553 +#: fe-exec.c:1443 fe-exec.c:1512 fe-exec.c:1558 #, c-format msgid "command string is a null pointer" msgstr "kommandosträngen är en null-pekare" -#: fe-exec.c:1444 fe-exec.c:3003 +#: fe-exec.c:1449 fe-exec.c:3008 #, c-format msgid "%s not allowed in pipeline mode" msgstr "%s tillåts inte i pipeline-läge" -#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652 +#: fe-exec.c:1517 fe-exec.c:1563 fe-exec.c:1657 #, c-format msgid "number of parameters must be between 0 and %d" msgstr "antal parametrar måste vara mellan 0 och %d" -#: fe-exec.c:1548 fe-exec.c:1647 +#: fe-exec.c:1553 fe-exec.c:1652 #, c-format msgid "statement name is a null pointer" msgstr "satsens namn är en null-pekare" -#: fe-exec.c:1689 fe-exec.c:3379 +#: fe-exec.c:1694 fe-exec.c:3384 #, c-format msgid "no connection to the server" msgstr "inte ansluten till servern" -#: fe-exec.c:1697 fe-exec.c:3387 +#: fe-exec.c:1702 fe-exec.c:3392 #, c-format msgid "another command is already in progress" msgstr "ett annat kommando körs redan" -#: fe-exec.c:1727 +#: fe-exec.c:1732 #, c-format msgid "cannot queue commands during COPY" msgstr "kan inte köa kommandon när COPY körs" -#: fe-exec.c:1846 +#: fe-exec.c:1851 #, c-format msgid "length must be given for binary parameter" msgstr "längden måste anges för en binär parameter" -#: fe-exec.c:2205 +#: fe-exec.c:2210 #, c-format msgid "unexpected asyncStatus: %d" msgstr "oväntad asyncStatus: %d" -#: fe-exec.c:2361 +#: fe-exec.c:2366 #, c-format msgid "synchronous command execution functions are not allowed in pipeline mode" msgstr "synkrona kommandoexekveringsfunktioner tillåts inte i pipeline-läge" -#: fe-exec.c:2378 +#: fe-exec.c:2383 msgid "COPY terminated by new PQexec" msgstr "COPY terminerad av ny PQexec" -#: fe-exec.c:2394 +#: fe-exec.c:2399 #, c-format msgid "PQexec not allowed during COPY BOTH" msgstr "PQexec tillåts inte under COPY BOTH" -#: fe-exec.c:2630 +#: fe-exec.c:2635 #, c-format msgid "unrecognized message type \"%c\"" msgstr "okänd meddelandetyp \"%c\"" -#: fe-exec.c:2702 fe-exec.c:2756 fe-exec.c:2824 fe-protocol3.c:1924 +#: fe-exec.c:2707 fe-exec.c:2761 fe-exec.c:2829 fe-protocol3.c:1938 #, c-format msgid "no COPY in progress" msgstr "ingen COPY körs" -#: fe-exec.c:3010 +#: fe-exec.c:3015 #, c-format msgid "connection in wrong state" msgstr "anslutning i felaktigt tillstånd" -#: fe-exec.c:3053 +#: fe-exec.c:3058 #, c-format msgid "cannot enter pipeline mode, connection not idle" msgstr "kan inte byta till pipeline-läge, anslutningen är inte inaktiv" -#: fe-exec.c:3089 fe-exec.c:3110 +#: fe-exec.c:3094 fe-exec.c:3115 #, c-format msgid "cannot exit pipeline mode with uncollected results" msgstr "kan inte anvsluta pipeline-läge när alla svar inte tagits emot" -#: fe-exec.c:3093 +#: fe-exec.c:3098 #, c-format msgid "cannot exit pipeline mode while busy" msgstr "är upptagen och kan inte avsluta pipeline-läge" -#: fe-exec.c:3104 +#: fe-exec.c:3109 #, c-format msgid "cannot exit pipeline mode while in COPY" msgstr "kan inte avsluta pipeline-läge inne i en COPY" -#: fe-exec.c:3303 +#: fe-exec.c:3308 #, c-format msgid "cannot send pipeline when not in pipeline mode" msgstr "kan inte skicka en pipeline när vi inte är i pipeline-läge" -#: fe-exec.c:3422 +#: fe-exec.c:3427 msgid "invalid ExecStatusType code" msgstr "ogiltig ExecStatusType-kod" -#: fe-exec.c:3449 +#: fe-exec.c:3454 msgid "PGresult is not an error result\n" msgstr "PGresult är inte ett felresultat\n" -#: fe-exec.c:3517 fe-exec.c:3540 +#: fe-exec.c:3522 fe-exec.c:3545 #, c-format msgid "column number %d is out of range 0..%d" msgstr "kolumnnummer %d är utanför giltigt intervall 0..%d" -#: fe-exec.c:3555 +#: fe-exec.c:3560 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "parameter nummer %d är utanför giltigt intervall 0..%d" -#: fe-exec.c:3866 +#: fe-exec.c:3871 #, c-format msgid "could not interpret result from server: %s" msgstr "kunde inte tolka svaret från servern: %s" -#: fe-exec.c:4126 fe-exec.c:4260 +#: fe-exec.c:4146 fe-exec.c:4281 #, c-format msgid "incomplete multibyte character" msgstr "ofullständigt multibyte-tecken" -#: fe-exec.c:4153 fe-exec.c:4279 +#: fe-exec.c:4148 fe-exec.c:4300 #, c-format msgid "invalid multibyte character" msgstr "ogiltigt multibyte-tecken" +#: fe-exec.c:4402 +#, c-format +msgid "escaped string size exceeds the maximum allowed (%zu)" +msgstr "escape:ad strängstorlek överskrider maximalt tillåtna (%zu)" + +#: fe-exec.c:4579 +#, c-format +msgid "escaped bytea size exceeds the maximum allowed (%zu)" +msgstr "escape:ad bytea-storlek överskrider maximalt tillåtna (%zu)" + #: fe-gssapi-common.c:122 msgid "GSSAPI name import error" msgstr "GSSAPI-fel vid import av namn" @@ -1042,7 +1057,7 @@ msgid "integer of size %lu not supported by pqPutInt" msgstr "heltal med storlek %lu stöds inte av pqPutInt" -#: fe-misc.c:750 fe-secure-openssl.c:203 fe-secure-openssl.c:309 +#: fe-misc.c:776 fe-secure-openssl.c:203 fe-secure-openssl.c:309 #: fe-secure.c:237 fe-secure.c:404 #, c-format msgid "" @@ -1050,176 +1065,176 @@ "\tThis probably means the server terminated abnormally\n" "\tbefore or while processing the request." msgstr "" -"servern stängde oväntat ner uppkopplingen\n" +"servern stängde oväntat ner anslutningen\n" "\tTroligen så terminerade servern pga något fel antingen\n" "\tinnan eller under tiden den bearbetade en förfrågan." -#: fe-misc.c:817 +#: fe-misc.c:843 msgid "connection not open\n" msgstr "anslutningen är inte öppen\n" -#: fe-misc.c:1005 +#: fe-misc.c:1031 #, c-format msgid "timeout expired" msgstr "timeout utgången" -#: fe-misc.c:1049 +#: fe-misc.c:1075 #, c-format msgid "invalid socket" msgstr "ogiltig socket" -#: fe-misc.c:1071 +#: fe-misc.c:1097 #, c-format msgid "%s() failed: %s" msgstr "%s() misslyckades: %s" -#: fe-protocol3.c:187 +#: fe-protocol3.c:188 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "meddelandetyp 0x%02x kom från server under viloperiod" -#: fe-protocol3.c:402 +#: fe-protocol3.c:403 #, c-format msgid "server sent data (\"D\" message) without prior row description (\"T\" message)" msgstr "servern skickade data (meddelande \"D\") utan att först skicka en radbeskrivning (meddelande \"T\")" -#: fe-protocol3.c:444 +#: fe-protocol3.c:445 #, c-format msgid "unexpected response from server; first received character was \"%c\"" msgstr "oväntat svar för servern; första mottagna tecknet var \"%c\"" -#: fe-protocol3.c:467 +#: fe-protocol3.c:468 #, c-format msgid "message contents do not agree with length in message type \"%c\"" msgstr "meddelandeinnehåll stämmer inte med längden för meddelandetyp \"%c\"" -#: fe-protocol3.c:485 +#: fe-protocol3.c:486 #, c-format msgid "lost synchronization with server: got message type \"%c\", length %d" msgstr "tappade synkronisering med servern: fick meddelandetyp \"%c\", längd %d" -#: fe-protocol3.c:537 fe-protocol3.c:577 +#: fe-protocol3.c:538 fe-protocol3.c:578 msgid "insufficient data in \"T\" message" msgstr "otillräckligt med data i \"T\"-meddelande" -#: fe-protocol3.c:648 fe-protocol3.c:854 +#: fe-protocol3.c:649 fe-protocol3.c:855 msgid "out of memory for query result" msgstr "slut på minnet för frågeresultat" -#: fe-protocol3.c:717 +#: fe-protocol3.c:718 msgid "insufficient data in \"t\" message" msgstr "otillräckligt med data i \"t\"-meddelande" -#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826 +#: fe-protocol3.c:777 fe-protocol3.c:809 fe-protocol3.c:827 msgid "insufficient data in \"D\" message" msgstr "otillräckligt med data i \"D\"-meddelande" -#: fe-protocol3.c:782 +#: fe-protocol3.c:783 msgid "unexpected field count in \"D\" message" msgstr "oväntat fältantal i \"D\"-meddelande" -#: fe-protocol3.c:1037 +#: fe-protocol3.c:1038 msgid "no error message available\n" msgstr "inget felmeddelande finns tillgängligt\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1085 fe-protocol3.c:1104 +#: fe-protocol3.c:1086 fe-protocol3.c:1105 #, c-format msgid " at character %s" msgstr " vid tecken %s" -#: fe-protocol3.c:1117 +#: fe-protocol3.c:1118 #, c-format msgid "DETAIL: %s\n" msgstr "DETALJ: %s\n" -#: fe-protocol3.c:1120 +#: fe-protocol3.c:1121 #, c-format msgid "HINT: %s\n" msgstr "TIPS: %s\n" -#: fe-protocol3.c:1123 +#: fe-protocol3.c:1124 #, c-format msgid "QUERY: %s\n" msgstr "FRÅGA: %s\n" -#: fe-protocol3.c:1130 +#: fe-protocol3.c:1131 #, c-format msgid "CONTEXT: %s\n" msgstr "KONTEXT: %s\n" -#: fe-protocol3.c:1139 +#: fe-protocol3.c:1140 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "SCHEMANAMN: %s\n" -#: fe-protocol3.c:1143 +#: fe-protocol3.c:1144 #, c-format msgid "TABLE NAME: %s\n" msgstr "TABELLNAMN: %s\n" -#: fe-protocol3.c:1147 +#: fe-protocol3.c:1148 #, c-format msgid "COLUMN NAME: %s\n" msgstr "KOLUMNNAMN: %s\n" -#: fe-protocol3.c:1151 +#: fe-protocol3.c:1152 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "DATATYPNAMN: %s\n" -#: fe-protocol3.c:1155 +#: fe-protocol3.c:1156 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "VILLKORSNAMN: %s\n" -#: fe-protocol3.c:1167 +#: fe-protocol3.c:1168 msgid "LOCATION: " msgstr "PLATS: " -#: fe-protocol3.c:1169 +#: fe-protocol3.c:1170 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1171 +#: fe-protocol3.c:1172 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1366 +#: fe-protocol3.c:1380 #, c-format msgid "LINE %d: " msgstr "RAD %d: " -#: fe-protocol3.c:1440 +#: fe-protocol3.c:1454 #, c-format msgid "protocol version not supported by server: client uses %u.%u, server supports up to %u.%u" msgstr "protokollversionen stöds inte av servern: klienten använder %u.%u, servern stöder upp till %u.%u" -#: fe-protocol3.c:1446 +#: fe-protocol3.c:1460 #, c-format msgid "protocol extension not supported by server: %s" msgid_plural "protocol extensions not supported by server: %s" msgstr[0] "protokollutökning stöds inte av servern: %s" msgstr[1] "protokollutökningar stöds inte av servern: %s" -#: fe-protocol3.c:1454 +#: fe-protocol3.c:1468 #, c-format msgid "invalid %s message" msgstr "ogiltig %s-meddelande" -#: fe-protocol3.c:1819 +#: fe-protocol3.c:1833 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline: utför inte text-COPY OUT" -#: fe-protocol3.c:2193 +#: fe-protocol3.c:2207 #, c-format msgid "protocol error: no function result" msgstr "protokollfel: inget funktionsresultat" -#: fe-protocol3.c:2204 +#: fe-protocol3.c:2218 #, c-format msgid "protocol error: id=0x%x" msgstr "protokollfel: id=0x%x" @@ -1261,46 +1276,42 @@ msgid "could not get server's host name from server certificate" msgstr "kan inte hämta ut serverns värdnamn från servercertifikatet" -#: fe-secure-gssapi.c:194 +#: fe-secure-gssapi.c:201 msgid "GSSAPI wrap error" msgstr "GSSAPI-fel vid inpackning" -#: fe-secure-gssapi.c:201 +#: fe-secure-gssapi.c:208 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" msgstr "utående GSSAPI-meddelande skulle inte använda sekretess" -#: fe-secure-gssapi.c:208 +#: fe-secure-gssapi.c:215 fe-secure-gssapi.c:726 #, c-format msgid "client tried to send oversize GSSAPI packet (%zu > %zu)" msgstr "klienten försökte skicka för stort GSSAPI-paket (%zu > %zu)" -#: fe-secure-gssapi.c:347 fe-secure-gssapi.c:589 +#: fe-secure-gssapi.c:354 fe-secure-gssapi.c:602 #, c-format msgid "oversize GSSAPI packet sent by the server (%zu > %zu)" msgstr "för stort GSSAPI-paket skickat av servern (%zu > %zu)" -#: fe-secure-gssapi.c:386 +#: fe-secure-gssapi.c:393 msgid "GSSAPI unwrap error" msgstr "GSSAPI-fel vid uppackning" -#: fe-secure-gssapi.c:395 +#: fe-secure-gssapi.c:402 #, c-format msgid "incoming GSSAPI message did not use confidentiality" msgstr "inkommande GSSAPI-meddelande använde inte sekretess" -#: fe-secure-gssapi.c:652 +#: fe-secure-gssapi.c:665 msgid "could not initiate GSSAPI security context" msgstr "kunde inte initiera GSSAPI-säkerhetskontext" -#: fe-secure-gssapi.c:681 +#: fe-secure-gssapi.c:715 msgid "GSSAPI size check error" msgstr "GSSAPI-fel vid kontroll av storlek" -#: fe-secure-gssapi.c:692 -msgid "GSSAPI context establishment error" -msgstr "GSSAPI-fel vid skapande av kontext" - #: fe-secure-openssl.c:207 fe-secure-openssl.c:313 fe-secure-openssl.c:1524 #, c-format msgid "SSL SYSCALL error: %s" diff -Nru postgresql-17-17.7/src/interfaces/libpq/po/uk.po postgresql-17-17.8/src/interfaces/libpq/po/uk.po --- postgresql-17-17.7/src/interfaces/libpq/po/uk.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/interfaces/libpq/po/uk.po 2026-02-09 21:51:54.000000000 +0000 @@ -2,8 +2,8 @@ msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-03-29 10:30+0000\n" -"PO-Revision-Date: 2025-04-01 15:40\n" +"POT-Creation-Date: 2025-12-31 02:29+0000\n" +"PO-Revision-Date: 2026-01-02 12:56\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -71,18 +71,18 @@ #: fe-auth-scram.c:614 fe-auth-scram.c:638 fe-auth-scram.c:652 #: fe-auth-scram.c:698 fe-auth-scram.c:734 fe-auth-scram.c:908 fe-auth.c:296 #: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:727 fe-auth.c:1200 -#: fe-auth.c:1363 fe-cancel.c:159 fe-connect.c:936 fe-connect.c:976 -#: fe-connect.c:1860 fe-connect.c:2022 fe-connect.c:3430 fe-connect.c:4761 -#: fe-connect.c:5073 fe-connect.c:5328 fe-connect.c:5446 fe-connect.c:5693 -#: fe-connect.c:5773 fe-connect.c:5871 fe-connect.c:6122 fe-connect.c:6149 -#: fe-connect.c:6225 fe-connect.c:6248 fe-connect.c:6272 fe-connect.c:6307 -#: fe-connect.c:6393 fe-connect.c:6401 fe-connect.c:6758 fe-connect.c:6908 -#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4291 fe-exec.c:4457 -#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:209 fe-protocol3.c:232 -#: fe-protocol3.c:255 fe-protocol3.c:272 fe-protocol3.c:293 fe-protocol3.c:369 -#: fe-protocol3.c:737 fe-protocol3.c:976 fe-protocol3.c:1787 -#: fe-protocol3.c:2187 fe-secure-common.c:110 fe-secure-gssapi.c:496 -#: fe-secure-openssl.c:427 fe-secure-openssl.c:1277 +#: fe-auth.c:1363 fe-cancel.c:160 fe-connect.c:937 fe-connect.c:977 +#: fe-connect.c:1861 fe-connect.c:2023 fe-connect.c:3431 fe-connect.c:4762 +#: fe-connect.c:5074 fe-connect.c:5343 fe-connect.c:5461 fe-connect.c:5708 +#: fe-connect.c:5788 fe-connect.c:5886 fe-connect.c:6137 fe-connect.c:6164 +#: fe-connect.c:6240 fe-connect.c:6263 fe-connect.c:6287 fe-connect.c:6322 +#: fe-connect.c:6408 fe-connect.c:6416 fe-connect.c:6773 fe-connect.c:6923 +#: fe-exec.c:530 fe-exec.c:1320 fe-exec.c:3259 fe-exec.c:4330 fe-exec.c:4523 +#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:210 fe-protocol3.c:233 +#: fe-protocol3.c:256 fe-protocol3.c:273 fe-protocol3.c:294 fe-protocol3.c:370 +#: fe-protocol3.c:738 fe-protocol3.c:977 fe-protocol3.c:1801 +#: fe-protocol3.c:2201 fe-secure-common.c:110 fe-secure-gssapi.c:508 +#: fe-secure-gssapi.c:699 fe-secure-openssl.c:427 fe-secure-openssl.c:1277 #, c-format msgid "out of memory" msgstr "недостатньо пам'яті" @@ -337,654 +337,669 @@ msgid "connection pointer is NULL" msgstr "нульове значення вказівника підключення" -#: fe-cancel.c:82 fe-misc.c:572 +#: fe-cancel.c:82 fe-misc.c:598 #, c-format msgid "connection not open" msgstr "підключення не відкрито" -#: fe-cancel.c:193 +#: fe-cancel.c:194 #, c-format msgid "cancel request is already being sent on this connection" msgstr "запит на скасування вже надсилається при цьому підключенні" -#: fe-cancel.c:263 +#: fe-cancel.c:264 #, c-format msgid "unexpected response from server" msgstr "неочікувана відповідь сервера" -#: fe-connect.c:1182 +#: fe-connect.c:1183 #, c-format msgid "could not match %d host names to %d hostaddr values" msgstr "не вдалося зіставити імена хостів %d для значень %d hostaddr" -#: fe-connect.c:1262 +#: fe-connect.c:1263 #, c-format msgid "could not match %d port numbers to %d hosts" msgstr "не вдалося зіставити %d номерів портів з %d хостами" -#: fe-connect.c:1387 +#: fe-connect.c:1388 #, c-format msgid "negative require_auth method \"%s\" cannot be mixed with non-negative methods" msgstr "від'ємний метод require_auth \"%s\" не може бути змішаний з позитивними методами" -#: fe-connect.c:1400 +#: fe-connect.c:1401 #, c-format msgid "require_auth method \"%s\" cannot be mixed with negative methods" msgstr "метод require_auth \"%s\" не може бути змішаний з негативними методами" -#: fe-connect.c:1460 fe-connect.c:1511 fe-connect.c:1553 fe-connect.c:1596 -#: fe-connect.c:1699 fe-connect.c:1745 fe-connect.c:1785 fe-connect.c:1806 +#: fe-connect.c:1461 fe-connect.c:1512 fe-connect.c:1554 fe-connect.c:1597 +#: fe-connect.c:1700 fe-connect.c:1746 fe-connect.c:1786 fe-connect.c:1807 #, c-format msgid "invalid %s value: \"%s\"" msgstr "неприпустиме значення %s: \"%s\"" -#: fe-connect.c:1493 +#: fe-connect.c:1494 #, c-format msgid "require_auth method \"%s\" is specified more than once" msgstr "require_auth метод \"%s\" вказаний неодноразово" -#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707 +#: fe-connect.c:1535 fe-connect.c:1574 fe-connect.c:1606 fe-connect.c:1708 #, c-format msgid "%s value \"%s\" invalid when SSL support is not compiled in" msgstr "%s значення \"%s\" неприпустиме, якщо підтримку протоколу SSL не скомпільовано" -#: fe-connect.c:1625 +#: fe-connect.c:1626 #, c-format msgid "weak sslmode \"%s\" may not be used with sslnegotiation=direct (use \"require\", \"verify-ca\", or \"verify-full\")" msgstr "слабкий sslmode \"%s\" не може використовуватися з sslnegotiation=direct (використовуйте \"require\", \"verify-ca\" або \"verify-full\")" -#: fe-connect.c:1647 +#: fe-connect.c:1648 #, c-format msgid "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-full\")" msgstr "слабкий sslmode \"%s\" не може використовуватися з sslrootcert=system (використайте \"verify-full\")" -#: fe-connect.c:1660 fe-connect.c:1668 +#: fe-connect.c:1661 fe-connect.c:1669 #, c-format msgid "invalid \"%s\" value: \"%s\"" msgstr "неприпустиме значення \"%s\": \"%s\"" -#: fe-connect.c:1685 +#: fe-connect.c:1686 #, c-format msgid "invalid SSL protocol version range" msgstr "неприпустимий діапазон версії протоколу SSL" -#: fe-connect.c:1722 +#: fe-connect.c:1723 #, c-format msgid "%s value \"%s\" is not supported (check OpenSSL version)" msgstr "%s значення \"%s\" не підтримується (перевірте версію OpenSSL)" -#: fe-connect.c:1752 +#: fe-connect.c:1753 #, c-format msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" msgstr "значення gssencmode \"%s\" неприпустиме, якщо підтримку протоколу GSSAPI не скомпільовано" -#: fe-connect.c:2045 +#: fe-connect.c:2046 #, c-format msgid "could not set socket to TCP no delay mode: %s" msgstr "не вдалося встановити сокет у TCP-режим без затримки: %s" -#: fe-connect.c:2104 +#: fe-connect.c:2105 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "помилка при з'єднанні з сервером через сокет \"%s\": " -#: fe-connect.c:2130 +#: fe-connect.c:2131 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "підключення до серверу \"%s\" (%s), порт %s провалено: " -#: fe-connect.c:2135 +#: fe-connect.c:2136 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "підключення до серверу \"%s\", порт %s провалено: " -#: fe-connect.c:2158 +#: fe-connect.c:2159 #, c-format msgid "\tIs the server running locally and accepting connections on that socket?" msgstr "\tЧи працює сервер локально і приймає підключення до цього сокету?" -#: fe-connect.c:2160 +#: fe-connect.c:2161 #, c-format msgid "\tIs the server running on that host and accepting TCP/IP connections?" msgstr "\tЧи працює сервер на цьому хості і приймає TCP/IP підключення?" -#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373 -#: fe-connect.c:3098 +#: fe-connect.c:2207 fe-connect.c:2241 fe-connect.c:2276 fe-connect.c:2374 +#: fe-connect.c:3099 #, c-format msgid "%s(%s) failed: %s" msgstr "%s(%s) помилка: %s" -#: fe-connect.c:2339 +#: fe-connect.c:2340 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) помилка: код помилки %d" -#: fe-connect.c:2650 +#: fe-connect.c:2651 #, c-format msgid "invalid connection state, probably indicative of memory corruption" msgstr "неприпустимий стан підключення, можливо, пошкоджена пам'ять" -#: fe-connect.c:2733 +#: fe-connect.c:2734 #, c-format msgid "invalid port number: \"%s\"" msgstr "неприпустимий номер порту: \"%s\"" -#: fe-connect.c:2747 +#: fe-connect.c:2748 #, c-format msgid "could not translate host name \"%s\" to address: %s" msgstr "не вдалося перекласти ім’я хоста \"%s\" в адресу: %s" -#: fe-connect.c:2759 +#: fe-connect.c:2760 #, c-format msgid "could not parse network address \"%s\": %s" msgstr "не вдалося проаналізувати адресу мережі \"%s\": %s" -#: fe-connect.c:2770 +#: fe-connect.c:2771 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Шлях Unix-сокету \"%s\" занадто довгий (максимум %d байтів)" -#: fe-connect.c:2784 +#: fe-connect.c:2785 #, c-format msgid "could not translate Unix-domain socket path \"%s\" to address: %s" msgstr "не вдалося перекласти шлях Unix-сокету \"%s\" в адресу: %s" -#: fe-connect.c:2950 fe-connect.c:4305 +#: fe-connect.c:2951 fe-connect.c:4306 #, c-format msgid "GSSAPI encryption required but it is not supported over a local socket" msgstr "Потрібне шифрування GSSAPI, але воно не підтримується над локальним сокетом" -#: fe-connect.c:2958 fe-connect.c:4434 +#: fe-connect.c:2959 fe-connect.c:4435 #, c-format msgid "GSSAPI encryption required but no credential cache" msgstr "Шифрування GSSAPI необхідне, але немає кешу облікових даних" -#: fe-connect.c:3026 +#: fe-connect.c:3027 #, c-format msgid "could not create socket: %s" msgstr "не вдалося створити сокет: %s" -#: fe-connect.c:3057 +#: fe-connect.c:3058 #, c-format msgid "could not set socket to nonblocking mode: %s" msgstr "не вдалося встановити сокет у режим без блокування: %s" -#: fe-connect.c:3068 +#: fe-connect.c:3069 #, c-format msgid "could not set socket to close-on-exec mode: %s" msgstr "не вдалося встановити сокет у режим закриття по виконанню: %s" -#: fe-connect.c:3225 +#: fe-connect.c:3226 #, c-format msgid "could not get socket error status: %s" msgstr "не вдалося отримати статус помилки сокету: %s" -#: fe-connect.c:3252 +#: fe-connect.c:3253 #, c-format msgid "could not get client address from socket: %s" msgstr "не вдалося отримати адресу клієнта з сокету: %s" -#: fe-connect.c:3278 +#: fe-connect.c:3279 #, c-format msgid "requirepeer parameter is not supported on this platform" msgstr "параметр requirepeer не підтримується на цій платформі" -#: fe-connect.c:3280 +#: fe-connect.c:3281 #, c-format msgid "could not get peer credentials: %s" msgstr "не вдалось отримати облікові дані учасника: %s" -#: fe-connect.c:3293 +#: fe-connect.c:3294 #, c-format msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" msgstr "requirepeer вказує на \"%s\", але фактичне ім'я вузла \"%s\"" -#: fe-connect.c:3331 +#: fe-connect.c:3332 #, c-format msgid "could not send GSSAPI negotiation packet: %s" msgstr "не вдалося передати пакет узгодження протоколу GSSAPI: %s" -#: fe-connect.c:3380 +#: fe-connect.c:3381 #, c-format msgid "could not send SSL negotiation packet: %s" msgstr "не вдалося передати пакет узгодження протоколу SSL: %s" -#: fe-connect.c:3412 +#: fe-connect.c:3413 #, c-format msgid "could not send cancel packet: %s" msgstr "не вдалося надіслати запит на скасування: %s" -#: fe-connect.c:3442 +#: fe-connect.c:3443 #, c-format msgid "could not send startup packet: %s" msgstr "не вдалося передати стартовий пакет: %s" -#: fe-connect.c:3509 +#: fe-connect.c:3510 msgid "server does not support SSL, but SSL was required" msgstr "сервер не підтримує протокол SSL, але протокол SSL вимагається" -#: fe-connect.c:3519 +#: fe-connect.c:3520 #, c-format msgid "server sent an error response during SSL exchange" msgstr "сервер відповів помилкою під час обміну SSL" -#: fe-connect.c:3524 +#: fe-connect.c:3525 #, c-format msgid "received invalid response to SSL negotiation: %c" msgstr "отримано неприпустиму відповідь на узгодження SSL: %c" -#: fe-connect.c:3552 +#: fe-connect.c:3553 #, c-format msgid "received unencrypted data after SSL response" msgstr "отримані незашифровані дані після відповіді SSL" -#: fe-connect.c:3615 +#: fe-connect.c:3616 #, c-format msgid "server sent an error response during GSS encryption exchange" msgstr "сервер відповів помилкою під час обміну шифруванням GSS" -#: fe-connect.c:3629 +#: fe-connect.c:3630 msgid "server doesn't support GSSAPI encryption, but it was required" msgstr "сервер не підтримує шифрування GSSAPI, але це було необхідно" -#: fe-connect.c:3633 +#: fe-connect.c:3634 #, c-format msgid "received invalid response to GSSAPI negotiation: %c" msgstr "отримано неприпустиму відповідь на узгодження GSSAPI: %c" -#: fe-connect.c:3651 +#: fe-connect.c:3652 #, c-format msgid "received unencrypted data after GSSAPI encryption response" msgstr "отримані незашифровані дані після відповіді шифрування GSSAPI" -#: fe-connect.c:3711 +#: fe-connect.c:3712 #, c-format msgid "expected authentication request from server, but received %c" msgstr "очікувався запит автентифікації від сервера, але отримано %c" -#: fe-connect.c:3739 fe-connect.c:3862 +#: fe-connect.c:3740 fe-connect.c:3863 #, c-format msgid "received invalid authentication request" msgstr "отримано неприпустимий запит на аутентифікацію" -#: fe-connect.c:3745 fe-connect.c:3847 +#: fe-connect.c:3746 fe-connect.c:3848 #, c-format msgid "received invalid protocol negotiation message" msgstr "отримано неприпустиме повідомлення узгодження протоколу" -#: fe-connect.c:3764 fe-connect.c:3818 +#: fe-connect.c:3765 fe-connect.c:3819 #, c-format msgid "received invalid error message" msgstr "отримано неприпустиме повідомлення про помилку" -#: fe-connect.c:3933 +#: fe-connect.c:3934 #, c-format msgid "unexpected message from server during startup" msgstr "неочікуване повідомлення від сервера під час запуску" -#: fe-connect.c:4024 +#: fe-connect.c:4025 #, c-format msgid "session is read-only" msgstr "сесія доступна тільки для читання" -#: fe-connect.c:4026 +#: fe-connect.c:4027 #, c-format msgid "session is not read-only" msgstr "сесія доступна не лише для читання" -#: fe-connect.c:4079 +#: fe-connect.c:4080 #, c-format msgid "server is in hot standby mode" msgstr "сервер знаходиться у режимі hot standby" -#: fe-connect.c:4081 +#: fe-connect.c:4082 #, c-format msgid "server is not in hot standby mode" msgstr "сервер не в режимі hot standby" -#: fe-connect.c:4203 fe-connect.c:4253 +#: fe-connect.c:4204 fe-connect.c:4254 #, c-format msgid "\"%s\" failed" msgstr "\"%s\" помилка" -#: fe-connect.c:4267 +#: fe-connect.c:4268 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption" msgstr "неприпустимий стан підключення %d, можливо, пошкоджена пам'ять" -#: fe-connect.c:5086 +#: fe-connect.c:5087 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": схема має бути ldap://" -#: fe-connect.c:5101 +#: fe-connect.c:5102 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": відсутнє унікальне ім'я" -#: fe-connect.c:5113 fe-connect.c:5171 +#: fe-connect.c:5114 fe-connect.c:5172 #, c-format msgid "invalid LDAP URL \"%s\": must have exactly one attribute" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": має бути лише один атрибут" -#: fe-connect.c:5125 fe-connect.c:5187 +#: fe-connect.c:5126 fe-connect.c:5188 #, c-format msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": відсутня область пошуку (base/one/sub)" -#: fe-connect.c:5137 +#: fe-connect.c:5138 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": відсутній фільтр" -#: fe-connect.c:5159 +#: fe-connect.c:5160 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": неприпустимий номер порту" -#: fe-connect.c:5196 +#: fe-connect.c:5197 #, c-format msgid "could not create LDAP structure" msgstr "не вдалось створити структуру LDAP" -#: fe-connect.c:5271 +#: fe-connect.c:5272 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "помилка підстановки на сервері протоколу LDAP: %s" -#: fe-connect.c:5281 +#: fe-connect.c:5282 #, c-format msgid "more than one entry found on LDAP lookup" msgstr "знайдено більше одного входження при підстановці протоколу LDAP" -#: fe-connect.c:5283 fe-connect.c:5294 +#: fe-connect.c:5284 fe-connect.c:5295 #, c-format msgid "no entry found on LDAP lookup" msgstr "не знайдено входження при підстановці протоколу LDAP" -#: fe-connect.c:5304 fe-connect.c:5316 +#: fe-connect.c:5305 fe-connect.c:5317 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "атрибут не має значення при підстановці протоколу LDAP" -#: fe-connect.c:5367 fe-connect.c:5386 fe-connect.c:5910 +#: fe-connect.c:5331 +#, c-format +msgid "connection info string size exceeds the maximum allowed (%d)" +msgstr "розмір рядка з'єднання з інформацією перевищує максимально дозволену (%d)" + +#: fe-connect.c:5382 fe-connect.c:5401 fe-connect.c:5925 #, c-format msgid "missing \"=\" after \"%s\" in connection info string" msgstr "відсутній \"=\" після \"%s\" у рядку інформації про підключення" -#: fe-connect.c:5457 fe-connect.c:6093 fe-connect.c:6891 +#: fe-connect.c:5472 fe-connect.c:6108 fe-connect.c:6906 #, c-format msgid "invalid connection option \"%s\"" msgstr "неприпустимий параметр підключення \"%s\"" -#: fe-connect.c:5472 fe-connect.c:5958 +#: fe-connect.c:5487 fe-connect.c:5973 #, c-format msgid "unterminated quoted string in connection info string" msgstr "відкриті лапки у рядку інформації про підключення" -#: fe-connect.c:5552 +#: fe-connect.c:5567 #, c-format msgid "definition of service \"%s\" not found" msgstr "не знайдено визначення сервера \"%s\"" -#: fe-connect.c:5578 +#: fe-connect.c:5593 #, c-format msgid "service file \"%s\" not found" msgstr "не знайдено сервісний файл \"%s\"" -#: fe-connect.c:5591 +#: fe-connect.c:5606 #, c-format msgid "line %d too long in service file \"%s\"" msgstr "рядок %d занадто довгий у сервісному файлі \"%s\"" -#: fe-connect.c:5662 fe-connect.c:5705 +#: fe-connect.c:5677 fe-connect.c:5720 #, c-format msgid "syntax error in service file \"%s\", line %d" msgstr "синтаксична помилка у сервісному файлі \"%s\", рядок %d" -#: fe-connect.c:5673 +#: fe-connect.c:5688 #, c-format msgid "nested service specifications not supported in service file \"%s\", line %d" msgstr "вкладені сервісні специфікації не підтримуються у сервісному файлі \"%s\", рядок %d" -#: fe-connect.c:6412 +#: fe-connect.c:6427 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"" msgstr "у внутрішню процедуру аналізу рядка передано помилковий URI: \"%s\"" -#: fe-connect.c:6489 +#: fe-connect.c:6504 #, c-format msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\"" msgstr "досягнуто кінця рядка під час пошуку відповідного \"]\" в адресі IPv6 URI: \"%s\"" -#: fe-connect.c:6496 +#: fe-connect.c:6511 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"" msgstr "IPv6 адреса хоста не може бути порожньою в URI: \"%s\"" -#: fe-connect.c:6511 +#: fe-connect.c:6526 #, c-format msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\"" msgstr "неочікуваний символ \"%c\" на позиції %d в URI (очікувалося \":\" або \"/\"): \"%s\"" -#: fe-connect.c:6640 +#: fe-connect.c:6655 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "зайвий розділювач ключа/значення \"=\" в параметрі запиту URI: \"%s\"" -#: fe-connect.c:6660 +#: fe-connect.c:6675 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "відсутній розділювач ключа/значення \"=\" у параметрі запиту URI: \"%s\"" -#: fe-connect.c:6712 +#: fe-connect.c:6727 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "неприпустимий параметр запиту URI: \"%s\"" -#: fe-connect.c:6786 +#: fe-connect.c:6801 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "неприпустимий токен, закодований відсотками: \"%s\"" -#: fe-connect.c:6796 +#: fe-connect.c:6811 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"" msgstr "неприпустиме значення %%00 в відсотковому значенні: \"%s\"" -#: fe-connect.c:7160 +#: fe-connect.c:7177 msgid "connection pointer is NULL\n" msgstr "нульове значення вказівника підключення \n" -#: fe-connect.c:7168 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 -#: fe-protocol3.c:991 fe-protocol3.c:1024 +#: fe-connect.c:7185 fe-exec.c:718 fe-exec.c:980 fe-exec.c:3464 +#: fe-protocol3.c:992 fe-protocol3.c:1025 msgid "out of memory\n" msgstr "недостатньо пам'яті\n" -#: fe-connect.c:7459 +#: fe-connect.c:7476 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "ПОПЕРЕДЖЕННЯ: файл паролів \"%s\" не є простим файлом\n" -#: fe-connect.c:7468 +#: fe-connect.c:7485 #, c-format msgid "WARNING: password file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n" msgstr "ПОПЕРЕДЖЕННЯ: до файлу паролів \"%s\" мають доступ група або всі; дозволи мають бути u=rw (0600) або менше\n" -#: fe-connect.c:7575 +#: fe-connect.c:7592 #, c-format msgid "password retrieved from file \"%s\"" msgstr "пароль отримано з файлу \"%s\"" -#: fe-connect.c:7727 +#: fe-connect.c:7744 #, c-format msgid "invalid integer value \"%s\" for connection option \"%s\"" msgstr "неприпустиме ціле значення \"%s\" для параметра з'єднання \"%s\"" -#: fe-exec.c:469 fe-exec.c:3533 +#: fe-exec.c:469 fe-exec.c:3538 #, c-format msgid "row number %d is out of range 0..%d" msgstr "число рядків %d поза діапазоном 0..%d" -#: fe-exec.c:531 fe-protocol3.c:1993 +#: fe-exec.c:531 fe-protocol3.c:2007 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:834 +#: fe-exec.c:839 #, c-format msgid "write to server failed" msgstr "не вдалося записати на сервер" -#: fe-exec.c:874 +#: fe-exec.c:879 #, c-format msgid "no error text available" msgstr "немає доступного тексту помилки" -#: fe-exec.c:963 +#: fe-exec.c:968 msgid "NOTICE" msgstr "ПОВІДОМЛЕННЯ" -#: fe-exec.c:1021 +#: fe-exec.c:1026 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult не може підтримувати більше ніж INT_MAX кортежів" -#: fe-exec.c:1033 +#: fe-exec.c:1038 msgid "size_t overflow" msgstr "переповнення size_t" -#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553 +#: fe-exec.c:1443 fe-exec.c:1512 fe-exec.c:1558 #, c-format msgid "command string is a null pointer" msgstr "рядок команди є нульовим вказівником" -#: fe-exec.c:1444 fe-exec.c:3003 +#: fe-exec.c:1449 fe-exec.c:3008 #, c-format msgid "%s not allowed in pipeline mode" msgstr "%s не дозволено в режимі конвеєра" -#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652 +#: fe-exec.c:1517 fe-exec.c:1563 fe-exec.c:1657 #, c-format msgid "number of parameters must be between 0 and %d" msgstr "кількість параметрів має бути між 0 і %d" -#: fe-exec.c:1548 fe-exec.c:1647 +#: fe-exec.c:1553 fe-exec.c:1652 #, c-format msgid "statement name is a null pointer" msgstr "ім’я оператора є пустим вказівником" -#: fe-exec.c:1689 fe-exec.c:3379 +#: fe-exec.c:1694 fe-exec.c:3384 #, c-format msgid "no connection to the server" msgstr "немає з'єднання з сервером" -#: fe-exec.c:1697 fe-exec.c:3387 +#: fe-exec.c:1702 fe-exec.c:3392 #, c-format msgid "another command is already in progress" msgstr "інша команда вже виконується" -#: fe-exec.c:1727 +#: fe-exec.c:1732 #, c-format msgid "cannot queue commands during COPY" msgstr "не можна поставити в чергу команди під час COPY" -#: fe-exec.c:1846 +#: fe-exec.c:1851 #, c-format msgid "length must be given for binary parameter" msgstr "для бінарного параметра має бути надана довжина" -#: fe-exec.c:2205 +#: fe-exec.c:2210 #, c-format msgid "unexpected asyncStatus: %d" msgstr "неочікуваний asyncStatus: %d" -#: fe-exec.c:2361 +#: fe-exec.c:2366 #, c-format msgid "synchronous command execution functions are not allowed in pipeline mode" msgstr "функції синхронного виконання команд заборонені в режимі конвеєра" -#: fe-exec.c:2378 +#: fe-exec.c:2383 msgid "COPY terminated by new PQexec" msgstr "COPY завершено новим PQexec" -#: fe-exec.c:2394 +#: fe-exec.c:2399 #, c-format msgid "PQexec not allowed during COPY BOTH" msgstr "PQexec не дозволяється під час COPY BOTH" -#: fe-exec.c:2630 +#: fe-exec.c:2635 #, c-format msgid "unrecognized message type \"%c\"" msgstr "нерозпізнаний тип повідомлення \"%c\"" -#: fe-exec.c:2702 fe-exec.c:2756 fe-exec.c:2824 fe-protocol3.c:1924 +#: fe-exec.c:2707 fe-exec.c:2761 fe-exec.c:2829 fe-protocol3.c:1938 #, c-format msgid "no COPY in progress" msgstr "немає COPY у процесі" -#: fe-exec.c:3010 +#: fe-exec.c:3015 #, c-format msgid "connection in wrong state" msgstr "підключення у неправильному стані" -#: fe-exec.c:3053 +#: fe-exec.c:3058 #, c-format msgid "cannot enter pipeline mode, connection not idle" msgstr "не можна увійти в режим конвеєра, підключення не в очікуванні" -#: fe-exec.c:3089 fe-exec.c:3110 +#: fe-exec.c:3094 fe-exec.c:3115 #, c-format msgid "cannot exit pipeline mode with uncollected results" msgstr "не можна вийти з режиму конвеєра з незібраними результатами" -#: fe-exec.c:3093 +#: fe-exec.c:3098 #, c-format msgid "cannot exit pipeline mode while busy" msgstr "не можна вийти з режиму конвеєра, коли зайнято" -#: fe-exec.c:3104 +#: fe-exec.c:3109 #, c-format msgid "cannot exit pipeline mode while in COPY" msgstr "не можна вийти з режиму конвеєра під час COPY" -#: fe-exec.c:3303 +#: fe-exec.c:3308 #, c-format msgid "cannot send pipeline when not in pipeline mode" msgstr "неможливо скористатися конвеєром не у режимі конвеєра" -#: fe-exec.c:3422 +#: fe-exec.c:3427 msgid "invalid ExecStatusType code" msgstr "неприпустимий код ExecStatusType" -#: fe-exec.c:3449 +#: fe-exec.c:3454 msgid "PGresult is not an error result\n" msgstr "PGresult не є помилковим результатом\n" -#: fe-exec.c:3517 fe-exec.c:3540 +#: fe-exec.c:3522 fe-exec.c:3545 #, c-format msgid "column number %d is out of range 0..%d" msgstr "число стовпців %d поза діапазоном 0..%d" -#: fe-exec.c:3555 +#: fe-exec.c:3560 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "число параметрів %d поза діапазоном 0..%d" -#: fe-exec.c:3866 +#: fe-exec.c:3871 #, c-format msgid "could not interpret result from server: %s" msgstr "не вдалося інтерпретувати результат від сервера: %s" -#: fe-exec.c:4140 fe-exec.c:4253 +#: fe-exec.c:4146 fe-exec.c:4281 #, c-format msgid "incomplete multibyte character" msgstr "неповний мультибайтний символ" -#: fe-exec.c:4142 fe-exec.c:4272 +#: fe-exec.c:4148 fe-exec.c:4300 #, c-format msgid "invalid multibyte character" msgstr "неприпустимий мультибайтний символ" +#: fe-exec.c:4402 +#, c-format +msgid "escaped string size exceeds the maximum allowed (%zu)" +msgstr "довжина екранованого рядка перевищує максимально допустиму (%zu)" + +#: fe-exec.c:4579 +#, c-format +msgid "escaped bytea size exceeds the maximum allowed (%zu)" +msgstr "розмір bytea перевищує максимальний допустимий розмір (%zu)" + #: fe-gssapi-common.c:122 msgid "GSSAPI name import error" msgstr "Помилка імпорту імені у GSSAPI" @@ -1041,7 +1056,7 @@ msgid "integer of size %lu not supported by pqPutInt" msgstr "pqPutInt не підтримує ціле число розміром %lu" -#: fe-misc.c:750 fe-secure-openssl.c:203 fe-secure-openssl.c:309 +#: fe-misc.c:776 fe-secure-openssl.c:203 fe-secure-openssl.c:309 #: fe-secure.c:237 fe-secure.c:404 #, c-format msgid "server closed the connection unexpectedly\n" @@ -1050,150 +1065,150 @@ msgstr "сервер неочікувано закрив підключення\n" " Це може означати, що сервер завершив роботу ненормально до або під час обробки запиту." -#: fe-misc.c:817 +#: fe-misc.c:843 msgid "connection not open\n" msgstr "підключення не відкрито\n" -#: fe-misc.c:1005 +#: fe-misc.c:1031 #, c-format msgid "timeout expired" msgstr "час очікування минув" -#: fe-misc.c:1049 +#: fe-misc.c:1075 #, c-format msgid "invalid socket" msgstr "неприпустимий сокет" -#: fe-misc.c:1071 +#: fe-misc.c:1097 #, c-format msgid "%s() failed: %s" msgstr "%s() помилка: %s" -#: fe-protocol3.c:187 +#: fe-protocol3.c:188 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "отримано тип повідомлення 0x%02x від сервера під час бездіяльності" -#: fe-protocol3.c:402 +#: fe-protocol3.c:403 #, c-format msgid "server sent data (\"D\" message) without prior row description (\"T\" message)" msgstr "сервер передав дані (повідомлення \"D\") без попереднього опису рядка (повідомлення \"T\")" -#: fe-protocol3.c:444 +#: fe-protocol3.c:445 #, c-format msgid "unexpected response from server; first received character was \"%c\"" msgstr "неочікувана відповідь від сервера; перший отриманий символ був \"%c\"" -#: fe-protocol3.c:467 +#: fe-protocol3.c:468 #, c-format msgid "message contents do not agree with length in message type \"%c\"" msgstr "вміст повідомлення не відповідає довжині у типі повідомлення \"%c\"" -#: fe-protocol3.c:485 +#: fe-protocol3.c:486 #, c-format msgid "lost synchronization with server: got message type \"%c\", length %d" msgstr "втрачено синхронізацію з сервером: отримано тип повідомлення \"%c\", довжина %d" -#: fe-protocol3.c:537 fe-protocol3.c:577 +#: fe-protocol3.c:538 fe-protocol3.c:578 msgid "insufficient data in \"T\" message" msgstr "недостатньо даних у повідомленні \"T\"" -#: fe-protocol3.c:648 fe-protocol3.c:854 +#: fe-protocol3.c:649 fe-protocol3.c:855 msgid "out of memory for query result" msgstr "недостатньо пам'яті для результату запиту" -#: fe-protocol3.c:717 +#: fe-protocol3.c:718 msgid "insufficient data in \"t\" message" msgstr "недостатньо даних у повідомленні \"t\"" -#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826 +#: fe-protocol3.c:777 fe-protocol3.c:809 fe-protocol3.c:827 msgid "insufficient data in \"D\" message" msgstr "зайві дані у повідомленні \"D\"" -#: fe-protocol3.c:782 +#: fe-protocol3.c:783 msgid "unexpected field count in \"D\" message" msgstr "неочікувана кількість полів у повідомленні \"D\"" -#: fe-protocol3.c:1037 +#: fe-protocol3.c:1038 msgid "no error message available\n" msgstr "немає доступного повідомлення про помилку\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1085 fe-protocol3.c:1104 +#: fe-protocol3.c:1086 fe-protocol3.c:1105 #, c-format msgid " at character %s" msgstr " в символі %s" -#: fe-protocol3.c:1117 +#: fe-protocol3.c:1118 #, c-format msgid "DETAIL: %s\n" msgstr "ДЕТАЛІ: %s\n" -#: fe-protocol3.c:1120 +#: fe-protocol3.c:1121 #, c-format msgid "HINT: %s\n" msgstr "ПІДКАЗКА: %s\n" -#: fe-protocol3.c:1123 +#: fe-protocol3.c:1124 #, c-format msgid "QUERY: %s\n" msgstr "ЗАПИТ: %s\n" -#: fe-protocol3.c:1130 +#: fe-protocol3.c:1131 #, c-format msgid "CONTEXT: %s\n" msgstr "КОНТЕКСТ: %s\n" -#: fe-protocol3.c:1139 +#: fe-protocol3.c:1140 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "ІМ'Я СХЕМИ: %s\n" -#: fe-protocol3.c:1143 +#: fe-protocol3.c:1144 #, c-format msgid "TABLE NAME: %s\n" msgstr "ІМ'Я ТАБЛИЦІ: %s\n" -#: fe-protocol3.c:1147 +#: fe-protocol3.c:1148 #, c-format msgid "COLUMN NAME: %s\n" msgstr "ІМ'Я СТОВПЦЯ: %s\n" -#: fe-protocol3.c:1151 +#: fe-protocol3.c:1152 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "ІМ'Я ТИПУ ДАНИХ: %s\n" -#: fe-protocol3.c:1155 +#: fe-protocol3.c:1156 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "ІМ'Я ОБМЕЖЕННЯ: %s\n" -#: fe-protocol3.c:1167 +#: fe-protocol3.c:1168 msgid "LOCATION: " msgstr "РОЗТАШУВАННЯ: " -#: fe-protocol3.c:1169 +#: fe-protocol3.c:1170 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1171 +#: fe-protocol3.c:1172 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1366 +#: fe-protocol3.c:1380 #, c-format msgid "LINE %d: " msgstr "РЯДОК %d: " -#: fe-protocol3.c:1440 +#: fe-protocol3.c:1454 #, c-format msgid "protocol version not supported by server: client uses %u.%u, server supports up to %u.%u" msgstr "Версія протоколу не підтримується сервером: клієнт використовує %u.%u, сервер підтримує %u.%u" -#: fe-protocol3.c:1446 +#: fe-protocol3.c:1460 #, c-format msgid "protocol extension not supported by server: %s" msgid_plural "protocol extensions not supported by server: %s" @@ -1202,22 +1217,22 @@ msgstr[2] "розширення протоколів не підтримується сервером: %s" msgstr[3] "розширення протоколів не підтримується сервером: %s" -#: fe-protocol3.c:1454 +#: fe-protocol3.c:1468 #, c-format msgid "invalid %s message" msgstr "неприпустиме %s повідомлення" -#: fe-protocol3.c:1819 +#: fe-protocol3.c:1833 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline: не викликати для текстового COPY OUT" -#: fe-protocol3.c:2193 +#: fe-protocol3.c:2207 #, c-format msgid "protocol error: no function result" msgstr "помилка протоколу: результат функції відсутній" -#: fe-protocol3.c:2204 +#: fe-protocol3.c:2218 #, c-format msgid "protocol error: id=0x%x" msgstr "помилка протоколу: id=0x%x" @@ -1261,46 +1276,42 @@ msgid "could not get server's host name from server certificate" msgstr "не вдалося отримати ім'я хосту від серверного сертифікату" -#: fe-secure-gssapi.c:194 +#: fe-secure-gssapi.c:201 msgid "GSSAPI wrap error" msgstr "помилка при згортанні GSSAPI" -#: fe-secure-gssapi.c:201 +#: fe-secure-gssapi.c:208 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" msgstr "вихідне повідомлення GSSAPI не буде використовувати конфіденційність" -#: fe-secure-gssapi.c:208 +#: fe-secure-gssapi.c:215 fe-secure-gssapi.c:726 #, c-format msgid "client tried to send oversize GSSAPI packet (%zu > %zu)" msgstr "клієнт намагався відправити переповнений пакет GSSAPI (%zu > %zu)" -#: fe-secure-gssapi.c:347 fe-secure-gssapi.c:589 +#: fe-secure-gssapi.c:354 fe-secure-gssapi.c:602 #, c-format msgid "oversize GSSAPI packet sent by the server (%zu > %zu)" msgstr "переповнений пакет GSSAPI відправлений сервером (%zu > %zu)" -#: fe-secure-gssapi.c:386 +#: fe-secure-gssapi.c:393 msgid "GSSAPI unwrap error" msgstr "помилка при розгортанні GSSAPI" -#: fe-secure-gssapi.c:395 +#: fe-secure-gssapi.c:402 #, c-format msgid "incoming GSSAPI message did not use confidentiality" msgstr "вхідне повідомлення GSSAPI не використовувало конфіденційність" -#: fe-secure-gssapi.c:652 +#: fe-secure-gssapi.c:665 msgid "could not initiate GSSAPI security context" msgstr "не вдалося ініціювати контекст безпеки GSSAPI" -#: fe-secure-gssapi.c:681 +#: fe-secure-gssapi.c:715 msgid "GSSAPI size check error" msgstr "помилка перевірки розміру GSSAPI" -#: fe-secure-gssapi.c:692 -msgid "GSSAPI context establishment error" -msgstr "помилка встановлення контексту GSSAPI" - #: fe-secure-openssl.c:207 fe-secure-openssl.c:313 fe-secure-openssl.c:1524 #, c-format msgid "SSL SYSCALL error: %s" diff -Nru postgresql-17-17.7/src/pl/plperl/po/es.po postgresql-17-17.8/src/pl/plperl/po/es.po --- postgresql-17-17.7/src/pl/plperl/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/pl/plperl/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: plperl (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:27+0000\n" +"POT-Creation-Date: 2026-02-06 23:25+0000\n" "PO-Revision-Date: 2024-11-16 14:24+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/pl/plpgsql/src/po/es.po postgresql-17-17.8/src/pl/plpgsql/src/po/es.po --- postgresql-17-17.7/src/pl/plpgsql/src/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/pl/plpgsql/src/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: plpgsql (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:27+0000\n" +"POT-Creation-Date: 2026-02-06 23:26+0000\n" "PO-Revision-Date: 2024-11-16 14:24+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/pl/plpython/po/es.po postgresql-17-17.8/src/pl/plpython/po/es.po --- postgresql-17-17.7/src/pl/plpython/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/pl/plpython/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: plpython (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:26+0000\n" +"POT-Creation-Date: 2026-02-06 23:25+0000\n" "PO-Revision-Date: 2024-11-16 14:24+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/pl/tcl/po/es.po postgresql-17-17.8/src/pl/tcl/po/es.po --- postgresql-17-17.7/src/pl/tcl/po/es.po 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/pl/tcl/po/es.po 2026-02-09 21:51:54.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: pltcl (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-11-08 00:26+0000\n" +"POT-Creation-Date: 2026-02-06 23:25+0000\n" "PO-Revision-Date: 2024-11-16 14:24+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" diff -Nru postgresql-17-17.7/src/port/open.c postgresql-17-17.8/src/port/open.c --- postgresql-17-17.7/src/port/open.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/port/open.c 2026-02-09 21:51:54.000000000 +0000 @@ -74,13 +74,23 @@ /* Check that we can handle the request */ assert((fileFlags & ((O_RDONLY | O_WRONLY | O_RDWR) | O_APPEND | (O_RANDOM | O_SEQUENTIAL | O_TEMPORARY) | - _O_SHORT_LIVED | O_DSYNC | O_DIRECT | + _O_SHORT_LIVED | O_DSYNC | O_DIRECT | O_CLOEXEC | (O_CREAT | O_TRUNC | O_EXCL) | (O_TEXT | O_BINARY))) == fileFlags); sa.nLength = sizeof(sa); - sa.bInheritHandle = TRUE; sa.lpSecurityDescriptor = NULL; + /* + * If O_CLOEXEC is specified, create a non-inheritable handle. Otherwise, + * create an inheritable handle (the default Windows behavior). + * + * Note: We could instead use SetHandleInformation() after CreateFile() to + * clear HANDLE_FLAG_INHERIT, but this way avoids rare leaks in + * multi-threaded programs that create processes, just like POSIX + * O_CLOEXEC. + */ + sa.bInheritHandle = !(fileFlags & O_CLOEXEC); + while ((h = CreateFile(fileName, /* cannot use O_RDONLY, as it == 0 */ (fileFlags & O_RDWR) ? (GENERIC_WRITE | GENERIC_READ) : diff -Nru postgresql-17-17.7/src/test/isolation/expected/inplace-inval.out postgresql-17-17.8/src/test/isolation/expected/inplace-inval.out --- postgresql-17-17.7/src/test/isolation/expected/inplace-inval.out 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/isolation/expected/inplace-inval.out 2026-02-09 21:51:54.000000000 +0000 @@ -1,6 +1,6 @@ Parsed test spec with 3 sessions -starting permutation: cachefill3 cir1 cic2 ddl3 +starting permutation: cachefill3 cir1 cic2 ddl3 read1 step cachefill3: TABLE newly_indexed; c - @@ -9,6 +9,14 @@ step cir1: BEGIN; CREATE INDEX i1 ON newly_indexed (c); ROLLBACK; step cic2: CREATE INDEX i2 ON newly_indexed (c); step ddl3: ALTER TABLE newly_indexed ADD extra int; +step read1: + SELECT relhasindex FROM pg_class WHERE oid = 'newly_indexed'::regclass; + +relhasindex +----------- +t +(1 row) + starting permutation: cir1 cic2 ddl3 read1 step cir1: BEGIN; CREATE INDEX i1 ON newly_indexed (c); ROLLBACK; diff -Nru postgresql-17-17.7/src/test/isolation/expected/insert-conflict-do-update-4.out postgresql-17-17.8/src/test/isolation/expected/insert-conflict-do-update-4.out --- postgresql-17-17.7/src/test/isolation/expected/insert-conflict-do-update-4.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/isolation/expected/insert-conflict-do-update-4.out 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,63 @@ +Parsed test spec with 2 sessions + +starting permutation: lock2 insert1 update2a c2 select1 c1 +step lock2: SELECT * FROM upsert WHERE i = 1 FOR UPDATE; +i| j| k +-+--+--- +1|10|100 +(1 row) + +step insert1: INSERT INTO upsert VALUES (1, 11, 111) + ON CONFLICT (i) DO UPDATE SET k = EXCLUDED.k; +step update2a: UPDATE upsert SET i = i + 10 WHERE i = 1; +step c2: COMMIT; +step insert1: <... completed> +step select1: SELECT * FROM upsert; + i| j| k +--+--+--- +11|10|100 + 1|11|111 +(2 rows) + +step c1: COMMIT; + +starting permutation: lock2 insert1 update2b c2 select1 c1 +step lock2: SELECT * FROM upsert WHERE i = 1 FOR UPDATE; +i| j| k +-+--+--- +1|10|100 +(1 row) + +step insert1: INSERT INTO upsert VALUES (1, 11, 111) + ON CONFLICT (i) DO UPDATE SET k = EXCLUDED.k; +step update2b: UPDATE upsert SET i = i + 150 WHERE i = 1; +step c2: COMMIT; +step insert1: <... completed> +step select1: SELECT * FROM upsert; + i| j| k +---+--+--- + 1|11|111 +151|10|100 +(2 rows) + +step c1: COMMIT; + +starting permutation: lock2 insert1 delete2 c2 select1 c1 +step lock2: SELECT * FROM upsert WHERE i = 1 FOR UPDATE; +i| j| k +-+--+--- +1|10|100 +(1 row) + +step insert1: INSERT INTO upsert VALUES (1, 11, 111) + ON CONFLICT (i) DO UPDATE SET k = EXCLUDED.k; +step delete2: DELETE FROM upsert WHERE i = 1; +step c2: COMMIT; +step insert1: <... completed> +step select1: SELECT * FROM upsert; +i| j| k +-+--+--- +1|11|111 +(1 row) + +step c1: COMMIT; diff -Nru postgresql-17-17.7/src/test/isolation/expected/merge-update.out postgresql-17-17.8/src/test/isolation/expected/merge-update.out --- postgresql-17-17.7/src/test/isolation/expected/merge-update.out 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/isolation/expected/merge-update.out 2026-02-09 21:51:54.000000000 +0000 @@ -57,6 +57,52 @@ step c2: COMMIT; +starting permutation: merge1 c1 explain_merge2a select2 c2 +step merge1: + MERGE INTO target t + USING (SELECT 1 as key, 'merge1' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; + +step c1: COMMIT; +step explain_merge2a: + SELECT explain_filter($$ + EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF, BUFFERS OFF) + MERGE INTO target t + USING (SELECT 1 as key, 'merge2a' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val + WHEN NOT MATCHED BY SOURCE THEN + UPDATE set key = t.key + 1, val = t.val || ' source not matched by merge2a' + RETURNING merge_action(), t.* + $$); + +explain_filter +-------------------------------------------------------- +Merge on target t (actual rows=2 loops=1) + Tuples: inserted=1 updated=1 + -> Hash Full Join (actual rows=2 loops=1) + Hash Cond: (t.key = (1)) + -> Seq Scan on target t (actual rows=1 loops=1) + -> Hash (actual rows=1 loops=1) + -> Result (actual rows=1 loops=1) +(7 rows) + +step select2: SELECT * FROM target; +key|val +---+------------------------------------------------------ + 3|setup1 updated by merge1 source not matched by merge2a + 1|merge2a +(2 rows) + +step c2: COMMIT; + starting permutation: pa_merge1 c1 pa_merge2c_dup a2 step pa_merge1: MERGE INTO pa_target t @@ -117,6 +163,53 @@ step c2: COMMIT; +starting permutation: merge1 explain_merge2a c1 select2 c2 +step merge1: + MERGE INTO target t + USING (SELECT 1 as key, 'merge1' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; + +step explain_merge2a: + SELECT explain_filter($$ + EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF, BUFFERS OFF) + MERGE INTO target t + USING (SELECT 1 as key, 'merge2a' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val + WHEN NOT MATCHED BY SOURCE THEN + UPDATE set key = t.key + 1, val = t.val || ' source not matched by merge2a' + RETURNING merge_action(), t.* + $$); + +step c1: COMMIT; +step explain_merge2a: <... completed> +explain_filter +-------------------------------------------------------- +Merge on target t (actual rows=2 loops=1) + Tuples: inserted=1 updated=1 + -> Hash Full Join (actual rows=2 loops=1) + Hash Cond: (t.key = (1)) + -> Seq Scan on target t (actual rows=1 loops=1) + -> Hash (actual rows=1 loops=1) + -> Result (actual rows=1 loops=1) +(7 rows) + +step select2: SELECT * FROM target; +key|val +---+------------------------------------------------------ + 3|setup1 updated by merge1 source not matched by merge2a + 1|merge2a +(2 rows) + +step c2: COMMIT; + starting permutation: merge1 merge2a a1 select2 c2 step merge1: MERGE INTO target t @@ -246,6 +339,59 @@ step pa_select2: SELECT * FROM pa_target; key|val +---+-------------------------------------------------- + 2|initial updated by pa_merge1 updated by pa_merge2a + 3|initial source not matched by pa_merge2a +(2 rows) + +step c2: COMMIT; + +starting permutation: pa_merge1 explain_pa_merge2a c1 pa_select2 c2 +step pa_merge1: + MERGE INTO pa_target t + USING (SELECT 1 as key, 'pa_merge1' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set val = t.val || ' updated by ' || s.val; + +step explain_pa_merge2a: + SELECT explain_filter($$ + EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF, BUFFERS OFF) + MERGE INTO pa_target t + USING (SELECT 1 as key, 'pa_merge2a' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val + WHEN NOT MATCHED BY SOURCE THEN + UPDATE set key = t.key + 1, val = t.val || ' source not matched by pa_merge2a' + RETURNING merge_action(), t.* + $$); + +step c1: COMMIT; +step explain_pa_merge2a: <... completed> +explain_filter +--------------------------------------------------------------- +Merge on pa_target t (actual rows=2 loops=1) + Merge on part1 t_1 + Merge on part2 t_2 + Merge on part3 t_3 + Tuples: updated=2 + -> Hash Full Join (actual rows=2 loops=1) + Hash Cond: (t.key = (1)) + -> Append (actual rows=2 loops=1) + -> Seq Scan on part1 t_1 (actual rows=1 loops=1) + -> Seq Scan on part2 t_2 (actual rows=1 loops=1) + -> Seq Scan on part3 t_3 (actual rows=0 loops=1) + -> Hash (actual rows=1 loops=1) + -> Result (actual rows=1 loops=1) +(13 rows) + +step pa_select2: SELECT * FROM pa_target; +key|val ---+-------------------------------------------------- 2|initial updated by pa_merge1 updated by pa_merge2a 3|initial source not matched by pa_merge2a diff -Nru postgresql-17-17.7/src/test/isolation/isolation_schedule postgresql-17-17.8/src/test/isolation/isolation_schedule --- postgresql-17-17.7/src/test/isolation/isolation_schedule 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/isolation/isolation_schedule 2026-02-09 21:51:54.000000000 +0000 @@ -49,6 +49,7 @@ test: insert-conflict-do-update test: insert-conflict-do-update-2 test: insert-conflict-do-update-3 +test: insert-conflict-do-update-4 test: insert-conflict-specconflict test: merge-insert-update test: merge-delete diff -Nru postgresql-17-17.7/src/test/isolation/specs/inplace-inval.spec postgresql-17-17.8/src/test/isolation/specs/inplace-inval.spec --- postgresql-17-17.7/src/test/isolation/specs/inplace-inval.spec 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/isolation/specs/inplace-inval.spec 2026-02-09 21:51:54.000000000 +0000 @@ -1,7 +1,7 @@ -# If a heap_update() caller retrieves its oldtup from a cache, it's possible -# for that cache entry to predate an inplace update, causing loss of that -# inplace update. This arises because the transaction may abort before -# sending the inplace invalidation message to the shared queue. +# An inplace update had been able to abort before sending the inplace +# invalidation message to the shared queue. If a heap_update() caller then +# retrieved its oldtup from a cache, the heap_update() could revert the +# inplace update. setup { @@ -27,14 +27,12 @@ step ddl3 { ALTER TABLE newly_indexed ADD extra int; } -# XXX shows an extant bug. Adding step read1 at the end would usually print -# relhasindex=f (not wanted). This does not reach the unwanted behavior under -# -DCATCACHE_FORCE_RELEASE and friends. permutation cachefill3 # populates the pg_class row in the catcache cir1 # sets relhasindex=true; rollback discards cache inval cic2 # sees relhasindex=true, skips changing it (so no inval) ddl3 # cached row as the oldtup of an update, losing relhasindex + read1 # observe damage # without cachefill3, no bug permutation cir1 cic2 ddl3 read1 diff -Nru postgresql-17-17.7/src/test/isolation/specs/insert-conflict-do-update-4.spec postgresql-17-17.8/src/test/isolation/specs/insert-conflict-do-update-4.spec --- postgresql-17-17.7/src/test/isolation/specs/insert-conflict-do-update-4.spec 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/isolation/specs/insert-conflict-do-update-4.spec 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,42 @@ +# INSERT...ON CONFLICT DO UPDATE test with partitioned table +# +# We use SELECT FOR UPDATE to block the INSERT at the point where +# it has found an existing tuple and is attempting to update it. +# Then we can execute a conflicting update and verify the results. +# Of course, this only works in READ COMMITTED mode, else we'd get an error. + +setup +{ + CREATE TABLE upsert (i int PRIMARY KEY, j int, k int) PARTITION BY RANGE (i); + CREATE TABLE upsert_1 PARTITION OF upsert FOR VALUES FROM (1) TO (100); + CREATE TABLE upsert_2 PARTITION OF upsert FOR VALUES FROM (100) TO (200); + + INSERT INTO upsert VALUES (1, 10, 100); +} + +teardown +{ + DROP TABLE upsert; +} + +session s1 +setup { BEGIN ISOLATION LEVEL READ COMMITTED; } +step insert1 { INSERT INTO upsert VALUES (1, 11, 111) + ON CONFLICT (i) DO UPDATE SET k = EXCLUDED.k; } +step select1 { SELECT * FROM upsert; } +step c1 { COMMIT; } + +session s2 +setup { BEGIN ISOLATION LEVEL READ COMMITTED; } +step lock2 { SELECT * FROM upsert WHERE i = 1 FOR UPDATE; } +step update2a { UPDATE upsert SET i = i + 10 WHERE i = 1; } +step update2b { UPDATE upsert SET i = i + 150 WHERE i = 1; } +step delete2 { DELETE FROM upsert WHERE i = 1; } +step c2 { COMMIT; } + +# Test case where concurrent update moves the target row within the partition +permutation lock2 insert1 update2a c2 select1 c1 +# Test case where concurrent update moves the target row to another partition +permutation lock2 insert1 update2b c2 select1 c1 +# Test case where target row is concurrently deleted +permutation lock2 insert1 delete2 c2 select1 c1 diff -Nru postgresql-17-17.7/src/test/isolation/specs/merge-update.spec postgresql-17-17.8/src/test/isolation/specs/merge-update.spec --- postgresql-17-17.7/src/test/isolation/specs/merge-update.spec 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/isolation/specs/merge-update.spec 2026-02-09 21:51:54.000000000 +0000 @@ -23,12 +23,27 @@ INSERT INTO pa_target VALUES (1, 'initial'); INSERT INTO pa_target VALUES (2, 'initial'); + + CREATE FUNCTION explain_filter(text) RETURNS SETOF text + LANGUAGE plpgsql AS + $$ + DECLARE + ln text; + BEGIN + FOR ln IN EXECUTE $1 LOOP + -- Ignore hash memory usage because it varies depending on the system + CONTINUE WHEN (ln ~ 'Memory Usage'); + RETURN NEXT ln; + END LOOP; + END; + $$; } teardown { DROP TABLE target; DROP TABLE pa_target CASCADE; + DROP FUNCTION explain_filter; } session "s1" @@ -97,6 +112,22 @@ UPDATE set key = t.key + 1, val = t.val || ' source not matched by merge2a' RETURNING merge_action(), t.*; } +step "explain_merge2a" +{ + SELECT explain_filter($$ + EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF, BUFFERS OFF) + MERGE INTO target t + USING (SELECT 1 as key, 'merge2a' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val + WHEN NOT MATCHED BY SOURCE THEN + UPDATE set key = t.key + 1, val = t.val || ' source not matched by merge2a' + RETURNING merge_action(), t.* + $$); +} step "merge2b" { MERGE INTO target t @@ -130,6 +161,22 @@ UPDATE set key = t.key + 1, val = t.val || ' source not matched by pa_merge2a' RETURNING merge_action(), t.*; } +step "explain_pa_merge2a" +{ + SELECT explain_filter($$ + EXPLAIN (ANALYZE, COSTS OFF, TIMING OFF, SUMMARY OFF, BUFFERS OFF) + MERGE INTO pa_target t + USING (SELECT 1 as key, 'pa_merge2a' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val + WHEN NOT MATCHED BY SOURCE THEN + UPDATE set key = t.key + 1, val = t.val || ' source not matched by pa_merge2a' + RETURNING merge_action(), t.* + $$); +} # MERGE proceeds only if 'val' unchanged step "pa_merge2b_when" { @@ -160,14 +207,17 @@ # One after the other, no concurrency permutation "merge1" "c1" "merge2a" "select2" "c2" +permutation "merge1" "c1" "explain_merge2a" "select2" "c2" permutation "pa_merge1" "c1" "pa_merge2c_dup" "a2" # Now with concurrency permutation "merge1" "merge2a" "c1" "select2" "c2" +permutation "merge1" "explain_merge2a" "c1" "select2" "c2" permutation "merge1" "merge2a" "a1" "select2" "c2" permutation "merge1" "merge2b" "c1" "select2" "c2" permutation "merge1" "merge2c" "c1" "select2" "c2" permutation "pa_merge1" "pa_merge2a" "c1" "pa_select2" "c2" +permutation "pa_merge1" "explain_pa_merge2a" "c1" "pa_select2" "c2" permutation "pa_merge2" "pa_merge2a" "c1" "pa_select2" "c2" # fails permutation "pa_merge2" "c1" "pa_merge2a" "pa_select2" "c2" # succeeds permutation "pa_merge3" "pa_merge2b_when" "c1" "pa_select2" "c2" # WHEN not satisfied by updated tuple diff -Nru postgresql-17-17.7/src/test/modules/Makefile postgresql-17-17.8/src/test/modules/Makefile --- postgresql-17-17.7/src/test/modules/Makefile 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/Makefile 2026-02-09 21:51:54.000000000 +0000 @@ -14,6 +14,7 @@ plsample \ spgist_name_ops \ test_bloomfilter \ + test_cloexec \ test_copy_callbacks \ test_custom_rmgrs \ test_ddl_deparse \ diff -Nru postgresql-17-17.7/src/test/modules/gin/expected/gin_incomplete_splits.out postgresql-17-17.8/src/test/modules/gin/expected/gin_incomplete_splits.out --- postgresql-17-17.7/src/test/modules/gin/expected/gin_incomplete_splits.out 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/gin/expected/gin_incomplete_splits.out 2026-02-09 21:51:54.000000000 +0000 @@ -192,3 +192,4 @@ (1 row) +drop extension injection_points; diff -Nru postgresql-17-17.7/src/test/modules/gin/sql/gin_incomplete_splits.sql postgresql-17-17.8/src/test/modules/gin/sql/gin_incomplete_splits.sql --- postgresql-17-17.7/src/test/modules/gin/sql/gin_incomplete_splits.sql 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/gin/sql/gin_incomplete_splits.sql 2026-02-09 21:51:54.000000000 +0000 @@ -148,3 +148,5 @@ select verify(:next_i); SELECT injection_points_detach('gin-finish-incomplete-split'); + +drop extension injection_points; diff -Nru postgresql-17-17.7/src/test/modules/injection_points/Makefile postgresql-17-17.8/src/test/modules/injection_points/Makefile --- postgresql-17-17.7/src/test/modules/injection_points/Makefile 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/injection_points/Makefile 2026-02-09 21:51:54.000000000 +0000 @@ -12,7 +12,9 @@ REGRESS = injection_points reindex_conc vacuum REGRESS_OPTS = --dlpath=$(top_builddir)/src/test/regress -ISOLATION = inplace syscache-update-pruned +ISOLATION = inplace \ + syscache-update-pruned \ + heap_lock_update # The injection points are cluster-wide, so disable installcheck NO_INSTALLCHECK = 1 diff -Nru postgresql-17-17.7/src/test/modules/injection_points/expected/heap_lock_update.out postgresql-17-17.8/src/test/modules/injection_points/expected/heap_lock_update.out --- postgresql-17-17.7/src/test/modules/injection_points/expected/heap_lock_update.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/injection_points/expected/heap_lock_update.out 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,83 @@ +Parsed test spec with 2 sessions + +starting permutation: s1begin s1update s2lock s1abort vacuum reinsert wake +step s1begin: BEGIN; +step s1update: UPDATE t SET id = 10000 WHERE id = 1 RETURNING ctid; +ctid +----- +(1,2) +(1 row) + +step s2lock: select * from t where id = 1 for update; +step s1abort: ABORT; +step vacuum: VACUUM t; +step reinsert: + INSERT INTO t VALUES (10001) RETURNING ctid; + UPDATE t SET id = 10002 WHERE id = 10001 RETURNING ctid; + +ctid +----- +(1,2) +(1 row) + +ctid +----- +(1,3) +(1 row) + +step wake: + SELECT FROM injection_points_detach('heap_lock_updated_tuple'); + SELECT FROM injection_points_wakeup('heap_lock_updated_tuple'); + +step s2lock: <... completed> +id +-- + 1 +(1 row) + +step wake: <... completed> + +starting permutation: s1begin s1update s2lock s1abort vacuum reinsert_and_lock wake +step s1begin: BEGIN; +step s1update: UPDATE t SET id = 10000 WHERE id = 1 RETURNING ctid; +ctid +----- +(1,2) +(1 row) + +step s2lock: select * from t where id = 1 for update; +step s1abort: ABORT; +step vacuum: VACUUM t; +step reinsert_and_lock: + BEGIN; + INSERT INTO t VALUES (10001) RETURNING ctid; + SELECT ctid, * FROM t WHERE id = 1 FOR UPDATE; + COMMIT; + UPDATE t SET id = 10002 WHERE id = 10001 returning ctid; + +ctid +----- +(1,2) +(1 row) + +ctid |id +-----+-- +(0,1)| 1 +(1 row) + +ctid +----- +(1,3) +(1 row) + +step wake: + SELECT FROM injection_points_detach('heap_lock_updated_tuple'); + SELECT FROM injection_points_wakeup('heap_lock_updated_tuple'); + +step s2lock: <... completed> +id +-- + 1 +(1 row) + +step wake: <... completed> diff -Nru postgresql-17-17.7/src/test/modules/injection_points/meson.build postgresql-17-17.8/src/test/modules/injection_points/meson.build --- postgresql-17-17.7/src/test/modules/injection_points/meson.build 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/injection_points/meson.build 2026-02-09 21:51:54.000000000 +0000 @@ -44,6 +44,7 @@ 'specs': [ 'inplace', 'syscache-update-pruned', + 'heap_lock_update', ], 'runningcheck': false, # see syscache-update-pruned }, diff -Nru postgresql-17-17.7/src/test/modules/injection_points/regress_injection.c postgresql-17-17.8/src/test/modules/injection_points/regress_injection.c --- postgresql-17-17.7/src/test/modules/injection_points/regress_injection.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/injection_points/regress_injection.c 2026-02-09 21:51:54.000000000 +0000 @@ -50,7 +50,7 @@ if (!PG_ARGISNULL(0)) rel = table_open(PG_GETARG_OID(0), AccessShareLock); - if (!rel->rd_rel->relisshared && autovacuum_start_daemon) + if (rel != NULL && !rel->rd_rel->relisshared && autovacuum_start_daemon) elog(WARNING, "removable_cutoff(non-shared-rel) can move backward under autovacuum=on"); diff -Nru postgresql-17-17.7/src/test/modules/injection_points/specs/heap_lock_update.spec postgresql-17-17.8/src/test/modules/injection_points/specs/heap_lock_update.spec --- postgresql-17-17.7/src/test/modules/injection_points/specs/heap_lock_update.spec 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/injection_points/specs/heap_lock_update.spec 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,117 @@ +# Test race condition in tuple locking +# +# This is a reproducer for the bug reported at: +# https://www.postgresql.org/message-id/CAOG%2BRQ74x0q%3DkgBBQ%3DmezuvOeZBfSxM1qu_o0V28bwDz3dHxLw%40mail.gmail.com +# +# The bug was that when following an update chain when locking tuples, +# we sometimes failed to check that the xmin on the next tuple matched +# the prior's xmax. If the updated tuple version was vacuumed away and +# the slot was reused for an unrelated tuple, we'd incorrectly follow +# and lock the unrelated tuple. + + +# Set up a test table with enough rows to fill a page. We need the +# UPDATE used in the test to put the new tuple on a different page, +# because otherwise the VACUUM cannot remove the aborted tuple because +# we hold a pin on the first page. +# +# The exact number of rows inserted doesn't otherwise matter, but we +# arrange things in a deterministic fashion so that the last inserted +# tuple goes to (1,1), and the updated and aborted tuple goes to +# (1,2). That way we can just memorize those ctids in the expected +# output, to verify that the test exercises the scenario we want. +setup +{ + CREATE EXTENSION injection_points; + + CREATE TABLE t (id int PRIMARY KEY); + do $$ + DECLARE + i int; + tid tid; + BEGIN + FOR i IN 1..5000 LOOP + INSERT INTO t VALUES (i) RETURNING ctid INTO tid; + IF tid = '(1,1)' THEN + RETURN; + END IF; + END LOOP; + RAISE 'expected to insert tuple to (1,1)'; + END; + $$; +} +teardown +{ + DROP TABLE t; + DROP EXTENSION injection_points; +} + +session s1 +step s1begin { BEGIN; } +step s1update { UPDATE t SET id = 10000 WHERE id = 1 RETURNING ctid; } +step s1abort { ABORT; } +step vacuum { VACUUM t; } + +# Insert a new tuple, and update it. +step reinsert { + INSERT INTO t VALUES (10001) RETURNING ctid; + UPDATE t SET id = 10002 WHERE id = 10001 RETURNING ctid; +} + +# Same as the 'reinsert' step, but for extra confusion, we also stamp +# the original tuple with the same 'xmax' as the re-inserted one. +step reinsert_and_lock { + BEGIN; + INSERT INTO t VALUES (10001) RETURNING ctid; + SELECT ctid, * FROM t WHERE id = 1 FOR UPDATE; + COMMIT; + UPDATE t SET id = 10002 WHERE id = 10001 returning ctid; +} + +step wake { + SELECT FROM injection_points_detach('heap_lock_updated_tuple'); + SELECT FROM injection_points_wakeup('heap_lock_updated_tuple'); +} + +session s2 +setup { + SELECT FROM injection_points_set_local(); + SELECT FROM injection_points_attach('heap_lock_updated_tuple', 'wait'); +} +step s2lock { select * from t where id = 1 for update; } + +permutation + # Begin transaction, update a row. Because of how we set up the + # test table, the updated tuple lands at (1,2) + s1begin + s1update + + # While the updating transaction is open, start a new session that + # tries to lock the row. This blocks on the open transaction. + s2lock + + # Abort the updating transaction. This unblocks session 2, but it + # will immediately hit the injection point and block on that. + s1abort + # Vacuum away the updated, aborted tuple. + vacuum + + # Insert a new tuple. It lands at the same location where the + # updated tuple was. + reinsert + + # Let the locking transaction continue. It should lock the + # original tuple, ignoring the re-inserted tuple. + wake(s2lock) + +# Variant where the re-inserted tuple is also locked by the inserting +# transaction. This failed an earlier version of the fix during +# development. +permutation + s1begin + s1update + s2lock + s1abort + vacuum + reinsert_and_lock + wake(s2lock) diff -Nru postgresql-17-17.7/src/test/modules/meson.build postgresql-17-17.8/src/test/modules/meson.build --- postgresql-17-17.7/src/test/modules/meson.build 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/meson.build 2026-02-09 21:51:54.000000000 +0000 @@ -13,6 +13,7 @@ subdir('spgist_name_ops') subdir('ssl_passphrase_callback') subdir('test_bloomfilter') +subdir('test_cloexec') subdir('test_copy_callbacks') subdir('test_custom_rmgrs') subdir('test_ddl_deparse') diff -Nru postgresql-17-17.7/src/test/modules/test_cloexec/.gitignore postgresql-17-17.8/src/test/modules/test_cloexec/.gitignore --- postgresql-17-17.7/src/test/modules/test_cloexec/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/test_cloexec/.gitignore 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,3 @@ +/test_cloexec +# Generated subdirectories +/tmp_check/ diff -Nru postgresql-17-17.7/src/test/modules/test_cloexec/Makefile postgresql-17-17.8/src/test/modules/test_cloexec/Makefile --- postgresql-17-17.7/src/test/modules/test_cloexec/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/test_cloexec/Makefile 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,21 @@ +# src/test/modules/test_cloexec/Makefile + +PGFILEDESC = "test_cloexec - test O_CLOEXEC flag handling" +PGAPPICON = win32 + +PROGRAM = test_cloexec +OBJS = $(WIN32RES) test_cloexec.o + +NO_INSTALLCHECK = 1 +TAP_TESTS = 1 + +ifdef USE_PGXS +PG_CONFIG = pg_config +PGXS := $(shell $(PG_CONFIG) --pgxs) +include $(PGXS) +else +subdir = src/test/modules/test_cloexec +top_builddir = ../../../.. +include $(top_builddir)/src/Makefile.global +include $(top_srcdir)/contrib/contrib-global.mk +endif diff -Nru postgresql-17-17.7/src/test/modules/test_cloexec/meson.build postgresql-17-17.8/src/test/modules/test_cloexec/meson.build --- postgresql-17-17.7/src/test/modules/test_cloexec/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/test_cloexec/meson.build 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,26 @@ +# src/test/modules/test_cloexec/meson.build + +# This test is Windows-only +if host_system != 'windows' + subdir_done() +endif + +test_cloexec_sources = files('test_cloexec.c') + +test_cloexec = executable('test_cloexec', + test_cloexec_sources, + dependencies: [frontend_code], + link_with: [pgport[''], pgcommon['']], + kwargs: default_bin_args, +) + +tests += { + 'name': 'test_cloexec', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'tap': { + 'tests': [ + 't/001_cloexec.pl', + ], + }, +} diff -Nru postgresql-17-17.7/src/test/modules/test_cloexec/t/001_cloexec.pl postgresql-17-17.8/src/test/modules/test_cloexec/t/001_cloexec.pl --- postgresql-17-17.7/src/test/modules/test_cloexec/t/001_cloexec.pl 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/test_cloexec/t/001_cloexec.pl 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,60 @@ +# Test O_CLOEXEC flag handling on Windows +# +# This test verifies that file handles opened with O_CLOEXEC are not +# inherited by child processes, while handles opened without O_CLOEXEC +# are inherited. + +use strict; +use warnings FATAL => 'all'; +use PostgreSQL::Test::Utils; +use Test::More; +use IPC::Run qw(run); +use File::Spec; +use Cwd 'abs_path'; + +if (!$PostgreSQL::Test::Utils::windows_os) +{ + plan skip_all => 'test is Windows-specific'; +} + +plan tests => 1; + +my $test_prog; +foreach my $dir (split(/$Config::Config{path_sep}/, $ENV{PATH})) +{ + my $candidate = File::Spec->catfile($dir, 'test_cloexec.exe'); + if (-f $candidate && -x $candidate) + { + $test_prog = $candidate; + last; + } +} + +if (!$test_prog) +{ + $test_prog = './test_cloexec.exe'; +} + +if (!-f $test_prog) +{ + BAIL_OUT("test program not found: $test_prog"); +} + +note("Using test program: $test_prog"); + +my ($stdout, $stderr); +my $result = run [ $test_prog ], '>', \$stdout, '2>', \$stderr; + +note("Test program output:"); +note($stdout) if $stdout; + +if ($stderr) +{ + diag("Test program stderr:"); + diag($stderr); +} + +ok($result && $stdout =~ /SUCCESS.*O_CLOEXEC behavior verified/s, + "O_CLOEXEC prevents handle inheritance"); + +done_testing(); \ No newline at end of file diff -Nru postgresql-17-17.7/src/test/modules/test_cloexec/test_cloexec.c postgresql-17-17.8/src/test/modules/test_cloexec/test_cloexec.c --- postgresql-17-17.7/src/test/modules/test_cloexec/test_cloexec.c 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/test_cloexec/test_cloexec.c 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,240 @@ +/*------------------------------------------------------------------------- + * + * test_cloexec.c + * Test O_CLOEXEC flag handling on Windows + * + * This program tests that: + * 1. File handles opened with O_CLOEXEC are NOT inherited by child processes + * 2. File handles opened without O_CLOEXEC ARE inherited by child processes + * + * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group + * + *------------------------------------------------------------------------- + */ + +#include "postgres.h" + +#include +#include + +#ifdef WIN32 +#include +#endif + +#include "common/file_utils.h" +#include "port.h" + +#ifdef WIN32 +static void run_parent_tests(const char *testfile1, const char *testfile2); +static void run_child_tests(const char *handle1_str, const char *handle2_str); +static bool try_write_to_handle(HANDLE h, const char *label); +#endif + +int +main(int argc, char *argv[]) +{ + /* Windows-only test */ +#ifndef WIN32 + fprintf(stderr, "This test only runs on Windows\n"); + return 0; +#else + char testfile1[MAXPGPATH]; + char testfile2[MAXPGPATH]; + + if (argc == 3) + { + /* + * Child mode: receives two handle values as hex strings and attempts + * to write to them. + */ + run_child_tests(argv[1], argv[2]); + return 0; + } + else if (argc == 1) + { + /* Parent mode: opens files and spawns child */ + snprintf(testfile1, sizeof(testfile1), "test_cloexec_1_%d.tmp", (int) getpid()); + snprintf(testfile2, sizeof(testfile2), "test_cloexec_2_%d.tmp", (int) getpid()); + + run_parent_tests(testfile1, testfile2); + + /* Clean up test files */ + unlink(testfile1); + unlink(testfile2); + + return 0; + } + else + { + fprintf(stderr, "Usage: %s [handle1_hex handle2_hex]\n", argv[0]); + return 1; + } +#endif +} + +#ifdef WIN32 +static void +run_parent_tests(const char *testfile1, const char *testfile2) +{ + int fd1, + fd2; + HANDLE h1, + h2; + char exe_path[MAXPGPATH]; + char cmdline[MAXPGPATH + 100]; + STARTUPINFO si = {.cb = sizeof(si)}; + PROCESS_INFORMATION pi = {0}; + DWORD exit_code; + + printf("Parent: Opening test files...\n"); + + /* Open first file WITH O_CLOEXEC - should NOT be inherited */ + fd1 = open(testfile1, O_RDWR | O_CREAT | O_TRUNC | O_CLOEXEC, 0600); + if (fd1 < 0) + { + fprintf(stderr, "Failed to open %s: %s\n", testfile1, strerror(errno)); + exit(1); + } + + /* Open second file WITHOUT O_CLOEXEC - should be inherited */ + fd2 = open(testfile2, O_RDWR | O_CREAT | O_TRUNC, 0600); + if (fd2 < 0) + { + fprintf(stderr, "Failed to open %s: %s\n", testfile2, strerror(errno)); + close(fd1); + exit(1); + } + + /* Get Windows HANDLEs from file descriptors */ + h1 = (HANDLE) _get_osfhandle(fd1); + h2 = (HANDLE) _get_osfhandle(fd2); + + if (h1 == INVALID_HANDLE_VALUE || h2 == INVALID_HANDLE_VALUE) + { + fprintf(stderr, "Failed to get OS handles\n"); + close(fd1); + close(fd2); + exit(1); + } + + printf("Parent: fd1=%d (O_CLOEXEC) -> HANDLE=%p\n", fd1, h1); + printf("Parent: fd2=%d (no O_CLOEXEC) -> HANDLE=%p\n", fd2, h2); + + /* + * Find the actual executable path by removing any arguments from + * GetCommandLine(), and add our new arguments. + */ + GetModuleFileName(NULL, exe_path, sizeof(exe_path)); + snprintf(cmdline, sizeof(cmdline), "\"%s\" %p %p", exe_path, h1, h2); + + printf("Parent: Spawning child process...\n"); + printf("Parent: Command line: %s\n", cmdline); + + if (!CreateProcess(NULL, /* application name */ + cmdline, /* command line */ + NULL, /* process security attributes */ + NULL, /* thread security attributes */ + TRUE, /* bInheritHandles - CRITICAL! */ + 0, /* creation flags */ + NULL, /* environment */ + NULL, /* current directory */ + &si, /* startup info */ + &pi)) /* process information */ + { + fprintf(stderr, "CreateProcess failed: %lu\n", GetLastError()); + close(fd1); + close(fd2); + exit(1); + } + + printf("Parent: Waiting for child process...\n"); + + /* Wait for child to complete */ + WaitForSingleObject(pi.hProcess, INFINITE); + GetExitCodeProcess(pi.hProcess, &exit_code); + + CloseHandle(pi.hProcess); + CloseHandle(pi.hThread); + + close(fd1); + close(fd2); + + printf("Parent: Child exit code: %lu\n", exit_code); + + if (exit_code == 0) + { + printf("Parent: SUCCESS - O_CLOEXEC behavior verified\n"); + } + else + { + printf("Parent: FAILURE - O_CLOEXEC not working correctly\n"); + exit(1); + } +} + +static void +run_child_tests(const char *handle1_str, const char *handle2_str) +{ + HANDLE h1, + h2; + bool h1_worked, + h2_worked; + + /* Parse handle values from hex strings */ + if (sscanf(handle1_str, "%p", &h1) != 1 || + sscanf(handle2_str, "%p", &h2) != 1) + { + fprintf(stderr, "Child: Failed to parse handle values\n"); + exit(1); + } + + printf("Child: Received HANDLE1=%p (should fail - O_CLOEXEC)\n", h1); + printf("Child: Received HANDLE2=%p (should work - no O_CLOEXEC)\n", h2); + + /* Try to write to both handles */ + h1_worked = try_write_to_handle(h1, "HANDLE1"); + h2_worked = try_write_to_handle(h2, "HANDLE2"); + + printf("Child: HANDLE1 (O_CLOEXEC): %s\n", + h1_worked ? "ACCESSIBLE (BAD!)" : "NOT ACCESSIBLE (GOOD!)"); + printf("Child: HANDLE2 (no O_CLOEXEC): %s\n", + h2_worked ? "ACCESSIBLE (GOOD!)" : "NOT ACCESSIBLE (BAD!)"); + + /* + * For O_CLOEXEC to work correctly, h1 should NOT be accessible (h1_worked + * == false) and h2 SHOULD be accessible (h2_worked == true). + */ + if (!h1_worked && h2_worked) + { + printf("Child: Test PASSED - O_CLOEXEC working correctly\n"); + exit(0); + } + else + { + printf("Child: Test FAILED - O_CLOEXEC not working correctly\n"); + exit(1); + } +} + +static bool +try_write_to_handle(HANDLE h, const char *label) +{ + const char *test_data = "test\n"; + DWORD bytes_written; + BOOL result; + + result = WriteFile(h, test_data, strlen(test_data), &bytes_written, NULL); + + if (result && bytes_written == strlen(test_data)) + { + printf("Child: Successfully wrote to %s\n", label); + return true; + } + else + { + printf("Child: Failed to write to %s (error %lu)\n", + label, GetLastError()); + return false; + } +} +#endif diff -Nru postgresql-17-17.7/src/test/modules/test_regex/test_regex.c postgresql-17-17.8/src/test/modules/test_regex/test_regex.c --- postgresql-17-17.7/src/test/modules/test_regex/test_regex.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/test_regex/test_regex.c 2026-02-09 21:51:54.000000000 +0000 @@ -414,7 +414,8 @@ ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("invalid regular expression test option: \"%.*s\"", - pg_mblen(opt_p + i), opt_p + i))); + pg_mblen_range(opt_p + i, opt_p + opt_len), + opt_p + i))); break; } } diff -Nru postgresql-17-17.7/src/test/modules/xid_wraparound/meson.build postgresql-17-17.8/src/test/modules/xid_wraparound/meson.build --- postgresql-17-17.7/src/test/modules/xid_wraparound/meson.build 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/xid_wraparound/meson.build 2026-02-09 21:51:54.000000000 +0000 @@ -30,6 +30,7 @@ 't/001_emergency_vacuum.pl', 't/002_limits.pl', 't/003_wraparounds.pl', + 't/004_notify_freeze.pl', ], }, } diff -Nru postgresql-17-17.7/src/test/modules/xid_wraparound/t/004_notify_freeze.pl postgresql-17-17.8/src/test/modules/xid_wraparound/t/004_notify_freeze.pl --- postgresql-17-17.7/src/test/modules/xid_wraparound/t/004_notify_freeze.pl 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/modules/xid_wraparound/t/004_notify_freeze.pl 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,71 @@ +# Copyright (c) 2024-2025, PostgreSQL Global Development Group +# +# Test freezing XIDs in the async notification queue. This isn't +# really wraparound-related, but the test depends on the +# consume_xids() helper function. + +use strict; +use warnings FATAL => 'all'; +use PostgreSQL::Test::Cluster; +use Test::More; + +my $node = PostgreSQL::Test::Cluster->new('node'); +$node->init; +$node->start; + +if (!$ENV{PG_TEST_EXTRA} || $ENV{PG_TEST_EXTRA} !~ /\bxid_wraparound\b/) +{ + plan skip_all => "test xid_wraparound not enabled in PG_TEST_EXTRA"; +} + +# Setup +$node->safe_psql('postgres', 'CREATE EXTENSION xid_wraparound'); +$node->safe_psql('postgres', + 'ALTER DATABASE template0 WITH ALLOW_CONNECTIONS true'); + +# Start Session 1 and leave it idle in transaction +my $psql_session1 = $node->background_psql('postgres'); +$psql_session1->query_safe('listen s;'); +$psql_session1->query_safe('begin;'); + +# Send some notifys from other sessions +for my $i (1 .. 10) +{ + $node->safe_psql('postgres', "NOTIFY s, '$i'"); +} + +# Consume enough XIDs to trigger truncation, and one more with +# 'txid_current' to bump up the freeze horizon. +$node->safe_psql('postgres', 'select consume_xids(10000000);'); +$node->safe_psql('postgres', 'select txid_current()'); + +# Remember current datfrozenxid before vacuum freeze so that we can +# check that it is advanced. (Taking the min() this way assumes that +# XID wraparound doesn't happen.) +my $datafronzenxid = $node->safe_psql('postgres', + "select min(datfrozenxid::text::bigint) from pg_database"); + +# Execute vacuum freeze on all databases +$node->command_ok([ 'vacuumdb', '--all', '--freeze', '--port', $node->port ], + "vacuumdb --all --freeze"); + +# Check that vacuumdb advanced datfrozenxid +my $datafronzenxid_freeze = $node->safe_psql('postgres', + "select min(datfrozenxid::text::bigint) from pg_database"); +ok($datafronzenxid_freeze > $datafronzenxid, 'datfrozenxid advanced'); + +# On Session 1, commit and ensure that the all the notifications are +# received. This depends on correctly freezing the XIDs in the pending +# notification entries. +my $res = $psql_session1->query_safe('commit;'); +my $notifications_count = 0; +foreach my $i (split('\n', $res)) +{ + $notifications_count++; + like($i, + qr/Asynchronous notification "s" with payload "$notifications_count" received/ + ); +} +is($notifications_count, 10, 'received all committed notifications'); + +done_testing(); diff -Nru postgresql-17-17.7/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm postgresql-17-17.8/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm --- postgresql-17-17.7/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm 2026-02-09 21:51:54.000000000 +0000 @@ -152,11 +152,11 @@ # # See query() for details about why/how the banner is used. my $banner = "background_psql: ready"; - my $banner_match = qr/(^|\n)$banner\r?\n/; - $self->{stdin} .= "\\echo $banner\n\\warn $banner\n"; + my $banner_match = qr/$banner\r?\n/; + $self->{stdin} .= "\\echo '$banner'\n\\warn '$banner'\n"; $self->{run}->pump() until ($self->{stdout} =~ /$banner_match/ - && $self->{stderr} =~ /$banner\r?\n/) + && $self->{stderr} =~ /$banner_match/) || $self->{timeout}->is_expired; note "connect output:\n", @@ -256,22 +256,17 @@ # stderr (or vice versa), even if psql printed them in the opposite # order. We therefore wait on both. # - # We need to match for the newline, because we try to remove it below, and - # it's possible to consume just the input *without* the newline. In - # interactive psql we emit \r\n, so we need to allow for that. Also need - # to be careful that we don't e.g. match the echoed \echo command, rather - # than its output. + # In interactive psql we emit \r\n, so we need to allow for that. + # Also, include quotes around the banner string in the \echo and \warn + # commands, not because the string needs quoting but so that $banner_match + # can't match readline's echoing of these commands. my $banner = "background_psql: QUERY_SEPARATOR $query_cnt:"; - my $banner_match = qr/(^|\n)$banner\r?\n/; - $self->{stdin} .= "$query\n;\n\\echo $banner\n\\warn $banner\n"; - pump_until( - $self->{run}, $self->{timeout}, - \$self->{stdout}, qr/$banner_match/); - pump_until( - $self->{run}, $self->{timeout}, - \$self->{stderr}, qr/$banner_match/); - - die "psql query timed out" if $self->{timeout}->is_expired; + my $banner_match = qr/$banner\r?\n/; + $self->{stdin} .= "$query\n;\n\\echo '$banner'\n\\warn '$banner'\n"; + $self->{run}->pump() + until ($self->{stdout} =~ /$banner_match/ + && $self->{stderr} =~ /$banner_match/) + || $self->{timeout}->is_expired; note "results query $query_cnt:\n", explain { @@ -279,9 +274,12 @@ stderr => $self->{stderr}, }; - # Remove banner from stdout and stderr, our caller doesn't care. The - # first newline is optional, as there would not be one if consuming an - # empty query result. + die "psql query timed out" if $self->{timeout}->is_expired; + + # Remove banner from stdout and stderr, our caller doesn't want it. + # Also remove the query output's trailing newline, if present (there + # would not be one if consuming an empty query result). + $banner_match = qr/\r?\n?$banner\r?\n/; $output = $self->{stdout}; $output =~ s/$banner_match//; $self->{stderr} =~ s/$banner_match//; diff -Nru postgresql-17-17.7/src/test/perl/PostgreSQL/Test/Cluster.pm postgresql-17-17.8/src/test/perl/PostgreSQL/Test/Cluster.pm --- postgresql-17-17.7/src/test/perl/PostgreSQL/Test/Cluster.pm 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/perl/PostgreSQL/Test/Cluster.pm 2026-02-09 21:51:54.000000000 +0000 @@ -1503,10 +1503,10 @@ or BAIL_OUT("could not create data directory \"$node->{_basedir}\": $!"); - $node->dump_info; - $node->_set_pg_version; + $node->dump_info; + my $ver = $node->{_pg_version}; # Use a subclass as defined below (or elsewhere) if this version diff -Nru postgresql-17-17.7/src/test/recovery/t/046_checkpoint_logical_slot.pl postgresql-17-17.8/src/test/recovery/t/046_checkpoint_logical_slot.pl --- postgresql-17-17.7/src/test/recovery/t/046_checkpoint_logical_slot.pl 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/recovery/t/046_checkpoint_logical_slot.pl 2026-02-09 21:51:54.000000000 +0000 @@ -20,8 +20,7 @@ my ($node, $result); $node = PostgreSQL::Test::Cluster->new('mike'); -$node->init; -$node->append_conf('postgresql.conf', "wal_level = 'logical'"); +$node->init(allows_streaming => 'logical'); $node->start; # Check if the extension injection_points is available, as it may be @@ -142,4 +141,91 @@ }; is($@, '', "Logical slot still valid"); +# If we send \q with $->quit the command can be sent to the +# session already closed. So \q is in initial script, here we only finish +# IPC::Run +$xacts->{run}->finish; +$checkpoint->{run}->finish; +$logical->{run}->finish; + +# Verify that the synchronized slots won't be invalidated immediately after +# synchronization in the presence of a concurrent checkpoint. +my $primary = $node; + +$primary->append_conf('postgresql.conf', "autovacuum = off"); +$primary->reload; + +my $backup_name = 'backup'; + +$primary->backup($backup_name); + +# Create a standby +my $standby = PostgreSQL::Test::Cluster->new('standby'); +$standby->init_from_backup( + $primary, $backup_name, + has_streaming => 1); + +my $connstr_1 = $primary->connstr; +$standby->append_conf( + 'postgresql.conf', qq( +hot_standby_feedback = on +primary_slot_name = 'phys_slot' +primary_conninfo = '$connstr_1 dbname=postgres' +)); + +$primary->safe_psql('postgres', + q{SELECT pg_create_logical_replication_slot('failover_slot', 'test_decoding', false, false, true); + SELECT pg_create_physical_replication_slot('phys_slot');} +); + +$standby->start; + +# Generate some activity and switch WAL file on the primary +$primary->advance_wal(1); +$primary->safe_psql('postgres', "CHECKPOINT"); +$primary->wait_for_replay_catchup($standby); + +# checkpoint on the standby and make it wait on the injection point so that the +# checkpoint stops right before invalidating replication slots. +note('starting checkpoint'); + +$checkpoint = $standby->background_psql('postgres'); +$checkpoint->query_safe( + q(select injection_points_attach('restartpoint-before-slot-invalidation','wait')) +); +$checkpoint->query_until( + qr/starting_checkpoint/, + q(\echo starting_checkpoint +checkpoint; +)); + +# Wait until the checkpoint stops right before invalidating slots +note('waiting for injection_point'); +$standby->wait_for_event('checkpointer', 'restartpoint-before-slot-invalidation'); +note('injection_point is reached'); + +# Enable slot sync worker to synchronize the failover slot to the standby +$standby->append_conf('postgresql.conf', qq(sync_replication_slots = on)); +$standby->reload; + +# Wait for the slot to be synced +$standby->poll_query_until( + 'postgres', + "SELECT COUNT(*) > 0 FROM pg_replication_slots WHERE slot_name = 'failover_slot'"); + +# Release the checkpointer +$standby->safe_psql('postgres', + q{select injection_points_wakeup('restartpoint-before-slot-invalidation'); + select injection_points_detach('restartpoint-before-slot-invalidation')}); + +$checkpoint->quit; + +# Confirm that the slot is not invalidated +is( $standby->safe_psql( + 'postgres', + q{SELECT invalidation_reason IS NULL AND synced FROM pg_replication_slots WHERE slot_name = 'failover_slot';} + ), + "t", + 'logical slot is not invalidated'); + done_testing(); diff -Nru postgresql-17-17.7/src/test/regress/expected/arrays.out postgresql-17-17.8/src/test/regress/expected/arrays.out --- postgresql-17-17.7/src/test/regress/expected/arrays.out 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/expected/arrays.out 2026-02-09 21:51:54.000000000 +0000 @@ -1737,6 +1737,11 @@ (1 row) -- all of the above should be accepted +-- some day we might allow these cases, but for now they're errors: +select array[]::oidvector; +ERROR: array is not a valid oidvector +select array[]::int2vector; +ERROR: array is not a valid int2vector -- tests for array aggregates CREATE TEMP TABLE arraggtest ( f1 INT[], f2 TEXT[][], f3 FLOAT[]); INSERT INTO arraggtest (f1, f2, f3) VALUES diff -Nru postgresql-17-17.7/src/test/regress/expected/encoding.out postgresql-17-17.8/src/test/regress/expected/encoding.out --- postgresql-17-17.7/src/test/regress/expected/encoding.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/expected/encoding.out 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,401 @@ +/* skip test if not UTF8 server encoding */ +SELECT getdatabaseencoding() <> 'UTF8' AS skip_test \gset +\if :skip_test +\quit +\endif +\getenv libdir PG_LIBDIR +\getenv dlsuffix PG_DLSUFFIX +\set regresslib :libdir '/regress' :dlsuffix +CREATE FUNCTION test_bytea_to_text(bytea) RETURNS text + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_text_to_bytea(text) RETURNS bytea + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_mblen_func(text, text, text, int) RETURNS int + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_text_to_wchars(text, text) RETURNS int[] + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_wchars_to_text(text, int[]) RETURNS text + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_valid_server_encoding(text) RETURNS boolean + AS :'regresslib' LANGUAGE C STRICT; +CREATE TABLE regress_encoding(good text, truncated text, with_nul text, truncated_with_nul text); +INSERT INTO regress_encoding +VALUES ('café', + 'caf' || test_bytea_to_text('\xc3'), + 'café' || test_bytea_to_text('\x00') || 'dcba', + 'caf' || test_bytea_to_text('\xc300') || 'dcba'); +SELECT good, truncated, with_nul FROM regress_encoding; + good | truncated | with_nul +------+-----------+---------- + café | caf | café +(1 row) + +SELECT length(good) FROM regress_encoding; + length +-------- + 4 +(1 row) + +SELECT substring(good, 3, 1) FROM regress_encoding; + substring +----------- + f +(1 row) + +SELECT substring(good, 4, 1) FROM regress_encoding; + substring +----------- + é +(1 row) + +SELECT regexp_replace(good, '^caf(.)$', '\1') FROM regress_encoding; + regexp_replace +---------------- + é +(1 row) + +SELECT reverse(good) FROM regress_encoding; + reverse +--------- + éfac +(1 row) + +-- invalid short mb character = error +SELECT length(truncated) FROM regress_encoding; +ERROR: invalid byte sequence for encoding "UTF8": 0xc3 +SELECT substring(truncated, 1, 1) FROM regress_encoding; +ERROR: invalid byte sequence for encoding "UTF8": 0xc3 +SELECT reverse(truncated) FROM regress_encoding; +ERROR: invalid byte sequence for encoding "UTF8": 0xc3 +-- invalid short mb character = silently dropped +SELECT regexp_replace(truncated, '^caf(.)$', '\1') FROM regress_encoding; + regexp_replace +---------------- + caf +(1 row) + +-- PostgreSQL doesn't allow strings to contain NUL. If a corrupted string +-- contains NUL at a character boundary position, some functions treat it as a +-- character while others treat it as a terminator, as implementation details. +-- NUL = terminator +SELECT length(with_nul) FROM regress_encoding; + length +-------- + 4 +(1 row) + +SELECT substring(with_nul, 3, 1) FROM regress_encoding; + substring +----------- + f +(1 row) + +SELECT substring(with_nul, 4, 1) FROM regress_encoding; + substring +----------- + é +(1 row) + +SELECT substring(with_nul, 5, 1) FROM regress_encoding; + substring +----------- + +(1 row) + +SELECT convert_to(substring(with_nul, 5, 1), 'UTF8') FROM regress_encoding; + convert_to +------------ + \x +(1 row) + +SELECT regexp_replace(with_nul, '^caf(.)$', '\1') FROM regress_encoding; + regexp_replace +---------------- + é +(1 row) + +-- NUL = character +SELECT with_nul, reverse(with_nul), reverse(reverse(with_nul)) FROM regress_encoding; + with_nul | reverse | reverse +----------+---------+--------- + café | abcd | café +(1 row) + +-- If a corrupted string contains NUL in the tail bytes of a multibyte +-- character (invalid in all encodings), it is considered part of the +-- character for length purposes. An error will only be raised in code paths +-- that convert or verify encodings. +SELECT length(truncated_with_nul) FROM regress_encoding; + length +-------- + 8 +(1 row) + +SELECT substring(truncated_with_nul, 3, 1) FROM regress_encoding; + substring +----------- + f +(1 row) + +SELECT substring(truncated_with_nul, 4, 1) FROM regress_encoding; + substring +----------- + +(1 row) + +SELECT convert_to(substring(truncated_with_nul, 4, 1), 'UTF8') FROM regress_encoding; +ERROR: invalid byte sequence for encoding "UTF8": 0xc3 0x00 +SELECT substring(truncated_with_nul, 5, 1) FROM regress_encoding; + substring +----------- + d +(1 row) + +SELECT regexp_replace(truncated_with_nul, '^caf(.)dcba$', '\1') = test_bytea_to_text('\xc300') FROM regress_encoding; + ?column? +---------- + t +(1 row) + +SELECT reverse(truncated_with_nul) FROM regress_encoding; + reverse +--------- + abcd +(1 row) + +-- unbounded: sequence would overrun the string! +SELECT test_mblen_func('pg_mblen_unbounded', 'UTF8', truncated, 3) +FROM regress_encoding; + test_mblen_func +----------------- + 2 +(1 row) + +-- condition detected when using the length/range variants +SELECT test_mblen_func('pg_mblen_with_len', 'UTF8', truncated, 3) +FROM regress_encoding; +ERROR: invalid byte sequence for encoding "UTF8": 0xc3 +SELECT test_mblen_func('pg_mblen_range', 'UTF8', truncated, 3) +FROM regress_encoding; +ERROR: invalid byte sequence for encoding "UTF8": 0xc3 +-- unbounded: sequence would overrun the string, if the terminator were really +-- the end of it +SELECT test_mblen_func('pg_mblen_unbounded', 'UTF8', truncated_with_nul, 3) +FROM regress_encoding; + test_mblen_func +----------------- + 2 +(1 row) + +SELECT test_mblen_func('pg_encoding_mblen', 'GB18030', truncated_with_nul, 3) +FROM regress_encoding; + test_mblen_func +----------------- + 2 +(1 row) + +-- condition detected when using the cstr variants +SELECT test_mblen_func('pg_mblen_cstr', 'UTF8', truncated_with_nul, 3) +FROM regress_encoding; +ERROR: invalid byte sequence for encoding "UTF8": 0xc3 +DROP TABLE regress_encoding; +-- mb<->wchar conversions +CREATE FUNCTION test_encoding(encoding text, description text, input bytea) +RETURNS VOID LANGUAGE plpgsql AS +$$ +DECLARE + prefix text; + len int; + wchars int[]; + round_trip bytea; + result text; +BEGIN + prefix := rpad(encoding || ' ' || description || ':', 28); + + -- XXX could also test validation, length functions and include client + -- only encodings with these test cases + + IF test_valid_server_encoding(encoding) THEN + wchars := test_text_to_wchars(encoding, test_bytea_to_text(input)); + round_trip = test_text_to_bytea(test_wchars_to_text(encoding, wchars)); + if input = round_trip then + result := 'OK'; + elsif length(input) > length(round_trip) and round_trip = substr(input, 1, length(round_trip)) then + result := 'truncated'; + else + result := 'failed'; + end if; + RAISE NOTICE '% % -> % -> % = %', prefix, input, wchars, round_trip, result; + END IF; +END; +$$; +-- No validation is done on the encoding itself, just the length to avoid +-- overruns, so some of the byte sequences below are bogus. They cover +-- all code branches, server encodings only for now. +CREATE TABLE encoding_tests (encoding text, description text, input bytea); +INSERT INTO encoding_tests VALUES + -- LATIN1, other single-byte encodings + ('LATIN1', 'ASCII', 'a'), + ('LATIN1', 'extended', '\xe9'), + -- EUC_JP, EUC_JIS_2004, EUR_KR (for the purposes of wchar conversion): + -- 2 8e (CS2, not used by EUR_KR but arbitrarily considered to have EUC_JP length) + -- 3 8f (CS3, not used by EUR_KR but arbitrarily considered to have EUC_JP length) + -- 2 80..ff (CS1) + ('EUC_JP', 'ASCII', 'a'), + ('EUC_JP', 'CS1, short', '\x80'), + ('EUC_JP', 'CS1', '\x8002'), + ('EUC_JP', 'CS2, short', '\x8e'), + ('EUC_JP', 'CS2', '\x8e02'), + ('EUC_JP', 'CS3, short', '\x8f'), + ('EUC_JP', 'CS3, short', '\x8f02'), + ('EUC_JP', 'CS3', '\x8f0203'), + -- EUC_CN + -- 3 8e (CS2, not used but arbitrarily considered to have length 3) + -- 3 8f (CS3, not used but arbitrarily considered to have length 3) + -- 2 80..ff (CS1) + ('EUC_CN', 'ASCII', 'a'), + ('EUC_CN', 'CS1, short', '\x80'), + ('EUC_CN', 'CS1', '\x8002'), + ('EUC_CN', 'CS2, short', '\x8e'), + ('EUC_CN', 'CS2, short', '\x8e02'), + ('EUC_CN', 'CS2', '\x8e0203'), + ('EUC_CN', 'CS3, short', '\x8f'), + ('EUC_CN', 'CS3, short', '\x8f02'), + ('EUC_CN', 'CS3', '\x8f0203'), + -- EUC_TW: + -- 4 8e (CS2) + -- 3 8f (CS3, not used but arbitrarily considered to have length 3) + -- 2 80..ff (CS1) + ('EUC_TW', 'ASCII', 'a'), + ('EUC_TW', 'CS1, short', '\x80'), + ('EUC_TW', 'CS1', '\x8002'), + ('EUC_TW', 'CS2, short', '\x8e'), + ('EUC_TW', 'CS2, short', '\x8e02'), + ('EUC_TW', 'CS2, short', '\x8e0203'), + ('EUC_TW', 'CS2', '\x8e020304'), + ('EUC_TW', 'CS3, short', '\x8f'), + ('EUC_TW', 'CS3, short', '\x8f02'), + ('EUC_TW', 'CS3', '\x8f0203'), + -- UTF8 + -- 2 c0..df + -- 3 e0..ef + -- 4 f0..f7 (but maximum real codepoint U+10ffff has f4) + -- 5 f8..fb (not supported) + -- 6 fc..fd (not supported) + ('UTF8', 'ASCII', 'a'), + ('UTF8', '2 byte, short', '\xdf'), + ('UTF8', '2 byte', '\xdf82'), + ('UTF8', '3 byte, short', '\xef'), + ('UTF8', '3 byte, short', '\xef82'), + ('UTF8', '3 byte', '\xef8283'), + ('UTF8', '4 byte, short', '\xf7'), + ('UTF8', '4 byte, short', '\xf782'), + ('UTF8', '4 byte, short', '\xf78283'), + ('UTF8', '4 byte', '\xf7828384'), + ('UTF8', '5 byte, unsupported', '\xfb'), + ('UTF8', '5 byte, unsupported', '\xfb82'), + ('UTF8', '5 byte, unsupported', '\xfb8283'), + ('UTF8', '5 byte, unsupported', '\xfb828384'), + ('UTF8', '5 byte, unsupported', '\xfb82838485'), + ('UTF8', '6 byte, unsupported', '\xfd'), + ('UTF8', '6 byte, unsupported', '\xfd82'), + ('UTF8', '6 byte, unsupported', '\xfd8283'), + ('UTF8', '6 byte, unsupported', '\xfd828384'), + ('UTF8', '6 byte, unsupported', '\xfd82838485'), + ('UTF8', '6 byte, unsupported', '\xfd8283848586'), + -- MULE_INTERNAL + -- 2 81..8d LC1 + -- 3 90..99 LC2 + ('MULE_INTERNAL', 'ASCII', 'a'), + ('MULE_INTERNAL', 'LC1, short', '\x81'), + ('MULE_INTERNAL', 'LC1', '\x8182'), + ('MULE_INTERNAL', 'LC2, short', '\x90'), + ('MULE_INTERNAL', 'LC2, short', '\x9082'), + ('MULE_INTERNAL', 'LC2', '\x908283'); +SELECT COUNT(test_encoding(encoding, description, input)) > 0 +FROM encoding_tests; +NOTICE: LATIN1 ASCII: \x61 -> {97} -> \x61 = OK +NOTICE: LATIN1 extended: \xe9 -> {233} -> \xe9 = OK +NOTICE: EUC_JP ASCII: \x61 -> {97} -> \x61 = OK +NOTICE: EUC_JP CS1, short: \x80 -> {} -> \x = truncated +NOTICE: EUC_JP CS1: \x8002 -> {32770} -> \x8002 = OK +NOTICE: EUC_JP CS2, short: \x8e -> {} -> \x = truncated +NOTICE: EUC_JP CS2: \x8e02 -> {36354} -> \x8e02 = OK +NOTICE: EUC_JP CS3, short: \x8f -> {} -> \x = truncated +NOTICE: EUC_JP CS3, short: \x8f02 -> {} -> \x = truncated +NOTICE: EUC_JP CS3: \x8f0203 -> {9372163} -> \x8f0203 = OK +NOTICE: EUC_CN ASCII: \x61 -> {97} -> \x61 = OK +NOTICE: EUC_CN CS1, short: \x80 -> {} -> \x = truncated +NOTICE: EUC_CN CS1: \x8002 -> {32770} -> \x8002 = OK +NOTICE: EUC_CN CS2, short: \x8e -> {} -> \x = truncated +NOTICE: EUC_CN CS2, short: \x8e02 -> {} -> \x = truncated +NOTICE: EUC_CN CS2: \x8e0203 -> {9306627} -> \x8e0203 = OK +NOTICE: EUC_CN CS3, short: \x8f -> {} -> \x = truncated +NOTICE: EUC_CN CS3, short: \x8f02 -> {} -> \x = truncated +NOTICE: EUC_CN CS3: \x8f0203 -> {9372163} -> \x8f0203 = OK +NOTICE: EUC_TW ASCII: \x61 -> {97} -> \x61 = OK +NOTICE: EUC_TW CS1, short: \x80 -> {} -> \x = truncated +NOTICE: EUC_TW CS1: \x8002 -> {32770} -> \x8002 = OK +NOTICE: EUC_TW CS2, short: \x8e -> {} -> \x = truncated +NOTICE: EUC_TW CS2, short: \x8e02 -> {} -> \x = truncated +NOTICE: EUC_TW CS2, short: \x8e0203 -> {} -> \x = truncated +NOTICE: EUC_TW CS2: \x8e020304 -> {-1912470780} -> \x8e020304 = OK +NOTICE: EUC_TW CS3, short: \x8f -> {} -> \x = truncated +NOTICE: EUC_TW CS3, short: \x8f02 -> {} -> \x = truncated +NOTICE: EUC_TW CS3: \x8f0203 -> {9372163} -> \x8f0203 = OK +NOTICE: UTF8 ASCII: \x61 -> {97} -> \x61 = OK +NOTICE: UTF8 2 byte, short: \xdf -> {} -> \x = truncated +NOTICE: UTF8 2 byte: \xdf82 -> {1986} -> \xdf82 = OK +NOTICE: UTF8 3 byte, short: \xef -> {} -> \x = truncated +NOTICE: UTF8 3 byte, short: \xef82 -> {} -> \x = truncated +NOTICE: UTF8 3 byte: \xef8283 -> {61571} -> \xef8283 = OK +NOTICE: UTF8 4 byte, short: \xf7 -> {} -> \x = truncated +NOTICE: UTF8 4 byte, short: \xf782 -> {} -> \x = truncated +NOTICE: UTF8 4 byte, short: \xf78283 -> {} -> \x = truncated +NOTICE: UTF8 4 byte: \xf7828384 -> {1843396} -> \xf7828384 = OK +NOTICE: UTF8 5 byte, unsupported: \xfb -> {251} -> \xc3bb = failed +NOTICE: UTF8 5 byte, unsupported: \xfb82 -> {251,130} -> \xc3bbc282 = failed +NOTICE: UTF8 5 byte, unsupported: \xfb8283 -> {251,130,131} -> \xc3bbc282c283 = failed +NOTICE: UTF8 5 byte, unsupported: \xfb828384 -> {251,130,131,132} -> \xc3bbc282c283c284 = failed +NOTICE: UTF8 5 byte, unsupported: \xfb82838485 -> {251,130,131,132,133} -> \xc3bbc282c283c284c285 = failed +NOTICE: UTF8 6 byte, unsupported: \xfd -> {253} -> \xc3bd = failed +NOTICE: UTF8 6 byte, unsupported: \xfd82 -> {253,130} -> \xc3bdc282 = failed +NOTICE: UTF8 6 byte, unsupported: \xfd8283 -> {253,130,131} -> \xc3bdc282c283 = failed +NOTICE: UTF8 6 byte, unsupported: \xfd828384 -> {253,130,131,132} -> \xc3bdc282c283c284 = failed +NOTICE: UTF8 6 byte, unsupported: \xfd82838485 -> {253,130,131,132,133} -> \xc3bdc282c283c284c285 = failed +NOTICE: UTF8 6 byte, unsupported: \xfd8283848586 -> {253,130,131,132,133,134} -> \xc3bdc282c283c284c285c286 = failed +NOTICE: MULE_INTERNAL ASCII: \x61 -> {97} -> \x61 = OK +NOTICE: MULE_INTERNAL LC1, short: \x81 -> {} -> \x = truncated +NOTICE: MULE_INTERNAL LC1: \x8182 -> {8454274} -> \x8182 = OK +NOTICE: MULE_INTERNAL LC2, short: \x90 -> {} -> \x = truncated +NOTICE: MULE_INTERNAL LC2, short: \x9082 -> {} -> \x = truncated +NOTICE: MULE_INTERNAL LC2: \x908283 -> {9470595} -> \x908283 = OK + ?column? +---------- + t +(1 row) + +DROP TABLE encoding_tests; +DROP FUNCTION test_encoding; +DROP FUNCTION test_text_to_wchars; +DROP FUNCTION test_mblen_func; +DROP FUNCTION test_bytea_to_text; +DROP FUNCTION test_text_to_bytea; +-- substring slow path: multi-byte escape char vs. multi-byte pattern char. +SELECT SUBSTRING('a' SIMILAR U&'\00AC' ESCAPE U&'\00A7'); + substring +----------- + +(1 row) + +-- Levenshtein distance metric: exercise character length cache. +SELECT U&"real\00A7_name" FROM (select 1) AS x(real_name); +ERROR: column "real§_name" does not exist +LINE 1: SELECT U&"real\00A7_name" FROM (select 1) AS x(real_name); + ^ +HINT: Perhaps you meant to reference the column "x.real_name". +-- JSON errcontext: truncate long data. +SELECT repeat(U&'\00A7', 30)::json; +ERROR: invalid input syntax for type json +DETAIL: Token "§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§" is invalid. +CONTEXT: JSON data, line 1: ...§§§§§§§§§§§§§§§§§§§§§§§§ diff -Nru postgresql-17-17.7/src/test/regress/expected/encoding_1.out postgresql-17-17.8/src/test/regress/expected/encoding_1.out --- postgresql-17-17.7/src/test/regress/expected/encoding_1.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/expected/encoding_1.out 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,4 @@ +/* skip test if not UTF8 server encoding */ +SELECT getdatabaseencoding() <> 'UTF8' AS skip_test \gset +\if :skip_test +\quit diff -Nru postgresql-17-17.7/src/test/regress/expected/euc_kr.out postgresql-17-17.8/src/test/regress/expected/euc_kr.out --- postgresql-17-17.7/src/test/regress/expected/euc_kr.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/expected/euc_kr.out 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,16 @@ +-- This test is about EUC_KR encoding, chosen as perhaps the most prevalent +-- non-UTF8, multibyte encoding as of 2026-01. Since UTF8 can represent all +-- of EUC_KR, also run the test in UTF8. +SELECT getdatabaseencoding() NOT IN ('EUC_KR', 'UTF8') AS skip_test \gset +\if :skip_test +\quit +\endif +-- Exercise is_multibyte_char_in_char (non-UTF8) slow path. +SELECT POSITION( + convert_from('\xbcf6c7d0', 'EUC_KR') IN + convert_from('\xb0fac7d02c20bcf6c7d02c20b1e2bcfa2c20bbee', 'EUC_KR')); + position +---------- + 5 +(1 row) + diff -Nru postgresql-17-17.7/src/test/regress/expected/euc_kr_1.out postgresql-17-17.8/src/test/regress/expected/euc_kr_1.out --- postgresql-17-17.7/src/test/regress/expected/euc_kr_1.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/expected/euc_kr_1.out 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,6 @@ +-- This test is about EUC_KR encoding, chosen as perhaps the most prevalent +-- non-UTF8, multibyte encoding as of 2026-01. Since UTF8 can represent all +-- of EUC_KR, also run the test in UTF8. +SELECT getdatabaseencoding() NOT IN ('EUC_KR', 'UTF8') AS skip_test \gset +\if :skip_test +\quit diff -Nru postgresql-17-17.7/src/test/regress/expected/hash_index.out postgresql-17-17.8/src/test/regress/expected/hash_index.out --- postgresql-17-17.7/src/test/regress/expected/hash_index.out 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/expected/hash_index.out 2026-02-09 21:51:54.000000000 +0000 @@ -40,6 +40,8 @@ CREATE INDEX hash_txt_index ON hash_txt_heap USING hash (random text_ops); CREATE INDEX hash_f8_index ON hash_f8_heap USING hash (random float8_ops) WITH (fillfactor=60); +CREATE INDEX hash_i4_partial_index ON hash_i4_heap USING hash (seqno) + WHERE seqno = 9999; -- -- Also try building functional, expressional, and partial indexes on -- tables that already contain data. @@ -132,6 +134,25 @@ (0 rows) -- +-- partial hash index +-- +EXPLAIN (COSTS OFF) +SELECT * FROM hash_i4_heap + WHERE seqno = 9999; + QUERY PLAN +-------------------------------------------------------- + Index Scan using hash_i4_partial_index on hash_i4_heap + Index Cond: (seqno = 9999) +(2 rows) + +SELECT * FROM hash_i4_heap + WHERE seqno = 9999; + seqno | random +-------+------------ + 9999 | 1227676208 +(1 row) + +-- -- hash index -- grep '^90[^0-9]' hashovfl.data -- diff -Nru postgresql-17-17.7/src/test/regress/expected/sqljson_queryfuncs.out postgresql-17-17.8/src/test/regress/expected/sqljson_queryfuncs.out --- postgresql-17-17.7/src/test/regress/expected/sqljson_queryfuncs.out 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/expected/sqljson_queryfuncs.out 2026-02-09 21:51:54.000000000 +0000 @@ -1331,6 +1331,10 @@ [123] (1 row) +SELECT JSON_QUERY(jsonb '{"a": 123}', ('$' || '.' || 'a' || NULL)::date WITH WRAPPER); +ERROR: JSON path expression must be of type jsonpath, not of type date +LINE 1: SELECT JSON_QUERY(jsonb '{"a": 123}', ('$' || '.' || 'a' || ... + ^ -- Should fail (invalid path) SELECT JSON_QUERY(jsonb '{"a": 123}', 'error' || ' ' || 'error'); ERROR: syntax error at or near " " of jsonpath input @@ -1355,6 +1359,10 @@ "aaa" (1 row) +SELECT json_value('"aaa"', jsonpaths RETURNING json) FROM jsonpaths; +ERROR: JSON path expression must be of type jsonpath, not of type jsonpaths +LINE 1: SELECT json_value('"aaa"', jsonpaths RETURNING json) FROM js... + ^ -- Test PASSING argument parsing SELECT JSON_QUERY(jsonb 'null', '$xyz' PASSING 1 AS xy); ERROR: could not find jsonpath variable "xyz" diff -Nru postgresql-17-17.7/src/test/regress/expected/triggers.out postgresql-17-17.8/src/test/regress/expected/triggers.out --- postgresql-17-17.7/src/test/regress/expected/triggers.out 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/expected/triggers.out 2026-02-09 21:51:54.000000000 +0000 @@ -3280,13 +3280,19 @@ with wcte as (insert into table1 values (43)) insert into table1 values (44); NOTICE: trigger = table1_trig, new table = (43), (44) +with wcte as (insert into table1 values (45)) + merge into table1 using (values (46)) as v(a) on table1.a = v.a + when not matched then insert values (v.a); +NOTICE: trigger = table1_trig, new table = (45), (46) select * from table1; a ---- 42 44 43 -(3 rows) + 46 + 45 +(5 rows) select * from table2; a diff -Nru postgresql-17-17.7/src/test/regress/expected/with.out postgresql-17-17.8/src/test/regress/expected/with.out --- postgresql-17-17.7/src/test/regress/expected/with.out 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/expected/with.out 2026-02-09 21:51:54.000000000 +0000 @@ -2279,36 +2279,44 @@ -- -- test for bug #19055: interaction of WITH with aggregates -- --- The reference to cte1 must determine the aggregate's level, --- even though it contains no Vars referencing cte1 -explain (verbose, costs off) +-- For now, we just throw an error if there's a use of a CTE below the +-- semantic level that the SQL standard assigns to the aggregate. +-- It's not entirely clear what we could do instead that doesn't risk +-- breaking more things than it fixes. select f1, (with cte1(x,y) as (select 1,2) select count((select i4.f1 from cte1))) as ss from int4_tbl i4; +ERROR: outer-level aggregate cannot use a nested CTE +LINE 2: select count((select i4.f1 from cte1))) as ss + ^ +DETAIL: CTE "cte1" is below the aggregate's semantic level. +-- +-- test for bug #19106: interaction of WITH with aggregates +-- +-- the initial fix for #19055 was too aggressive and broke this case +explain (verbose, costs off) +with a as ( select id from (values (1), (2)) as v(id) ), + b as ( select max((select sum(id) from a)) as agg ) +select agg from b; QUERY PLAN -------------------------------------------- - Seq Scan on public.int4_tbl i4 - Output: i4.f1, (SubPlan 2) - SubPlan 2 + Aggregate + Output: max((InitPlan 1).col1) + InitPlan 1 -> Aggregate - Output: count((InitPlan 1).col1) - InitPlan 1 - -> Result - Output: i4.f1 - -> Result -(9 rows) - -select f1, (with cte1(x,y) as (select 1,2) - select count((select i4.f1 from cte1))) as ss -from int4_tbl i4; - f1 | ss --------------+---- - 0 | 1 - 123456 | 1 - -123456 | 1 - 2147483647 | 1 - -2147483647 | 1 -(5 rows) + Output: sum("*VALUES*".column1) + -> Values Scan on "*VALUES*" + Output: "*VALUES*".column1 + -> Result +(8 rows) + +with a as ( select id from (values (1), (2)) as v(id) ), + b as ( select max((select sum(id) from a)) as agg ) +select agg from b; + agg +----- + 3 +(1 row) -- -- test for nested-recursive-WITH bug @@ -2843,6 +2851,47 @@ --- (0 rows) +-- check that recursive CTE processing doesn't rewrite a CTE more than once +-- (must not try to expand GENERATED ALWAYS IDENTITY columns more than once) +CREATE TEMP TABLE id_alw1 (i int GENERATED ALWAYS AS IDENTITY); +CREATE TEMP TABLE id_alw2 (i int GENERATED ALWAYS AS IDENTITY); +CREATE TEMP VIEW id_alw2_view AS SELECT * FROM id_alw2; +CREATE TEMP TABLE id_alw3 (i int GENERATED ALWAYS AS IDENTITY); +CREATE RULE id_alw3_ins AS ON INSERT TO id_alw3 DO INSTEAD + WITH t1 AS (INSERT INTO id_alw1 DEFAULT VALUES RETURNING i) + INSERT INTO id_alw2_view DEFAULT VALUES RETURNING i; +CREATE TEMP VIEW id_alw3_view AS SELECT * FROM id_alw3; +CREATE TEMP TABLE id_alw4 (i int GENERATED ALWAYS AS IDENTITY); +WITH t4 AS (INSERT INTO id_alw4 DEFAULT VALUES RETURNING i) + INSERT INTO id_alw3_view DEFAULT VALUES RETURNING i; + i +--- + 1 +(1 row) + +SELECT * from id_alw1; + i +--- + 1 +(1 row) + +SELECT * from id_alw2; + i +--- + 1 +(1 row) + +SELECT * from id_alw3; + i +--- +(0 rows) + +SELECT * from id_alw4; + i +--- + 1 +(1 row) + -- check case where CTE reference is removed due to optimization EXPLAIN (VERBOSE, COSTS OFF) SELECT q1 FROM diff -Nru postgresql-17-17.7/src/test/regress/parallel_schedule postgresql-17-17.8/src/test/regress/parallel_schedule --- postgresql-17-17.7/src/test/regress/parallel_schedule 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/parallel_schedule 2026-02-09 21:51:54.000000000 +0000 @@ -28,7 +28,7 @@ # geometry depends on point, lseg, line, box, path, polygon, circle # horology depends on date, time, timetz, timestamp, timestamptz, interval # ---------- -test: geometry horology tstypes regex type_sanity opr_sanity misc_sanity comments expressions unicode xid mvcc database +test: geometry horology tstypes regex type_sanity opr_sanity misc_sanity comments expressions unicode xid mvcc database encoding euc_kr # ---------- # Load huge amounts of data diff -Nru postgresql-17-17.7/src/test/regress/regress.c postgresql-17-17.8/src/test/regress/regress.c --- postgresql-17-17.7/src/test/regress/regress.c 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/regress.c 2026-02-09 21:51:54.000000000 +0000 @@ -1287,6 +1287,145 @@ PG_RETURN_DATUM(HeapTupleGetDatum(tuple)); } +/* Convert bytea to text without validation for corruption tests from SQL. */ +PG_FUNCTION_INFO_V1(test_bytea_to_text); +Datum +test_bytea_to_text(PG_FUNCTION_ARGS) +{ + PG_RETURN_TEXT_P(PG_GETARG_BYTEA_PP(0)); +} + +/* And the reverse. */ +PG_FUNCTION_INFO_V1(test_text_to_bytea); +Datum +test_text_to_bytea(PG_FUNCTION_ARGS) +{ + PG_RETURN_BYTEA_P(PG_GETARG_TEXT_PP(0)); +} + +/* Corruption tests in C. */ +PG_FUNCTION_INFO_V1(test_mblen_func); +Datum +test_mblen_func(PG_FUNCTION_ARGS) +{ + const char *func = text_to_cstring(PG_GETARG_BYTEA_PP(0)); + const char *encoding = text_to_cstring(PG_GETARG_BYTEA_PP(1)); + text *string = PG_GETARG_BYTEA_PP(2); + int offset = PG_GETARG_INT32(3); + const char *data = VARDATA_ANY(string); + size_t size = VARSIZE_ANY_EXHDR(string); + int result = 0; + + if (strcmp(func, "pg_mblen_unbounded") == 0) + result = pg_mblen_unbounded(data + offset); + else if (strcmp(func, "pg_mblen_cstr") == 0) + result = pg_mblen_cstr(data + offset); + else if (strcmp(func, "pg_mblen_with_len") == 0) + result = pg_mblen_with_len(data + offset, size - offset); + else if (strcmp(func, "pg_mblen_range") == 0) + result = pg_mblen_range(data + offset, data + size); + else if (strcmp(func, "pg_encoding_mblen") == 0) + result = pg_encoding_mblen(pg_char_to_encoding(encoding), data + offset); + else + elog(ERROR, "unknown function"); + + PG_RETURN_INT32(result); +} + +PG_FUNCTION_INFO_V1(test_text_to_wchars); +Datum +test_text_to_wchars(PG_FUNCTION_ARGS) +{ + const char *encoding_name = text_to_cstring(PG_GETARG_BYTEA_PP(0)); + text *string = PG_GETARG_TEXT_PP(1); + const char *data = VARDATA_ANY(string); + size_t size = VARSIZE_ANY_EXHDR(string); + pg_wchar *wchars = palloc(sizeof(pg_wchar) * (size + 1)); + Datum *datums; + int wlen; + int encoding; + + encoding = pg_char_to_encoding(encoding_name); + if (encoding < 0) + elog(ERROR, "unknown encoding name: %s", encoding_name); + + if (size > 0) + { + datums = palloc(sizeof(Datum) * size); + wlen = pg_encoding_mb2wchar_with_len(encoding, + data, + wchars, + size); + Assert(wlen >= 0); + Assert(wlen <= size); + Assert(wchars[wlen] == 0); + + for (int i = 0; i < wlen; ++i) + datums[i] = UInt32GetDatum(wchars[i]); + } + else + { + datums = NULL; + wlen = 0; + } + + PG_RETURN_ARRAYTYPE_P(construct_array_builtin(datums, wlen, INT4OID)); +} + +PG_FUNCTION_INFO_V1(test_wchars_to_text); +Datum +test_wchars_to_text(PG_FUNCTION_ARGS) +{ + const char *encoding_name = text_to_cstring(PG_GETARG_BYTEA_PP(0)); + ArrayType *array = PG_GETARG_ARRAYTYPE_P(1); + Datum *datums; + bool *nulls; + char *mb; + text *result; + int wlen; + int bytes; + int encoding; + + encoding = pg_char_to_encoding(encoding_name); + if (encoding < 0) + elog(ERROR, "unknown encoding name: %s", encoding_name); + + deconstruct_array_builtin(array, INT4OID, &datums, &nulls, &wlen); + + if (wlen > 0) + { + pg_wchar *wchars = palloc(sizeof(pg_wchar) * wlen); + + for (int i = 0; i < wlen; ++i) + { + if (nulls[i]) + elog(ERROR, "unexpected NULL in array"); + wchars[i] = DatumGetInt32(datums[i]); + } + + mb = palloc(pg_encoding_max_length(encoding) * wlen + 1); + bytes = pg_encoding_wchar2mb_with_len(encoding, wchars, mb, wlen); + } + else + { + mb = ""; + bytes = 0; + } + + result = palloc(bytes + VARHDRSZ); + SET_VARSIZE(result, bytes + VARHDRSZ); + memcpy(VARDATA(result), mb, bytes); + + PG_RETURN_TEXT_P(result); +} + +PG_FUNCTION_INFO_V1(test_valid_server_encoding); +Datum +test_valid_server_encoding(PG_FUNCTION_ARGS) +{ + return pg_valid_server_encoding(text_to_cstring(PG_GETARG_TEXT_PP(0))); +} + /* Provide SQL access to IsBinaryCoercible() */ PG_FUNCTION_INFO_V1(binary_coercible); Datum diff -Nru postgresql-17-17.7/src/test/regress/sql/arrays.sql postgresql-17-17.8/src/test/regress/sql/arrays.sql --- postgresql-17-17.7/src/test/regress/sql/arrays.sql 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/sql/arrays.sql 2026-02-09 21:51:54.000000000 +0000 @@ -528,6 +528,10 @@ select '[-2147483648:-2147483647]={1,2}'::int[]; -- all of the above should be accepted +-- some day we might allow these cases, but for now they're errors: +select array[]::oidvector; +select array[]::int2vector; + -- tests for array aggregates CREATE TEMP TABLE arraggtest ( f1 INT[], f2 TEXT[][], f3 FLOAT[]); diff -Nru postgresql-17-17.7/src/test/regress/sql/encoding.sql postgresql-17-17.8/src/test/regress/sql/encoding.sql --- postgresql-17-17.7/src/test/regress/sql/encoding.sql 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/sql/encoding.sql 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,228 @@ +/* skip test if not UTF8 server encoding */ +SELECT getdatabaseencoding() <> 'UTF8' AS skip_test \gset +\if :skip_test +\quit +\endif + +\getenv libdir PG_LIBDIR +\getenv dlsuffix PG_DLSUFFIX + +\set regresslib :libdir '/regress' :dlsuffix + +CREATE FUNCTION test_bytea_to_text(bytea) RETURNS text + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_text_to_bytea(text) RETURNS bytea + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_mblen_func(text, text, text, int) RETURNS int + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_text_to_wchars(text, text) RETURNS int[] + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_wchars_to_text(text, int[]) RETURNS text + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_valid_server_encoding(text) RETURNS boolean + AS :'regresslib' LANGUAGE C STRICT; + + +CREATE TABLE regress_encoding(good text, truncated text, with_nul text, truncated_with_nul text); +INSERT INTO regress_encoding +VALUES ('café', + 'caf' || test_bytea_to_text('\xc3'), + 'café' || test_bytea_to_text('\x00') || 'dcba', + 'caf' || test_bytea_to_text('\xc300') || 'dcba'); + +SELECT good, truncated, with_nul FROM regress_encoding; + +SELECT length(good) FROM regress_encoding; +SELECT substring(good, 3, 1) FROM regress_encoding; +SELECT substring(good, 4, 1) FROM regress_encoding; +SELECT regexp_replace(good, '^caf(.)$', '\1') FROM regress_encoding; +SELECT reverse(good) FROM regress_encoding; + +-- invalid short mb character = error +SELECT length(truncated) FROM regress_encoding; +SELECT substring(truncated, 1, 1) FROM regress_encoding; +SELECT reverse(truncated) FROM regress_encoding; +-- invalid short mb character = silently dropped +SELECT regexp_replace(truncated, '^caf(.)$', '\1') FROM regress_encoding; + +-- PostgreSQL doesn't allow strings to contain NUL. If a corrupted string +-- contains NUL at a character boundary position, some functions treat it as a +-- character while others treat it as a terminator, as implementation details. + +-- NUL = terminator +SELECT length(with_nul) FROM regress_encoding; +SELECT substring(with_nul, 3, 1) FROM regress_encoding; +SELECT substring(with_nul, 4, 1) FROM regress_encoding; +SELECT substring(with_nul, 5, 1) FROM regress_encoding; +SELECT convert_to(substring(with_nul, 5, 1), 'UTF8') FROM regress_encoding; +SELECT regexp_replace(with_nul, '^caf(.)$', '\1') FROM regress_encoding; +-- NUL = character +SELECT with_nul, reverse(with_nul), reverse(reverse(with_nul)) FROM regress_encoding; + +-- If a corrupted string contains NUL in the tail bytes of a multibyte +-- character (invalid in all encodings), it is considered part of the +-- character for length purposes. An error will only be raised in code paths +-- that convert or verify encodings. + +SELECT length(truncated_with_nul) FROM regress_encoding; +SELECT substring(truncated_with_nul, 3, 1) FROM regress_encoding; +SELECT substring(truncated_with_nul, 4, 1) FROM regress_encoding; +SELECT convert_to(substring(truncated_with_nul, 4, 1), 'UTF8') FROM regress_encoding; +SELECT substring(truncated_with_nul, 5, 1) FROM regress_encoding; +SELECT regexp_replace(truncated_with_nul, '^caf(.)dcba$', '\1') = test_bytea_to_text('\xc300') FROM regress_encoding; +SELECT reverse(truncated_with_nul) FROM regress_encoding; + +-- unbounded: sequence would overrun the string! +SELECT test_mblen_func('pg_mblen_unbounded', 'UTF8', truncated, 3) +FROM regress_encoding; + +-- condition detected when using the length/range variants +SELECT test_mblen_func('pg_mblen_with_len', 'UTF8', truncated, 3) +FROM regress_encoding; +SELECT test_mblen_func('pg_mblen_range', 'UTF8', truncated, 3) +FROM regress_encoding; + +-- unbounded: sequence would overrun the string, if the terminator were really +-- the end of it +SELECT test_mblen_func('pg_mblen_unbounded', 'UTF8', truncated_with_nul, 3) +FROM regress_encoding; +SELECT test_mblen_func('pg_encoding_mblen', 'GB18030', truncated_with_nul, 3) +FROM regress_encoding; + +-- condition detected when using the cstr variants +SELECT test_mblen_func('pg_mblen_cstr', 'UTF8', truncated_with_nul, 3) +FROM regress_encoding; + +DROP TABLE regress_encoding; + +-- mb<->wchar conversions +CREATE FUNCTION test_encoding(encoding text, description text, input bytea) +RETURNS VOID LANGUAGE plpgsql AS +$$ +DECLARE + prefix text; + len int; + wchars int[]; + round_trip bytea; + result text; +BEGIN + prefix := rpad(encoding || ' ' || description || ':', 28); + + -- XXX could also test validation, length functions and include client + -- only encodings with these test cases + + IF test_valid_server_encoding(encoding) THEN + wchars := test_text_to_wchars(encoding, test_bytea_to_text(input)); + round_trip = test_text_to_bytea(test_wchars_to_text(encoding, wchars)); + if input = round_trip then + result := 'OK'; + elsif length(input) > length(round_trip) and round_trip = substr(input, 1, length(round_trip)) then + result := 'truncated'; + else + result := 'failed'; + end if; + RAISE NOTICE '% % -> % -> % = %', prefix, input, wchars, round_trip, result; + END IF; +END; +$$; +-- No validation is done on the encoding itself, just the length to avoid +-- overruns, so some of the byte sequences below are bogus. They cover +-- all code branches, server encodings only for now. +CREATE TABLE encoding_tests (encoding text, description text, input bytea); +INSERT INTO encoding_tests VALUES + -- LATIN1, other single-byte encodings + ('LATIN1', 'ASCII', 'a'), + ('LATIN1', 'extended', '\xe9'), + -- EUC_JP, EUC_JIS_2004, EUR_KR (for the purposes of wchar conversion): + -- 2 8e (CS2, not used by EUR_KR but arbitrarily considered to have EUC_JP length) + -- 3 8f (CS3, not used by EUR_KR but arbitrarily considered to have EUC_JP length) + -- 2 80..ff (CS1) + ('EUC_JP', 'ASCII', 'a'), + ('EUC_JP', 'CS1, short', '\x80'), + ('EUC_JP', 'CS1', '\x8002'), + ('EUC_JP', 'CS2, short', '\x8e'), + ('EUC_JP', 'CS2', '\x8e02'), + ('EUC_JP', 'CS3, short', '\x8f'), + ('EUC_JP', 'CS3, short', '\x8f02'), + ('EUC_JP', 'CS3', '\x8f0203'), + -- EUC_CN + -- 3 8e (CS2, not used but arbitrarily considered to have length 3) + -- 3 8f (CS3, not used but arbitrarily considered to have length 3) + -- 2 80..ff (CS1) + ('EUC_CN', 'ASCII', 'a'), + ('EUC_CN', 'CS1, short', '\x80'), + ('EUC_CN', 'CS1', '\x8002'), + ('EUC_CN', 'CS2, short', '\x8e'), + ('EUC_CN', 'CS2, short', '\x8e02'), + ('EUC_CN', 'CS2', '\x8e0203'), + ('EUC_CN', 'CS3, short', '\x8f'), + ('EUC_CN', 'CS3, short', '\x8f02'), + ('EUC_CN', 'CS3', '\x8f0203'), + -- EUC_TW: + -- 4 8e (CS2) + -- 3 8f (CS3, not used but arbitrarily considered to have length 3) + -- 2 80..ff (CS1) + ('EUC_TW', 'ASCII', 'a'), + ('EUC_TW', 'CS1, short', '\x80'), + ('EUC_TW', 'CS1', '\x8002'), + ('EUC_TW', 'CS2, short', '\x8e'), + ('EUC_TW', 'CS2, short', '\x8e02'), + ('EUC_TW', 'CS2, short', '\x8e0203'), + ('EUC_TW', 'CS2', '\x8e020304'), + ('EUC_TW', 'CS3, short', '\x8f'), + ('EUC_TW', 'CS3, short', '\x8f02'), + ('EUC_TW', 'CS3', '\x8f0203'), + -- UTF8 + -- 2 c0..df + -- 3 e0..ef + -- 4 f0..f7 (but maximum real codepoint U+10ffff has f4) + -- 5 f8..fb (not supported) + -- 6 fc..fd (not supported) + ('UTF8', 'ASCII', 'a'), + ('UTF8', '2 byte, short', '\xdf'), + ('UTF8', '2 byte', '\xdf82'), + ('UTF8', '3 byte, short', '\xef'), + ('UTF8', '3 byte, short', '\xef82'), + ('UTF8', '3 byte', '\xef8283'), + ('UTF8', '4 byte, short', '\xf7'), + ('UTF8', '4 byte, short', '\xf782'), + ('UTF8', '4 byte, short', '\xf78283'), + ('UTF8', '4 byte', '\xf7828384'), + ('UTF8', '5 byte, unsupported', '\xfb'), + ('UTF8', '5 byte, unsupported', '\xfb82'), + ('UTF8', '5 byte, unsupported', '\xfb8283'), + ('UTF8', '5 byte, unsupported', '\xfb828384'), + ('UTF8', '5 byte, unsupported', '\xfb82838485'), + ('UTF8', '6 byte, unsupported', '\xfd'), + ('UTF8', '6 byte, unsupported', '\xfd82'), + ('UTF8', '6 byte, unsupported', '\xfd8283'), + ('UTF8', '6 byte, unsupported', '\xfd828384'), + ('UTF8', '6 byte, unsupported', '\xfd82838485'), + ('UTF8', '6 byte, unsupported', '\xfd8283848586'), + -- MULE_INTERNAL + -- 2 81..8d LC1 + -- 3 90..99 LC2 + ('MULE_INTERNAL', 'ASCII', 'a'), + ('MULE_INTERNAL', 'LC1, short', '\x81'), + ('MULE_INTERNAL', 'LC1', '\x8182'), + ('MULE_INTERNAL', 'LC2, short', '\x90'), + ('MULE_INTERNAL', 'LC2, short', '\x9082'), + ('MULE_INTERNAL', 'LC2', '\x908283'); + +SELECT COUNT(test_encoding(encoding, description, input)) > 0 +FROM encoding_tests; + +DROP TABLE encoding_tests; +DROP FUNCTION test_encoding; +DROP FUNCTION test_text_to_wchars; +DROP FUNCTION test_mblen_func; +DROP FUNCTION test_bytea_to_text; +DROP FUNCTION test_text_to_bytea; + + +-- substring slow path: multi-byte escape char vs. multi-byte pattern char. +SELECT SUBSTRING('a' SIMILAR U&'\00AC' ESCAPE U&'\00A7'); +-- Levenshtein distance metric: exercise character length cache. +SELECT U&"real\00A7_name" FROM (select 1) AS x(real_name); +-- JSON errcontext: truncate long data. +SELECT repeat(U&'\00A7', 30)::json; diff -Nru postgresql-17-17.7/src/test/regress/sql/euc_kr.sql postgresql-17-17.8/src/test/regress/sql/euc_kr.sql --- postgresql-17-17.7/src/test/regress/sql/euc_kr.sql 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/sql/euc_kr.sql 2026-02-09 21:51:54.000000000 +0000 @@ -0,0 +1,12 @@ +-- This test is about EUC_KR encoding, chosen as perhaps the most prevalent +-- non-UTF8, multibyte encoding as of 2026-01. Since UTF8 can represent all +-- of EUC_KR, also run the test in UTF8. +SELECT getdatabaseencoding() NOT IN ('EUC_KR', 'UTF8') AS skip_test \gset +\if :skip_test +\quit +\endif + +-- Exercise is_multibyte_char_in_char (non-UTF8) slow path. +SELECT POSITION( + convert_from('\xbcf6c7d0', 'EUC_KR') IN + convert_from('\xb0fac7d02c20bcf6c7d02c20b1e2bcfa2c20bbee', 'EUC_KR')); diff -Nru postgresql-17-17.7/src/test/regress/sql/hash_index.sql postgresql-17-17.8/src/test/regress/sql/hash_index.sql --- postgresql-17-17.7/src/test/regress/sql/hash_index.sql 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/sql/hash_index.sql 2026-02-09 21:51:54.000000000 +0000 @@ -53,6 +53,9 @@ CREATE INDEX hash_f8_index ON hash_f8_heap USING hash (random float8_ops) WITH (fillfactor=60); +CREATE INDEX hash_i4_partial_index ON hash_i4_heap USING hash (seqno) + WHERE seqno = 9999; + -- -- Also try building functional, expressional, and partial indexes on -- tables that already contain data. @@ -118,6 +121,16 @@ WHERE hash_f8_heap.random = '88888888'::float8; -- +-- partial hash index +-- +EXPLAIN (COSTS OFF) +SELECT * FROM hash_i4_heap + WHERE seqno = 9999; + +SELECT * FROM hash_i4_heap + WHERE seqno = 9999; + +-- -- hash index -- grep '^90[^0-9]' hashovfl.data -- diff -Nru postgresql-17-17.7/src/test/regress/sql/sqljson_queryfuncs.sql postgresql-17-17.8/src/test/regress/sql/sqljson_queryfuncs.sql --- postgresql-17-17.7/src/test/regress/sql/sqljson_queryfuncs.sql 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/sql/sqljson_queryfuncs.sql 2026-02-09 21:51:54.000000000 +0000 @@ -450,6 +450,7 @@ SELECT JSON_VALUE(jsonb '{"a": 123}', '$' || '.' || 'b' DEFAULT 'foo' ON EMPTY); SELECT JSON_QUERY(jsonb '{"a": 123}', '$' || '.' || 'a'); SELECT JSON_QUERY(jsonb '{"a": 123}', '$' || '.' || 'a' WITH WRAPPER); +SELECT JSON_QUERY(jsonb '{"a": 123}', ('$' || '.' || 'a' || NULL)::date WITH WRAPPER); -- Should fail (invalid path) SELECT JSON_QUERY(jsonb '{"a": 123}', 'error' || ' ' || 'error'); @@ -460,6 +461,7 @@ -- Test non-const jsonpath CREATE TEMP TABLE jsonpaths (path) AS SELECT '$'; SELECT json_value('"aaa"', path RETURNING json) FROM jsonpaths; +SELECT json_value('"aaa"', jsonpaths RETURNING json) FROM jsonpaths; -- Test PASSING argument parsing SELECT JSON_QUERY(jsonb 'null', '$xyz' PASSING 1 AS xy); diff -Nru postgresql-17-17.7/src/test/regress/sql/triggers.sql postgresql-17-17.8/src/test/regress/sql/triggers.sql --- postgresql-17-17.7/src/test/regress/sql/triggers.sql 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/sql/triggers.sql 2026-02-09 21:51:54.000000000 +0000 @@ -2403,6 +2403,10 @@ with wcte as (insert into table1 values (43)) insert into table1 values (44); +with wcte as (insert into table1 values (45)) + merge into table1 using (values (46)) as v(a) on table1.a = v.a + when not matched then insert values (v.a); + select * from table1; select * from table2; diff -Nru postgresql-17-17.7/src/test/regress/sql/with.sql postgresql-17-17.8/src/test/regress/sql/with.sql --- postgresql-17-17.7/src/test/regress/sql/with.sql 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/regress/sql/with.sql 2026-02-09 21:51:54.000000000 +0000 @@ -1086,16 +1086,26 @@ -- -- test for bug #19055: interaction of WITH with aggregates -- --- The reference to cte1 must determine the aggregate's level, --- even though it contains no Vars referencing cte1 -explain (verbose, costs off) +-- For now, we just throw an error if there's a use of a CTE below the +-- semantic level that the SQL standard assigns to the aggregate. +-- It's not entirely clear what we could do instead that doesn't risk +-- breaking more things than it fixes. select f1, (with cte1(x,y) as (select 1,2) select count((select i4.f1 from cte1))) as ss from int4_tbl i4; -select f1, (with cte1(x,y) as (select 1,2) - select count((select i4.f1 from cte1))) as ss -from int4_tbl i4; +-- +-- test for bug #19106: interaction of WITH with aggregates +-- +-- the initial fix for #19055 was too aggressive and broke this case +explain (verbose, costs off) +with a as ( select id from (values (1), (2)) as v(id) ), + b as ( select max((select sum(id) from a)) as agg ) +select agg from b; + +with a as ( select id from (values (1), (2)) as v(id) ), + b as ( select max((select sum(id) from a)) as agg ) +select agg from b; -- -- test for nested-recursive-WITH bug @@ -1336,6 +1346,29 @@ SELECT * FROM bug6051_3; +-- check that recursive CTE processing doesn't rewrite a CTE more than once +-- (must not try to expand GENERATED ALWAYS IDENTITY columns more than once) +CREATE TEMP TABLE id_alw1 (i int GENERATED ALWAYS AS IDENTITY); + +CREATE TEMP TABLE id_alw2 (i int GENERATED ALWAYS AS IDENTITY); +CREATE TEMP VIEW id_alw2_view AS SELECT * FROM id_alw2; + +CREATE TEMP TABLE id_alw3 (i int GENERATED ALWAYS AS IDENTITY); +CREATE RULE id_alw3_ins AS ON INSERT TO id_alw3 DO INSTEAD + WITH t1 AS (INSERT INTO id_alw1 DEFAULT VALUES RETURNING i) + INSERT INTO id_alw2_view DEFAULT VALUES RETURNING i; +CREATE TEMP VIEW id_alw3_view AS SELECT * FROM id_alw3; + +CREATE TEMP TABLE id_alw4 (i int GENERATED ALWAYS AS IDENTITY); + +WITH t4 AS (INSERT INTO id_alw4 DEFAULT VALUES RETURNING i) + INSERT INTO id_alw3_view DEFAULT VALUES RETURNING i; + +SELECT * from id_alw1; +SELECT * from id_alw2; +SELECT * from id_alw3; +SELECT * from id_alw4; + -- check case where CTE reference is removed due to optimization EXPLAIN (VERBOSE, COSTS OFF) SELECT q1 FROM diff -Nru postgresql-17-17.7/src/test/subscription/t/001_rep_changes.pl postgresql-17-17.8/src/test/subscription/t/001_rep_changes.pl --- postgresql-17-17.7/src/test/subscription/t/001_rep_changes.pl 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/subscription/t/001_rep_changes.pl 2026-02-09 21:51:54.000000000 +0000 @@ -342,7 +342,8 @@ # Note that the current location of the log file is not grabbed immediately # after reloading the configuration, but after sending one SQL command to # the node so as we are sure that the reloading has taken effect. -my $log_location = -s $node_subscriber->logfile; +my $log_location_pub = -s $node_publisher->logfile; +my $log_location_sub = -s $node_subscriber->logfile; $node_publisher->safe_psql('postgres', "UPDATE tab_full_pk SET b = 'quux' WHERE a = 1"); @@ -350,7 +351,7 @@ $node_publisher->wait_for_catchup('tap_sub'); -my $logfile = slurp_file($node_subscriber->logfile, $log_location); +my $logfile = slurp_file($node_subscriber->logfile, $log_location_sub); ok( $logfile =~ qr/logical replication did not find row to be updated in replication target relation "tab_full_pk"/, 'update target row is missing'); @@ -419,17 +420,35 @@ 22.22|bar|2), 'update works with dropped subscriber column'); +# Verify that GUC settings supplied in the CONNECTION string take effect on +# the publisher's walsender. We do this by enabling log_statement_stats in +# the CONNECTION string later and checking that the publisher's log contains a +# QUERY STATISTICS message. +# +# First, confirm that no such QUERY STATISTICS message appears before enabling +# log_statement_stats. +$logfile = slurp_file($node_publisher->logfile, $log_location_pub); +unlike( + $logfile, + qr/QUERY STATISTICS/, + 'log_statement_stats has not been enabled yet'); +$log_location_pub = -s $node_publisher->logfile; + # check that change of connection string and/or publication list causes # restart of subscription workers. We check the state along with # application_name to ensure that the walsender is (re)started. # # Not all of these are registered as tests as we need to poll for a change # but the test suite will fail nonetheless when something goes wrong. +# +# Enable log_statement_stats as the change of connection string, +# which is also for the above mentioned test of GUC settings passed through +# CONNECTION. my $oldpid = $node_publisher->safe_psql('postgres', "SELECT pid FROM pg_stat_replication WHERE application_name = 'tap_sub' AND state = 'streaming';" ); $node_subscriber->safe_psql('postgres', - "ALTER SUBSCRIPTION tap_sub CONNECTION '$publisher_connstr sslmode=disable'" + "ALTER SUBSCRIPTION tap_sub CONNECTION '$publisher_connstr options=''-c log_statement_stats=on'''" ); $node_publisher->poll_query_until('postgres', "SELECT pid != $oldpid FROM pg_stat_replication WHERE application_name = 'tap_sub' AND state = 'streaming';" @@ -437,6 +456,16 @@ or die "Timed out while waiting for apply to restart after changing CONNECTION"; +# Check that the expected QUERY STATISTICS message appears, +# which shows that log_statement_stats=on from the CONNECTION string +# was correctly passed through to and honored by the walsender. +$logfile = slurp_file($node_publisher->logfile, $log_location_pub); +like( + $logfile, + qr/QUERY STATISTICS/, + 'log_statement_stats in CONNECTION string had effect on publisher\'s walsender' +); + $oldpid = $node_publisher->safe_psql('postgres', "SELECT pid FROM pg_stat_replication WHERE application_name = 'tap_sub' AND state = 'streaming';" ); @@ -492,13 +521,13 @@ # Note that the current location of the log file is not grabbed immediately # after reloading the configuration, but after sending one SQL command to # the node so that we are sure that the reloading has taken effect. -$log_location = -s $node_publisher->logfile; +$log_location_pub = -s $node_publisher->logfile; $node_publisher->safe_psql('postgres', "INSERT INTO tab_notrep VALUES (11)"); $node_publisher->wait_for_catchup('tap_sub'); -$logfile = slurp_file($node_publisher->logfile, $log_location); +$logfile = slurp_file($node_publisher->logfile, $log_location_pub); ok($logfile =~ qr/skipped replication of an empty transaction with XID/, 'empty transaction is skipped'); diff -Nru postgresql-17-17.7/src/test/subscription/t/004_sync.pl postgresql-17-17.8/src/test/subscription/t/004_sync.pl --- postgresql-17-17.7/src/test/subscription/t/004_sync.pl 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/subscription/t/004_sync.pl 2026-02-09 21:51:54.000000000 +0000 @@ -172,6 +172,12 @@ 'postgres', 'SELECT count(*) = 0 FROM pg_replication_slots'), 'DROP SUBSCRIPTION during error can clean up the slots on the publisher'); +# After dropping the subscription, all replication origins, whether created by +# an apply worker or table sync worker, should have been cleaned up. +$result = $node_subscriber->safe_psql('postgres', + "SELECT count(*) FROM pg_replication_origin_status"); +is($result, qq(0), 'all replication origins have been cleaned up'); + $node_subscriber->stop('fast'); $node_publisher->stop('fast'); diff -Nru postgresql-17-17.7/src/test/subscription/t/023_twophase_stream.pl postgresql-17-17.8/src/test/subscription/t/023_twophase_stream.pl --- postgresql-17-17.7/src/test/subscription/t/023_twophase_stream.pl 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/test/subscription/t/023_twophase_stream.pl 2026-02-09 21:51:54.000000000 +0000 @@ -429,6 +429,51 @@ $node_subscriber->safe_psql('postgres', "SELECT count(*) FROM test_tab_2"); is($result, qq(1), 'transaction is committed on subscriber'); +# Test the ability to re-apply a transaction when a parallel apply worker fails +# to prepare the transaction due to insufficient max_prepared_transactions +# setting. +$node_subscriber->append_conf( + 'postgresql.conf', qq( +max_prepared_transactions = 0 +debug_logical_replication_streaming = buffered +)); +$node_subscriber->restart; + +$node_publisher->safe_psql( + 'postgres', q{ + BEGIN; + INSERT INTO test_tab_2 values(2); + PREPARE TRANSACTION 'xact'; + COMMIT PREPARED 'xact'; + }); + +$offset = -s $node_subscriber->logfile; + +# Confirm the ERROR is reported because max_prepared_transactions is zero +$node_subscriber->wait_for_log( + qr/ERROR: ( [A-Z0-9]+:)? prepared transactions are disabled/, + $offset); + +# Confirm that the parallel apply worker has encountered an error. The check +# focuses on the worker type as a keyword, since the error message content may +# differ based on whether the leader initially detected the parallel apply +# worker's failure or received a signal from it. +$node_subscriber->wait_for_log( + qr/ERROR: .*logical replication parallel apply worker.*/, + $offset); + +# Set max_prepared_transactions to correct value to resume the replication +$node_subscriber->append_conf('postgresql.conf', + qq(max_prepared_transactions = 10)); +$node_subscriber->restart; + +$node_publisher->wait_for_catchup($appname); + +# Check that transaction is committed on subscriber +$result = + $node_subscriber->safe_psql('postgres', "SELECT count(*) FROM test_tab_2"); +is($result, qq(2), 'transaction is committed on subscriber after retrying'); + ############################### # check all the cleanup ############################### diff -Nru postgresql-17-17.7/src/timezone/data/tzdata.zi postgresql-17-17.8/src/timezone/data/tzdata.zi --- postgresql-17-17.7/src/timezone/data/tzdata.zi 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/timezone/data/tzdata.zi 2026-02-09 21:51:54.000000000 +0000 @@ -1,4 +1,4 @@ -# version 2025b +# version 2025c # This zic input file is in the public domain. R d 1916 o - Jun 14 23s 1 S R d 1916 1919 - O Su>=1 23s 0 - @@ -2951,9 +2951,7 @@ -8 1 PDT 1951 S 30 2 -8 - PST 1952 Ap 27 2 -8 1 PDT 1952 S 28 2 --8 - PST 1954 --8 CA P%sT 1961 --8 - PST 1976 +-8 CA P%sT 1967 -8 u P%sT 1996 -8 m P%sT 2001 -8 u P%sT 2002 F 20 diff -Nru postgresql-17-17.7/src/tools/pgindent/typedefs.list postgresql-17-17.8/src/tools/pgindent/typedefs.list --- postgresql-17-17.7/src/tools/pgindent/typedefs.list 2025-11-10 21:53:58.000000000 +0000 +++ postgresql-17-17.8/src/tools/pgindent/typedefs.list 2026-02-09 21:51:54.000000000 +0000 @@ -752,6 +752,7 @@ ExtensibleNodeMethods ExtensionControlFile ExtensionInfo +ExtensionSiblingCache ExtensionVersionInfo FDWCollateState FD_SET @@ -1254,6 +1255,7 @@ IntervalAggState IntoClause InvalMessageArray +InvalidationInfo InvalidationMsgsGroup IpcMemoryId IpcMemoryKey